packages feed

haskell-src-exts 1.17.1 → 1.24.0

raw patch · 484 files changed

Files

CHANGELOG view
@@ -1,3 +1,127 @@+1.23.1 --> 1.24.0+=================+* Support ImportQualifiedPost (#477)+  - Technically breaking change: KnownExtension gained a new constructor ImportQualifiedPost+* Fix pretty printing of promoted list/tuple with space padding (#423)+* Fix lexing of operator symbols like @: when TypeApplications is enabled (#430)+* Read files strictly before closing to prevent resource leaks (#460)+* Add Safe Haskell annotations to many modules (#465)+* Remove noncanonical return and mappend definitions (#481)+* Solve some compiler warnings (#464)+* Performance optimization: use strict accumulators in lexString and parseInteger (#479)+++1.23.0 --> 1.23.1+=================+* show instance for SrcLoc and SrcSpan renders "(-1)" instead of "-1"+* Allow empty closed type families (#452)+++1.22.0 --> 1.23.0+=================+* Add support for BlockArguments (#444)+  - Technically breaking change: KnownExtension gained a new constructor BlockArguments+* Add support for Arrow Brackets (#445)+  - Tecnically breaking change: Exp gained new constructor ArrOp++1.21.1 --> 1.22.0+=================+* Support QuantifiedConstraints (#427)+  - Breaking change: constructors for PAsst changed+  - Technically breaking change: KnownExtention gained a new constructor QuantifiedConstraints+* Support Template Haskell typed splices and quotations (#432)+  - Breaking change: new constructors on Token data type+* Fix unicode identifier parsing (#442)++1.21.0 --> 1.21.1+=================+* GHC 8.8.1 compatibility (MonadFail)++1.20.3 --> 1.21.0+=================+* DerivingVia (#420)+* TypeInType  (#414)+* Parse TH-quoted list constructor (#415)++1.20.2 --> 1.20.3+=================+* GHC 8.6.1 compatability (MonadFail)+* Remove cpphs dependency++1.20.1 --> 1.20.2+=================+* Add fixity of (&)+* GHC 8.4.1 compatability++1.20.0 --> 1.20.1+===================+* Fix two test failures++1.19.1 --> 1.20.0+===================++* GHC 8.2 updates+* Add some missing Generics instances (#380)+* Support Template Haskell pattern splices (#352)+* Fix overloaded labels starting with _ (#362)+* Relax MultiParamTypeClass check (#333)+* DeriveAnyClass (#337)+* Deriving Strategies (#387)+* OVERLAPS/OVERLAPPING/OVERLAPPABLE pragmas+* Unboxed Sums+* Expression holes in infix expressions+* Support multiple pattern synonyms per pattern synonym signature+* COMPLETE pragmas+* Fix #309, remove unnecessary semi-colon from pretty printer+* Refine ExplicitNamespaces to properly export type operators++1.19.0 --> 1.19.1+===================++* Revert making fields of `SrcLoc` strict. (#340)+++1.18.2 --> 1.19.0+===================++* Add JavaScriptFFI to known extensions (#335)+* Remove space when pretty printing `SrcLoc`. (#307)+* Don't reverse arguments in a context. (#328)+* Add support for EmptyCase extension (#255)+++1.18.1 --> 1.18.2+===================++* Fix overzealous lexing of type applications++1.18.0 --> 1.18.1+===================++* Fix overzealous lexing of overloaded labels.+++1.17.1 --> 1.18.0+===================++* Remove simplified AST+* GHC 8.0 update: Overloaded labels, type applications, pattern synonym+extensions, StrictData, injective type families++AST changes:++* Add TyQuasiQuote (#279).++Other changes:++* Only treat 'role' as a keyword in certain contexts (#286).+* Prettyprint '!' in patterns correctly when BangPatterns are enabled (#287).+* Parse magic hash with multiple trailing hashes (#300).+* Apply fixities inside pattern synonym builders+* Fix lexing of idents with multiple trailing #++** 1.17.x+ 1.17.0 --> 1.17.1 ================= @@ -162,16 +286,16 @@  * Modernize the Extension datatype in L.H.E.Extension, following the lead   of Cabal, to allow negative and positive extension modifiers (turning-  features on and off). You need to worry about backwards-incompatible +  features on and off). You need to worry about backwards-incompatible   changes if any of the following pertains to you:   1) If you use the Extension datatype programmatically - it has changed      significantly (see documentation).   2) The ParseMode record now has one more field      (baseLanguage :: Language), which might give you a type error.   3) The behavior of the (extensions :: [Extension]) field has changed,-     which could bite you if you pass custom extensions in the ParseMode. -     Previously, the ParseMode defaulted to the list of extensions accepted -     by Haskell2010, and if you set the list explicitly you would override +     which could bite you if you pass custom extensions in the ParseMode.+     Previously, the ParseMode defaulted to the list of extensions accepted+     by Haskell2010, and if you set the list explicitly you would override      this. Now, the defaults are { baseLanguage = Haskell2010, extensions = [] },      and explicitly setting a list of extensions will be interpreted on top of      Haskell2010. See further the documentation for L.H.E.Extension.@@ -216,7 +340,7 @@  * Expose Language.Haskell.Exts.Lexer, which implements   a standalone token stream lexer. The module is-  re-exported both by Language.Haskell.Exts and by +  re-exported both by Language.Haskell.Exts and by   Language.Haskell.Exts.Annotated.  @@ -224,12 +348,12 @@ ===============  * Fix bug where operators starting with # written in-  parentheses would not be parsed when UnboxedTuples is +  parentheses would not be parsed when UnboxedTuples is   turned on. Now works. -* Allow 'family' and 'forall' as (non-type) varid's. This -  adds one more shift/reduce conflict to the parser, and -  its resolution means that '{-# RULES "name" forall = ... #-}' +* Allow 'family' and 'forall' as (non-type) varid's. This+  adds one more shift/reduce conflict to the parser, and+  its resolution means that '{-# RULES "name" forall = ... #-}'   is not allowed.  * Complete the set of FFI calling conventions from the Haskell@@ -390,12 +514,12 @@ 1.9.3 --> 1.9.4 =============== -* Pretty-printer now inserts parentheses in clever places when +* Pretty-printer now inserts parentheses in clever places when   printing kinds.  * Pretty-printing expressions is now far more accurate in inserting   (and not inserting) parentheses when needed.-  + * Pretty-printing negative expressions no longer inserts a superfluous   space between the - and the expression. @@ -461,11 +585,11 @@  * Export knownExtensions from .Extension. -* Remove support for CFILES and INCLUDE pragmas. The support wasn't -  correct anyway, as it assumed the pragmas appeared at the top of -  files. As CFILES/INCLUDE pragmas can (and do) appear anywhere, -  there's no hope to support them in the AST. Better to remove the -  support altogether. Files with CFILES/INCLUDE pragmas can still +* Remove support for CFILES and INCLUDE pragmas. The support wasn't+  correct anyway, as it assumed the pragmas appeared at the top of+  files. As CFILES/INCLUDE pragmas can (and do) appear anywhere,+  there's no hope to support them in the AST. Better to remove the+  support altogether. Files with CFILES/INCLUDE pragmas can still   be parsed of course, but those pragmas will be handled as comments.  * Parsing with ignoreLinePragmas = False now correctly updates the@@ -475,7 +599,7 @@   declarations. The InsInline constructor is removed, and is now   represented by InsDecl (InlineSig ...). -* Fix a bug with line numbering and quasi quotes, and a similar one +* Fix a bug with line numbering and quasi quotes, and a similar one   with line numbering and CDATA.  * Fix a few minor bugs in the exactPrinter.@@ -499,21 +623,21 @@ ===============  * Operators defined on the form-  +      (a `op` b) c = ...-  -  could not be handled by the (annotated) AST, nor the parser. I had to ++  could not be handled by the (annotated) AST, nor the parser. I had to   change the definition of the AST node for InfixMatch to allow a list   of right-hand subpatterns, i.e.-  +      InfixMatch l (Pat l) (Name l) (Pat l) ...-  +   has become-  +      InfixMatch l (Pat l) (Name l) [Pat l] ...    I also had an epiphany and fixed the issue that would arise with-  exact printing of prefix definitions including parentheses, so +  exact printing of prefix definitions including parentheses, so   that now works too!  ** 1.6.x
README.md view
@@ -16,39 +16,19 @@ -----------------  The modules that comprise haskell-src-exts all reside in the hierarchic-namespace Language.Haskell.Exts, or its more feature-rich sibling-Language.Haskell.Exts.Annotated. Notable exposed modules include:+namespace Language.Haskell.Exts. Notable exposed modules include: -* `Language.Haskell.Exts[.Annotated]` - Imports and re-exports all the below,+* `Language.Haskell.Exts` - Imports and re-exports all the below,   and also defines some functions that combine functionality from several   modules.-* `Language.Haskell.Exts[.Annotated].Syntax` - The abstract syntax tree+* `Language.Haskell.Exts.Syntax` - The abstract syntax tree   that the other modules work on.-* `Language.Haskell.Exts[.Annotated].Build` - Combinators for building+* `Language.Haskell.Exts.Build` - Combinators for building   abstract syntax.-* `Language.Haskell.Exts[.Annotated].Parser` - Functions for parsing Haskell+* `Language.Haskell.Exts.Parser` - Functions for parsing Haskell   source code into an abstract syntax representation. -Non-comprehensive list of supported extensions----------------------------------------------- -* Multi-parameter type classes (MPTCs)-* Functional dependencies-* Associated types, type families-* Liberal class and instance heads-* Implicit parameters (ghc and hugs)-* Explicit kind signatures-* Pattern guards-* Generalized algebraic data types (GADTs)-* Template Haskell (TH)-* Universal and existential quantification (forall)-* Empty data type declarations-* Unboxed tuples `(# #)`-* Standalone deriving-* Regular patterns-* Haskell XML, HSX style-* Pragmas- License ------- @@ -56,3 +36,13 @@ derives from several sources, all of which are distributable under BSD-style or compatible licenses. See the file LICENSE for the complete license text.+++Maintenance+--------------++Dan Burton is currently keeping haskell-src-exts on life support.+If you are interested in more actively making improvements to this package,+please make your interests known.++You might want to try [ghc-lib-parser](http://hackage.haskell.org/package/ghc-lib-parser) instead.
+ RELEASENOTES-1.17.0 view
@@ -0,0 +1,35 @@+I am pleased to announce the release of haskell-src-exts-1.17.0! ++Hackage: https://hackage.haskell.org/package/haskell-src-exts-1.17.0 +GitHub:  https://github.com/haskell-suite/haskell-src-exts ++This release brings bugfixes, as well as the following language +features: ++* Type wildcards and expression holes (#252).+* Pattern Synonyms (#197).++The full changelog is available at ++https://github.com/haskell-suite/haskell-src-exts/blob/1.17.0/CHANGELOG++This release is brought to you by:++Matthew Pickering+Michael Walker+Simon Marlow+Neil Mitchell+JP Moresmau+Артур Файзрахманов+phischu+Michael Sloan+m00nlight+Niklas Broberg+Stijn van Drongelen+Jakub Kozlowski+Leonid Onokhov++Matthew Pickering is a force of nature who deserves a special mention+for all his contributions to this release.++Peter
− dist/build/Language/Haskell/Exts/InternalParser.hs
@@ -1,9556 +0,0 @@-{-# OPTIONS_GHC -w #-}-{-# OPTIONS -fglasgow-exts -cpp #-}-{-# OPTIONS_HADDOCK hide #-}--------------------------------------------------------------------------------- |--- Module      :  Language.Haskell.Exts.Annotated.Parser--- Copyright   :  (c) Niklas Broberg 2004-2009,---                Original (c) Simon Marlow, Sven Panne 1997-2000--- License     :  BSD-style (see the file LICENSE.txt)------ Maintainer  :  Niklas Broberg, d00nibro@chalmers.se--- Stability   :  stable--- Portability :  portable-------------------------------------------------------------------------------------module Language.Haskell.Exts.InternalParser (-              mparseModule,-              mparseExp,-              mparsePat,-              mparseDecl,-              mparseType,-              mparseStmt,-              mparseImportDecl,-              ngparseModulePragmas,-              ngparseModuleHeadAndImports,-              ngparsePragmasAndModuleHead,-              ngparsePragmasAndModuleName-              ) where-import Language.Haskell.Exts.Annotated.Syntax hiding ( Type(..), Exp(..), Asst(..), XAttr(..), FieldUpdate(..) )-import Language.Haskell.Exts.Annotated.Syntax ( Type, Exp, Asst )-import Language.Haskell.Exts.ParseMonad-import Language.Haskell.Exts.InternalLexer-import Language.Haskell.Exts.ParseUtils-import Language.Haskell.Exts.Annotated.Fixity-import Language.Haskell.Exts.SrcLoc-import Language.Haskell.Exts.Extension--import Control.Monad ( liftM, (<=<), when )-import Control.Applicative ( (<$>) )-import Data.Maybe-import qualified Data.Array as Happy_Data_Array-import qualified GHC.Exts as Happy_GHC_Exts-import Control.Applicative(Applicative(..))-import Control.Monad (ap)---- parser produced by Happy Version 1.19.5--newtype HappyAbsSyn  = HappyAbsSyn HappyAny-#if __GLASGOW_HASKELL__ >= 607-type HappyAny = Happy_GHC_Exts.Any-#else-type HappyAny = forall a . a-#endif-happyIn14 :: ([Module L]) -> (HappyAbsSyn )-happyIn14 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn14 #-}-happyOut14 :: (HappyAbsSyn ) -> ([Module L])-happyOut14 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut14 #-}-happyIn15 :: ([[ModulePragma L] -> [S] -> L -> Module L]) -> (HappyAbsSyn )-happyIn15 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn15 #-}-happyOut15 :: (HappyAbsSyn ) -> ([[ModulePragma L] -> [S] -> L -> Module L])-happyOut15 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut15 #-}-happyIn16 :: (Module L) -> (HappyAbsSyn )-happyIn16 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn16 #-}-happyOut16 :: (HappyAbsSyn ) -> (Module L)-happyOut16 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut16 #-}-happyIn17 :: (PExp L) -> (HappyAbsSyn )-happyIn17 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn17 #-}-happyOut17 :: (HappyAbsSyn ) -> (PExp L)-happyOut17 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut17 #-}-happyIn18 :: (([ModulePragma L],[S],L)) -> (HappyAbsSyn )-happyIn18 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn18 #-}-happyOut18 :: (HappyAbsSyn ) -> (([ModulePragma L],[S],L))-happyOut18 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut18 #-}-happyIn19 :: (([ModulePragma L],[S],Maybe L)) -> (HappyAbsSyn )-happyIn19 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn19 #-}-happyOut19 :: (HappyAbsSyn ) -> (([ModulePragma L],[S],Maybe L))-happyOut19 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut19 #-}-happyIn20 :: (ModulePragma L) -> (HappyAbsSyn )-happyIn20 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn20 #-}-happyOut20 :: (HappyAbsSyn ) -> (ModulePragma L)-happyOut20 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut20 #-}-happyIn21 :: (([Name L],[S])) -> (HappyAbsSyn )-happyIn21 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn21 #-}-happyOut21 :: (HappyAbsSyn ) -> (([Name L],[S]))-happyOut21 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut21 #-}-happyIn22 :: ([ModulePragma L] -> [S] -> L -> Module L) -> (HappyAbsSyn )-happyIn22 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn22 #-}-happyOut22 :: (HappyAbsSyn ) -> ([ModulePragma L] -> [S] -> L -> Module L)-happyOut22 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut22 #-}-happyIn23 :: (Maybe (ModuleHead L)) -> (HappyAbsSyn )-happyIn23 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn23 #-}-happyOut23 :: (HappyAbsSyn ) -> (Maybe (ModuleHead L))-happyOut23 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut23 #-}-happyIn24 :: (Maybe (WarningText L)) -> (HappyAbsSyn )-happyIn24 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn24 #-}-happyOut24 :: (HappyAbsSyn ) -> (Maybe (WarningText L))-happyOut24 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut24 #-}-happyIn25 :: (([ImportDecl L],[Decl L],[S],L)) -> (HappyAbsSyn )-happyIn25 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn25 #-}-happyOut25 :: (HappyAbsSyn ) -> (([ImportDecl L],[Decl L],[S],L))-happyOut25 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut25 #-}-happyIn26 :: (([ImportDecl L],[Decl L],[S])) -> (HappyAbsSyn )-happyIn26 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn26 #-}-happyOut26 :: (HappyAbsSyn ) -> (([ImportDecl L],[Decl L],[S]))-happyOut26 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut26 #-}-happyIn27 :: ([S]) -> (HappyAbsSyn )-happyIn27 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn27 #-}-happyOut27 :: (HappyAbsSyn ) -> ([S])-happyOut27 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut27 #-}-happyIn28 :: ([S]) -> (HappyAbsSyn )-happyIn28 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn28 #-}-happyOut28 :: (HappyAbsSyn ) -> ([S])-happyOut28 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut28 #-}-happyIn29 :: (Maybe (ExportSpecList L)) -> (HappyAbsSyn )-happyIn29 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn29 #-}-happyOut29 :: (HappyAbsSyn ) -> (Maybe (ExportSpecList L))-happyOut29 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut29 #-}-happyIn30 :: (ExportSpecList L) -> (HappyAbsSyn )-happyIn30 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn30 #-}-happyOut30 :: (HappyAbsSyn ) -> (ExportSpecList L)-happyOut30 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut30 #-}-happyIn31 :: ([S]) -> (HappyAbsSyn )-happyIn31 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn31 #-}-happyOut31 :: (HappyAbsSyn ) -> ([S])-happyOut31 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut31 #-}-happyIn32 :: (([ExportSpec L],[S])) -> (HappyAbsSyn )-happyIn32 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn32 #-}-happyOut32 :: (HappyAbsSyn ) -> (([ExportSpec L],[S]))-happyOut32 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut32 #-}-happyIn33 :: (ExportSpec L) -> (HappyAbsSyn )-happyIn33 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn33 #-}-happyOut33 :: (HappyAbsSyn ) -> (ExportSpec L)-happyOut33 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut33 #-}-happyIn34 :: (QName L) -> (HappyAbsSyn )-happyIn34 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn34 #-}-happyOut34 :: (HappyAbsSyn ) -> (QName L)-happyOut34 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut34 #-}-happyIn35 :: (([ImportDecl L],[S])) -> (HappyAbsSyn )-happyIn35 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn35 #-}-happyOut35 :: (HappyAbsSyn ) -> (([ImportDecl L],[S]))-happyOut35 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut35 #-}-happyIn36 :: (ImportDecl L) -> (HappyAbsSyn )-happyIn36 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn36 #-}-happyOut36 :: (HappyAbsSyn ) -> (ImportDecl L)-happyOut36 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut36 #-}-happyIn37 :: ((Bool,[S])) -> (HappyAbsSyn )-happyIn37 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn37 #-}-happyOut37 :: (HappyAbsSyn ) -> ((Bool,[S]))-happyOut37 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut37 #-}-happyIn38 :: ((Bool,[S])) -> (HappyAbsSyn )-happyIn38 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn38 #-}-happyOut38 :: (HappyAbsSyn ) -> ((Bool,[S]))-happyOut38 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut38 #-}-happyIn39 :: ((Bool,[S])) -> (HappyAbsSyn )-happyIn39 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn39 #-}-happyOut39 :: (HappyAbsSyn ) -> ((Bool,[S]))-happyOut39 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut39 #-}-happyIn40 :: ((Maybe String,[S])) -> (HappyAbsSyn )-happyIn40 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn40 #-}-happyOut40 :: (HappyAbsSyn ) -> ((Maybe String,[S]))-happyOut40 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut40 #-}-happyIn41 :: ((Maybe (ModuleName L),[S],Maybe L)) -> (HappyAbsSyn )-happyIn41 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn41 #-}-happyOut41 :: (HappyAbsSyn ) -> ((Maybe (ModuleName L),[S],Maybe L))-happyOut41 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut41 #-}-happyIn42 :: (Maybe (ImportSpecList L)) -> (HappyAbsSyn )-happyIn42 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn42 #-}-happyOut42 :: (HappyAbsSyn ) -> (Maybe (ImportSpecList L))-happyOut42 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut42 #-}-happyIn43 :: (ImportSpecList L) -> (HappyAbsSyn )-happyIn43 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn43 #-}-happyOut43 :: (HappyAbsSyn ) -> (ImportSpecList L)-happyOut43 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut43 #-}-happyIn44 :: ((Bool, Maybe L,[S])) -> (HappyAbsSyn )-happyIn44 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn44 #-}-happyOut44 :: (HappyAbsSyn ) -> ((Bool, Maybe L,[S]))-happyOut44 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut44 #-}-happyIn45 :: (([ImportSpec L],[S])) -> (HappyAbsSyn )-happyIn45 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn45 #-}-happyOut45 :: (HappyAbsSyn ) -> (([ImportSpec L],[S]))-happyOut45 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut45 #-}-happyIn46 :: (ImportSpec L) -> (HappyAbsSyn )-happyIn46 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn46 #-}-happyOut46 :: (HappyAbsSyn ) -> (ImportSpec L)-happyOut46 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut46 #-}-happyIn47 :: (([CName L],[S])) -> (HappyAbsSyn )-happyIn47 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn47 #-}-happyOut47 :: (HappyAbsSyn ) -> (([CName L],[S]))-happyOut47 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut47 #-}-happyIn48 :: (CName L) -> (HappyAbsSyn )-happyIn48 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn48 #-}-happyOut48 :: (HappyAbsSyn ) -> (CName L)-happyOut48 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut48 #-}-happyIn49 :: (Decl L) -> (HappyAbsSyn )-happyIn49 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn49 #-}-happyOut49 :: (HappyAbsSyn ) -> (Decl L)-happyOut49 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut49 #-}-happyIn50 :: ((Maybe Int, [S])) -> (HappyAbsSyn )-happyIn50 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn50 #-}-happyOut50 :: (HappyAbsSyn ) -> ((Maybe Int, [S]))-happyOut50 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut50 #-}-happyIn51 :: (Assoc L) -> (HappyAbsSyn )-happyIn51 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn51 #-}-happyOut51 :: (HappyAbsSyn ) -> (Assoc L)-happyOut51 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut51 #-}-happyIn52 :: (([Op L],[S],L)) -> (HappyAbsSyn )-happyIn52 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn52 #-}-happyOut52 :: (HappyAbsSyn ) -> (([Op L],[S],L))-happyOut52 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut52 #-}-happyIn53 :: (([Decl L],[S])) -> (HappyAbsSyn )-happyIn53 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn53 #-}-happyOut53 :: (HappyAbsSyn ) -> (([Decl L],[S]))-happyOut53 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut53 #-}-happyIn54 :: (([Decl L],[S])) -> (HappyAbsSyn )-happyIn54 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn54 #-}-happyOut54 :: (HappyAbsSyn ) -> (([Decl L],[S]))-happyOut54 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut54 #-}-happyIn55 :: (Decl L) -> (HappyAbsSyn )-happyIn55 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn55 #-}-happyOut55 :: (HappyAbsSyn ) -> (Decl L)-happyOut55 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut55 #-}-happyIn56 :: (Decl L) -> (HappyAbsSyn )-happyIn56 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn56 #-}-happyOut56 :: (HappyAbsSyn ) -> (Decl L)-happyOut56 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut56 #-}-happyIn57 :: ([(Maybe String, L)]) -> (HappyAbsSyn )-happyIn57 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn57 #-}-happyOut57 :: (HappyAbsSyn ) -> ([(Maybe String, L)])-happyOut57 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut57 #-}-happyIn58 :: ((Maybe String, L)) -> (HappyAbsSyn )-happyIn58 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn58 #-}-happyOut58 :: (HappyAbsSyn ) -> ((Maybe String, L))-happyOut58 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut58 #-}-happyIn59 :: (Maybe (Overlap L)) -> (HappyAbsSyn )-happyIn59 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn59 #-}-happyOut59 :: (HappyAbsSyn ) -> (Maybe (Overlap L))-happyOut59 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut59 #-}-happyIn60 :: (Maybe ([TypeEqn L], S)) -> (HappyAbsSyn )-happyIn60 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn60 #-}-happyOut60 :: (HappyAbsSyn ) -> (Maybe ([TypeEqn L], S))-happyOut60 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut60 #-}-happyIn61 :: ([TypeEqn L]) -> (HappyAbsSyn )-happyIn61 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn61 #-}-happyOut61 :: (HappyAbsSyn ) -> ([TypeEqn L])-happyOut61 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut61 #-}-happyIn62 :: ([TypeEqn L]) -> (HappyAbsSyn )-happyIn62 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn62 #-}-happyOut62 :: (HappyAbsSyn ) -> ([TypeEqn L])-happyOut62 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut62 #-}-happyIn63 :: (TypeEqn L) -> (HappyAbsSyn )-happyIn63 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn63 #-}-happyOut63 :: (HappyAbsSyn ) -> (TypeEqn L)-happyOut63 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut63 #-}-happyIn64 :: (DataOrNew L) -> (HappyAbsSyn )-happyIn64 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn64 #-}-happyOut64 :: (HappyAbsSyn ) -> (DataOrNew L)-happyOut64 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut64 #-}-happyIn65 :: (([Type L],[S])) -> (HappyAbsSyn )-happyIn65 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn65 #-}-happyOut65 :: (HappyAbsSyn ) -> (([Type L],[S]))-happyOut65 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut65 #-}-happyIn66 :: (([Decl L],[S])) -> (HappyAbsSyn )-happyIn66 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn66 #-}-happyOut66 :: (HappyAbsSyn ) -> (([Decl L],[S]))-happyOut66 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut66 #-}-happyIn67 :: (([Decl L],[S])) -> (HappyAbsSyn )-happyIn67 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn67 #-}-happyOut67 :: (HappyAbsSyn ) -> (([Decl L],[S]))-happyOut67 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut67 #-}-happyIn68 :: (Decl L) -> (HappyAbsSyn )-happyIn68 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn68 #-}-happyOut68 :: (HappyAbsSyn ) -> (Decl L)-happyOut68 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut68 #-}-happyIn69 :: (Binds L) -> (HappyAbsSyn )-happyIn69 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn69 #-}-happyOut69 :: (HappyAbsSyn ) -> (Binds L)-happyOut69 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut69 #-}-happyIn70 :: (Decl L) -> (HappyAbsSyn )-happyIn70 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn70 #-}-happyOut70 :: (HappyAbsSyn ) -> (Decl L)-happyOut70 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut70 #-}-happyIn71 :: (Decl L) -> (HappyAbsSyn )-happyIn71 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn71 #-}-happyOut71 :: (HappyAbsSyn ) -> (Decl L)-happyOut71 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut71 #-}-happyIn72 :: (Decl L) -> (HappyAbsSyn )-happyIn72 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn72 #-}-happyOut72 :: (HappyAbsSyn ) -> (Decl L)-happyOut72 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut72 #-}-happyIn73 :: (([Type L],[S])) -> (HappyAbsSyn )-happyIn73 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn73 #-}-happyOut73 :: (HappyAbsSyn ) -> (([Type L],[S]))-happyOut73 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut73 #-}-happyIn74 :: (Type L) -> (HappyAbsSyn )-happyIn74 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn74 #-}-happyOut74 :: (HappyAbsSyn ) -> (Type L)-happyOut74 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut74 #-}-happyIn75 :: (Maybe (BooleanFormula L)) -> (HappyAbsSyn )-happyIn75 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn75 #-}-happyOut75 :: (HappyAbsSyn ) -> (Maybe (BooleanFormula L))-happyOut75 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut75 #-}-happyIn76 :: (BooleanFormula L) -> (HappyAbsSyn )-happyIn76 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn76 #-}-happyOut76 :: (HappyAbsSyn ) -> (BooleanFormula L)-happyOut76 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut76 #-}-happyIn77 :: (BooleanFormula L) -> (HappyAbsSyn )-happyIn77 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn77 #-}-happyOut77 :: (HappyAbsSyn ) -> (BooleanFormula L)-happyOut77 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut77 #-}-happyIn78 :: (BooleanFormula L) -> (HappyAbsSyn )-happyIn78 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn78 #-}-happyOut78 :: (HappyAbsSyn ) -> (BooleanFormula L)-happyOut78 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut78 #-}-happyIn79 :: (Binds L) -> (HappyAbsSyn )-happyIn79 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn79 #-}-happyOut79 :: (HappyAbsSyn ) -> (Binds L)-happyOut79 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut79 #-}-happyIn80 :: (([Name L],[S],L)) -> (HappyAbsSyn )-happyIn80 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn80 #-}-happyOut80 :: (HappyAbsSyn ) -> (([Name L],[S],L))-happyOut80 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut80 #-}-happyIn81 :: (CallConv L) -> (HappyAbsSyn )-happyIn81 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn81 #-}-happyOut81 :: (HappyAbsSyn ) -> (CallConv L)-happyOut81 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut81 #-}-happyIn82 :: (Maybe (Safety L)) -> (HappyAbsSyn )-happyIn82 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn82 #-}-happyOut82 :: (HappyAbsSyn ) -> (Maybe (Safety L))-happyOut82 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut82 #-}-happyIn83 :: ((Maybe String, Name L, Type L, [S])) -> (HappyAbsSyn )-happyIn83 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn83 #-}-happyOut83 :: (HappyAbsSyn ) -> ((Maybe String, Name L, Type L, [S]))-happyOut83 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut83 #-}-happyIn84 :: ([Rule L]) -> (HappyAbsSyn )-happyIn84 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn84 #-}-happyOut84 :: (HappyAbsSyn ) -> ([Rule L])-happyOut84 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut84 #-}-happyIn85 :: (Rule L) -> (HappyAbsSyn )-happyIn85 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn85 #-}-happyOut85 :: (HappyAbsSyn ) -> (Rule L)-happyOut85 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut85 #-}-happyIn86 :: (Maybe (Activation L)) -> (HappyAbsSyn )-happyIn86 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn86 #-}-happyOut86 :: (HappyAbsSyn ) -> (Maybe (Activation L))-happyOut86 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut86 #-}-happyIn87 :: ((Maybe [RuleVar L],[S])) -> (HappyAbsSyn )-happyIn87 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn87 #-}-happyOut87 :: (HappyAbsSyn ) -> ((Maybe [RuleVar L],[S]))-happyOut87 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut87 #-}-happyIn88 :: ([RuleVar L]) -> (HappyAbsSyn )-happyIn88 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn88 #-}-happyOut88 :: (HappyAbsSyn ) -> ([RuleVar L])-happyOut88 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut88 #-}-happyIn89 :: (RuleVar L) -> (HappyAbsSyn )-happyIn89 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn89 #-}-happyOut89 :: (HappyAbsSyn ) -> (RuleVar L)-happyOut89 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut89 #-}-happyIn90 :: (([([Name L],String)],[S])) -> (HappyAbsSyn )-happyIn90 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn90 #-}-happyOut90 :: (HappyAbsSyn ) -> (([([Name L],String)],[S]))-happyOut90 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut90 #-}-happyIn91 :: ((([Name L], String),[S])) -> (HappyAbsSyn )-happyIn91 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn91 #-}-happyOut91 :: (HappyAbsSyn ) -> ((([Name L], String),[S]))-happyOut91 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut91 #-}-happyIn92 :: (([Name L],[S])) -> (HappyAbsSyn )-happyIn92 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn92 #-}-happyOut92 :: (HappyAbsSyn ) -> (([Name L],[S]))-happyOut92 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut92 #-}-happyIn93 :: (Name L) -> (HappyAbsSyn )-happyIn93 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn93 #-}-happyOut93 :: (HappyAbsSyn ) -> (Name L)-happyOut93 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut93 #-}-happyIn94 :: (Annotation L) -> (HappyAbsSyn )-happyIn94 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn94 #-}-happyOut94 :: (HappyAbsSyn ) -> (Annotation L)-happyOut94 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut94 #-}-happyIn95 :: (Type L) -> (HappyAbsSyn )-happyIn95 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn95 #-}-happyOut95 :: (HappyAbsSyn ) -> (Type L)-happyOut95 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut95 #-}-happyIn96 :: (PType L) -> (HappyAbsSyn )-happyIn96 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn96 #-}-happyOut96 :: (HappyAbsSyn ) -> (PType L)-happyOut96 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut96 #-}-happyIn97 :: (Type L) -> (HappyAbsSyn )-happyIn97 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn97 #-}-happyOut97 :: (HappyAbsSyn ) -> (Type L)-happyOut97 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut97 #-}-happyIn98 :: (PType L) -> (HappyAbsSyn )-happyIn98 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn98 #-}-happyOut98 :: (HappyAbsSyn ) -> (PType L)-happyOut98 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut98 #-}-happyIn99 :: (Type L) -> (HappyAbsSyn )-happyIn99 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn99 #-}-happyOut99 :: (HappyAbsSyn ) -> (Type L)-happyOut99 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut99 #-}-happyIn100 :: (PType L) -> (HappyAbsSyn )-happyIn100 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn100 #-}-happyOut100 :: (HappyAbsSyn ) -> (PType L)-happyOut100 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut100 #-}-happyIn101 :: (PType L) -> (HappyAbsSyn )-happyIn101 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn101 #-}-happyOut101 :: (HappyAbsSyn ) -> (PType L)-happyOut101 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut101 #-}-happyIn102 :: (Promoted L) -> (HappyAbsSyn )-happyIn102 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn102 #-}-happyOut102 :: (HappyAbsSyn ) -> (Promoted L)-happyOut102 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut102 #-}-happyIn103 :: ((Bool, [S])) -> (HappyAbsSyn )-happyIn103 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn103 #-}-happyOut103 :: (HappyAbsSyn ) -> ((Bool, [S]))-happyOut103 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut103 #-}-happyIn104 :: (QName L) -> (HappyAbsSyn )-happyIn104 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn104 #-}-happyOut104 :: (HappyAbsSyn ) -> (QName L)-happyOut104 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut104 #-}-happyIn105 :: (QName L) -> (HappyAbsSyn )-happyIn105 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn105 #-}-happyOut105 :: (HappyAbsSyn ) -> (QName L)-happyOut105 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut105 #-}-happyIn106 :: (QName L) -> (HappyAbsSyn )-happyIn106 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn106 #-}-happyOut106 :: (HappyAbsSyn ) -> (QName L)-happyOut106 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut106 #-}-happyIn107 :: (Type L) -> (HappyAbsSyn )-happyIn107 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn107 #-}-happyOut107 :: (HappyAbsSyn ) -> (Type L)-happyOut107 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut107 #-}-happyIn108 :: (PType L) -> (HappyAbsSyn )-happyIn108 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn108 #-}-happyOut108 :: (HappyAbsSyn ) -> (PType L)-happyOut108 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut108 #-}-happyIn109 :: (PContext L) -> (HappyAbsSyn )-happyIn109 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn109 #-}-happyOut109 :: (HappyAbsSyn ) -> (PContext L)-happyOut109 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut109 #-}-happyIn110 :: (([PType L],[S])) -> (HappyAbsSyn )-happyIn110 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn110 #-}-happyOut110 :: (HappyAbsSyn ) -> (([PType L],[S]))-happyOut110 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut110 #-}-happyIn111 :: (([PType L],[S])) -> (HappyAbsSyn )-happyIn111 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn111 #-}-happyOut111 :: (HappyAbsSyn ) -> (([PType L],[S]))-happyOut111 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut111 #-}-happyIn112 :: (([TyVarBind L],Maybe L)) -> (HappyAbsSyn )-happyIn112 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn112 #-}-happyOut112 :: (HappyAbsSyn ) -> (([TyVarBind L],Maybe L))-happyOut112 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut112 #-}-happyIn113 :: (TyVarBind L) -> (HappyAbsSyn )-happyIn113 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn113 #-}-happyOut113 :: (HappyAbsSyn ) -> (TyVarBind L)-happyOut113 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut113 #-}-happyIn114 :: (([Name L],Maybe L)) -> (HappyAbsSyn )-happyIn114 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn114 #-}-happyOut114 :: (HappyAbsSyn ) -> (([Name L],Maybe L))-happyOut114 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut114 #-}-happyIn115 :: (([Name L],L)) -> (HappyAbsSyn )-happyIn115 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn115 #-}-happyOut115 :: (HappyAbsSyn ) -> (([Name L],L))-happyOut115 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut115 #-}-happyIn116 :: (([FunDep L],[S],Maybe L)) -> (HappyAbsSyn )-happyIn116 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn116 #-}-happyOut116 :: (HappyAbsSyn ) -> (([FunDep L],[S],Maybe L))-happyOut116 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut116 #-}-happyIn117 :: (([FunDep L],[S],L)) -> (HappyAbsSyn )-happyIn117 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn117 #-}-happyOut117 :: (HappyAbsSyn ) -> (([FunDep L],[S],L))-happyOut117 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut117 #-}-happyIn118 :: (FunDep L) -> (HappyAbsSyn )-happyIn118 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn118 #-}-happyOut118 :: (HappyAbsSyn ) -> (FunDep L)-happyOut118 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut118 #-}-happyIn119 :: (([GadtDecl L],[S],Maybe L)) -> (HappyAbsSyn )-happyIn119 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn119 #-}-happyOut119 :: (HappyAbsSyn ) -> (([GadtDecl L],[S],Maybe L))-happyOut119 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut119 #-}-happyIn120 :: (([GadtDecl L],[S])) -> (HappyAbsSyn )-happyIn120 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn120 #-}-happyOut120 :: (HappyAbsSyn ) -> (([GadtDecl L],[S]))-happyOut120 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut120 #-}-happyIn121 :: (([GadtDecl L],[S])) -> (HappyAbsSyn )-happyIn121 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn121 #-}-happyOut121 :: (HappyAbsSyn ) -> (([GadtDecl L],[S]))-happyOut121 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut121 #-}-happyIn122 :: ([GadtDecl L]) -> (HappyAbsSyn )-happyIn122 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn122 #-}-happyOut122 :: (HappyAbsSyn ) -> ([GadtDecl L])-happyOut122 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut122 #-}-happyIn123 :: (([QualConDecl L],[S],Maybe L)) -> (HappyAbsSyn )-happyIn123 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn123 #-}-happyOut123 :: (HappyAbsSyn ) -> (([QualConDecl L],[S],Maybe L))-happyOut123 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut123 #-}-happyIn124 :: (([QualConDecl L],[S],L)) -> (HappyAbsSyn )-happyIn124 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn124 #-}-happyOut124 :: (HappyAbsSyn ) -> (([QualConDecl L],[S],L))-happyOut124 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut124 #-}-happyIn125 :: (QualConDecl L) -> (HappyAbsSyn )-happyIn125 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn125 #-}-happyOut125 :: (HappyAbsSyn ) -> (QualConDecl L)-happyOut125 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut125 #-}-happyIn126 :: ((Maybe [TyVarBind L], [S], Maybe L)) -> (HappyAbsSyn )-happyIn126 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn126 #-}-happyOut126 :: (HappyAbsSyn ) -> ((Maybe [TyVarBind L], [S], Maybe L))-happyOut126 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut126 #-}-happyIn127 :: (ConDecl L) -> (HappyAbsSyn )-happyIn127 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn127 #-}-happyOut127 :: (HappyAbsSyn ) -> (ConDecl L)-happyOut127 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut127 #-}-happyIn128 :: ((Name L, [Type L], L)) -> (HappyAbsSyn )-happyIn128 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn128 #-}-happyOut128 :: (HappyAbsSyn ) -> ((Name L, [Type L], L))-happyOut128 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut128 #-}-happyIn129 :: (([FieldDecl L],[S])) -> (HappyAbsSyn )-happyIn129 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn129 #-}-happyOut129 :: (HappyAbsSyn ) -> (([FieldDecl L],[S]))-happyOut129 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut129 #-}-happyIn130 :: (FieldDecl L) -> (HappyAbsSyn )-happyIn130 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn130 #-}-happyOut130 :: (HappyAbsSyn ) -> (FieldDecl L)-happyOut130 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut130 #-}-happyIn131 :: (Maybe (Deriving L)) -> (HappyAbsSyn )-happyIn131 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn131 #-}-happyOut131 :: (HappyAbsSyn ) -> (Maybe (Deriving L))-happyOut131 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut131 #-}-happyIn132 :: (([InstRule L],[S])) -> (HappyAbsSyn )-happyIn132 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn132 #-}-happyOut132 :: (HappyAbsSyn ) -> (([InstRule L],[S]))-happyOut132 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut132 #-}-happyIn133 :: (InstHead L) -> (HappyAbsSyn )-happyIn133 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn133 #-}-happyOut133 :: (HappyAbsSyn ) -> (InstHead L)-happyOut133 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut133 #-}-happyIn134 :: (Kind L) -> (HappyAbsSyn )-happyIn134 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn134 #-}-happyOut134 :: (HappyAbsSyn ) -> (Kind L)-happyOut134 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut134 #-}-happyIn135 :: (Kind L) -> (HappyAbsSyn )-happyIn135 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn135 #-}-happyOut135 :: (HappyAbsSyn ) -> (Kind L)-happyOut135 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut135 #-}-happyIn136 :: (Kind L) -> (HappyAbsSyn )-happyIn136 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn136 #-}-happyOut136 :: (HappyAbsSyn ) -> (Kind L)-happyOut136 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut136 #-}-happyIn137 :: (Kind L) -> (HappyAbsSyn )-happyIn137 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn137 #-}-happyOut137 :: (HappyAbsSyn ) -> (Kind L)-happyOut137 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut137 #-}-happyIn138 :: (Kind L) -> (HappyAbsSyn )-happyIn138 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn138 #-}-happyOut138 :: (HappyAbsSyn ) -> (Kind L)-happyOut138 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut138 #-}-happyIn139 :: (([Kind L], [S])) -> (HappyAbsSyn )-happyIn139 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn139 #-}-happyOut139 :: (HappyAbsSyn ) -> (([Kind L], [S]))-happyOut139 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut139 #-}-happyIn140 :: ((Maybe (Kind L), [S])) -> (HappyAbsSyn )-happyIn140 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn140 #-}-happyOut140 :: (HappyAbsSyn ) -> ((Maybe (Kind L), [S]))-happyOut140 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut140 #-}-happyIn141 :: ((Maybe [ClassDecl L],[S],Maybe L)) -> (HappyAbsSyn )-happyIn141 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn141 #-}-happyOut141 :: (HappyAbsSyn ) -> ((Maybe [ClassDecl L],[S],Maybe L))-happyOut141 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut141 #-}-happyIn142 :: (([ClassDecl L],[S])) -> (HappyAbsSyn )-happyIn142 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn142 #-}-happyOut142 :: (HappyAbsSyn ) -> (([ClassDecl L],[S]))-happyOut142 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut142 #-}-happyIn143 :: (([ClassDecl L],[S])) -> (HappyAbsSyn )-happyIn143 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn143 #-}-happyOut143 :: (HappyAbsSyn ) -> (([ClassDecl L],[S]))-happyOut143 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut143 #-}-happyIn144 :: (ClassDecl L) -> (HappyAbsSyn )-happyIn144 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn144 #-}-happyOut144 :: (HappyAbsSyn ) -> (ClassDecl L)-happyOut144 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut144 #-}-happyIn145 :: (ClassDecl L) -> (HappyAbsSyn )-happyIn145 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn145 #-}-happyOut145 :: (HappyAbsSyn ) -> (ClassDecl L)-happyOut145 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut145 #-}-happyIn146 :: ((Maybe [InstDecl L],[S],Maybe L)) -> (HappyAbsSyn )-happyIn146 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn146 #-}-happyOut146 :: (HappyAbsSyn ) -> ((Maybe [InstDecl L],[S],Maybe L))-happyOut146 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut146 #-}-happyIn147 :: (([InstDecl L],[S])) -> (HappyAbsSyn )-happyIn147 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn147 #-}-happyOut147 :: (HappyAbsSyn ) -> (([InstDecl L],[S]))-happyOut147 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut147 #-}-happyIn148 :: (([InstDecl L],[S])) -> (HappyAbsSyn )-happyIn148 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn148 #-}-happyOut148 :: (HappyAbsSyn ) -> (([InstDecl L],[S]))-happyOut148 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut148 #-}-happyIn149 :: (InstDecl L) -> (HappyAbsSyn )-happyIn149 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn149 #-}-happyOut149 :: (HappyAbsSyn ) -> (InstDecl L)-happyOut149 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut149 #-}-happyIn150 :: (InstDecl L) -> (HappyAbsSyn )-happyIn150 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn150 #-}-happyOut150 :: (HappyAbsSyn ) -> (InstDecl L)-happyOut150 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut150 #-}-happyIn151 :: (Decl L) -> (HappyAbsSyn )-happyIn151 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn151 #-}-happyOut151 :: (HappyAbsSyn ) -> (Decl L)-happyOut151 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut151 #-}-happyIn152 :: ((Maybe (Binds L),[S])) -> (HappyAbsSyn )-happyIn152 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn152 #-}-happyOut152 :: (HappyAbsSyn ) -> ((Maybe (Binds L),[S]))-happyOut152 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut152 #-}-happyIn153 :: ((Maybe (Type L, S))) -> (HappyAbsSyn )-happyIn153 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn153 #-}-happyOut153 :: (HappyAbsSyn ) -> ((Maybe (Type L, S)))-happyOut153 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut153 #-}-happyIn154 :: (Rhs L) -> (HappyAbsSyn )-happyIn154 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn154 #-}-happyOut154 :: (HappyAbsSyn ) -> (Rhs L)-happyOut154 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut154 #-}-happyIn155 :: (([GuardedRhs L],L)) -> (HappyAbsSyn )-happyIn155 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn155 #-}-happyOut155 :: (HappyAbsSyn ) -> (([GuardedRhs L],L))-happyOut155 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut155 #-}-happyIn156 :: (GuardedRhs L) -> (HappyAbsSyn )-happyIn156 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn156 #-}-happyOut156 :: (HappyAbsSyn ) -> (GuardedRhs L)-happyOut156 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut156 #-}-happyIn157 :: (Exp L) -> (HappyAbsSyn )-happyIn157 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn157 #-}-happyOut157 :: (HappyAbsSyn ) -> (Exp L)-happyOut157 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut157 #-}-happyIn158 :: (PExp L) -> (HappyAbsSyn )-happyIn158 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn158 #-}-happyOut158 :: (HappyAbsSyn ) -> (PExp L)-happyOut158 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut158 #-}-happyIn159 :: (PExp L) -> (HappyAbsSyn )-happyIn159 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn159 #-}-happyOut159 :: (HappyAbsSyn ) -> (PExp L)-happyOut159 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut159 #-}-happyIn160 :: (PExp L) -> (HappyAbsSyn )-happyIn160 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn160 #-}-happyOut160 :: (HappyAbsSyn ) -> (PExp L)-happyOut160 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut160 #-}-happyIn161 :: (PExp L) -> (HappyAbsSyn )-happyIn161 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn161 #-}-happyOut161 :: (HappyAbsSyn ) -> (PExp L)-happyOut161 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut161 #-}-happyIn162 :: (PExp L) -> (HappyAbsSyn )-happyIn162 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn162 #-}-happyOut162 :: (HappyAbsSyn ) -> (PExp L)-happyOut162 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut162 #-}-happyIn163 :: ([S]) -> (HappyAbsSyn )-happyIn163 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn163 #-}-happyOut163 :: (HappyAbsSyn ) -> ([S])-happyOut163 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut163 #-}-happyIn164 :: ([S]) -> (HappyAbsSyn )-happyIn164 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn164 #-}-happyOut164 :: (HappyAbsSyn ) -> ([S])-happyOut164 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut164 #-}-happyIn165 :: (PExp L) -> (HappyAbsSyn )-happyIn165 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn165 #-}-happyOut165 :: (HappyAbsSyn ) -> (PExp L)-happyOut165 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut165 #-}-happyIn166 :: (PExp L) -> (HappyAbsSyn )-happyIn166 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn166 #-}-happyOut166 :: (HappyAbsSyn ) -> (PExp L)-happyOut166 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut166 #-}-happyIn167 :: (PExp L) -> (HappyAbsSyn )-happyIn167 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn167 #-}-happyOut167 :: (HappyAbsSyn ) -> (PExp L)-happyOut167 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut167 #-}-happyIn168 :: ([Pat L]) -> (HappyAbsSyn )-happyIn168 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn168 #-}-happyOut168 :: (HappyAbsSyn ) -> ([Pat L])-happyOut168 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut168 #-}-happyIn169 :: (Pat L) -> (HappyAbsSyn )-happyIn169 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn169 #-}-happyOut169 :: (HappyAbsSyn ) -> (Pat L)-happyOut169 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut169 #-}-happyIn170 :: (PExp L) -> (HappyAbsSyn )-happyIn170 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn170 #-}-happyOut170 :: (HappyAbsSyn ) -> (PExp L)-happyOut170 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut170 #-}-happyIn171 :: (PExp L) -> (HappyAbsSyn )-happyIn171 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn171 #-}-happyOut171 :: (HappyAbsSyn ) -> (PExp L)-happyOut171 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut171 #-}-happyIn172 :: (PExp L) -> (HappyAbsSyn )-happyIn172 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn172 #-}-happyOut172 :: (HappyAbsSyn ) -> (PExp L)-happyOut172 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut172 #-}-happyIn173 :: ([S]) -> (HappyAbsSyn )-happyIn173 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn173 #-}-happyOut173 :: (HappyAbsSyn ) -> ([S])-happyOut173 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut173 #-}-happyIn174 :: (PExp L) -> (HappyAbsSyn )-happyIn174 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn174 #-}-happyOut174 :: (HappyAbsSyn ) -> (PExp L)-happyOut174 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut174 #-}-happyIn175 :: (([Maybe (PExp L)],[S])) -> (HappyAbsSyn )-happyIn175 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn175 #-}-happyOut175 :: (HappyAbsSyn ) -> (([Maybe (PExp L)],[S]))-happyOut175 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut175 #-}-happyIn176 :: (([Maybe (PExp L)],[S])) -> (HappyAbsSyn )-happyIn176 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn176 #-}-happyOut176 :: (HappyAbsSyn ) -> (([Maybe (PExp L)],[S]))-happyOut176 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut176 #-}-happyIn177 :: (([PExp L],[S])) -> (HappyAbsSyn )-happyIn177 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn177 #-}-happyOut177 :: (HappyAbsSyn ) -> (([PExp L],[S]))-happyOut177 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut177 #-}-happyIn178 :: (PExp L) -> (HappyAbsSyn )-happyIn178 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn178 #-}-happyOut178 :: (HappyAbsSyn ) -> (PExp L)-happyOut178 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut178 #-}-happyIn179 :: (PExp L) -> (HappyAbsSyn )-happyIn179 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn179 #-}-happyOut179 :: (HappyAbsSyn ) -> (PExp L)-happyOut179 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut179 #-}-happyIn180 :: ([PExp L]) -> (HappyAbsSyn )-happyIn180 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn180 #-}-happyOut180 :: (HappyAbsSyn ) -> ([PExp L])-happyOut180 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut180 #-}-happyIn181 :: (PExp L) -> (HappyAbsSyn )-happyIn181 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn181 #-}-happyOut181 :: (HappyAbsSyn ) -> (PExp L)-happyOut181 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut181 #-}-happyIn182 :: (XName L) -> (HappyAbsSyn )-happyIn182 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn182 #-}-happyOut182 :: (HappyAbsSyn ) -> (XName L)-happyOut182 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut182 #-}-happyIn183 :: (Loc String) -> (HappyAbsSyn )-happyIn183 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn183 #-}-happyOut183 :: (HappyAbsSyn ) -> (Loc String)-happyOut183 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut183 #-}-happyIn184 :: (Loc String) -> (HappyAbsSyn )-happyIn184 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn184 #-}-happyOut184 :: (HappyAbsSyn ) -> (Loc String)-happyOut184 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut184 #-}-happyIn185 :: ([ParseXAttr L]) -> (HappyAbsSyn )-happyIn185 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn185 #-}-happyOut185 :: (HappyAbsSyn ) -> ([ParseXAttr L])-happyOut185 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut185 #-}-happyIn186 :: (ParseXAttr L) -> (HappyAbsSyn )-happyIn186 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn186 #-}-happyOut186 :: (HappyAbsSyn ) -> (ParseXAttr L)-happyOut186 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut186 #-}-happyIn187 :: (Maybe (PExp L)) -> (HappyAbsSyn )-happyIn187 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn187 #-}-happyOut187 :: (HappyAbsSyn ) -> (Maybe (PExp L))-happyOut187 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut187 #-}-happyIn188 :: (L -> PExp L) -> (HappyAbsSyn )-happyIn188 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn188 #-}-happyOut188 :: (HappyAbsSyn ) -> (L -> PExp L)-happyOut188 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut188 #-}-happyIn189 :: (([PExp L],[S])) -> (HappyAbsSyn )-happyIn189 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn189 #-}-happyOut189 :: (HappyAbsSyn ) -> (([PExp L],[S]))-happyOut189 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut189 #-}-happyIn190 :: (([[QualStmt L]],[S])) -> (HappyAbsSyn )-happyIn190 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn190 #-}-happyOut190 :: (HappyAbsSyn ) -> (([[QualStmt L]],[S]))-happyOut190 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut190 #-}-happyIn191 :: (([QualStmt L],[S])) -> (HappyAbsSyn )-happyIn191 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn191 #-}-happyOut191 :: (HappyAbsSyn ) -> (([QualStmt L],[S]))-happyOut191 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut191 #-}-happyIn192 :: (QualStmt L) -> (HappyAbsSyn )-happyIn192 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn192 #-}-happyOut192 :: (HappyAbsSyn ) -> (QualStmt L)-happyOut192 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut192 #-}-happyIn193 :: (QualStmt L) -> (HappyAbsSyn )-happyIn193 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn193 #-}-happyOut193 :: (HappyAbsSyn ) -> (QualStmt L)-happyOut193 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut193 #-}-happyIn194 :: (([Stmt L],[S])) -> (HappyAbsSyn )-happyIn194 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn194 #-}-happyOut194 :: (HappyAbsSyn ) -> (([Stmt L],[S]))-happyOut194 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut194 #-}-happyIn195 :: (Stmt L) -> (HappyAbsSyn )-happyIn195 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn195 #-}-happyOut195 :: (HappyAbsSyn ) -> (Stmt L)-happyOut195 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut195 #-}-happyIn196 :: (L -> PExp L) -> (HappyAbsSyn )-happyIn196 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn196 #-}-happyOut196 :: (HappyAbsSyn ) -> (L -> PExp L)-happyOut196 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut196 #-}-happyIn197 :: (([Alt L],L,[S])) -> (HappyAbsSyn )-happyIn197 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn197 #-}-happyOut197 :: (HappyAbsSyn ) -> (([Alt L],L,[S]))-happyOut197 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut197 #-}-happyIn198 :: (([Alt L],[S])) -> (HappyAbsSyn )-happyIn198 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn198 #-}-happyOut198 :: (HappyAbsSyn ) -> (([Alt L],[S]))-happyOut198 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut198 #-}-happyIn199 :: (([Alt L],[S])) -> (HappyAbsSyn )-happyIn199 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn199 #-}-happyOut199 :: (HappyAbsSyn ) -> (([Alt L],[S]))-happyOut199 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut199 #-}-happyIn200 :: (Alt L) -> (HappyAbsSyn )-happyIn200 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn200 #-}-happyOut200 :: (HappyAbsSyn ) -> (Alt L)-happyOut200 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut200 #-}-happyIn201 :: (Rhs L) -> (HappyAbsSyn )-happyIn201 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn201 #-}-happyOut201 :: (HappyAbsSyn ) -> (Rhs L)-happyOut201 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut201 #-}-happyIn202 :: (([GuardedRhs L],L)) -> (HappyAbsSyn )-happyIn202 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn202 #-}-happyOut202 :: (HappyAbsSyn ) -> (([GuardedRhs L],L))-happyOut202 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut202 #-}-happyIn203 :: (GuardedRhs L) -> (HappyAbsSyn )-happyIn203 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn203 #-}-happyOut203 :: (HappyAbsSyn ) -> (GuardedRhs L)-happyOut203 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut203 #-}-happyIn204 :: (Pat L) -> (HappyAbsSyn )-happyIn204 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn204 #-}-happyOut204 :: (HappyAbsSyn ) -> (Pat L)-happyOut204 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut204 #-}-happyIn205 :: (([GuardedRhs L], L, [S])) -> (HappyAbsSyn )-happyIn205 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn205 #-}-happyOut205 :: (HappyAbsSyn ) -> (([GuardedRhs L], L, [S]))-happyOut205 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut205 #-}-happyIn206 :: (([GuardedRhs L], [S])) -> (HappyAbsSyn )-happyIn206 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn206 #-}-happyOut206 :: (HappyAbsSyn ) -> (([GuardedRhs L], [S]))-happyOut206 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut206 #-}-happyIn207 :: (([GuardedRhs L], [S])) -> (HappyAbsSyn )-happyIn207 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn207 #-}-happyOut207 :: (HappyAbsSyn ) -> (([GuardedRhs L], [S]))-happyOut207 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut207 #-}-happyIn208 :: (([Stmt L],L,[S])) -> (HappyAbsSyn )-happyIn208 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn208 #-}-happyOut208 :: (HappyAbsSyn ) -> (([Stmt L],L,[S]))-happyOut208 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut208 #-}-happyIn209 :: (([Stmt L],[S])) -> (HappyAbsSyn )-happyIn209 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn209 #-}-happyOut209 :: (HappyAbsSyn ) -> (([Stmt L],[S]))-happyOut209 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut209 #-}-happyIn210 :: (([Stmt L],[S])) -> (HappyAbsSyn )-happyIn210 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn210 #-}-happyOut210 :: (HappyAbsSyn ) -> (([Stmt L],[S]))-happyOut210 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut210 #-}-happyIn211 :: (Stmt L) -> (HappyAbsSyn )-happyIn211 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn211 #-}-happyOut211 :: (HappyAbsSyn ) -> (Stmt L)-happyOut211 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut211 #-}-happyIn212 :: (([PFieldUpdate L],[S])) -> (HappyAbsSyn )-happyIn212 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn212 #-}-happyOut212 :: (HappyAbsSyn ) -> (([PFieldUpdate L],[S]))-happyOut212 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut212 #-}-happyIn213 :: (PFieldUpdate L) -> (HappyAbsSyn )-happyIn213 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn213 #-}-happyOut213 :: (HappyAbsSyn ) -> (PFieldUpdate L)-happyOut213 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut213 #-}-happyIn214 :: (([IPBind L],[S])) -> (HappyAbsSyn )-happyIn214 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn214 #-}-happyOut214 :: (HappyAbsSyn ) -> (([IPBind L],[S]))-happyOut214 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut214 #-}-happyIn215 :: (([IPBind L],[S])) -> (HappyAbsSyn )-happyIn215 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn215 #-}-happyOut215 :: (HappyAbsSyn ) -> (([IPBind L],[S]))-happyOut215 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut215 #-}-happyIn216 :: (IPBind L) -> (HappyAbsSyn )-happyIn216 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn216 #-}-happyOut216 :: (HappyAbsSyn ) -> (IPBind L)-happyOut216 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut216 #-}-happyIn217 :: (PExp L) -> (HappyAbsSyn )-happyIn217 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn217 #-}-happyOut217 :: (HappyAbsSyn ) -> (PExp L)-happyOut217 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut217 #-}-happyIn218 :: (Name L) -> (HappyAbsSyn )-happyIn218 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn218 #-}-happyOut218 :: (HappyAbsSyn ) -> (Name L)-happyOut218 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut218 #-}-happyIn219 :: (Name L) -> (HappyAbsSyn )-happyIn219 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn219 #-}-happyOut219 :: (HappyAbsSyn ) -> (Name L)-happyOut219 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut219 #-}-happyIn220 :: (QName L) -> (HappyAbsSyn )-happyIn220 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn220 #-}-happyOut220 :: (HappyAbsSyn ) -> (QName L)-happyOut220 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut220 #-}-happyIn221 :: (IPName L) -> (HappyAbsSyn )-happyIn221 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn221 #-}-happyOut221 :: (HappyAbsSyn ) -> (IPName L)-happyOut221 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut221 #-}-happyIn222 :: (Name L) -> (HappyAbsSyn )-happyIn222 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn222 #-}-happyOut222 :: (HappyAbsSyn ) -> (Name L)-happyOut222 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut222 #-}-happyIn223 :: (QName L) -> (HappyAbsSyn )-happyIn223 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn223 #-}-happyOut223 :: (HappyAbsSyn ) -> (QName L)-happyOut223 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut223 #-}-happyIn224 :: (Name L) -> (HappyAbsSyn )-happyIn224 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn224 #-}-happyOut224 :: (HappyAbsSyn ) -> (Name L)-happyOut224 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut224 #-}-happyIn225 :: (QName L) -> (HappyAbsSyn )-happyIn225 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn225 #-}-happyOut225 :: (HappyAbsSyn ) -> (QName L)-happyOut225 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut225 #-}-happyIn226 :: (QName L) -> (HappyAbsSyn )-happyIn226 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn226 #-}-happyOut226 :: (HappyAbsSyn ) -> (QName L)-happyOut226 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut226 #-}-happyIn227 :: (Name L) -> (HappyAbsSyn )-happyIn227 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn227 #-}-happyOut227 :: (HappyAbsSyn ) -> (Name L)-happyOut227 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut227 #-}-happyIn228 :: (QName L) -> (HappyAbsSyn )-happyIn228 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn228 #-}-happyOut228 :: (HappyAbsSyn ) -> (QName L)-happyOut228 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut228 #-}-happyIn229 :: (Op L) -> (HappyAbsSyn )-happyIn229 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn229 #-}-happyOut229 :: (HappyAbsSyn ) -> (Op L)-happyOut229 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut229 #-}-happyIn230 :: (QOp L) -> (HappyAbsSyn )-happyIn230 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn230 #-}-happyOut230 :: (HappyAbsSyn ) -> (QOp L)-happyOut230 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut230 #-}-happyIn231 :: (QOp L) -> (HappyAbsSyn )-happyIn231 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn231 #-}-happyOut231 :: (HappyAbsSyn ) -> (QOp L)-happyOut231 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut231 #-}-happyIn232 :: (QName L) -> (HappyAbsSyn )-happyIn232 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn232 #-}-happyOut232 :: (HappyAbsSyn ) -> (QName L)-happyOut232 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut232 #-}-happyIn233 :: (QName L) -> (HappyAbsSyn )-happyIn233 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn233 #-}-happyOut233 :: (HappyAbsSyn ) -> (QName L)-happyOut233 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut233 #-}-happyIn234 :: (Name L) -> (HappyAbsSyn )-happyIn234 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn234 #-}-happyOut234 :: (HappyAbsSyn ) -> (Name L)-happyOut234 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut234 #-}-happyIn235 :: (Name L) -> (HappyAbsSyn )-happyIn235 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn235 #-}-happyOut235 :: (HappyAbsSyn ) -> (Name L)-happyOut235 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut235 #-}-happyIn236 :: (IPName L) -> (HappyAbsSyn )-happyIn236 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn236 #-}-happyOut236 :: (HappyAbsSyn ) -> (IPName L)-happyOut236 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut236 #-}-happyIn237 :: (QName L) -> (HappyAbsSyn )-happyIn237 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn237 #-}-happyOut237 :: (HappyAbsSyn ) -> (QName L)-happyOut237 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut237 #-}-happyIn238 :: (Name L) -> (HappyAbsSyn )-happyIn238 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn238 #-}-happyOut238 :: (HappyAbsSyn ) -> (Name L)-happyOut238 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut238 #-}-happyIn239 :: (QName L) -> (HappyAbsSyn )-happyIn239 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn239 #-}-happyOut239 :: (HappyAbsSyn ) -> (QName L)-happyOut239 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut239 #-}-happyIn240 :: (Name L) -> (HappyAbsSyn )-happyIn240 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn240 #-}-happyOut240 :: (HappyAbsSyn ) -> (Name L)-happyOut240 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut240 #-}-happyIn241 :: (QName L) -> (HappyAbsSyn )-happyIn241 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn241 #-}-happyOut241 :: (HappyAbsSyn ) -> (QName L)-happyOut241 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut241 #-}-happyIn242 :: (QName L) -> (HappyAbsSyn )-happyIn242 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn242 #-}-happyOut242 :: (HappyAbsSyn ) -> (QName L)-happyOut242 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut242 #-}-happyIn243 :: (Name L) -> (HappyAbsSyn )-happyIn243 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn243 #-}-happyOut243 :: (HappyAbsSyn ) -> (Name L)-happyOut243 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut243 #-}-happyIn244 :: (Name L) -> (HappyAbsSyn )-happyIn244 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn244 #-}-happyOut244 :: (HappyAbsSyn ) -> (Name L)-happyOut244 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut244 #-}-happyIn245 :: (QName L) -> (HappyAbsSyn )-happyIn245 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn245 #-}-happyOut245 :: (HappyAbsSyn ) -> (QName L)-happyOut245 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut245 #-}-happyIn246 :: (Literal L) -> (HappyAbsSyn )-happyIn246 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn246 #-}-happyOut246 :: (HappyAbsSyn ) -> (Literal L)-happyOut246 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut246 #-}-happyIn247 :: (S) -> (HappyAbsSyn )-happyIn247 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn247 #-}-happyOut247 :: (HappyAbsSyn ) -> (S)-happyOut247 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut247 #-}-happyIn248 :: (S) -> (HappyAbsSyn )-happyIn248 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn248 #-}-happyOut248 :: (HappyAbsSyn ) -> (S)-happyOut248 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut248 #-}-happyIn249 :: (Decl L) -> (HappyAbsSyn )-happyIn249 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn249 #-}-happyOut249 :: (HappyAbsSyn ) -> (Decl L)-happyOut249 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut249 #-}-happyIn250 :: (Decl L) -> (HappyAbsSyn )-happyIn250 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn250 #-}-happyOut250 :: (HappyAbsSyn ) -> (Decl L)-happyOut250 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut250 #-}-happyIn251 :: (Pat L) -> (HappyAbsSyn )-happyIn251 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn251 #-}-happyOut251 :: (HappyAbsSyn ) -> (Pat L)-happyOut251 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut251 #-}-happyIn252 :: ([Pat L]) -> (HappyAbsSyn )-happyIn252 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn252 #-}-happyOut252 :: (HappyAbsSyn ) -> ([Pat L])-happyOut252 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut252 #-}-happyIn253 :: (PatternSynDirection L) -> (HappyAbsSyn )-happyIn253 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn253 #-}-happyOut253 :: (HappyAbsSyn ) -> (PatternSynDirection L)-happyOut253 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut253 #-}-happyIn254 :: (Decl L) -> (HappyAbsSyn )-happyIn254 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn254 #-}-happyOut254 :: (HappyAbsSyn ) -> (Decl L)-happyOut254 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut254 #-}-happyIn255 :: ((Maybe [TyVarBind L], [S], Maybe (Context L), Maybe (Context L), Type L )) -> (HappyAbsSyn )-happyIn255 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn255 #-}-happyOut255 :: (HappyAbsSyn ) -> ((Maybe [TyVarBind L], [S], Maybe (Context L), Maybe (Context L), Type L ))-happyOut255 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut255 #-}-happyIn256 :: (ModuleName L) -> (HappyAbsSyn )-happyIn256 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn256 #-}-happyOut256 :: (HappyAbsSyn ) -> (ModuleName L)-happyOut256 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut256 #-}-happyIn257 :: (Name L) -> (HappyAbsSyn )-happyIn257 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn257 #-}-happyOut257 :: (HappyAbsSyn ) -> (Name L)-happyOut257 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut257 #-}-happyIn258 :: (QName L) -> (HappyAbsSyn )-happyIn258 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn258 #-}-happyOut258 :: (HappyAbsSyn ) -> (QName L)-happyOut258 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut258 #-}-happyIn259 :: (Name L) -> (HappyAbsSyn )-happyIn259 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn259 #-}-happyOut259 :: (HappyAbsSyn ) -> (Name L)-happyOut259 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut259 #-}-happyIn260 :: (Name L) -> (HappyAbsSyn )-happyIn260 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn260 #-}-happyOut260 :: (HappyAbsSyn ) -> (Name L)-happyOut260 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut260 #-}-happyIn261 :: (QName L) -> (HappyAbsSyn )-happyIn261 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn261 #-}-happyOut261 :: (HappyAbsSyn ) -> (QName L)-happyOut261 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut261 #-}-happyIn262 :: (Name L) -> (HappyAbsSyn )-happyIn262 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn262 #-}-happyOut262 :: (HappyAbsSyn ) -> (Name L)-happyOut262 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut262 #-}-happyIn263 :: (([ImportDecl L],[S],L)) -> (HappyAbsSyn )-happyIn263 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn263 #-}-happyOut263 :: (HappyAbsSyn ) -> (([ImportDecl L],[S],L))-happyOut263 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut263 #-}-happyIn264 :: ((([ModulePragma L], [S], L), Maybe (ModuleName L))) -> (HappyAbsSyn )-happyIn264 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn264 #-}-happyOut264 :: (HappyAbsSyn ) -> ((([ModulePragma L], [S], L), Maybe (ModuleName L)))-happyOut264 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut264 #-}-happyIn265 :: ((([ModulePragma L], [S], L), Maybe (ModuleHead L))) -> (HappyAbsSyn )-happyIn265 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn265 #-}-happyOut265 :: (HappyAbsSyn ) -> ((([ModulePragma L], [S], L), Maybe (ModuleHead L)))-happyOut265 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut265 #-}-happyIn266 :: ((([ModulePragma L], [S], L), Maybe (ModuleHead L), Maybe ([ImportDecl L],[S],L))) -> (HappyAbsSyn )-happyIn266 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn266 #-}-happyOut266 :: (HappyAbsSyn ) -> ((([ModulePragma L], [S], L), Maybe (ModuleHead L), Maybe ([ImportDecl L],[S],L)))-happyOut266 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut266 #-}-happyInTok :: (Loc Token) -> (HappyAbsSyn )-happyInTok x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyInTok #-}-happyOutTok :: (HappyAbsSyn ) -> (Loc Token)-happyOutTok x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOutTok #-}---happyActOffsets :: HappyAddr-happyActOffsets = HappyA# "\x00\x00\x34\x25\xb8\x24\x69\x09\x9b\x18\x54\x21\x18\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x21\x09\x5c\x05\x20\x09\x82\x09\x1f\x09\x80\x09\x0c\x09\x7e\x09\x7e\x09\xe4\x08\xf2\x08\x00\x00\x47\x09\x00\x00\x00\x00\x80\x07\x00\x00\x00\x00\x00\x00\xe3\x28\x00\x00\x57\x09\x00\x00\x00\x00\x45\x09\xd8\x08\x00\x00\x0d\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xda\x1d\x53\x1d\x61\x1e\xe8\x1e\x00\x00\x25\x28\xe3\x28\xe3\x28\xe3\x28\x34\x25\x00\x00\x34\x25\x34\x25\x34\x25\x9b\x18\x00\x00\x5e\x2b\x11\x2d\x00\x00\x12\x29\x34\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x25\x4f\x09\x00\x00\x00\x00\x00\x00\x3c\x24\x4e\x09\x4d\x09\x84\x28\x4d\x09\x00\x00\x58\x09\x55\x09\x46\x09\x00\x00\x00\x00\xe3\x11\x00\x00\x00\x00\xd5\x1a\x00\x00\x00\x00\xd0\x08\x00\x00\x9b\x18\x2b\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7e\x11\x00\x13\x3a\x15\x59\x19\x00\x00\x00\x00\x00\x00\x34\x25\xdd\x03\x00\x00\x00\x00\x00\x00\x00\x00\xca\x08\xc7\x08\x00\x00\x00\x00\x00\x00\xc7\x08\x37\x09\xbe\x08\x00\x00\xbe\x08\xf1\xff\x00\x00\x00\x00\x35\x09\x12\x29\xd3\x08\xd5\x06\x00\x00\xe3\x08\x00\x00\x00\x00\x25\x09\x00\x00\x3b\x0c\x38\x00\x16\x09\x6c\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa1\x12\xdb\x14\x00\x00\x23\x09\x12\x09\x42\x12\x19\x09\x00\x00\x0d\x09\x08\x09\x00\x00\x7c\x03\x6d\x03\x00\x00\x00\x00\x4b\x02\x11\x09\xdb\x02\x10\x09\x0f\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x09\x00\x00\x0a\x09\x00\x00\xd5\x1a\x00\x00\x00\x00\x00\x00\xd5\x1a\x00\x00\x00\x00\xd5\x1a\x00\x00\x00\x00\x61\x0a\x9b\x18\xd5\x1a\x00\x00\x00\x00\x14\x09\x92\x08\x8d\x08\x00\x00\x64\x1f\x64\x1f\xf1\x08\x00\x00\xe3\x28\x00\x00\xb0\x08\xf7\x08\x00\x00\x00\x00\x00\x00\x00\x00\x95\x08\x53\x02\xb9\x08\x00\x00\xdd\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x98\x14\x66\x03\xe7\x08\x00\x00\x00\x00\xe1\x0a\x57\x0d\xc0\x08\xbf\x08\x70\x06\xbd\x08\xe6\x08\xce\x08\x08\x01\x00\x00\xe3\x28\x00\x00\xc6\x27\x00\x00\xda\x08\xc2\x08\x8e\x02\xc3\x08\xcc\x08\x00\x00\x00\x00\x34\x25\x00\x00\x00\x00\x00\x00\x1b\x2c\x00\x00\x60\x01\xc5\x08\xc1\x08\x00\x00\xcc\x1c\x0b\x03\x00\x00\x05\x06\x45\x1c\x98\x02\xc9\x08\xc8\x08\xc4\x08\xb4\x08\xb2\x08\x00\x00\xe3\x28\xe3\x28\xe3\x28\x34\x25\x78\x2b\x00\x00\x00\x00\x00\x00\x34\x25\x00\x00\x1b\x2c\x9b\x18\x34\x25\x34\x25\x34\x25\x34\x25\x77\x08\x42\x08\x2c\x00\x00\x00\xd5\x06\x38\x00\x00\x00\x00\x00\x00\x00\x30\x2b\x00\x00\x54\x08\x00\x00\xe3\x28\x2e\x08\x00\x00\x00\x00\x00\x00\x00\x00\x79\x02\xe3\x28\xb7\x08\xa4\x08\x6a\x00\x48\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9a\x08\x99\x08\x00\x00\x00\x00\x9e\x08\x97\x08\x8f\x08\xae\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x1b\x00\x00\x00\x00\x83\x02\x00\x00\x00\x00\x34\x25\xc0\x23\x37\x1b\x00\x00\x00\x00\x08\x03\x00\x00\xe8\x1e\x00\x00\xe8\x1e\x34\x25\xd8\x20\x91\x08\x00\x00\x00\x00\xe8\x1e\x34\x25\xd8\x20\x00\x00\x00\x00\x00\x00\x00\x00\x34\x25\x34\x25\x00\x00\x44\x23\x00\x00\x00\x00\x34\x25\x00\x00\x00\x00\x00\x00\xa8\x08\x38\x00\x00\x00\x00\x00\x00\x00\x7c\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x97\x09\x00\x00\x00\x00\x00\x00\xe3\x28\xe6\x00\x9b\x18\x4d\x08\x9b\x08\x40\x08\x00\x00\x00\x00\x00\x00\x0c\x05\x00\x00\x32\x18\xb4\x2c\x8e\x08\x8e\x08\x18\x00\x8e\x08\x98\x08\x99\x2c\x99\x2c\x30\x2b\xc1\x2d\x93\x08\x12\x29\xd8\x26\x00\x00\x5f\x08\x00\x00\x00\x00\x00\x00\x00\x00\x34\x25\x8a\x08\x07\x02\x88\x08\x38\x00\x2b\x08\x00\x00\x34\x25\x00\x00\x34\x25\x86\x08\x82\x08\x64\x1f\x38\x00\x34\x25\x34\x25\x74\x08\xb8\x19\x00\x00\x76\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x2a\x00\x00\x00\x00\xd3\x17\xd3\x17\x00\x00\x00\x00\xd5\x1a\x00\x00\x00\x00\xd2\x03\x00\x00\x5d\x02\x00\x00\x00\x00\x00\x00\xfc\x2c\xd3\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xeb\x0e\x7d\x08\x6d\x08\x38\x00\x38\x00\x4e\x06\x27\x08\x00\x00\x00\x00\xd8\x26\x3a\x08\x58\x08\x56\x08\x53\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x14\x00\x00\x00\x00\x49\x08\x04\x08\xc9\x0c\x46\x08\x46\x08\x00\x00\x39\x08\x00\x00\x00\x00\xd5\x1a\x38\x08\x00\x00\x3c\x08\x00\x00\xa8\x29\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x29\x80\x2a\x00\x00\x00\x00\x00\x00\x45\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x1f\x00\x00\x00\x00\x00\x00\x34\x25\x00\x00\x00\x00\x00\x00\x00\x00\x44\x23\x00\x00\x00\x00\x26\x00\x02\x08\x00\x00\x26\x08\x00\x00\x72\x06\xf3\x05\xeb\x05\xe8\x05\xe7\x05\xe4\x05\xe3\x05\xd4\x05\xcc\x05\xcb\x05\xc8\x05\xc7\x05\xc4\x05\xc3\x05\xa9\x05\x83\x05\x5d\x05\x48\x05\xf8\x04\xdd\x04\xda\x04\x00\x00\xbb\x07\x00\x00\x21\x08\x29\x08\x00\x00\x21\x2a\xb8\x07\x3c\x00\x00\x00\x37\x08\x22\x08\x39\x00\x34\x00\x00\x00\x25\x08\x7e\x2c\x36\x00\x7e\x2c\xd3\x17\x7e\x2c\x7e\x2c\xa7\x2d\xad\x04\xa1\x03\x36\x08\x0d\x08\x59\x19\xd5\x1a\x8d\x03\xd3\x17\xa2\x07\xa1\x07\x9f\x07\x0c\x05\xd3\x17\xd3\x17\x07\x08\xc2\x04\xc2\x04\x59\x04\x59\x04\x7e\x2c\xd3\x17\xab\x06\xd3\x17\x57\x0d\x16\x08\xee\x07\xde\x02\x00\x00\x00\x00\x35\x00\x00\x00\xff\x07\x09\x08\x00\x00\x00\x00\x5c\x20\x06\x08\x38\x00\xf2\x07\xf4\x07\x00\x00\x00\x00\x00\x00\xc8\x22\x00\x00\x18\x03\x00\x00\x00\x00\xe9\x07\x00\x00\x69\x00\x00\x00\x00\x00\x00\x00\xd1\x02\x00\x00\x00\x00\xe5\x07\x00\x00\x00\x00\x00\x00\x44\x02\x00\x00\x34\x25\xee\x2b\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x16\x00\x16\x00\x00\x00\x00\x00\x00\x00\x20\x00\x03\x08\xe3\x28\x00\x00\xef\x07\xeb\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x25\xe0\x1f\x34\x25\xa6\x07\x30\x00\xe0\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x04\x97\x07\x34\x25\x4c\x22\x00\x00\xdf\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x26\x00\x00\x00\x00\x98\x06\x9c\x07\x7e\x07\x07\x2a\x8d\x07\x0a\x04\x80\x03\x00\x00\x6e\x07\xba\x07\x00\x00\x34\x25\x4c\x22\x5d\x07\x96\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd4\x06\x5b\x07\x00\x00\xad\x07\xbc\x07\x00\x00\xaf\x07\x00\x00\xd3\x17\x00\x00\x00\x00\x00\x00\x57\x07\x00\x00\xe1\x0a\xa7\x07\x00\x00\x9d\x07\xd3\x17\xd0\x21\xd0\x21\xdb\x2d\xdb\x2d\x00\x00\x74\x17\x3d\x07\x3c\x07\x38\x07\x96\x07\x9b\x07\xa4\x07\x87\x07\x47\x07\x9e\x07\x00\x00\x51\x2c\x00\x00\x51\x2c\x00\x00\x00\x00\x00\x00\x95\x07\x8d\x2d\x8d\x2d\x00\x00\x00\x00\x00\x00\xe3\x28\x00\x00\x00\x00\xf8\x00\x07\x02\x8c\x07\x00\x00\x78\x07\x81\x07\x7c\x07\x86\x07\x00\x00\x00\x00\x07\x2a\x00\x00\x07\x2a\x00\x00\x00\x00\x34\x25\xb7\x06\x7f\x07\x54\x27\xf1\x0f\x7f\x07\x0a\x07\x09\x07\x1b\x07\x00\x00\x9e\x25\x00\x00\x55\x06\x00\x00\x00\x00\x79\x07\x6d\x07\x00\x00\x00\x00\x77\x07\x00\x00\x96\x06\x16\x2b\x73\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x07\x00\x00\x75\x07\x00\x00\x00\x00\x07\x2a\x00\x00\x7b\x07\x21\x07\x00\x00\x34\x25\x00\x00\x53\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x25\x5f\x2d\x15\x17\x64\x07\x00\x00\x15\x17\x00\x00\x00\x00\x00\x00\x00\x00\x59\x19\x00\x00\x00\x00\x00\x00\x00\x00\x04\x07\x00\x00\x00\x00\x02\x07\x15\x17\x49\x00\x00\x00\x61\x07\x00\x00\x00\x00\x00\x00\x6c\x25\x56\x07\x00\x00\x00\x00\x54\x07\x00\x00\x45\x07\x00\x00\x84\x07\x84\x01\xd4\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x07\xa0\x02\x00\x00\x00\x00\x00\x00\x45\x2d\x15\x17\x40\x07\x00\x00\x76\x1a\x00\x00\x00\x00\x07\x07\x42\x07\x00\x00\x60\x03\x01\x07\xe0\x06\x35\x07\x34\x07\xde\x02\x00\x00\x00\x00\xdc\x06\x2b\x07\x00\x00\x34\x25\xd0\x21\x26\x07\x00\x00\x34\x25\x34\x25\x34\x25\x00\x00\x33\x07\x00\x00\xdf\x06\xde\x06\xef\x03\x6d\x00\x00\x00\x00\x00\x10\x00\x96\x06\x00\x00\x00\x00\xda\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdb\x06\x00\x00\x00\x00\x00\x00\x1d\x14\x00\x00\x00\x00\x00\x00\x3d\x2e\x57\x00\xbe\x13\x76\x1a\x00\x00\x00\x00\x20\x07\x1f\x07\x7e\x11\xcc\x06\x00\x00\x00\x00\x84\x01\x34\x25\x00\x00\x00\x00\x1e\x07\x11\x07\x17\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x07\x00\x00\x0b\x07\x23\x2e\x00\x00\x59\x19\xa0\x06\xf4\x06\x00\x00\x00\x00\x8d\x06\x00\x07\x2b\x2d\x00\x00\xdb\x2d\xfa\x06\xd1\x06\x00\x00\x34\x25\xdd\x06\xef\x06\xf3\x06\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x2a\xf1\x06\xcd\x25\x00\x00\x8d\x04\x12\x29\x00\x00\x00\x00\x0b\x02\x00\x00\x00\x00\x00\x00\x00\x00\xec\x06\x00\x00\x07\x2a\xf6\x06\x00\x00\x12\x29\x34\x25\xc9\x06\x00\x00\x00\x00\x00\x00\x15\x17\x00\x00\x00\x00\xb6\x16\x00\x00\x00\x00\x00\x00\x17\x1a\x17\x1a\x6e\x0f\xe2\x06\x38\x00\xfc\x2c\x00\x00\x00\x00\xe5\x0d\xd9\x06\x38\x00\x00\x00\x17\x1a\x00\x00\x00\x00\x00\x00\xd6\x06\xa6\x2b\xfa\x18\x00\x00\x17\x1a\x17\x1a\xe6\x06\x00\x00\xd3\x02\xcd\x06\x38\x00\xc6\x06\xd0\x06\x00\x00\x00\x00\x34\x25\x00\x00\x00\x00\x00\x00\xcf\x06\x00\x00\x2b\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x06\x00\x00\x17\x1a\xb8\x19\x30\x03\xec\x02\x00\x00\x00\x00\xc5\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x57\x16\xf7\x10\xf8\x15\xf9\x2a\x00\x00\x00\x00\x99\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x1a\xbc\x03\x00\x00\xb9\x06\x66\x00\xeb\x0e\xc2\x06\x38\x00\x00\x00\x00\x00\x99\x15\x00\x00\x9a\x06\x4f\x06\x00\x00\x00\x00\x00\x00\x51\x2c\x8e\x06\x00\x00\x00\x00\x34\x25\x00\x00\xb8\x06\x00\x00\x00\x00\x00\x00\x17\x1a\x99\x15\x00\x00\x9f\x06\x74\x10\xac\x06\x8c\x06\x9b\x06\x84\x06\x90\x06\x17\x1a\x00\x00\x7b\x13\x90\x06\x68\x0e\x91\x06\x00\x00\x36\x2c\x99\x15\x5f\x13\x12\x03\x91\x06\x8f\x06\x82\x06\x00\x00\x00\x00\x00\x00\x80\x06\xe1\x2c\x51\x02\x00\x00\x00\x00\x9a\x2a\x75\x06\x5a\x26\x00\x00\x00\x00\x00\x00\x36\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x99\x15\x5c\x06\x00\x00\x99\x15\x20\x06\xfb\x05\x00\x00\x99\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x06\x00\x00\x00\x00\x99\x15\x00\x00\xe4\x02\x00\x00\x00\x00\x44\x01\x00\x00\x4c\x06\x00\x00\x00\x00\x2f\x06\x00\x00\x00\x00\x99\x15\x00\x00\x00\x00"#--happyGotoOffsets :: HappyAddr-happyGotoOffsets = HappyA# "\x02\x00\x15\x35\xb8\x39\x0b\x00\xe5\x08\x57\x31\x44\x06\x03\x00\xfd\xff\xff\xff\xfe\xff\x01\x00\x5f\x04\x94\x06\x00\x00\x00\x00\x49\x06\x00\x00\x3d\x06\x00\x00\x00\x00\x00\x00\x0e\x06\x00\x00\x00\x00\x00\x00\x00\x00\xff\x11\x00\x00\x00\x00\x00\x00\x05\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x35\x01\x36\xe1\x35\x88\x35\x00\x00\x48\x2b\xc9\x40\x82\x3e\xb3\x40\x66\x39\x00\x00\xfd\x34\xab\x34\x30\x3e\xd7\x08\x52\x05\x39\x03\x6e\x01\x00\x00\xe4\x04\xc8\x3d\x85\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x76\x3d\x87\xff\x00\x00\x00\x00\x00\x00\xa9\x31\xfc\xff\x7a\xff\xd4\x3e\x62\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x0a\x00\x00\x00\x00\xdf\x0a\x00\x00\x00\x00\x00\x00\x00\x00\xf1\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa8\x05\x58\x06\x10\x06\x0c\x0b\x00\x00\x00\x00\x00\x00\x93\x34\xab\x02\x00\x00\x00\x00\x00\x00\xd2\x05\x00\x00\x00\x00\x74\x05\x5b\x05\x00\x00\x00\x00\xf3\xff\x00\x00\x00\x00\x00\x00\x78\x03\x00\x00\x00\x00\x08\x00\x8b\x04\x78\x06\x2c\x05\x00\x00\x00\x00\x0f\x00\x07\x00\x00\x00\x00\x00\x77\x00\x29\x05\x00\x00\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x05\xbc\x08\x00\x00\x00\x00\x00\x00\xa6\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf3\x08\x00\x00\x00\x00\x00\x00\x90\x08\x00\x00\x00\x00\x23\x08\x00\x00\x00\x00\x69\x01\xd6\x0a\x50\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdd\x30\xb9\x30\x00\x00\x00\x00\x77\x40\x00\x00\x00\x00\x62\x05\x00\x00\x11\x00\x0c\x00\x00\x00\x00\x00\xbd\x02\x00\x00\x36\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbf\x00\x3c\x05\x00\x00\x00\x00\x00\x00\xd9\x04\x75\x01\x00\x00\x00\x00\x94\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x61\x40\x00\x00\xbe\x3e\x00\x00\x76\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\x3d\x00\x00\x00\x00\x00\x00\x02\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbf\x37\x07\x03\x00\x00\x00\x00\x66\x37\xf5\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x3e\x25\x40\x0f\x40\x41\x34\x74\x02\x00\x00\x00\x00\x00\x00\x1a\x3e\x00\x00\xd5\x03\x78\x08\x60\x3d\x0e\x3d\xf8\x3c\xa6\x3c\xce\x05\x00\x00\xd7\x00\x00\x00\xd4\x04\xd3\x04\x85\x06\x83\x06\xea\x01\x46\x02\x00\x00\x28\x04\x00\x00\xd3\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\x02\xbd\x3f\xf4\x04\x71\x06\xe1\x04\x00\x00\x77\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x06\x00\x00\x5f\x06\x00\x00\x9b\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x37\x00\x00\x00\x00\x7d\x02\x00\x00\x00\x00\x50\x39\xfe\x38\xef\x36\x00\x00\x00\x00\x4c\x02\x00\x00\xd1\x36\x00\x00\x78\x36\x90\x3c\x8d\x2e\x00\x00\x00\x00\x00\x00\x5a\x36\x3e\x3c\x3b\x2e\x00\x00\x31\x00\x1b\x00\x00\x00\x28\x3c\xd6\x3b\x00\x00\x67\x30\x00\x00\x00\x00\x1a\x3e\x00\x00\x00\x00\x00\x00\x66\x05\x99\x04\x43\x06\x00\x00\x00\x00\x47\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0e\x00\x00\x00\x00\x00\x00\x81\x3f\x00\x00\x2b\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x05\x00\x00\xfd\x05\x6f\x01\x31\x05\x2d\x05\x24\x05\x0a\x05\x04\x06\x1c\x02\xd1\x01\x3d\x02\x2a\x00\x00\x00\x9f\x05\x2f\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe8\x38\x6b\xff\xeb\x00\x00\x00\x54\x04\x00\x00\x00\x00\xc0\x3b\x00\x00\x6e\x3b\x00\x00\x34\x04\x4f\x30\x4d\x04\x58\x3b\x06\x3b\x00\x00\x04\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaf\x11\x00\x00\x00\x00\x18\x0a\x06\x0a\x00\x00\x00\x00\x39\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b\x01\xf8\x09\x00\x00\x37\x06\x33\x06\x00\x00\x00\x00\x00\x00\x00\x00\x92\x02\x00\x00\x00\x00\x25\x04\x1d\x04\xe6\x04\x00\x00\x2c\x04\x00\x00\x19\x3f\xca\x04\x07\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf7\x05\x00\x00\x32\x0b\xbf\x05\x00\x00\x00\x00\x00\x00\xf6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x04\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x03\x00\x00\x00\x00\x00\x00\x00\x00\xe8\x04\x3b\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfd\x2f\x00\x00\x00\x00\x00\x00\xf0\x3a\x00\x00\x00\x00\x00\x00\x93\x05\xd5\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x57\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7b\x04\x87\x03\x00\x00\xd2\x02\xe6\x09\xc0\x02\x08\x02\xe9\x01\x61\x04\x00\x00\xde\x03\x00\x00\x77\x0a\x4d\x05\x1c\x00\xcb\x09\x00\x00\x00\x00\x00\x00\x82\x04\xf0\x03\x9c\x09\x23\x04\x42\x04\x3e\x04\xa1\x04\x7d\x04\xfc\x00\x2d\x08\xa7\x01\x12\x08\xf2\x01\x00\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe4\xff\x00\x00\x00\x00\x18\x38\x00\x00\x86\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x34\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x56\x00\x00\x00\x9e\x3a\x59\x02\x00\x00\x00\x00\x00\x00\x47\x04\x00\x00\x1b\x05\xa5\x04\x00\x00\x00\x00\x00\x00\x00\x00\x85\x03\x6b\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x05\xdf\x04\x53\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x3a\xdf\x2e\x36\x3a\x00\x00\x00\x00\x31\x2f\x00\x00\x00\x00\xce\x04\x00\x00\x3a\x04\x00\x00\xd7\x33\x2f\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfe\x02\x00\x00\x00\x00\x51\x01\xc6\x03\xd8\x03\xea\x10\x0e\x04\x00\x00\x00\x00\x00\x00\xac\x03\x97\x03\x00\x00\xbf\x33\x83\x2f\xa5\x03\xe8\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc\xff\x9c\x03\x06\x01\x99\x03\x00\x00\x00\x00\x00\x00\x00\x00\x51\x09\x00\x00\x00\x00\x00\x00\x8f\x03\xe1\x03\x91\x04\x00\x00\x00\x00\x81\x03\xfe\x07\x96\x38\x80\x38\x70\x03\xd6\x01\x00\x00\x36\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbf\x03\xb1\x03\x00\x00\xa7\x02\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x46\x00\xcf\xff\x00\x00\x56\x03\x00\x00\xf4\x17\x00\x00\x00\x00\x00\x00\x23\x03\x52\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x54\x12\x00\x00\x4e\x0b\x00\x00\x00\x00\x6d\x33\x26\x01\x00\x00\x6c\x3e\x9b\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf9\xff\x00\x00\x00\x00\x26\x03\x00\x00\x00\x00\xc1\x03\x00\x00\x00\x00\x00\x00\x00\x00\xd6\x02\x04\x00\x2b\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x08\x00\x00\x00\x00\x00\x00\x00\x00\x55\x33\x00\x00\x9c\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd2\x2d\x03\x01\x44\x04\x00\x00\x00\x00\x36\x04\x00\x00\x00\x00\x00\x00\x00\x00\xc3\x0a\x00\x00\x5d\x03\x00\x00\x00\x00\xc2\x02\x00\x00\x00\x00\x76\x03\xe3\x07\x6c\x03\x00\x00\x80\x02\x00\x00\x00\x00\x00\x00\x9b\x00\x00\x00\x00\x00\x00\x00\x76\x02\x00\x00\x00\x00\x00\x00\xad\xff\xbb\x03\xcb\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\xff\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x01\xcf\x07\x00\x00\x00\x00\x1c\x0b\xf2\x02\x00\x00\xcb\x02\x4f\x02\x00\x00\xa1\x00\xb7\x02\x9b\x02\x00\x00\x00\x00\x20\x03\x00\x00\x00\x00\x70\x02\xec\x01\x00\x00\x03\x33\x2e\x38\x00\x00\x00\x00\xeb\x32\x99\x32\x81\x32\x00\x00\x00\x00\x00\x00\xa1\x02\x89\x02\x00\x00\xa8\x01\x00\x00\x00\x00\x57\x04\x8c\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\x01\x00\x00\x00\x00\x00\x00\xc9\x05\x44\x00\x33\x00\x00\x00\xaf\xff\x10\x01\x04\x04\x3e\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x57\x05\x35\x04\x00\x00\x00\x00\xad\x03\x2f\x32\x00\x00\x00\x00\x00\x00\x00\x00\x03\x05\x50\x00\x37\x00\x5e\x01\x00\x00\x8b\x03\x21\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xda\xff\x00\x00\x40\x01\xaf\xff\x00\x00\xb3\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x00\x00\x00\x7d\x01\x00\x00\x00\x00\x00\x00\x20\x3a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x00\x00\x22\x00\x00\x00\x56\x01\xae\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x04\x00\x00\x00\x00\x77\x03\x17\x32\x00\x00\x00\x00\x00\x00\x00\x00\x5e\x03\x00\x00\x00\x00\x22\x09\x42\x00\x3f\x00\x00\x00\x1a\x01\x64\x00\x20\x04\x00\x00\x1b\x01\x73\x00\x00\x00\x00\x00\x6e\x02\x00\x00\xf3\x00\x00\x00\xef\x04\x00\x00\x00\x00\x00\x00\x00\x00\xf1\x00\x04\x04\x00\x00\x1f\x02\x23\x01\x52\x00\x00\x00\xc3\x01\x00\x00\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc5\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb6\x03\x00\x00\x00\x00\x00\x00\x04\x04\x04\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x03\x00\x00\x00\x00\x07\x09\xba\x04\x70\x04\x00\x00\x00\x00\x00\x00\xc1\x07\x00\x00\x00\x00\xce\x02\x00\x00\x00\x00\x00\x00\x00\x00\xdf\x01\x00\x00\x00\x00\x00\x00\x99\x00\x32\x03\x00\x00\x85\x00\x00\x00\x00\x00\x98\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\xce\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x92\x01\x69\x07\x00\x00\x00\x00\x9f\x04\x00\x00\xda\x00\x00\x00\x00\x00\x8f\x00\x62\x01\x00\x00\x83\x0f\x3b\x00\x0e\x03\x00\x00\x00\x00\xd5\x00\x1c\x07\x08\x07\xa5\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\x00\x8b\xff\x00\x00\x00\x00\x5b\x00\x00\x00\xe8\xff\x00\x00\x00\x00\x00\x00\xe5\xff\x00\x00\x00\x00\x00\x00\x00\x00\xed\x06\x00\x00\x00\x00\xc3\x06\x68\x00\x19\x00\x00\x00\xb5\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xec\xff\x00\x00\x00\x00\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x06\x00\x00\x00\x00"#--happyDefActions :: HappyAddr-happyDefActions = HappyA# "\x4e\xfd\x00\x00\x00\x00\x4e\xfd\x00\x00\x00\x00\x00\x00\x4e\xfd\x4e\xfd\x4e\xfd\x4e\xfd\x00\x00\x00\x00\xea\xff\x2c\xfd\x00\x00\xe2\xff\x00\x00\xe2\xff\x00\x00\x00\x00\x00\x00\xbf\xff\xaf\xfd\x86\xfe\x84\xfe\x7e\xfe\x7d\xfe\x7b\xfe\x79\xfe\x73\xfe\x69\xfe\x64\xfe\x5c\xfe\x59\xfe\x46\xfe\x00\x00\x00\x00\x56\xfe\x57\xfe\x58\xfe\x9f\xfd\x9a\xfd\x72\xfd\x81\xfd\x98\xfd\x95\xfd\x69\xfd\x55\xfe\x7f\xfd\x80\xfd\x6b\xfd\x6a\xfd\x67\xfd\x68\xfd\x58\xfd\x56\xfd\x57\xfd\x55\xfd\x54\xfd\x53\xfd\x52\xfd\x51\xfd\x50\xfd\x4f\xfd\x00\x00\x00\x00\x00\x00\xd0\xfd\x4a\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x45\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x4e\xfd\x00\x00\x00\x00\x3b\xfe\x00\x00\x00\x00\x26\xfe\x7b\xfd\x71\xfd\x70\xfd\x6e\xfd\x6f\xfd\x7a\xfd\x79\xfd\x78\xfd\x77\xfd\x76\xfd\x75\xfd\x74\xfd\x73\xfd\x7e\xfd\x00\x00\x4e\xfd\x6c\xfd\x6d\xfd\x7c\xfd\x4e\xfd\x4e\xfd\x4e\xfd\x00\x00\x4e\xfd\x7d\xfd\x00\x00\x00\x00\x00\x00\x17\xff\xed\xfe\x1e\xff\x14\xff\x07\xff\x00\x00\x13\xff\xfb\xfe\x00\x00\xf0\xfe\x00\x00\x00\x00\x37\xfd\xf4\xfe\x12\xff\x38\xfd\xff\xfe\xfe\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x08\xff\xfd\xfe\x09\xff\x00\x00\x00\x00\x36\xfd\x35\xfd\x34\xfd\xe6\xfe\x00\x00\x00\x00\xd6\xff\xd6\xff\xbf\xfd\x00\x00\x4e\xfd\x00\x00\x86\xfe\x00\x00\xe2\xff\xf1\xff\xef\xff\x4e\xfd\x00\x00\xe2\xff\x00\x00\x4d\xff\x00\x00\xd6\xff\xd6\xff\x00\x00\xd7\xff\xd9\xff\x00\x00\x00\x00\x00\x00\x39\xfd\x01\xff\x82\xfd\x66\xfd\x00\xff\x64\xfd\x65\xfd\x00\x00\x00\x00\x83\xfd\x00\x00\x00\x00\x1e\xff\xed\xfe\xe9\xfe\x00\x00\x00\x00\xf8\xfe\x00\x00\x00\x00\xf6\xfe\x39\xfe\xe9\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x63\xfd\x5f\xfd\x62\xfd\x5d\xfd\x59\xfd\xfa\xfe\x5b\xfd\x00\x00\x5e\xfd\xfd\xfe\x5a\xfd\x00\x00\xee\xfe\x11\xff\x15\xff\x00\x00\xf1\xfe\x8b\xfd\x00\x00\x32\xfd\x31\xfd\x00\x00\x00\x00\x00\x00\xec\xfe\x30\xfd\x00\x00\x00\x00\x00\x00\xae\xfd\xb4\xfd\xb4\xfd\x00\x00\x61\xfe\x00\x00\x6a\xfe\xb1\xfd\x71\xfe\x75\xfe\xd6\xff\xd6\xff\x6b\xfe\x00\x00\x6f\xfe\x00\x00\xed\xfd\x21\xfe\x1d\xfe\x20\xfe\x1f\xfe\x1e\xfe\x19\xfe\x18\xfe\x17\xfe\x16\xfe\x14\xfe\x15\xfe\x13\xfe\x12\xfe\x11\xfe\x10\xfe\x0f\xfe\x0e\xfe\x0d\xfe\x0c\xfe\x0b\xfe\x0a\xfe\x09\xfe\x1b\xfe\x1a\xfe\x08\xfe\x07\xfe\x06\xfe\x05\xfe\x04\xfe\x03\xfe\x02\xfe\x01\xfe\x00\xfe\xff\xfd\xfe\xfd\xfd\xfd\xfc\xfd\xfb\xfd\xfa\xfd\xf9\xfd\xf8\xfd\xf7\xfd\xf6\xfd\xf5\xfd\xf4\xfd\xf3\xfd\xf2\xfd\x1c\xfe\xf1\xfd\xf0\xfd\xef\xfd\x3c\xfe\x3d\xfe\x00\x00\x00\x00\x00\x00\x3f\xfe\x3e\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x7d\xfe\x00\x00\x00\x00\x2e\xfe\x00\x00\xbe\xfd\x6c\xfe\x5d\xfe\x00\x00\x62\xfe\x4e\xfd\x38\xfe\xcf\xfd\xce\xfd\x00\x00\x85\xfd\x84\xfd\x00\x00\x8f\xfd\x61\xfd\x60\xfd\x00\x00\x5c\xfd\xe9\xfd\x00\x00\xe8\xfd\xa3\xfd\x00\x00\x00\x00\xa1\xfd\x38\xfe\x00\x00\x00\x00\x00\x00\x8b\xfd\x00\x00\x61\xfd\x60\xfd\xa4\xfd\x5e\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x65\xfe\x87\xfd\x86\xfd\x83\xfe\x91\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\xff\x00\x00\x29\xfd\x2b\xfd\x00\x00\x00\x00\xd6\xff\xd6\xff\xd6\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\xff\x24\xff\x9e\xfd\x97\xfd\x00\x00\x00\x00\x00\x00\xd6\xff\x00\x00\x00\x00\xea\xff\xec\xff\x4c\xfd\x4d\xfd\x2d\xfd\x3c\xfd\x3b\xfd\xd6\xff\x2a\xfd\xd6\xff\xc0\xff\xbb\xff\xbe\xff\x7f\xfe\x80\xfe\x81\xfe\x82\xfe\x85\xfe\x00\x00\x00\x00\x7c\xfe\x7a\xfe\x00\x00\xac\xfd\xa9\xfd\x00\x00\x5b\xfe\xab\xfd\xb0\xfd\x5e\xfe\x5f\xfe\x99\xfd\x94\xfd\x49\xfe\x00\x00\x53\xfe\x54\xfe\x00\x00\xa2\xfd\x3a\xfe\x00\x00\x00\x00\x00\x00\x50\xfe\x4f\xfe\x00\x00\xa0\xfd\x00\x00\x4c\xfe\x00\x00\xe7\xfd\x00\x00\x00\x00\x37\xfe\x4b\xfe\x00\x00\x00\x00\x00\x00\x6d\xfe\xd6\xff\xd6\xff\x63\xfe\x00\x00\x00\x00\x48\xfe\x00\x00\x44\xfe\x43\xfe\x00\x00\x42\xfe\x41\xfe\x68\xff\xa2\xff\x00\x00\xd6\xff\x99\xff\x98\xff\x00\x00\x84\xff\x69\xff\x62\xff\x61\xff\x67\xff\x8b\xff\x7d\xfe\x66\xff\x4b\xfd\x65\xff\x00\x00\x00\x00\x00\x00\x72\xff\x00\x00\x00\x00\xa0\xff\x9f\xff\x9e\xff\x7b\xff\x71\xff\x00\x00\x00\x00\x34\xff\x34\xff\x34\xff\x34\xff\x36\xff\x28\xff\x28\xff\x00\x00\x54\xff\x00\x00\x00\x00\xea\xfd\x29\xfe\x00\x00\x23\xfe\x27\xfe\x70\xfe\x25\xfe\x00\x00\x4e\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x72\xfe\x00\x00\x60\xfe\x00\x00\x00\x00\xb2\xfd\xb4\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x1a\xff\x1b\xff\x00\x00\x1c\xff\x1d\xff\x18\xff\xf9\xfe\xf2\xfe\xf3\xfe\xf7\xfe\x10\xff\x0c\xff\x00\x00\xf5\xfe\x0f\xff\x00\x00\x00\x00\x04\xff\x0e\xff\x00\x00\x0d\xff\x0a\xff\x00\x00\x05\xff\x00\x00\x02\xff\xe7\xfe\xe5\xfe\x00\x00\x00\x00\xfc\xfe\xd6\xff\xd6\xff\xc2\xff\xdb\xff\xd8\xff\xde\xff\x6c\xff\x00\x00\x00\x00\x00\x00\x00\x00\xdf\xff\x00\x00\xed\xfd\xe4\xff\xea\xfd\x00\x00\xd4\xff\x00\x00\x00\x00\x4b\xff\x63\xff\x4c\xff\x64\xff\xd6\xff\x6a\xff\x8c\xfe\xd6\xff\xa6\xfd\x58\xfe\x00\x00\xd7\xff\xda\xff\xdd\xff\xef\xfe\x00\x00\x03\xff\x06\xff\x1a\xff\xea\xfe\xe8\xfe\x00\x00\xbe\xfe\xbd\xfe\xbb\xfe\xb7\xfe\xb6\xfe\xb5\xfe\x00\x00\x00\x00\xb9\xfe\x33\xfd\xeb\xfe\x00\x00\x67\xfe\x68\xfe\xb7\xfd\xb5\xfd\xb6\xfd\xb4\xfd\xb8\xfd\x74\xfe\x77\xfe\x00\x00\xbc\xfd\xbd\xfd\xb9\xfd\xd6\xff\x00\x00\x6e\xfe\x2e\xfe\x00\x00\x00\x00\xeb\xfd\x00\x00\xee\xfd\x00\x00\x7f\xfd\x67\xfd\x7b\xfd\x71\xfd\x70\xfd\x6e\xfd\x6f\xfd\x7a\xfd\x79\xfd\x78\xfd\x77\xfd\x76\xfd\x75\xfd\x74\xfd\x73\xfd\x7e\xfd\x6c\xfd\x6d\xfd\x7c\xfd\x7d\xfd\x22\xfe\x00\x00\x55\xff\x53\xff\x51\xff\x4e\xff\x00\x00\x00\x00\x00\x00\x29\xff\x00\x00\x26\xff\x00\x00\x00\x00\x37\xff\x34\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x45\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7b\xff\x6e\xff\x00\x00\xe0\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaf\xfe\x00\x00\xd7\xff\x9b\xff\x00\x00\x00\x00\xa1\xff\xd2\xfd\x00\x00\xd4\xfd\x00\x00\x4e\xfd\x2f\xfe\x78\xfe\x00\x00\x00\x00\x00\x00\xcb\xfd\xdf\xfd\xdd\xfd\xdc\xfd\xdb\xfd\x00\x00\xcd\xfd\x38\xfe\xe1\xfd\x8e\xfd\xe3\xfd\xe5\xfd\x38\xfe\xe2\xfd\x4d\xfe\x4e\xfe\x00\x00\x30\xfe\x36\xfe\x2c\xfe\x2d\xfe\x51\xfe\x52\xfe\x00\x00\x33\xfe\x00\x00\x00\x00\x5a\xfe\x8a\xfd\x90\xfd\xb9\xff\xbc\xff\x00\x00\x00\x00\xeb\xff\xe8\xff\xe5\xff\x00\x00\x00\x00\x00\x00\x21\xff\x00\x00\x00\x00\xe7\xff\x20\xff\x9d\xfd\x96\xfd\x22\xff\xe6\xff\xe9\xff\xd6\xff\xd6\xff\x00\x00\xba\xff\xad\xfd\xaa\xfd\x35\xfe\x34\xfe\x32\xfe\x31\xfe\xe6\xfd\x00\x00\x00\x00\xda\xfd\x00\x00\x00\x00\xc9\xfd\xca\xfd\xd6\xff\xc6\xfd\x00\x00\xd1\xfd\x00\x00\x00\x00\x47\xfe\xa3\xff\x89\xfd\x88\xfd\x9c\xff\x8d\xfd\x93\xfd\x00\x00\x40\xfe\x9a\xff\xaf\xfe\xc4\xfe\xd9\xfe\x00\x00\xcd\xfe\x60\xff\x00\x00\x49\xff\x8e\xfe\x8a\xfe\x88\xfe\x00\x00\x00\x00\x8e\xfe\x3c\xff\x48\xff\x47\xff\x46\xff\x45\xff\x44\xff\x43\xff\x42\xff\x41\xff\x00\x00\xab\xfe\xe2\xfe\xaf\xfe\x00\x00\x6f\xff\x19\xff\x70\xff\x00\x00\x7d\xff\x7e\xff\x7c\xff\x9d\xfe\x82\xff\x00\x00\x00\x00\x1f\xff\xaf\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x45\xfd\x47\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\xff\x38\xff\x88\xff\x2a\xff\x87\xff\x00\x00\x27\xff\x86\xff\x85\xff\x00\x00\x00\x00\x00\x00\x59\xff\x26\xfe\x2a\xfe\x00\x00\x28\xfe\x24\xfe\x00\x00\xbb\xfd\x71\xfe\xb3\xfd\x00\x00\x00\x00\x00\x00\xbe\xfe\xb4\xfe\xba\xfe\x00\x00\x0b\xff\x00\x00\xc3\xff\xdc\xff\x00\x00\xd7\xff\xa8\xfd\x00\x00\xd7\xff\x6d\xff\x00\x00\x00\x00\x00\x00\xd5\xff\xd0\xff\xf0\xff\x00\x00\x26\xfe\xed\xff\x00\x00\xd0\xff\xce\xff\xcd\xff\xcb\xff\xd1\xff\x00\x00\x00\x00\x00\x00\xe3\xff\xe1\xff\xe0\xff\x6b\xff\xa7\xfd\x00\x00\xa5\xfd\x00\x00\xbc\xfe\xb8\xfe\x00\x00\xb2\xfe\x00\x00\x00\x00\xba\xfd\x00\x00\xec\xfd\x6f\xfe\x52\xff\x50\xff\x4f\xff\x25\xff\x2b\xff\x39\xff\x00\x00\x00\x00\x00\x00\x00\x00\x33\xff\x00\x00\x5a\xff\x5d\xff\x5e\xff\x3d\xfd\x00\x00\x41\xfd\xe6\xfe\x44\xfd\x46\xfd\x49\xfd\x4a\xfd\x97\xff\x7a\xff\x00\x00\x83\xff\x8e\xff\x4e\xfd\x8d\xff\x8c\xff\x92\xff\x00\x00\xdf\xfe\xdd\xfe\x8f\xff\x4e\xfd\x89\xff\x00\x00\x9c\xfd\x00\x00\x00\x00\x00\x00\x40\xff\x3f\xff\x3e\xff\x3d\xff\x90\xfe\x4e\xfd\x00\x00\x8b\xfe\x89\xfe\x91\xfe\x00\x00\x00\x00\xd3\xfe\xd1\xfe\x00\x00\xe6\xfe\xae\xfe\xc4\xfe\x4e\xfd\x94\xff\x00\x00\xc4\xfe\xd9\xfe\x00\x00\x00\x00\x00\x00\xd5\xfd\xd3\xfd\x8e\xfe\xc3\xfd\xc1\xfd\x00\x00\xd7\xff\xc8\xfd\xde\xfd\x00\x00\x00\x00\x00\x00\xcc\xfd\xe0\xfd\xe4\xfd\xb7\xff\xd7\xff\x00\x00\x00\x00\x2e\xfd\x2f\xfd\xb5\xff\x00\x00\xd9\xfd\xd7\xfd\xd8\xfd\xc7\xfd\xc4\xfd\xc2\xfd\xc5\xfd\x9d\xff\x8c\xfd\x92\xfd\xc4\xfe\x91\xff\xc3\xfe\xbf\xfe\x00\x00\xd6\xff\xd6\xff\x93\xff\x00\x00\x00\x00\xc8\xfe\x00\x00\xcf\xfe\xcc\xfe\x00\x00\xf4\xfe\x00\x00\xcd\xfe\x5f\xff\x4a\xff\x00\x00\x00\x00\x8f\xfe\x8a\xff\x00\x00\x00\x00\x00\x00\xd6\xff\xd6\xff\xe2\xfe\xe3\xfe\xe2\xfe\xd6\xff\xd6\xff\x81\xff\x80\xff\x7f\xff\x95\xff\x96\xff\x4e\xfd\x48\xfd\x4e\xfd\x00\x00\x3e\xfd\x00\x00\x00\x00\x58\xff\x56\xff\x32\xff\x00\x00\x00\x00\x2f\xff\x2d\xff\x00\x00\x00\x00\x00\x00\xc0\xfd\x00\x00\x00\x00\xb1\xfe\x00\x00\xe4\xfe\xc6\xff\x00\x00\xcc\xff\xc5\xff\xc4\xff\xc7\xff\x00\x00\x00\x00\xd1\xff\xd2\xff\x00\x00\x00\x00\xcf\xff\xd3\xff\x00\x00\xa6\xff\xa5\xff\xa4\xff\xc9\xff\x00\x00\xb3\xfe\x00\x00\x00\x00\x76\xfe\x00\x00\x00\x00\x00\x00\x2e\xff\x30\xff\x5b\xff\x00\x00\x5c\xff\x3f\xfd\x00\x00\xd6\xff\xd6\xff\x79\xff\x00\x00\x00\x00\x9b\xfe\x00\x00\x00\x00\x00\x00\xdc\xfe\xde\xfe\xa9\xfe\x00\x00\x00\x00\x3a\xff\x00\x00\x9b\xfd\x87\xfe\xd2\xfe\x00\x00\x00\x00\xc8\xfe\xd0\xfe\x00\x00\x00\x00\x00\x00\xce\xfe\x00\x00\x00\x00\x00\x00\xc0\xfe\x00\x00\xc2\xfe\x90\xff\x00\x00\xb8\xff\xc1\xff\xb6\xff\x00\x00\xb2\xff\xd0\xff\xd6\xfd\xc1\xfe\xda\xfe\xdb\xfe\xd6\xff\xd6\xfe\x00\x00\xcb\xfe\x16\xff\x00\x00\x00\x00\x00\x00\xc6\xfe\xca\xfe\xf3\xfe\x3b\xff\xac\xfe\xad\xfe\xa6\xfe\xd6\xff\xa7\xfe\xa5\xfe\x00\x00\x00\x00\x00\x00\xe1\xfe\x9e\xfe\x9f\xfe\x00\x00\x95\xfe\x96\xfe\xd6\xff\x99\xfe\x97\xfe\x98\xfe\x72\xff\x00\x00\x00\x00\x74\xff\x00\x00\x00\x00\x6c\xff\x00\x00\x00\x00\x40\xfd\x57\xff\x00\x00\x35\xff\x00\x00\x00\x00\xb0\xfe\xca\xff\xc8\xff\x00\x00\x00\x00\xee\xff\xa7\xff\x00\x00\x2b\xfe\x00\x00\x42\xfd\x43\xfd\x77\xff\x75\xff\x00\x00\x78\xff\x00\x00\xd7\xff\x9c\xfe\xaf\xfe\x00\x00\x17\xff\xaf\xfe\x00\x00\xa4\xfe\x00\x00\xaf\xfe\xd7\xff\xaa\xfe\xc9\xfe\x00\x00\x00\x00\x00\x00\xd7\xff\xd8\xfe\x00\x00\xd0\xff\xaf\xff\xae\xff\x3a\xfd\xab\xff\x00\x00\x00\x00\xac\xff\xad\xff\x00\x00\x00\x00\xd1\xff\xb3\xff\xd7\xfe\xd5\xfe\x00\x00\xc5\xfe\xc7\xfe\xa8\xfe\xa0\xfe\x00\x00\x00\x00\xa3\xfe\x00\x00\xc4\xfe\xd9\xfe\x9a\xfe\x00\x00\x73\xff\x76\xff\x2c\xff\x66\xfe\x94\xfe\xc4\xfe\x93\xfe\xa2\xfe\x00\x00\x60\xff\x00\x00\xb0\xff\xb4\xff\x00\x00\xa9\xff\x00\x00\xaa\xff\xa8\xff\x00\x00\xa1\xfe\x92\xfe\x00\x00\xd4\xfe"#--happyCheck :: HappyAddr-happyCheck = HappyA# "\xff\xff\x04\x00\x04\x00\x04\x00\x02\x00\x04\x00\x04\x00\x04\x00\x20\x00\x2f\x00\x11\x00\x12\x00\x13\x00\x3e\x00\x3f\x00\x40\x00\x45\x00\x45\x00\x63\x00\x0b\x00\x0d\x00\x0e\x00\x0b\x00\x37\x00\x14\x00\x0d\x00\x0e\x00\x37\x00\x0d\x00\x0e\x00\x0d\x00\x0e\x00\x1a\x00\x41\x00\xb7\x00\x11\x00\xc2\x00\x41\x00\x16\x00\x42\x00\x0d\x00\x0e\x00\x37\x00\x0d\x00\x0e\x00\xb7\x00\x0d\x00\x0e\x00\x1a\x00\x1f\x00\x20\x00\x37\x00\x41\x00\x13\x00\x1e\x00\x46\x00\x00\x00\x48\x00\x1a\x00\x34\x00\xc2\x00\x41\x00\x0d\x00\x0e\x00\x0d\x00\x0e\x00\x0c\x00\x34\x00\x0d\x00\x0e\x00\x1a\x00\x1b\x00\x22\x00\xc2\x00\x01\x00\xe9\x00\x0d\x00\x0e\x00\x1a\x00\x0d\x00\x0e\x00\x0d\x00\x0e\x00\x1a\x00\xe9\x00\x1d\x00\x1a\x00\x22\x00\x73\x00\x74\x00\x09\x00\xd0\x00\x0b\x00\x0d\x00\x0e\x00\xe9\x00\x09\x00\x75\x00\x1a\x00\xe9\x00\x73\x00\x2f\x00\x00\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xe0\x00\x23\x00\x00\x00\x39\x00\x05\x00\xe9\x00\x4a\x00\x4b\x00\x34\x00\x4e\x00\x26\x00\x34\x00\x5b\x00\x27\x00\x69\x00\xcd\x00\x24\x00\x21\x00\x22\x00\x21\x00\x22\x00\x1a\x00\x6b\x00\x69\x00\x1d\x00\x1a\x00\x3f\x00\x40\x00\x1a\x00\x70\x00\xdc\x00\x1d\x00\xdc\x00\x15\x00\x16\x00\x5e\x00\x26\x00\x11\x00\x8b\x00\x8c\x00\x8d\x00\x30\x00\x31\x00\x2d\x00\x6b\x00\xcd\x00\xcd\x00\x23\x00\xcc\x00\x25\x00\x6a\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x22\x00\x85\x00\xf5\x00\xf6\x00\x85\x00\xdc\x00\xdc\x00\x32\x00\x7a\x00\xdc\x00\xdd\x00\x36\x00\x6a\x00\x38\x00\x39\x00\x3a\x00\x92\x00\xce\x00\xcc\x00\x51\x00\x52\x00\x80\x00\xd0\x00\x7e\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xdb\x00\xdc\x00\xdd\x00\xe9\x00\xdc\x00\xdd\x00\x92\x00\xce\x00\xe0\x00\xe9\x00\xd1\x00\x92\x00\xc0\x00\xe9\x00\x92\x00\xc8\x00\x80\x00\xc0\x00\xce\x00\xb8\x00\xdb\x00\xdc\x00\xdd\x00\xc8\x00\xdf\x00\xe0\x00\x92\x00\xf3\x00\xe9\x00\x75\x00\xcc\x00\xdb\x00\xdc\x00\xdd\x00\xd0\x00\xdf\x00\xe0\x00\xe9\x00\xe9\x00\xe9\x00\xe9\x00\xb8\x00\xe9\x00\xe9\x00\xe9\x00\xf4\x00\xdc\x00\xdd\x00\xce\x00\xe9\x00\xe0\x00\xd1\x00\xe9\x00\x9f\x00\xcc\x00\xa1\x00\xfa\x00\xfc\x00\xfb\x00\xdf\x00\xe0\x00\xdb\x00\xdc\x00\xdd\x00\x89\x00\xdf\x00\xe0\x00\xdc\x00\xdd\x00\xf3\x00\xdc\x00\xdd\x00\x91\x00\x92\x00\x93\x00\x94\x00\x16\x00\x7e\x00\x97\x00\x98\x00\x99\x00\x6c\x00\xcc\x00\x9c\x00\x9d\x00\x9e\x00\xf4\x00\x42\x00\x77\x00\x23\x00\x22\x00\x25\x00\xa5\x00\x27\x00\x28\x00\x29\x00\x2a\x00\xd2\x00\xdc\x00\xdd\x00\xd5\x00\x2d\x00\xd7\x00\xcc\x00\x32\x00\xcc\x00\x22\x00\xd0\x00\x36\x00\xd0\x00\x38\x00\x39\x00\x3a\x00\xe2\x00\xe0\x00\x42\x00\xe5\x00\xe6\x00\x50\x00\xdc\x00\xdd\x00\xdc\x00\xdd\x00\xe0\x00\x9f\x00\xe0\x00\x42\x00\xa2\x00\xdc\x00\x39\x00\xcb\x00\xdf\x00\xe0\x00\xce\x00\xcf\x00\x6d\x00\xd1\x00\x74\x00\x30\x00\x31\x00\xcc\x00\x4a\x00\x4b\x00\xdc\x00\xd0\x00\x6b\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x7e\x00\xf5\x00\xf6\x00\x17\x00\xdc\x00\xdd\x00\x9f\x00\xe8\x00\xe0\x00\x63\x00\xeb\x00\xec\x00\x73\x00\x74\x00\x22\x00\xf0\x00\xf5\x00\xf6\x00\x64\x00\x51\x00\x52\x00\x67\x00\x68\x00\xea\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xd1\x00\xdc\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x89\x00\xdf\x00\xe0\x00\x22\x00\xea\x00\xdf\x00\xe0\x00\x26\x00\x91\x00\x92\x00\x93\x00\x94\x00\x2b\x00\x08\x00\x97\x00\x98\x00\x99\x00\xf5\x00\xf6\x00\x9c\x00\x9d\x00\x9e\x00\x3e\x00\x3f\x00\x40\x00\x23\x00\xda\x00\x25\x00\xa5\x00\x27\x00\x28\x00\x29\x00\x2a\x00\xe1\x00\xe2\x00\xe3\x00\xce\x00\xe5\x00\xe6\x00\xe7\x00\x32\x00\xbd\x00\x25\x00\xea\x00\x36\x00\xc1\x00\x38\x00\x39\x00\x3a\x00\xdb\x00\xdc\x00\xdd\x00\x51\x00\x52\x00\x31\x00\x32\x00\x33\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x6d\x00\xce\x00\xe9\x00\xcb\x00\x64\x00\x31\x00\xce\x00\xcf\x00\x68\x00\xd1\x00\x5a\x00\x5b\x00\xce\x00\xcc\x00\xdb\x00\xdc\x00\xdd\x00\x7e\x00\xf9\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xdb\x00\xdc\x00\xdd\x00\xdc\x00\xdc\x00\xdd\x00\xea\x00\xe8\x00\xdc\x00\xdd\x00\xeb\x00\xec\x00\x51\x00\x52\x00\xd5\x00\xf0\x00\xdc\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x4e\x00\x4f\x00\xca\x00\x07\x00\xe2\x00\xf5\x00\xf6\x00\xcf\x00\xdc\x00\x0d\x00\x0e\x00\xdf\x00\xe0\x00\xa5\x00\xd1\x00\xa7\x00\x89\x00\xdc\x00\xf5\x00\xf6\x00\xdf\x00\xe0\x00\xde\x00\xea\x00\x91\x00\x92\x00\x93\x00\x94\x00\xdf\x00\xe0\x00\x97\x00\x98\x00\x99\x00\xf5\x00\xf6\x00\x9c\x00\x9d\x00\x9e\x00\x6d\x00\x23\x00\xcc\x00\x25\x00\xf5\x00\xf6\x00\xa5\x00\x29\x00\x2a\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x1a\x00\x17\x00\xcc\x00\x32\x00\x7e\x00\xdc\x00\xdd\x00\x36\x00\xe9\x00\x38\x00\x39\x00\x3a\x00\x22\x00\x6b\x00\x6c\x00\x51\x00\x52\x00\x2b\x00\xdc\x00\xdd\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x2e\x00\xe5\x00\xe6\x00\xdc\x00\xd0\x00\xcb\x00\xdf\x00\xe0\x00\xce\x00\xcf\x00\xdc\x00\xd1\x00\x3a\x00\xdf\x00\xe0\x00\xdc\x00\xdc\x00\xdd\x00\xdf\x00\xe0\x00\xe0\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x05\x00\xf5\x00\xf6\x00\xdc\x00\xdd\x00\x17\x00\xed\x00\xe8\x00\xf5\x00\xf6\x00\xeb\x00\xec\x00\x17\x00\xf5\x00\xf6\x00\xf0\x00\x22\x00\x16\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\xcc\x00\x1a\x00\xdc\x00\x75\x00\xd0\x00\xdf\x00\xe0\x00\x28\x00\x17\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x89\x00\xdc\x00\xdd\x00\xf2\x00\x22\x00\xe0\x00\x08\x00\x09\x00\x91\x00\x92\x00\x93\x00\x94\x00\xf5\x00\xf6\x00\x97\x00\x98\x00\x99\x00\x4f\x00\x50\x00\x9c\x00\x9d\x00\x9e\x00\x23\x00\xea\x00\x25\x00\xd1\x00\x4f\x00\x50\x00\xa5\x00\x45\x00\x46\x00\x17\x00\x48\x00\x49\x00\xcc\x00\x25\x00\x16\x00\x4d\x00\xd0\x00\xdf\x00\xe0\x00\x36\x00\x22\x00\x38\x00\x39\x00\x3a\x00\xbd\x00\x31\x00\x32\x00\x33\x00\xdc\x00\xdd\x00\x17\x00\x22\x00\xe0\x00\xdc\x00\xdd\x00\x26\x00\x23\x00\x08\x00\x25\x00\x0a\x00\x2b\x00\x22\x00\xdc\x00\x1b\x00\xcb\x00\xdf\x00\xe0\x00\xce\x00\xcf\x00\x22\x00\xd1\x00\xee\x00\xdc\x00\xdd\x00\x35\x00\x36\x00\x29\x00\x38\x00\x39\x00\x3a\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x25\x00\xf5\x00\xf6\x00\xce\x00\xee\x00\x05\x00\x06\x00\xe8\x00\x0d\x00\x0e\x00\xeb\x00\xec\x00\x31\x00\x32\x00\x33\x00\xf0\x00\xdb\x00\xdc\x00\xdd\x00\x08\x00\x09\x00\xcc\x00\x16\x00\x19\x00\x9f\x00\xd0\x00\x1a\x00\xa2\x00\x81\x00\x82\x00\x83\x00\x17\x00\x22\x00\x4d\x00\x4e\x00\x4f\x00\x89\x00\xdc\x00\xdd\x00\x8a\x00\xdc\x00\xe0\x00\x22\x00\xdf\x00\xe0\x00\x1c\x00\x93\x00\x24\x00\x25\x00\x69\x00\x97\x00\x22\x00\x99\x00\x1c\x00\xcc\x00\x9c\x00\x9d\x00\x9e\x00\xd0\x00\x22\x00\x31\x00\x32\x00\x33\x00\xcc\x00\xa5\x00\xf5\x00\xf6\x00\xd0\x00\x05\x00\x06\x00\xdc\x00\xdd\x00\x89\x00\x9f\x00\xe0\x00\xa1\x00\xc6\x00\xc7\x00\x19\x00\xdc\x00\xdd\x00\x19\x00\x93\x00\xe0\x00\xce\x00\x16\x00\x97\x00\x22\x00\x99\x00\x75\x00\x22\x00\x9c\x00\x9d\x00\x9e\x00\x23\x00\x96\x00\x25\x00\xdb\x00\xdc\x00\xdd\x00\xa5\x00\xe9\x00\xcb\x00\xc6\x00\xc7\x00\xce\x00\xcf\x00\x26\x00\xd1\x00\x75\x00\xa5\x00\xce\x00\xa7\x00\x36\x00\x2d\x00\x38\x00\x39\x00\x3a\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xdb\x00\xdc\x00\xdd\x00\x22\x00\x96\x00\x62\x00\x23\x00\xe8\x00\x25\x00\x28\x00\xeb\x00\xec\x00\xc9\x00\xca\x00\xcb\x00\xf0\x00\xe9\x00\xce\x00\xcf\x00\xa5\x00\xd1\x00\xa7\x00\x05\x00\x06\x00\x35\x00\x36\x00\xe9\x00\x38\x00\x39\x00\x3a\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcc\x00\x0d\x00\x0e\x00\x16\x00\xd0\x00\x05\x00\x06\x00\xe8\x00\x03\x00\xd1\x00\xeb\x00\xec\x00\x19\x00\x08\x00\x09\x00\xf0\x00\xdc\x00\xdd\x00\xda\x00\x19\x00\xe0\x00\x22\x00\x16\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xce\x00\x22\x00\x82\x00\x83\x00\x05\x00\x06\x00\x9f\x00\x19\x00\xa1\x00\x89\x00\x2c\x00\x3b\x00\x3c\x00\xdb\x00\xdc\x00\xdd\x00\x22\x00\xf4\x00\xce\x00\x93\x00\x22\x00\x16\x00\x2e\x00\x97\x00\x9f\x00\x99\x00\x28\x00\xa2\x00\x9c\x00\x9d\x00\x9e\x00\xdb\x00\xdc\x00\xdd\x00\x52\x00\xef\x00\x54\x00\xa5\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xda\x00\x89\x00\x5e\x00\x5f\x00\x23\x00\x62\x00\x25\x00\xe1\x00\xe2\x00\x0d\x00\x0e\x00\x93\x00\x7b\x00\x7c\x00\xf2\x00\x97\x00\x29\x00\x99\x00\xa6\x00\x2c\x00\x9c\x00\x9d\x00\x9e\x00\x36\x00\x11\x00\x38\x00\x39\x00\x3a\x00\x1a\x00\xa5\x00\x1c\x00\xcb\x00\xdc\x00\xdd\x00\xce\x00\xcf\x00\xe0\x00\xd1\x00\xbd\x00\xe2\x00\x05\x00\x06\x00\xe5\x00\xe6\x00\x09\x00\x95\x00\x0b\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x64\x00\x65\x00\x1f\x00\xd2\x00\x16\x00\x22\x00\xd5\x00\xe8\x00\xd7\x00\x47\x00\xeb\x00\xec\x00\x1e\x00\xa6\x00\xcb\x00\xf0\x00\x7e\x00\xce\x00\xcf\x00\xe2\x00\xd1\x00\x27\x00\xe5\x00\xe6\x00\xce\x00\x49\x00\x1a\x00\xd1\x00\x1c\x00\x2b\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x84\x00\xdb\x00\xdc\x00\xdd\x00\x7e\x00\xdf\x00\xe0\x00\xe8\x00\x7f\x00\xd1\x00\xeb\x00\xec\x00\xa8\x00\xa9\x00\xaa\x00\xf0\x00\x33\x00\x89\x00\x8e\x00\xdb\x00\xdc\x00\xdd\x00\x01\x00\xdf\x00\xe0\x00\x44\x00\xcf\x00\x93\x00\x8a\x00\x08\x00\x09\x00\x97\x00\x29\x00\x99\x00\x2b\x00\x8a\x00\x9c\x00\x9d\x00\x9e\x00\xdc\x00\x75\x00\xde\x00\xdf\x00\xe0\x00\xf4\x00\xa5\x00\x69\x00\x52\x00\x53\x00\x54\x00\xf2\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xdc\x00\xdd\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x32\x00\xf5\x00\xf6\x00\xce\x00\xa8\x00\xa9\x00\xaa\x00\x39\x00\x3a\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x01\x00\x1a\x00\xdb\x00\xdc\x00\xdd\x00\xe0\x00\xcb\x00\x08\x00\x09\x00\xce\x00\xcf\x00\xe3\x00\xd1\x00\xe5\x00\xe6\x00\xe7\x00\xea\x00\x3b\x00\x3c\x00\x1c\x00\x1d\x00\x1e\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x6e\x00\x6f\x00\x70\x00\x3b\x00\x3c\x00\x43\x00\x29\x00\xe8\x00\x2b\x00\x43\x00\xeb\x00\xec\x00\x52\x00\x66\x00\x54\x00\xf0\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xe5\x00\xe6\x00\x5e\x00\x5f\x00\x52\x00\x2b\x00\x54\x00\x2d\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xe5\x00\xe6\x00\x5e\x00\x5f\x00\x6f\x00\x70\x00\x86\x00\x87\x00\x88\x00\x89\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x2d\x00\xdb\x00\xdc\x00\xdd\x00\x93\x00\xdf\x00\xe0\x00\x09\x00\x97\x00\x0b\x00\x99\x00\x15\x00\x16\x00\x9c\x00\x9d\x00\x9e\x00\xcf\x00\xe2\x00\x51\x00\x52\x00\x48\x00\x54\x00\xa5\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xdc\x00\x03\x00\xde\x00\xdf\x00\xe0\x00\x32\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\xab\x00\x39\x00\x3a\x00\x4d\x00\x0d\x00\x0e\x00\xdb\x00\xdc\x00\xdd\x00\xdc\x00\xdf\x00\xe0\x00\xdf\x00\xe0\x00\xf5\x00\xf6\x00\x51\x00\x52\x00\x53\x00\x54\x00\xcb\x00\x0d\x00\x0e\x00\xce\x00\xcf\x00\x0a\x00\xd1\x00\x38\x00\x39\x00\x3a\x00\xbb\x00\xbc\x00\xbd\x00\xc4\x00\xf5\x00\xf6\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x27\x00\xd1\x00\x29\x00\x27\x00\xcf\x00\x29\x00\xea\x00\xe8\x00\x8c\x00\x8d\x00\x8e\x00\xdb\x00\xdc\x00\xdd\x00\xea\x00\xdf\x00\xe0\x00\xdc\x00\xcf\x00\xde\x00\xdf\x00\xe0\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x27\x00\xdc\x00\x29\x00\xde\x00\xdf\x00\xe0\x00\xf4\x00\x87\x00\x88\x00\x89\x00\x0d\x00\x0e\x00\xf5\x00\xf6\x00\x8c\x00\x8d\x00\x8e\x00\x15\x00\x16\x00\x93\x00\xa8\x00\xa9\x00\xaa\x00\x97\x00\xea\x00\x99\x00\xf5\x00\xf6\x00\x9c\x00\x9d\x00\x9e\x00\xea\x00\xcf\x00\x51\x00\x52\x00\xe1\x00\xe2\x00\xa5\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x2d\x00\xdc\x00\x93\x00\xde\x00\xdf\x00\xe0\x00\x97\x00\x48\x00\x99\x00\x51\x00\x52\x00\x9c\x00\x9d\x00\x9e\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xa5\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\xf5\x00\xf6\x00\x0c\x00\x0d\x00\x0e\x00\xcb\x00\xda\x00\x48\x00\xce\x00\xcf\x00\x27\x00\xd1\x00\x29\x00\xe1\x00\xe2\x00\xe3\x00\x48\x00\xe5\x00\xe6\x00\xe7\x00\x48\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x0c\x00\x0d\x00\x0e\x00\xea\x00\x27\x00\xcb\x00\x29\x00\xe8\x00\xce\x00\xcf\x00\x24\x00\xd1\x00\xa8\x00\xa9\x00\xaa\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x51\x00\x52\x00\x0d\x00\x0e\x00\xe8\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x52\x00\x27\x00\x54\x00\x29\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xda\x00\x19\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\xd1\x00\xe1\x00\xe2\x00\xe3\x00\xea\x00\xe5\x00\xe6\x00\xe7\x00\xe0\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xf2\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xdc\x00\x0d\x00\x0e\x00\xdf\x00\xe0\x00\x27\x00\x52\x00\x29\x00\x54\x00\xe0\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x9f\x00\xf4\x00\x5e\x00\x5f\x00\xdc\x00\x61\x00\xab\x00\xdf\x00\xe0\x00\xf5\x00\xf6\x00\x18\x00\x8b\x00\x8c\x00\x8d\x00\x27\x00\x27\x00\x29\x00\x29\x00\x27\x00\x27\x00\x29\x00\x29\x00\x27\x00\x27\x00\x29\x00\x29\x00\x9f\x00\x95\x00\xf5\x00\xf6\x00\x52\x00\x27\x00\x54\x00\x29\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x0d\x00\x0e\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x27\x00\x27\x00\x29\x00\x29\x00\x27\x00\x27\x00\x29\x00\x29\x00\x27\x00\xea\x00\x29\x00\xdc\x00\x0f\x00\x10\x00\xdf\x00\xe0\x00\x27\x00\x52\x00\x29\x00\x54\x00\xf2\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x17\x00\xcf\x00\x5e\x00\x5f\x00\xdc\x00\x61\x00\xa6\x00\xdf\x00\xe0\x00\xf5\x00\xf6\x00\x2b\x00\xda\x00\x2d\x00\xdc\x00\x62\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe9\x00\xe5\x00\xe6\x00\xe7\x00\x76\x00\x0d\x00\x0e\x00\xf5\x00\xf6\x00\x0d\x00\x0e\x00\x09\x00\x9f\x00\xa9\x00\xaa\x00\x46\x00\x47\x00\xf5\x00\xf6\x00\xcf\x00\x52\x00\x0d\x00\x0e\x00\x09\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xda\x00\x16\x00\xdc\x00\x2d\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\x52\x00\x17\x00\x54\x00\x63\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x0d\x00\x0e\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x0d\x00\x0e\x00\xf5\x00\xf6\x00\x7b\x00\xcf\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x05\x00\x06\x00\x0d\x00\x0e\x00\x08\x00\x09\x00\xda\x00\x63\x00\xdc\x00\x29\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\x17\x00\xe5\x00\xe6\x00\xe7\x00\x0d\x00\x0e\x00\x0d\x00\x0e\x00\x24\x00\x25\x00\x16\x00\x27\x00\xcf\x00\x05\x00\x06\x00\x05\x00\x06\x00\xf5\x00\xf6\x00\x4a\x00\x4b\x00\x31\x00\x32\x00\x33\x00\x22\x00\xdc\x00\x17\x00\xde\x00\xdf\x00\xe0\x00\x52\x00\x1a\x00\x54\x00\x29\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x28\x00\x29\x00\x5e\x00\x5f\x00\x28\x00\x61\x00\x03\x00\x04\x00\x4a\x00\x4b\x00\xf5\x00\xf6\x00\x28\x00\x29\x00\x05\x00\x06\x00\x29\x00\x52\x00\x1a\x00\x54\x00\x29\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x17\x00\x5d\x00\x5e\x00\x5f\x00\x28\x00\x29\x00\x01\x00\x88\x00\x89\x00\x4a\x00\xdc\x00\x05\x00\x06\x00\xdf\x00\xe0\x00\x1c\x00\xcf\x00\x1b\x00\x92\x00\x29\x00\x0f\x00\x4a\x00\x16\x00\x28\x00\x17\x00\x22\x00\x1c\x00\x16\x00\x05\x00\xdc\x00\x17\x00\xde\x00\xdf\x00\xe0\x00\x28\x00\xf5\x00\xf6\x00\x52\x00\x1c\x00\x54\x00\x9f\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x1c\x00\x5d\x00\x5e\x00\x5f\x00\x0c\x00\x17\x00\x27\x00\xf5\x00\xf6\x00\x52\x00\x17\x00\x54\x00\x17\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x22\x00\x5d\x00\x5e\x00\x5f\x00\x52\x00\x22\x00\x54\x00\x47\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x92\x00\x5d\x00\x5e\x00\x5f\x00\x29\x00\x50\x00\x25\x00\x1b\x00\xcf\x00\x1b\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x92\x00\x67\x00\xdc\x00\x17\x00\xde\x00\xdf\x00\xe0\x00\x28\x00\x1b\x00\x1b\x00\x5d\x00\x69\x00\x63\x00\x52\x00\x1a\x00\x54\x00\xcf\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x6b\x00\x5d\x00\x5e\x00\x5f\x00\xf5\x00\xf6\x00\xdc\x00\x7c\x00\xde\x00\xdf\x00\xe0\x00\x7a\x00\x22\x00\x2b\x00\x7b\x00\x24\x00\x24\x00\x52\x00\x7b\x00\x54\x00\x1b\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x63\x00\x5d\x00\x5e\x00\x5f\x00\xf5\x00\xf6\x00\x63\x00\x2b\x00\x1b\x00\x28\x00\x52\x00\x1b\x00\x54\x00\xcf\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x22\x00\x5d\x00\x5e\x00\x5f\x00\x1b\x00\x7b\x00\xdc\x00\x7b\x00\xde\x00\xdf\x00\xe0\x00\x1f\x00\xcf\x00\x01\x00\x65\x00\x0c\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x17\x00\x16\x00\x29\x00\x22\x00\x17\x00\xdc\x00\xcf\x00\xde\x00\xdf\x00\xe0\x00\x7b\x00\xf5\x00\xf6\x00\x1a\x00\x16\x00\x92\x00\x92\x00\x17\x00\x22\x00\xdc\x00\x1f\x00\xde\x00\xdf\x00\xe0\x00\x24\x00\x25\x00\x1a\x00\x27\x00\x28\x00\x31\x00\xf5\x00\xf6\x00\x17\x00\x0f\x00\x67\x00\x28\x00\x0c\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\xf5\x00\xf6\x00\x1f\x00\x52\x00\xcf\x00\x54\x00\x28\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x28\x00\x5d\x00\x5e\x00\x5f\x00\xdc\x00\x92\x00\xde\x00\xdf\x00\xe0\x00\x92\x00\x92\x00\x29\x00\x22\x00\x7b\x00\x17\x00\x50\x00\x28\x00\x7b\x00\xcf\x00\x7b\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xf5\x00\xf6\x00\xdc\x00\x2b\x00\xde\x00\xdf\x00\xe0\x00\x7b\x00\x52\x00\xcf\x00\x54\x00\x69\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x67\x00\x5d\x00\x5e\x00\x5f\x00\xdc\x00\x7b\x00\xde\x00\xdf\x00\xe0\x00\xf5\x00\xf6\x00\x63\x00\x7c\x00\x22\x00\x17\x00\x6c\x00\x5e\x00\x52\x00\x17\x00\x54\x00\x05\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x0f\x00\x2b\x00\xf5\x00\xf6\x00\x52\x00\x2b\x00\x54\x00\x22\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x2b\x00\x5d\x00\x5e\x00\x5f\x00\x52\x00\x1c\x00\x54\x00\x1b\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x2c\x00\x5d\x00\x5e\x00\x5f\x00\x41\x00\x1a\x00\x92\x00\x2b\x00\x92\x00\x92\x00\x52\x00\x29\x00\x54\x00\xcf\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x09\x00\x5d\x00\x5e\x00\x5f\x00\x1e\x00\x22\x00\xdc\x00\x0f\x00\xde\x00\xdf\x00\xe0\x00\x92\x00\x22\x00\x2b\x00\x92\x00\x4c\x00\x29\x00\x52\x00\x0c\x00\x54\x00\x17\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x22\x00\x5d\x00\x5e\x00\x5f\x00\xf5\x00\xf6\x00\x1a\x00\x28\x00\x0f\x00\x5f\x00\x52\x00\x0f\x00\x54\x00\xcf\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x16\x00\x5d\x00\x5e\x00\x5f\x00\x29\x00\x4c\x00\xdc\x00\x52\x00\xde\x00\xdf\x00\xe0\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x52\x00\x46\x00\x54\x00\xcf\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x1c\x00\x5d\x00\x5e\x00\x5f\x00\xf5\x00\xf6\x00\xdc\x00\xcf\x00\xde\x00\xdf\x00\xe0\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x1c\x00\x24\x00\x27\x00\x1a\x00\xdc\x00\xcf\x00\xde\x00\xdf\x00\xe0\x00\x1c\x00\x78\x00\x1c\x00\x1b\x00\x47\x00\x0f\x00\xf5\x00\xf6\x00\x17\x00\xdc\x00\x1e\x00\xde\x00\xdf\x00\xe0\x00\x70\x00\x16\x00\xcf\x00\x66\x00\x0c\x00\x24\x00\xf5\x00\xf6\x00\x29\x00\x22\x00\x1c\x00\x7c\x00\x05\x00\x24\x00\x24\x00\xdc\x00\x92\x00\xde\x00\xdf\x00\xe0\x00\xf5\x00\xf6\x00\x22\x00\x73\x00\x51\x00\x17\x00\x52\x00\x17\x00\x54\x00\xcf\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x92\x00\x5d\x00\x5e\x00\x5f\x00\xf5\x00\xf6\x00\xdc\x00\x17\x00\xde\x00\xdf\x00\xe0\x00\x17\x00\x17\x00\xcf\x00\x52\x00\x22\x00\x1f\x00\x22\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xd1\x00\x21\x00\xdc\x00\x2d\x00\xde\x00\xdf\x00\xe0\x00\xf5\x00\xf6\x00\x1b\x00\xdb\x00\xdc\x00\xdd\x00\x2b\x00\xdf\x00\xe0\x00\xcf\x00\x17\x00\x41\x00\xdc\x00\x41\x00\x41\x00\xdf\x00\xe0\x00\x27\x00\x4c\x00\x1f\x00\xf5\x00\xf6\x00\xdc\x00\x75\x00\xde\x00\xdf\x00\xe0\x00\x52\x00\xf4\x00\x54\x00\x1a\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xf5\x00\xf6\x00\x5e\x00\x5f\x00\x6c\x00\x61\x00\x2d\x00\x92\x00\x0c\x00\x17\x00\xf5\x00\xf6\x00\x92\x00\x17\x00\x17\x00\x17\x00\x17\x00\x52\x00\x22\x00\x54\x00\x1f\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x21\x00\x5d\x00\x5e\x00\x5f\x00\x52\x00\x1f\x00\x54\x00\x17\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x1c\x00\x5d\x00\x5e\x00\x5f\x00\x52\x00\x73\x00\xcf\x00\x32\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x6c\x00\x1b\x00\x93\x00\x1b\x00\x28\x00\xdc\x00\x0f\x00\xde\x00\xdf\x00\xe0\x00\x52\x00\x93\x00\x54\x00\x92\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x93\x00\x0f\x00\x5e\x00\x5f\x00\x0f\x00\x1b\x00\x1b\x00\x1b\x00\x93\x00\xdc\x00\xf5\x00\xf6\x00\xdf\x00\xe0\x00\x2c\x00\x1b\x00\x2c\x00\x52\x00\x83\x00\x54\x00\x93\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x73\x00\x00\x00\x5f\x00\x00\x00\x6b\x00\x1b\x00\xf5\x00\xf6\x00\xff\xff\x52\x00\xff\xff\x54\x00\xcf\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x73\x00\x73\x00\x73\x00\x5f\x00\xff\xff\xff\xff\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x52\x00\xff\xff\x54\x00\xcf\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xff\xff\x5e\x00\x5f\x00\xf5\x00\xf6\x00\xdc\x00\xcf\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x22\x00\xff\xff\x24\x00\x25\x00\xff\xff\x27\x00\x28\x00\x29\x00\xdc\x00\x2b\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\x31\x00\x32\x00\x33\x00\xff\xff\xf5\x00\xf6\x00\xff\xff\xdc\x00\xff\xff\xff\xff\xdf\x00\xe0\x00\xff\xff\xff\xff\xcf\x00\xff\xff\xff\xff\xff\xff\xf5\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\xf5\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\xff\xff\x54\x00\xcf\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xff\xff\x5e\x00\x5f\x00\xf5\x00\xf6\x00\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xcf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdc\x00\xf1\x00\xde\x00\xdf\x00\xe0\x00\xf5\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\xff\xff\x54\x00\xcf\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xf1\x00\xff\xff\x5e\x00\x5f\x00\xf5\x00\xf6\x00\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\xff\xff\x54\x00\xff\xff\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xff\xff\x5e\x00\x5f\x00\xf5\x00\xf6\x00\xff\xff\xff\xff\x52\x00\xff\xff\x54\x00\xff\xff\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xff\xff\x5e\x00\x5f\x00\x52\x00\xff\xff\x54\x00\xff\xff\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x01\x00\xff\xff\x5e\x00\x5f\x00\x05\x00\x06\x00\xff\xff\xff\xff\x52\x00\xcf\x00\x54\x00\xff\xff\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xff\xff\x5e\x00\x5f\x00\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\x52\x00\xff\xff\x54\x00\xff\xff\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xff\xff\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf5\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\xcf\x00\x54\x00\xff\xff\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xff\xff\x5e\x00\x5f\x00\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xcf\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xf5\x00\xf6\x00\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\xcf\x00\xff\xff\x52\x00\x69\x00\x54\x00\xff\xff\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xdc\x00\xcf\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xf5\x00\xf6\x00\x7c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\xcf\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\xf5\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\xff\xff\xcf\x00\xf5\x00\xf6\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\x25\x00\xdc\x00\x27\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xf5\x00\xf6\x00\xff\xff\xff\xff\xff\xff\x31\x00\x32\x00\x33\x00\x52\x00\xcf\x00\x54\x00\xff\xff\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xf5\x00\xf6\x00\x5f\x00\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\x52\x00\xff\xff\x54\x00\xff\xff\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xff\xff\x5e\x00\x5f\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xf5\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\xff\xff\x54\x00\xcf\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xff\xff\x5e\x00\x5f\x00\xff\xff\xff\xff\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\xff\xff\x54\x00\xff\xff\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xf5\x00\xf6\x00\xff\xff\xff\xff\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xff\xff\xff\xff\x5f\x00\xd6\x00\xff\xff\xff\xff\xff\xff\xda\x00\xff\xff\xdc\x00\xff\xff\xff\xff\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\xcf\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\xff\xff\xcf\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\xff\xff\xf5\x00\xf6\x00\xff\xff\xdc\x00\xff\xff\x8b\x00\xdf\x00\xe0\x00\xcf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\xf5\x00\xf6\x00\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xf5\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf5\x00\xf6\x00\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdc\x00\xff\xff\xff\xff\xdf\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xf5\x00\xf6\x00\xff\xff\xff\xff\xd3\x00\xff\xff\xff\xff\xd6\x00\xff\xff\xd8\x00\xff\xff\xda\x00\xff\xff\xff\xff\xd1\x00\xff\xff\xf5\x00\xf6\x00\xe1\x00\xe2\x00\xe3\x00\xff\xff\xe5\x00\xe6\x00\xe7\x00\xdc\x00\xff\xff\xff\xff\xdf\x00\xe0\x00\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xdc\x00\xdf\x00\xe0\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xf5\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xf4\x00\xff\xff\xff\xff\xf5\x00\xf6\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\x6b\x00\xff\xff\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\xff\xff\x74\x00\xff\xff\x76\x00\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\x7c\x00\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\xff\xff\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\xff\xff\xff\xff\xff\xff\x8d\x00\x8e\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\x6b\x00\xff\xff\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\xff\xff\x74\x00\xff\xff\x76\x00\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\x7c\x00\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\xff\xff\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\xff\xff\xff\xff\xff\xff\x8d\x00\x8e\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\xff\xff\x74\x00\xff\xff\x76\x00\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\x7c\x00\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\xff\xff\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\xff\xff\xff\xff\xff\xff\x8d\x00\x8e\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\x6d\x00\x6e\x00\x6f\x00\xff\xff\xff\xff\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\x7c\x00\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\x6d\x00\x6e\x00\x6f\x00\xff\xff\xff\xff\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\x7c\x00\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\x8b\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xd3\x00\x66\x00\x67\x00\xd6\x00\x69\x00\xd8\x00\xff\xff\xda\x00\x6d\x00\x6e\x00\x6f\x00\xff\xff\xff\xff\x72\x00\xe1\x00\xe2\x00\xe3\x00\xff\xff\xe5\x00\xe6\x00\xe7\x00\xff\xff\xff\xff\x7c\x00\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\x61\x00\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xd3\x00\x66\x00\x67\x00\xd6\x00\x69\x00\xd8\x00\xff\xff\xda\x00\x6d\x00\x6e\x00\x6f\x00\xff\xff\xff\xff\x72\x00\xe1\x00\xe2\x00\xe3\x00\xff\xff\xe5\x00\xe6\x00\xe7\x00\xff\xff\xff\xff\x7c\x00\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\x61\x00\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\xff\xff\xff\xff\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x8e\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\xff\xff\xff\xff\x31\x00\x32\x00\x33\x00\xff\xff\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\xff\xff\x3b\x00\x3c\x00\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xff\xff\xdf\x00\xe0\x00\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xf4\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x67\x00\xff\xff\x69\x00\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\xff\xff\x0b\x00\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x7c\x00\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\x24\x00\x8a\x00\xff\xff\x27\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\xdb\x00\xdc\x00\xdd\x00\xff\xff\xdf\x00\xe0\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\xff\xff\xff\xff\xff\xff\xf4\x00\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\x69\x00\x0b\x00\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\x24\x00\xd3\x00\xff\xff\x27\x00\xd6\x00\xff\xff\xd8\x00\x8a\x00\xda\x00\x2d\x00\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xe1\x00\xe2\x00\xe3\x00\xff\xff\xe5\x00\xe6\x00\xe7\x00\xff\xff\x3b\x00\x3c\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xff\xff\xdf\x00\xe0\x00\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xf4\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x09\x00\x69\x00\x0b\x00\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\x8a\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\xff\xff\xd3\x00\x32\x00\xff\xff\xd6\x00\xff\xff\xd8\x00\xff\xff\xda\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xe1\x00\xe2\x00\xe3\x00\x42\x00\xe5\x00\xe6\x00\xe7\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x67\x00\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\x32\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf4\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x67\x00\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x22\x00\xff\xff\x24\x00\x25\x00\x42\x00\x27\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\x32\x00\x33\x00\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\x67\x00\x09\x00\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x22\x00\xff\xff\x24\x00\x25\x00\x42\x00\x27\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\x32\x00\x33\x00\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x67\x00\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x17\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x22\x00\xff\xff\xff\xff\x25\x00\x42\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\xff\xff\xff\xff\x31\x00\x32\x00\x33\x00\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x67\x00\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\x70\x00\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\x1f\x00\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x67\x00\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\x1f\x00\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x67\x00\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x67\x00\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\x70\x00\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x67\x00\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x67\x00\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x67\x00\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x67\x00\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\x67\x00\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\xa5\x00\xff\xff\x69\x00\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x70\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\x7c\x00\x7d\x00\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\x8a\x00\xff\xff\x23\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\x67\x00\x09\x00\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x69\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\x19\x00\x7c\x00\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\x24\x00\x25\x00\xff\xff\x27\x00\x8a\x00\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\x24\x00\x25\x00\xff\xff\x27\x00\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\x24\x00\x25\x00\xff\xff\x27\x00\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\x24\x00\x25\x00\xff\xff\x27\x00\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\x24\x00\x25\x00\xff\xff\x27\x00\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\x24\x00\x25\x00\xff\xff\x27\x00\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\x1f\x00\x20\x00\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\x27\x00\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\x27\x00\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\x77\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\x78\x00\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\x78\x00\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\x77\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\x01\x00\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\x2d\x00\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\x01\x00\x02\x00\xff\xff\xff\xff\x05\x00\x06\x00\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x50\x00\x51\x00\x52\x00\x53\x00\x22\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x79\x00\xff\xff\xff\xff\x7c\x00\xff\xff\x7e\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\x7c\x00\xff\xff\x7e\x00\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\x7c\x00\xff\xff\x7e\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\x7c\x00\xff\xff\x7e\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x2f\x00\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\xff\xff\x07\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x01\x00\x02\x00\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\xff\xff\x09\x00\xff\xff\x0b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x1e\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\x02\x00\x7c\x00\xff\xff\x05\x00\x06\x00\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x7c\x00\x1e\x00\xff\xff\xff\xff\xff\xff\x08\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\x02\x00\x7c\x00\xff\xff\x05\x00\x06\x00\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x7c\x00\x1e\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\xff\xff\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\xff\xff\xff\xff\x26\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x26\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\x7c\x00\xff\xff\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x7c\x00\x01\x00\x02\x00\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x7c\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x69\x00\x05\x00\x06\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x16\x00\x7c\x00\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x16\x00\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\x1c\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\x26\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\x79\x00\xff\xff\xff\xff\x7c\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\x01\x00\x02\x00\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xcb\x00\x26\x00\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\xff\xff\x05\x00\x06\x00\x7c\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x66\x00\x67\x00\x05\x00\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\x7c\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x16\x00\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\x01\x00\xff\xff\x66\x00\x67\x00\x05\x00\x69\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x16\x00\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\x01\x00\xff\xff\x66\x00\x67\x00\x05\x00\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\x7c\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x16\x00\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\x01\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x01\x00\xff\xff\xff\xff\x7c\x00\x05\x00\x06\x00\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x1e\x00\x7c\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x16\x00\xff\xff\x7c\x00\xff\xff\xff\xff\x01\x00\x50\x00\x51\x00\x52\x00\x53\x00\x69\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\x7c\x00\xff\xff\x69\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x16\x00\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x16\x00\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\x01\x00\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xa5\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\x50\x00\x51\x00\x52\x00\x53\x00\x25\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xcb\x00\xff\xff\x7c\x00\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xe8\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\x69\x00\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xff\xff\xb5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xbe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xff\xff\xb5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xbe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb1\x00\xb2\x00\xb3\x00\xff\xff\xb5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xbe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\x00\xb3\x00\xff\xff\xb5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xbe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb4\x00\xb5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xbe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb4\x00\xb5\x00\xff\xff\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xbe\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xa5\x00\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xbe\x00\xff\xff\xe8\x00\xff\xff\xff\xff\xc3\x00\xff\xff\xc5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xbe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xc5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xb4\x00\xb5\x00\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xbe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xe8\x00\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xbe\x00\xff\xff\x9c\x00\x9d\x00\x9e\x00\xc3\x00\xff\xff\xc5\x00\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xbe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xe8\x00\xc5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb5\x00\xff\xff\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xbe\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xa5\x00\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xbe\x00\xff\xff\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xc5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xbf\x00\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xe8\x00\xe9\x00\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xe8\x00\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xe8\x00\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xe8\x00\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xe8\x00\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xe8\x00\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xe8\x00\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xe8\x00\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xe8\x00\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xff\xff\xff\xff\xff\xff\xa4\x00\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xa0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xaf\x00\xd1\x00\xff\xff\xff\xff\xd4\x00\xff\xff\xd6\x00\xb6\x00\xff\xff\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xd4\x00\xff\xff\xd6\x00\xff\xff\xff\xff\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xff\xff\xe4\x00\xff\xff\xe6\x00\xe7\x00\xe8\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xa0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xae\x00\xaf\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xd4\x00\xff\xff\xd6\x00\xff\xff\xff\xff\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xff\xff\xe4\x00\xff\xff\xe6\x00\xe7\x00\xe8\x00\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xd4\x00\xff\xff\xd6\x00\xff\xff\xff\xff\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xff\xff\xe4\x00\xff\xff\xe6\x00\xe7\x00\xe8\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xa0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xa0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xd4\x00\xff\xff\xd6\x00\xff\xff\xff\xff\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xff\xff\xe4\x00\xff\xff\xe6\x00\xe7\x00\xe8\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xd4\x00\xff\xff\xd6\x00\xff\xff\xff\xff\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xff\xff\xe4\x00\xff\xff\xe6\x00\xe7\x00\xe8\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xa0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xa0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xd4\x00\xff\xff\xd6\x00\xff\xff\xff\xff\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xff\xff\xe4\x00\xff\xff\xe6\x00\xe7\x00\xe8\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xd4\x00\xff\xff\xd6\x00\xff\xff\xff\xff\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xff\xff\xe4\x00\xff\xff\xe6\x00\xe7\x00\xe8\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xa0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xa0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xd4\x00\xff\xff\xd6\x00\xff\xff\xff\xff\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xff\xff\xe4\x00\xff\xff\xe6\x00\xe7\x00\xe8\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xd4\x00\xff\xff\xd6\x00\xff\xff\xff\xff\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xff\xff\xe4\x00\xff\xff\xe6\x00\xe7\x00\xe8\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xa0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xd4\x00\xff\xff\xd6\x00\xff\xff\xff\xff\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xff\xff\xe4\x00\xff\xff\xe6\x00\xe7\x00\xe8\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xba\x00\xa5\x00\xff\xff\xff\xff\xbe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xba\x00\xd1\x00\xff\xff\xff\xff\xbe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xbe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xbe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa3\x00\xff\xff\xa5\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xbe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa4\x00\xa5\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa3\x00\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xbe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\x94\x00\xd1\x00\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xa5\x00\xff\xff\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\x97\x00\xff\xff\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xff\xff\xff\xff\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\x9b\x00\x9c\x00\x9d\x00\x9e\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\x9b\x00\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xff\xff\xa5\x00\xff\xff\xff\xff\xa8\x00\xa9\x00\xaa\x00\xff\xff\xac\x00\xad\x00\xff\xff\xff\xff\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xa8\x00\xa9\x00\xaa\x00\xff\xff\xac\x00\xad\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#--happyTable :: HappyAddr-happyTable = HappyA# "\x00\x00\x12\x00\x0e\x00\x10\x00\x9b\x00\x0c\x00\x9c\x00\x14\x00\x0b\x05\x67\x04\x84\x03\x85\x03\x86\x03\x9f\x03\x8f\x02\x90\x02\x1c\x04\xc4\x03\x26\x02\x39\x02\xa8\x00\x31\x02\x93\x00\xa3\x00\x45\x04\xa8\x00\xfd\x01\xa3\x00\xa8\x00\x31\x02\xa8\x00\xfd\x01\x30\x02\x1b\x04\x70\x02\xe3\x04\xe5\x00\x10\x03\xb1\xff\x98\x04\xa8\x00\xc6\x02\xa3\x00\xa8\x00\x6a\x04\xbe\x01\xa8\x00\x6a\x04\x30\x02\xe4\x04\xe5\x04\xa3\x00\xa4\x00\x4f\x04\x9e\x02\xa1\x00\x87\x01\xa2\x00\x30\x02\x32\x02\xeb\x00\xec\x00\xa8\x00\xc6\x02\xa8\x00\x80\x04\x52\x03\x34\x02\xa8\x00\x70\x04\x4e\xfd\x8e\x01\xc4\x01\xf1\x00\x29\x04\xe6\x00\xa8\x00\xb7\x04\x56\x03\xa8\x00\xb7\x04\xa8\x00\x80\x04\x58\x03\xbf\x01\x88\x01\x58\x03\x13\x03\x0a\x05\x9a\x04\xb3\x00\xeb\x04\xb4\x00\xa8\x00\x70\x04\xbf\x01\xb3\x00\x14\x05\x30\x02\xe6\x00\xa3\x00\x53\x03\x87\x01\x8d\x02\x8e\x02\x8f\x02\x90\x02\x7d\x01\x2a\x04\x87\x01\x14\x03\x36\x00\xe6\x00\x5e\x04\x38\x04\xb8\x04\x66\x03\x14\x03\xb9\x04\x41\x03\xb7\x00\x8d\x04\x1e\x04\x7f\x04\x0d\x05\x52\x04\x51\x04\x52\x04\xce\x04\x17\x00\x05\x05\x88\x01\x30\x02\xa0\x03\x90\x02\x30\x02\xa0\x02\xc6\x03\x88\x01\x7f\x00\x2c\x02\x2d\x02\xee\x03\x06\x03\xee\x04\x73\x01\x74\x01\x75\x01\xb3\x04\xb4\x04\xae\x01\x4e\xfd\xc5\x03\xc5\x03\xcb\x01\x91\x02\xcc\x01\x81\x04\x2e\x02\xce\x01\xcf\x01\xd0\x01\xc6\x04\x6b\x04\x27\x02\x82\x00\x6c\x04\xc6\x03\xc6\x03\xd1\x01\xef\x03\x2b\x00\x7c\x01\xd2\x01\x82\x04\xd3\x01\xd4\x01\xd5\x01\xfb\x02\x24\x03\xe6\x04\xb5\x04\x44\x03\x71\x04\xe7\x04\xf7\x04\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x2a\x00\x2b\x00\x2c\x00\x68\x04\x2b\x00\x7c\x01\x57\x03\x87\x03\x7d\x01\xa5\x00\xad\x00\x59\x03\xfe\x01\xa5\x00\x5c\x03\x33\x02\x72\x04\xff\x01\x46\x04\xc7\x02\x2a\x00\x2b\x00\x2c\x00\x35\x02\x2e\x00\x2f\x00\xed\x02\xe8\x04\xa5\x00\x06\x05\xe6\x04\x2a\x00\x2b\x00\x2c\x00\xe7\x04\x47\x04\x2f\x00\xa5\x00\x0d\x00\x0d\x00\x0d\x00\xc8\x02\x0d\x00\x0d\x00\x0d\x00\x88\x03\x2b\x00\x7c\x01\x87\x03\x94\x00\x7d\x01\xad\x00\x94\x00\xa6\x01\x91\x02\x01\x03\x0f\x00\x13\x00\x11\x00\x80\x00\x2f\x00\x2a\x00\x2b\x00\x2c\x00\xd6\x01\x2e\x00\x2f\x00\x2b\x00\x39\x04\xe8\x04\x2b\x00\x7c\x01\xd7\x01\x1a\x00\xd8\x01\x1c\x00\x73\x03\xfa\x04\x1d\x00\x1e\x00\x1f\x00\xf1\x04\x91\x02\x20\x00\x21\x00\x22\x00\x88\x03\x98\x04\x07\x04\xcb\x01\x13\x03\xcc\x01\x23\x00\x74\x03\xce\x01\xcf\x01\xd0\x01\x15\x03\x2b\x00\x7c\x01\x16\x03\x9d\x03\x17\x03\x53\x04\xd1\x01\x53\x04\xc4\x01\x54\x04\xd2\x01\x54\x04\xd3\x01\xd4\x01\xd5\x01\x18\x03\xe2\x03\x98\x04\x19\x03\xc9\x00\xb3\x02\x2b\x00\x7c\x01\x2b\x00\x7c\x01\x7d\x01\xae\x01\x7d\x01\x23\x03\x03\x03\x7f\x00\xc5\x01\x26\x00\x80\x00\x2f\x00\x27\x00\x28\x00\xfc\x04\x29\x00\xf5\x04\xb6\x04\xb4\x04\x53\x04\x37\x04\x38\x04\x7f\x00\x54\x04\xb4\x02\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xfd\x04\x81\x00\x82\x00\x12\x05\x2b\x00\x7c\x01\xc5\x00\x30\x00\x7d\x01\x26\x02\xd9\x01\xda\x01\x99\x04\x9a\x04\xc4\x04\xdb\x01\xa7\x04\x82\x00\xbf\x03\xb5\x04\x44\x03\xc0\x03\xc1\x03\xca\x04\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x94\x04\x7f\x00\x95\x04\x96\x04\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xd6\x01\x08\x04\x2f\x00\xb6\x01\xcc\x04\x2e\x00\x2f\x00\xb7\x01\xd7\x01\x1a\x00\xd8\x01\x1c\x00\xb8\x01\xcc\x00\x1d\x00\x1e\x00\x1f\x00\x23\x04\x82\x00\x20\x00\x21\x00\x22\x00\x5d\x03\x8f\x02\x90\x02\xcb\x01\xc6\x00\xcc\x01\x23\x00\xcd\x01\xce\x01\xcf\x01\xd0\x01\xaf\x00\xb0\x00\xc7\x00\x24\x03\xc8\x00\xc9\x00\xca\x00\xd1\x01\x6d\x02\xcf\x00\x90\x04\xd2\x01\x6e\x02\xd3\x01\xd4\x01\xd5\x01\x2a\x00\x2b\x00\x2c\x00\xf9\x04\x44\x03\xd1\x00\x4b\x01\xd3\x00\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xdf\x03\x24\x03\x8b\x01\x26\x00\xbf\x03\x01\x05\x27\x00\x28\x00\x6f\x04\x29\x00\x29\x01\x7a\x00\x24\x03\xec\x04\x2a\x00\x2b\x00\x2c\x00\xe0\x03\x8c\x01\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x2a\x00\x2b\x00\x2c\x00\x7f\x00\x2b\x00\x7c\x01\x9e\x04\x30\x00\x2b\x00\x39\x04\xd9\x01\xda\x01\xb5\x04\x44\x03\x7d\x04\xdb\x01\x7f\x00\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xa2\x03\x97\x02\x91\x03\x81\x01\x18\x03\x27\x02\x82\x00\x92\x03\x7f\x00\xa8\x00\x82\x01\x80\x00\x2f\x00\xf7\x01\x43\x04\xf8\x01\xd6\x01\x7f\x00\x4e\x02\x82\x00\x80\x00\x2f\x00\x2d\x00\xa8\x04\xd7\x01\x1a\x00\xd8\x01\x1c\x00\x2e\x00\x2f\x00\x1d\x00\x1e\x00\x1f\x00\x81\x00\x82\x00\x20\x00\x21\x00\x22\x00\x1e\x03\xcb\x01\x18\x04\xcc\x01\x81\x00\x82\x00\x23\x00\x1c\x03\xd0\x01\x94\x02\x95\x02\x96\x02\x97\x02\x30\x02\xc3\x04\x91\x02\xd1\x01\x1f\x03\x2b\x00\x7c\x01\xd2\x01\x65\x04\xd3\x01\xd4\x01\xd5\x01\xc4\x04\x92\x04\x93\x04\xd0\x04\x44\x03\x70\x02\x2b\x00\x7c\x01\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x5d\x01\xf3\x02\xc9\x00\x7f\x00\xa2\x02\x26\x00\x80\x00\x2f\x00\x27\x00\x28\x00\x7f\x00\x29\x00\x5e\x01\x97\x01\x2f\x00\x7f\x00\x2b\x00\xa3\x02\x80\x00\x2f\x00\x7d\x01\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x36\x00\x81\x00\x82\x00\x2b\x00\x5d\x04\x03\x03\xa4\x02\x30\x00\x0e\x02\x82\x00\xd9\x01\xda\x01\x18\x02\x2a\x01\x82\x00\xdb\x01\xc3\x00\xa6\x02\x98\x02\x95\x02\x96\x02\x97\x02\x7a\x01\xfa\x01\x7f\x00\x86\x04\x7b\x01\x80\x00\x2f\x00\x19\x02\x50\x02\x97\x04\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xd6\x01\x2b\x00\x7c\x01\x88\x04\x1c\x02\x7d\x01\xcc\x00\xb3\x00\xd7\x01\x1a\x00\xd8\x01\x1c\x00\x81\x00\x82\x00\x1d\x00\x1e\x00\x1f\x00\x78\x01\x93\x02\x20\x00\x21\x00\x22\x00\xcb\x01\xf7\x03\xcc\x01\x94\x04\x78\x01\x79\x01\x23\x00\xfb\x01\x55\x00\xe0\x02\x56\x00\x57\x00\x7a\x01\xcf\x00\x73\x03\xfc\x01\x7b\x01\x2e\x00\x2f\x00\xa0\x04\xc3\x00\xd3\x01\xd4\x01\xd5\x01\x00\x04\xd1\x00\x4b\x01\xd3\x00\x2b\x00\x7c\x01\xa9\x01\xbc\x01\x7d\x01\x2b\x00\x4a\x03\xbd\x01\xcb\x01\xcc\x00\xcc\x01\xcd\x00\xbe\x01\xc3\x00\x7f\x00\xf9\x03\x26\x00\x80\x00\x2f\x00\x27\x00\x28\x00\x13\x03\x29\x00\xb2\x03\x2b\x00\x4a\x03\x43\x02\x44\x02\x1b\x04\xd3\x01\xd4\x01\xd5\x01\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xcf\x00\x81\x00\x82\x00\x4d\x03\x4b\x03\x36\x00\x37\x00\x30\x00\xd1\x04\xd2\x04\xd9\x01\xda\x01\xd1\x00\x4b\x01\xd3\x00\xdb\x01\x2a\x00\x2b\x00\x2c\x00\xcc\x00\xb3\x00\x7a\x01\x45\x04\x05\x03\xae\x01\x7b\x01\x30\x02\xd7\x02\xa1\x04\xa2\x04\xa3\x04\x16\x02\xc3\x00\xa3\x03\x96\x02\x97\x02\xd6\x01\x2b\x00\x7c\x01\x01\x04\x7f\x00\x7d\x01\xac\x01\x80\x00\x2f\x00\x13\x05\x45\x02\x1b\x03\xcf\x00\x05\x04\x1d\x00\xdf\x04\x1f\x00\xde\x04\x7a\x01\x20\x00\x21\x00\x22\x00\x7b\x01\xdf\x04\xd1\x00\x4b\x01\xd3\x00\x7a\x01\x23\x00\x81\x00\x82\x00\x7b\x01\x36\x00\x37\x00\x2b\x00\x7c\x01\xd6\x01\xa6\x01\x7d\x01\xde\x02\xff\x02\x9b\x01\xd9\x02\x2b\x00\x7c\x01\xb1\x01\x45\x02\x7d\x01\x9c\x01\x45\x04\x1d\x00\xc3\x00\x1f\x00\x06\x04\xc3\x00\x20\x00\x21\x00\x22\x00\xcb\x01\x3c\x04\xcc\x01\x2a\x00\x2b\x00\x2c\x00\x23\x00\x0a\x04\x26\x00\x9a\x01\x9b\x01\x27\x00\x28\x00\x08\x03\x29\x00\x0c\x04\xf7\x01\x9c\x01\xf8\x01\xa0\x04\xae\x01\xd3\x01\xd4\x01\xd5\x01\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x2a\x00\x2b\x00\x2c\x00\xd5\x03\xf6\x01\x0d\x04\xcb\x01\x30\x00\xcc\x01\xe0\x04\xd9\x01\xda\x01\x46\x02\x47\x02\x26\x00\xdb\x01\x20\x04\x27\x00\x48\x02\xf7\x01\x29\x00\xf8\x01\x36\x00\x37\x00\x43\x02\x44\x02\x25\x04\xd3\x01\xd4\x01\xd5\x01\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x7a\x01\xdb\x04\xdc\x04\x0a\x04\x7b\x01\x36\x00\x37\x00\x30\x00\x9d\x00\xad\x00\xd9\x01\xda\x01\xc2\x00\x9e\x00\x9f\x00\xdb\x01\x2b\x00\x7c\x01\xae\x00\x1a\x02\x7d\x01\xc3\x00\x45\x04\x2e\x00\x2f\x00\xaf\x00\xb0\x00\x4e\x03\xac\x01\xf6\x04\xa3\x04\x36\x00\x37\x00\xa6\x01\x1b\x02\xa7\x01\xd6\x01\x27\x04\xbb\x04\x33\x04\x2a\x00\x2b\x00\x2c\x00\x1c\x02\xb1\x00\x50\x03\x45\x02\xd5\x03\x43\x03\x2b\x04\x1d\x00\xae\x01\x1f\x00\xd6\x03\xaf\x01\x20\x00\x21\x00\x22\x00\x2a\x00\x2b\x00\x2c\x00\x73\x00\x2d\x04\x74\x00\x23\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xf2\x01\xd6\x01\x34\x04\x7d\x00\xcb\x01\x2f\x04\xcc\x01\xaf\x00\xb0\x00\xe1\x04\xe2\x04\x45\x02\x6f\x03\x58\x02\x48\x04\x1d\x00\x48\x03\x1f\x00\x4d\x04\x49\x03\x20\x00\x21\x00\x22\x00\x90\x03\x4a\x04\xd3\x01\xd4\x01\xd5\x01\xce\x04\x23\x00\xd0\x04\x26\x00\x2b\x00\xe1\x03\x27\x00\x28\x00\xe2\x03\x29\x00\x9b\x03\xf2\x02\x36\x00\x37\x00\xf3\x02\xc9\x00\xb3\x00\x9a\x03\xb4\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x6d\x04\x6e\x04\x51\x02\x15\x03\xb5\x00\x1c\x02\x16\x03\x30\x00\x02\x04\xa4\x03\xd9\x01\xda\x01\xb6\x00\x9e\x03\x26\x00\xdb\x01\xb7\x03\x27\x00\x28\x00\x18\x03\x29\x00\xb7\x00\x19\x03\xc9\x00\x2e\x01\xa5\x03\x30\x02\x2f\x01\xf9\x03\xb9\x03\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xba\x03\x2a\x00\x2b\x00\x2c\x00\xbe\x03\x2e\x00\x2f\x00\x30\x00\xc2\x03\xad\x00\xd9\x01\xda\x01\xbe\x04\xf6\x00\xf7\x00\xdb\x01\x38\x03\xd6\x01\xd2\x03\x59\x02\x2b\x00\x2c\x00\x77\x01\x2e\x00\x2f\x00\xc9\x03\x7e\x00\x45\x02\xce\x03\x76\x01\x9f\x00\x1d\x00\x8d\xfe\x1f\x00\x8d\xfe\xd3\x03\x20\x00\x21\x00\x22\x00\x7f\x00\xdd\x03\x2d\x00\x80\x00\x2f\x00\x5a\x02\x23\x00\xdb\x03\x73\x00\x39\x03\x3a\x03\xf3\x03\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x2b\x00\xb3\x03\xbb\x00\x7d\x00\x3b\x03\xbd\x00\xaa\x04\x81\x00\x82\x00\x53\x03\xc4\x04\xf6\x00\xf7\x00\xab\x04\xac\x04\xd6\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x75\x01\xfd\x02\x2a\x00\x2b\x00\x2c\x00\xf9\x02\x26\x00\x76\x01\x9f\x00\x27\x00\x28\x00\x57\x01\x29\x00\xc8\x00\xc9\x00\xca\x00\x0b\x03\x32\x04\x33\x04\x89\x04\x8a\x04\x8b\x04\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xd6\x03\xd7\x03\xd8\x03\x36\x04\x33\x04\x2b\x03\x29\x03\x30\x00\x2a\x03\x34\x03\xd9\x01\xda\x01\x73\x00\x35\x03\x74\x00\xdb\x01\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xf3\x02\xc9\x00\x34\x04\x7d\x00\x73\x00\x70\x02\x74\x00\xea\x03\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x1d\x04\xc9\x00\x34\x04\x7d\x00\x77\x04\xd8\x03\xad\x04\xae\x04\xaf\x04\xb0\x04\x40\x04\x56\x02\x57\x02\x58\x02\xc0\x04\x3c\x03\x96\x01\x2b\x00\x2c\x00\x45\x02\x97\x01\x2f\x00\xb3\x00\x1d\x00\xb4\x00\x1f\x00\xfb\x02\x2d\x02\x20\x00\x21\x00\x22\x00\x7e\x00\xf2\x02\xd4\x04\xd5\x04\x54\x03\xd6\x04\x23\x00\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7f\x00\x80\x03\x2d\x00\x80\x00\x2f\x00\xaa\x04\xfb\x01\x55\x00\x4f\x04\x56\x00\x57\x00\x3a\x02\xab\x04\xac\x04\xfc\x01\xea\x03\xeb\x03\xb8\x01\x2b\x00\x2c\x00\x7f\x00\x97\x01\x2f\x00\x80\x00\x2f\x00\x81\x00\x82\x00\xcb\x03\xcc\x03\xcd\x03\xce\x03\x26\x00\xf4\x03\xf5\x03\x27\x00\x28\x00\x3c\x02\x29\x00\xd8\x04\xd4\x01\xd5\x01\xe6\x03\xe7\x03\xe8\x03\x65\x02\x81\x00\x82\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xef\xfd\xad\x00\xef\xfd\x01\xfe\x7e\x00\x01\xfe\x3f\x02\x30\x00\x25\x03\x26\x03\x27\x03\x59\x02\x2b\x00\x2c\x00\x40\x02\x2e\x00\x2f\x00\x7f\x00\x7e\x00\x2d\x00\x80\x00\x2f\x00\x2d\x03\x2e\x03\x2f\x03\x30\x03\x31\x03\x32\x03\x33\x03\x34\x03\x03\xfe\x7f\x00\x03\xfe\x2d\x00\x80\x00\x2f\x00\x5a\x02\xfe\x04\xaf\x04\xb0\x04\xf4\x03\xf6\x03\x81\x00\x82\x00\x2a\x03\x26\x03\x27\x03\xfc\x02\x2d\x02\x45\x02\x38\x02\xf6\x00\xf7\x00\x1d\x00\x63\x02\x1f\x00\x81\x00\x82\x00\x20\x00\x21\x00\x22\x00\x6b\x02\x7e\x00\x9d\x04\x44\x03\x49\x03\xb0\x00\x23\x00\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xaa\x02\x7f\x00\xd9\x04\x2d\x00\x80\x00\x2f\x00\x1d\x00\x9c\x02\x1f\x00\x73\x04\x44\x03\x20\x00\x21\x00\x22\x00\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x23\x00\x6c\x03\x6d\x03\x56\x02\x57\x02\x58\x02\x81\x00\x82\x00\xa7\x00\xa8\x00\xa9\x00\x26\x00\xc6\x00\x9e\x02\x27\x00\x28\x00\x04\xfe\x29\x00\x04\xfe\xaf\x00\xb0\x00\xc7\x00\xa0\x02\xc8\x00\xc9\x00\xca\x00\xa1\x02\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xaa\x00\xa8\x00\xa9\x00\xbc\x02\x0b\xfe\x26\x00\x0b\xfe\x30\x00\x27\x00\x28\x00\xbd\x02\x29\x00\xf5\x00\xf6\x00\xf7\x00\x51\x02\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xac\x02\xad\x02\xae\x02\x43\x03\x44\x03\xa8\x00\x67\x03\x30\x00\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x73\x00\x0c\xfe\x74\x00\x0c\xfe\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xf2\x01\xe7\x02\xc3\x00\x7d\x00\xc4\x00\xbd\x00\xad\x00\xaf\x00\xb0\x00\x57\x01\x85\x01\xc8\x00\xc9\x00\xca\x00\xed\x02\xf2\x01\x59\x02\x2b\x00\x2c\x00\x88\x01\x2e\x00\x2f\x00\xaf\x00\xb0\x00\x7f\x00\x76\x03\x77\x03\x80\x00\x2f\x00\x0d\xfe\x73\x00\x0d\xfe\x74\x00\xf0\x02\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xc0\x00\x5a\x02\xbb\x00\x7d\x00\x7f\x00\x24\x02\xf4\x01\x80\x00\x2f\x00\x81\x00\x82\x00\x8f\x01\x73\x01\x74\x01\x75\x01\x0e\xfe\x0f\xfe\x0e\xfe\x0f\xfe\x10\xfe\x11\xfe\x10\xfe\x11\xfe\x12\xfe\x13\xfe\x12\xfe\x13\xfe\xc5\x00\x00\x02\x81\x00\x82\x00\x73\x00\x15\xfe\x74\x00\x15\xfe\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x79\x03\x7a\x03\xc3\x00\x7d\x00\xc4\x00\xbd\x00\x14\xfe\x16\xfe\x14\xfe\x16\xfe\x17\xfe\x18\xfe\x17\xfe\x18\xfe\x1f\xfe\x2b\x02\x1f\xfe\x7f\x00\x7d\x03\x7e\x03\x80\x00\x2f\x00\x20\xfe\x73\x00\x20\xfe\x74\x00\x36\x02\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x6b\x01\x7e\x00\xbb\x00\x7d\x00\x7f\x00\x83\x04\xf3\x00\x80\x00\x2f\x00\x81\x00\x82\x00\xad\x01\x78\x04\xae\x01\x7f\x00\xac\x00\x2d\x00\x80\x00\x2f\x00\xaf\x00\xb0\x00\xc7\x00\x31\x01\xc8\x00\xc9\x00\xca\x00\x84\x04\x4a\x02\x4b\x02\x81\x00\x82\x00\xa8\x00\x4c\x02\x6d\x01\xc5\x00\x8c\x02\xf7\x00\x99\x02\x9a\x02\x81\x00\x82\x00\x7e\x00\xa6\x02\xba\x02\xbb\x02\x6e\x01\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xf2\x01\x15\x00\x7f\x00\x16\x05\x2d\x00\x80\x00\x2f\x00\xaf\x00\xb0\x00\x73\x00\x11\x05\xba\x00\xdf\x03\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xa8\x00\xe9\x02\xbb\x00\x7d\x00\xbc\x00\xbd\x00\xa8\x00\xea\x02\x81\x00\x82\x00\xdd\x03\x7e\x00\xcc\x00\xb3\x00\xcd\x00\xb4\x00\xeb\x02\x71\x01\xa8\x00\xee\x02\x37\x02\x9f\x00\xc6\x00\xdf\x03\x7f\x00\x09\x05\x2d\x00\x80\x00\x2f\x00\xaf\x00\xb0\x00\xc7\x00\x0d\x05\xc8\x00\xc9\x00\xca\x00\xa8\x00\x83\x01\xa8\x00\x84\x01\x66\x01\xcf\x00\xee\x04\xb7\x00\x7e\x00\x70\x01\x71\x01\x8a\x01\x8b\x01\x81\x00\x82\x00\x83\x03\x84\x03\xd1\x00\x4b\x01\xd3\x00\xf0\x04\x7f\x00\xf1\x04\x2d\x00\x80\x00\x2f\x00\x73\x00\x30\x02\x74\x00\x1f\xff\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x21\x03\x22\x03\xbb\x00\x7d\x00\x21\x03\xbf\x00\x34\x00\x35\x00\x62\x03\x63\x03\x81\x00\x82\x00\x21\x03\x22\x03\x8a\x01\x8b\x01\xfc\x04\x73\x00\x30\x02\x74\x00\x00\x05\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x03\x05\x16\x05\x7c\x00\x7d\x00\x21\x03\x22\x03\x32\x00\x3e\x02\x3f\x02\xc6\x04\x7f\x00\x8a\x01\x8b\x01\x80\x00\x2f\x00\xcc\x04\x7e\x00\x94\xfd\xc8\x04\xcf\x04\xc8\x03\xc9\x04\x8e\x04\xe1\x04\x90\x04\x1c\x02\x92\x04\xc9\x03\x36\x00\x7f\x00\x9d\x04\x2d\x00\x80\x00\x2f\x00\xbd\x04\x81\x00\x82\x00\x73\x00\xa0\x04\x74\x00\xc0\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xaa\x04\x13\x05\x7c\x00\x7d\x00\xc0\x04\xc2\x04\x5a\x04\x81\x00\x82\x00\x73\x00\x51\x04\x74\x00\x58\x04\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x59\x04\x04\x05\x7c\x00\x7d\x00\x73\x00\x62\x04\x74\x00\x5c\x04\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x61\x04\x07\x05\x7c\x00\x7d\x00\x5d\x04\x58\x00\x60\x04\x67\x04\x7e\x00\x6a\x04\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x63\x04\xda\x03\x7f\x00\x76\x04\x2d\x00\x80\x00\x2f\x00\x75\x04\x95\xfd\x7a\x04\xfb\x03\x6a\x00\xdf\x03\x73\x00\x30\x02\x74\x00\x7e\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x17\x00\x09\x05\x7c\x00\x7d\x00\x81\x00\x82\x00\x7f\x00\x70\x00\x2d\x00\x80\x00\x2f\x00\x88\x04\x0b\x03\x70\x02\xd0\x03\x04\x04\x05\x04\x73\x00\xdd\x03\x74\x00\x0c\x04\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xdf\x03\xf2\x04\x7c\x00\x7d\x00\x81\x00\x82\x00\xdf\x03\x17\x04\xa7\x00\x20\x04\x73\x00\x22\x04\x74\x00\x7e\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x23\x04\xf4\x04\x7c\x00\x7d\x00\x27\x04\x2d\x04\x7f\x00\x2f\x04\x2d\x00\x80\x00\x2f\x00\x36\x04\x7e\x00\x32\x00\x3f\x04\x40\x04\xcc\x00\xb3\x00\xcd\x00\xb4\x00\x43\x04\x4a\x04\x76\x03\x4c\x04\x4d\x04\x7f\x00\x7e\x00\x2d\x00\x80\x00\x2f\x00\x8e\x03\x81\x00\x82\x00\x30\x02\xc9\x03\x8f\x03\x90\x03\x97\x03\x98\x03\x7f\x00\x99\x03\x2d\x00\x80\x00\x2f\x00\x66\x01\xcf\x00\x02\x02\xb7\x00\x67\x01\x9a\x03\x81\x00\x82\x00\xa2\x03\x9c\x02\xa7\x03\xa8\x03\xa9\x03\xd1\x00\x4b\x01\xd3\x00\x68\x01\x69\x01\x6a\x01\x6b\x01\x81\x00\x82\x00\xaa\x03\x73\x00\x7e\x00\x74\x00\xab\x03\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x21\x03\x00\x05\x7c\x00\x7d\x00\x7f\x00\xac\x03\x2d\x00\x80\x00\x2f\x00\xad\x03\xae\x03\xb9\x03\xed\xfe\xbc\x03\xbe\x03\x58\x00\x21\x03\xc4\x03\x7e\x00\xd0\x03\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x81\x00\x82\x00\x7f\x00\x2a\x03\x2d\x00\x80\x00\x2f\x00\xd0\x03\x73\x00\x7e\x00\x74\x00\x6a\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xda\x03\xc9\x04\x7c\x00\x7d\x00\x7f\x00\xdd\x03\x2d\x00\x80\x00\x2f\x00\x81\x00\x82\x00\xdf\x03\x70\x00\xe4\x03\xf7\x02\x03\x02\xf0\x03\x73\x00\xf8\x02\x63\x04\x36\x00\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\x02\xad\x01\x81\x00\x82\x00\x73\x00\x07\x03\x74\x00\x0b\x03\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x07\x03\xd3\x04\x7c\x00\x7d\x00\x73\x00\x0d\x03\x74\x00\xa7\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x12\x03\x17\x04\x7c\x00\x7d\x00\x1c\x03\x30\x02\x3e\x03\x37\x03\x3f\x03\x40\x03\x73\x00\x47\x03\x74\x00\x7e\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xb3\x00\x2a\x04\x7c\x00\x7d\x00\x9e\x02\x5a\x03\x7f\x00\x5b\x03\x2d\x00\x80\x00\x2f\x00\x5d\x03\x5f\x03\x60\x03\x61\x03\x65\x03\x64\x03\x73\x00\x6b\x03\x74\x00\x72\x03\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xe8\xfe\xb6\x03\x7c\x00\x7d\x00\x81\x00\x82\x00\x30\x02\x73\x03\x7c\x03\x3f\x01\x73\x00\x7d\x03\x74\x00\x7e\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x80\x03\x1d\x03\x7c\x00\x7d\x00\x76\x03\x3c\x02\x7f\x00\x0f\x02\x2d\x00\x80\x00\x2f\x00\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x73\x00\xa1\x00\x74\x00\x7e\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x42\x02\x22\x03\x7c\x00\x7d\x00\x81\x00\x82\x00\x7f\x00\x7e\x00\x2d\x00\x80\x00\x2f\x00\x40\x04\x56\x02\x57\x02\x58\x02\x41\x04\x43\x02\x5f\x02\x61\x02\x67\x02\x7f\x00\x7e\x00\x2d\x00\x80\x00\x2f\x00\x68\x02\x6b\x02\x6d\x02\xc1\x01\x74\x02\x9c\x02\x81\x00\x82\x00\xa5\x01\x7f\x00\x9e\x02\x2d\x00\x80\x00\x2f\x00\xaf\x02\xb0\x02\x7e\x00\xb1\x02\xbf\x02\xd3\x02\x81\x00\x82\x00\xe3\x02\xe4\x02\xe5\x02\xe9\x02\x36\x00\xe6\x02\xe7\x02\x7f\x00\xf5\x02\x2d\x00\x80\x00\x2f\x00\x81\x00\x82\x00\xf0\x02\xa3\x00\x91\x01\x62\xfd\x73\x00\x5f\xfd\x74\x00\x7e\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x8f\x01\x95\x01\x7c\x00\x7d\x00\x81\x00\x82\x00\x7f\x00\xa4\x01\x2d\x00\x80\x00\x2f\x00\xa5\x01\xa6\x01\x7e\x00\x10\x02\xb4\x01\xb5\x01\xb4\x01\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xad\x00\xbb\x01\x7f\x00\xae\x01\x2d\x00\x80\x00\x2f\x00\x81\x00\x82\x00\xc1\x01\x59\x02\x2b\x00\x2c\x00\xc6\x01\x2e\x00\x2f\x00\x7e\x00\xc7\x01\xc8\x01\x7f\x00\xca\x01\xcb\x01\x80\x00\x2f\x00\xf4\x01\xf6\x01\xbf\x00\x81\x00\x82\x00\x7f\x00\xfd\x01\x2d\x00\x80\x00\x2f\x00\x73\x00\x5a\x02\x74\x00\x02\x02\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x81\x00\x82\x00\xbb\x00\x7d\x00\x03\x02\x22\x02\x05\x02\x0a\x02\x0c\x02\x5c\xfd\x81\x00\x82\x00\x0b\x02\x13\x02\x14\x02\x15\x02\x17\x02\x73\x00\x1d\x02\x74\x00\x1e\x02\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x21\x02\x32\x01\x7c\x00\x7d\x00\x73\x00\x1f\x02\x74\x00\x22\x02\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x31\x02\x7b\x00\x7c\x00\x7d\x00\x11\x02\xa3\x00\x7e\x00\x2b\x02\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x03\x02\x96\x00\xff\xff\xa7\x00\xd4\x00\x7f\x00\xe3\x00\x2d\x00\x80\x00\x2f\x00\x73\x00\xff\xff\x74\x00\xac\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\xe4\x00\xda\x04\x7d\x00\xe5\x00\xe8\x00\xa7\x00\xe8\x00\xff\xff\x7f\x00\x81\x00\x82\x00\x80\x00\x2f\x00\x5f\x01\x60\x01\xbf\xfd\x73\x00\x6d\x01\xae\x03\xff\xff\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\xa3\x00\xff\xff\xaf\x03\xff\xff\x17\x00\x96\x00\x81\x00\x82\x00\x00\x00\x73\x00\x00\x00\xae\x03\x7e\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xa3\x00\x70\x01\xa3\x00\xaf\x03\x00\x00\x00\x00\x7f\x00\x00\x00\x2d\x00\x80\x00\x2f\x00\x00\x00\x00\x00\xcc\x00\xb3\x00\xcd\x00\xb4\x00\x73\x00\x00\x00\x74\x00\x7e\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x00\x00\xbc\x03\x7d\x00\x81\x00\x82\x00\x7f\x00\x7e\x00\x2d\x00\x80\x00\x2f\x00\x00\x00\xb7\x02\x00\x00\x66\x01\xcf\x00\x00\x00\xb7\x00\xb8\x02\x8c\xfe\x7f\x00\x8c\xfe\x2d\x00\x80\x00\x2f\x00\x00\x00\x00\x00\xd1\x00\x4b\x01\xd3\x00\x00\x00\x81\x00\x82\x00\x00\x00\x7f\x00\x00\x00\x00\x00\x80\x00\x2f\x00\x00\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x2d\x00\x80\x00\x2f\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x7e\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x00\x00\x37\x03\x7d\x00\x81\x00\x82\x00\x7f\x00\x00\x00\x2d\x00\x80\x00\x2f\x00\x00\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\xba\x04\x2d\x00\x80\x00\x2f\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x7e\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xb0\x03\x00\x00\x40\x03\x7d\x00\x81\x00\x82\x00\x7f\x00\x00\x00\x2d\x00\x80\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x00\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x00\x00\x4f\x03\x7d\x00\x81\x00\x82\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x00\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x00\x00\x4d\x02\x7d\x00\x73\x00\x00\x00\x74\x00\x00\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x32\x00\x00\x00\x52\x02\x7d\x00\x36\x00\x37\x00\x00\x00\x00\x00\x73\x00\x7e\x00\x74\x00\x00\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x00\x00\x53\x02\x7d\x00\x7f\x00\x00\x00\x2d\x00\x80\x00\x2f\x00\x73\x00\x00\x00\x74\x00\x00\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x00\x00\xb1\x02\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x7e\x00\x74\x00\x00\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x00\x00\xb8\x02\x7d\x00\x7f\x00\x00\x00\x2d\x00\x80\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x7e\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x81\x00\x82\x00\x7f\x00\x00\x00\x2d\x00\x80\x00\x2f\x00\x7e\x00\x00\x00\x73\x00\x6a\x00\x45\x03\x00\x00\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x7f\x00\x7e\x00\x2d\x00\x80\x00\x2f\x00\x00\x00\x00\x00\x81\x00\x82\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x2d\x00\x80\x00\x2f\x00\x7e\x00\x00\x00\xcc\x00\xb3\x00\xcd\x00\xb4\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x2d\x00\x80\x00\x2f\x00\x00\x00\x7e\x00\x81\x00\x82\x00\xd6\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xd7\x00\x00\x00\x00\x00\x00\x00\xcf\x00\x7f\x00\xb7\x00\x2d\x00\x80\x00\x2f\x00\x00\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\xd1\x00\x4b\x01\xd3\x00\x73\x00\x7e\x00\x30\x04\x00\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x81\x00\x82\x00\x31\x04\x7f\x00\x00\x00\x2d\x00\x80\x00\x2f\x00\x73\x00\x00\x00\x74\x00\x00\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x00\x00\x0d\x02\x7d\x00\xd5\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x7e\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x00\x00\xd4\x00\x7d\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x2d\x00\x80\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\xb8\x00\x00\x00\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x0e\x04\x0f\x04\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x10\x04\xd8\x00\x00\x00\x00\x00\x00\x00\xd9\x00\x00\x00\x7f\x00\x00\x00\x00\x00\x80\x00\x2f\x00\xaf\x00\xb0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x04\x12\x04\x00\x00\x00\x00\x00\x00\x7e\x00\x0e\x04\x7a\x04\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x81\x00\x82\x00\xda\x00\xdb\x00\x7f\x00\x00\x00\x2d\x00\x80\x00\x2f\x00\x00\x00\x7e\x00\x0c\x02\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x7b\x04\x12\x04\x00\x00\x7f\x00\x00\x00\x2d\x00\x80\x00\x2f\x00\x00\x00\x81\x00\x82\x00\x00\x00\x7f\x00\x00\x00\xb5\x02\x80\x00\x2f\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x94\x03\x55\x02\x56\x02\x57\x02\x58\x02\x81\x00\x82\x00\x7f\x00\x00\x00\x2d\x00\x80\x00\x2f\x00\x00\x00\x00\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x81\x00\x82\x00\x7f\x00\x00\x00\x2d\x00\x80\x00\x2f\x00\x13\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x00\x00\x14\x04\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x81\x00\x82\x00\x00\x00\x00\x00\x61\x01\x00\x00\x00\x00\x62\x01\x00\x00\x78\x03\x00\x00\xd9\x00\x00\x00\x00\x00\x13\x04\x00\x00\x81\x00\x82\x00\xaf\x00\xb0\x00\x64\x01\x00\x00\xc8\x00\xc9\x00\xca\x00\x7f\x00\x00\x00\x00\x00\x14\x04\x2f\x00\xad\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\x02\x2b\x00\x2c\x00\x7f\x00\x2e\x00\x2f\x00\x80\x00\x2f\x00\x00\x00\x00\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x5a\x02\x00\x00\x00\x00\x81\x00\x82\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x30\x02\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\xdd\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\x01\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\xdf\x01\xe0\x01\xe1\x01\xe2\x01\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x17\x00\x00\x00\xe3\x01\xe4\x01\xe5\x01\xe6\x01\x99\x00\x6d\x00\x00\x00\xe7\x01\x00\x00\x6e\x00\x00\x00\x00\x00\xe8\x01\x00\x00\x00\x00\x70\x00\x00\x00\xe9\x01\xea\x01\xeb\x01\xec\x01\xed\x01\x00\x00\xee\x01\x71\x00\x72\x00\x73\x00\xef\x01\xf0\x01\x00\x00\x00\x00\x00\x00\xf1\x01\xf2\x01\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\xdd\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\x01\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\xdf\x01\xe0\x01\xe1\x01\xe2\x01\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x17\x00\x00\x00\xe3\x01\xe4\x01\xe5\x01\xe6\x01\x99\x00\x6d\x00\x00\x00\xe7\x01\x00\x00\x6e\x00\x00\x00\x00\x00\xe8\x01\x00\x00\x00\x00\x70\x00\x00\x00\xe9\x01\xea\x01\xeb\x01\xec\x01\xed\x01\x00\x00\xee\x01\x71\x00\x72\x00\x73\x00\xef\x01\xf0\x01\x00\x00\x00\x00\x00\x00\xf1\x01\xf2\x01\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\xdd\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\x01\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\xdf\x01\xe0\x01\xe1\x01\xe2\x01\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\xe3\x01\xe4\x01\xe5\x01\xe6\x01\x99\x00\x6d\x00\x00\x00\xe7\x01\x00\x00\x6e\x00\x00\x00\x00\x00\xe8\x01\x00\x00\x00\x00\x70\x00\x00\x00\xe9\x01\xea\x01\xeb\x01\xec\x01\xed\x01\x00\x00\xee\x01\x71\x00\x72\x00\x73\x00\xef\x01\xf0\x01\x00\x00\x00\x00\x00\x00\xf1\x01\xf2\x01\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x30\x02\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\xdd\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\xa5\x04\xa6\x04\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\xe3\x01\xe4\x01\xe5\x01\x00\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa7\x04\x00\x00\x00\x00\x70\x00\x00\x00\xe9\x01\xea\x01\xeb\x01\xec\x01\xed\x01\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x01\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\xdd\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\xa5\x04\xa6\x04\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\xe3\x01\xe4\x01\xe5\x01\x00\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa7\x04\x00\x00\x00\x00\x70\x00\x00\x00\xe9\x01\xea\x01\xeb\x01\xec\x01\xed\x01\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x01\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x30\x02\x00\x00\x00\x00\xb5\x02\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\xdd\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x61\x01\x68\x00\x69\x00\x62\x01\x6a\x00\xc8\x01\x00\x00\xd9\x00\xe3\x01\xe4\x01\xe5\x01\x00\x00\x00\x00\x6d\x00\xaf\x00\xb0\x00\x64\x01\x00\x00\xc8\x00\xc9\x00\xca\x00\x00\x00\x00\x00\x70\x00\x00\x00\xe9\x01\xea\x01\xeb\x01\xec\x01\xed\x01\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x01\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x30\x02\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\xdd\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\xb2\x04\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x00\x00\xe7\x01\x00\x00\x00\x00\x00\x00\x00\x00\xb3\x04\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\xea\x01\xeb\x01\xec\x01\xed\x01\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x01\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\xdd\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x61\x01\x68\x00\x69\x00\x62\x01\x6a\x00\x78\x03\x00\x00\xd9\x00\xe3\x01\xe4\x01\xe5\x01\x00\x00\x00\x00\x6d\x00\xaf\x00\xb0\x00\x64\x01\x00\x00\xc8\x00\xc9\x00\xca\x00\x00\x00\x00\x00\x70\x00\x00\x00\xe9\x01\xea\x01\xeb\x01\xec\x01\xed\x01\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x01\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\xdd\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\xb2\x04\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x00\x00\xe7\x01\x00\x00\x00\x00\x00\x00\x00\x00\xb3\x04\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\xea\x01\xeb\x01\xec\x01\xed\x01\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x01\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\xda\x03\x55\x02\x56\x02\x57\x02\x58\x02\x00\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\xea\x01\xeb\x01\xec\x01\xed\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\xf2\x01\xcc\x00\xb3\x00\xcd\x00\xb4\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\xce\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x00\x00\x00\x89\x00\x00\x00\xc3\x00\x8a\x00\x00\x00\xcf\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x00\x00\x00\x00\x00\x00\x00\xd1\x00\xd2\x00\xd3\x00\x00\x00\x6b\x03\x55\x02\x56\x02\x57\x02\x58\x02\x00\x00\x8c\x00\x8d\x00\xad\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\x02\x2b\x00\x2c\x00\x00\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x5a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x92\x00\x00\x00\x6a\x00\x36\x00\x37\x00\x00\x00\xdd\x00\xb3\x00\x00\x00\xb4\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x70\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\xde\x00\x93\x00\x00\x00\xb7\x00\x00\x00\xad\x00\x00\x00\x00\x00\x00\x00\xdf\x00\x00\x00\xe0\x00\xe1\x00\xe2\x00\x8b\x00\x59\x02\x2b\x00\x2c\x00\x00\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x54\x02\x55\x02\x56\x02\x57\x02\x58\x02\x00\x00\x00\x00\x00\x00\x5a\x02\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x36\x00\x37\x00\x00\x00\xdd\x00\xb3\x00\x6a\x00\xb4\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\xde\x00\x61\x01\x00\x00\xb7\x00\x62\x01\x00\x00\xc8\x01\x93\x00\xd9\x00\xdf\x00\x00\x00\x20\x02\x00\x00\xe2\x00\x8b\x00\xaf\x00\xb0\x00\x64\x01\x00\x00\xc8\x00\xc9\x00\xca\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\xad\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\x02\x2b\x00\x2c\x00\x00\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x5a\x02\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\xb3\x00\x6a\x00\xb4\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x26\x02\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x93\x00\x95\x03\x56\x02\x57\x02\x58\x02\x00\x00\x61\x01\x8b\x00\x00\x00\x62\x01\x00\x00\x63\x01\x00\x00\xd9\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\xaf\x00\xb0\x00\x64\x01\x8e\x00\xc8\x00\xc9\x00\xca\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x92\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\xc2\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\xc3\x00\x8a\x00\x00\x00\xad\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x59\x02\x2b\x00\x2c\x00\x8b\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x92\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\xf4\x04\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\xcc\x00\xb3\x00\xcd\x00\xb4\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\xb7\x02\x00\x00\x66\x01\xcf\x00\x8e\x00\xb7\x00\xf9\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd1\x00\x4b\x01\xd3\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x36\x00\x37\x00\x00\x00\x92\x00\x16\xff\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x16\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x7d\x04\xe1\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x86\x04\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\xcc\x00\xb3\x00\xcd\x00\xb4\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\xb7\x02\x00\x00\x66\x01\xcf\x00\x8e\x00\xb7\x00\xb8\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd1\x00\x4b\x01\xd3\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x92\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\xcc\x00\xb3\x00\xcd\x00\xb4\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\xce\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\xc3\x00\x00\x00\x00\x00\xcf\x00\x8e\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x00\x00\x00\x00\x00\x00\x00\xd1\x00\x4b\x01\xd3\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x92\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\xba\x02\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x24\x02\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x92\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\xbf\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x92\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x92\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\xd8\x04\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x92\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\xb2\x03\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x92\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\xb2\x03\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x36\x00\x37\x00\x00\x00\x92\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x9d\x03\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa8\x02\x23\x00\x00\x00\x6a\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\xa9\x02\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x70\x00\xaa\x02\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x00\x00\x00\x89\x00\x93\x00\x00\x00\x8a\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x36\x00\x37\x00\x00\x00\x92\x00\x16\xff\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x16\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x02\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16\x04\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x6a\x00\xcc\x00\xb3\x00\xcd\x00\xb4\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\xdb\x02\x70\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\xac\x01\x46\x00\x4a\x01\xcf\x00\x00\x00\xb7\x00\x93\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4b\x01\xd3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\xcc\x00\xb3\x00\xcd\x00\xb4\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xe2\x02\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\xac\x01\x46\x00\x4a\x01\xcf\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4b\x01\xd3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\xcc\x00\xb3\x00\xcd\x00\xb4\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xab\x01\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\xac\x01\x46\x00\x4a\x01\xcf\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4b\x01\xd3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\xcc\x00\xb3\x00\xcd\x00\xb4\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\xb3\x01\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\xac\x01\x46\x00\x4a\x01\xcf\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4b\x01\xd3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\xcc\x00\xb3\x00\xcd\x00\xb4\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x52\x01\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\xc3\x00\x46\x00\x4a\x01\xcf\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4b\x01\xd3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\xcc\x00\xb3\x00\xcd\x00\xb4\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x5b\x01\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\xc3\x00\x46\x00\x4a\x01\xcf\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x5c\x01\x4b\x01\xd3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\xcc\x00\xb3\x00\xcd\x00\xb4\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x4f\x01\x45\x00\x00\x00\x00\x00\x46\x00\x4a\x01\xcf\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4b\x01\xd3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\xcc\x00\xb3\x00\xcd\x00\xb4\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x4a\x01\xcf\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4b\x01\xd3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x08\x02\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x6f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x02\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\xcf\x02\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x30\x02\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x02\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\xcf\x02\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x6f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x02\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x0a\x03\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x02\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\xf1\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x32\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x25\x04\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x32\x00\x33\x00\x00\x00\x00\x00\x36\x00\x37\x00\x99\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x31\x01\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x8a\x03\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x00\x00\x00\x00\x36\x00\x37\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x01\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x03\x32\x00\x00\x00\x00\x00\x00\x00\x36\x00\x8c\x03\x00\x00\x00\x00\x70\x00\x00\x00\x8d\x03\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x36\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x03\x7f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x03\x00\x00\x00\x00\x70\x00\x00\x00\x8d\x03\x00\x00\x8a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x36\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x7f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xea\x04\x00\x00\x00\x00\x70\x00\x00\x00\xeb\x04\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xea\x04\x00\x00\x00\x00\x70\x00\x00\x00\xeb\x04\x79\x02\x33\x00\x34\x00\x35\x00\x7a\x02\x37\x00\xfb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x00\x7b\x02\x7c\x02\x7d\x02\x7e\x02\x7f\x02\x80\x02\x81\x02\x82\x02\x83\x02\x84\x02\x85\x02\x86\x02\x87\x02\x88\x02\x0b\x01\x0c\x01\x0d\x01\x0e\x01\x0f\x01\x10\x01\x11\x01\x12\x01\x89\x02\x8a\x02\x15\x01\x8b\x02\x17\x01\x18\x01\x19\x01\x1a\x01\x1b\x01\x1c\x01\x1d\x01\x1e\x01\x1f\x01\x20\x01\x21\x01\x22\x01\x23\x01\x24\x01\x25\x01\x26\x01\x27\x01\x28\x01\x8c\x02\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc3\x01\x00\x00\x48\x00\x00\x00\x00\x00\xeb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\xeb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x3f\x01\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\xeb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\xf9\x00\x00\x00\x00\x00\x00\x00\xfa\x00\x00\x00\xfb\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x01\x01\x01\x02\x01\x03\x01\x04\x01\x05\x01\x06\x01\x07\x01\x08\x01\x09\x01\x0a\x01\x0b\x01\x0c\x01\x0d\x01\x0e\x01\x0f\x01\x10\x01\x11\x01\x12\x01\x13\x01\x14\x01\x15\x01\x16\x01\x17\x01\x18\x01\x19\x01\x1a\x01\x1b\x01\x1c\x01\x1d\x01\x1e\x01\x1f\x01\x20\x01\x21\x01\x22\x01\x23\x01\x24\x01\x25\x01\x26\x01\x27\x01\x28\x01\x29\x01\x32\x00\x33\x00\x00\x00\x00\x00\x36\x00\x37\x00\x00\x00\x00\x00\xb3\x00\x00\x00\xb4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x6f\x03\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x00\x00\x5d\x02\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x00\x00\x5e\x02\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5e\x02\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x33\x00\x70\x00\x00\x00\x36\x00\x37\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x70\x00\x5d\x02\x00\x00\x00\x00\x00\x00\xcc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x02\x00\x00\x00\x00\x5e\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd1\x00\x4b\x01\xd3\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x33\x00\x70\x00\x00\x00\x36\x00\x37\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x70\x00\x5d\x02\x36\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x01\x0f\x05\x00\x00\x5e\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x36\x00\x00\x00\x00\x00\x10\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x01\x56\x04\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x57\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\xe3\xfe\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x70\x00\x32\x00\x33\x00\x00\x00\x00\x00\x36\x00\x37\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x70\x00\x36\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x01\x00\x00\x00\x00\xe3\xfe\xe3\xfe\xe3\xfe\xe3\xfe\x00\x00\xe3\xfe\xe3\xfe\xe3\xfe\xe3\xfe\xe3\xfe\xe3\xfe\xe3\xfe\xe3\xfe\xe3\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x00\x00\xe3\xfe\x36\x00\x37\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x31\x01\xe3\xfe\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x9e\x01\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x9f\x01\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x80\x01\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x81\x01\x00\x00\x00\x00\x70\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x9e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9c\x04\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x3c\x01\x3d\x01\xe9\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x9e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x26\x00\xa0\x01\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x32\x00\x33\x00\x00\x00\x00\x00\x36\x00\x37\x00\x70\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x9e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x68\x00\x69\x00\x36\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x01\x00\x00\x00\x00\x70\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x9e\x01\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x32\x00\x00\x00\x68\x00\x69\x00\x36\x00\x6a\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x7f\x01\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x32\x00\x00\x00\x68\x00\x69\x00\x36\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\x00\x00\x70\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x1a\x04\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x32\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x32\x00\x00\x00\x00\x00\x70\x00\x36\x00\x37\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x01\x00\x00\x2d\x01\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x2e\x01\x70\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x3b\x04\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x1a\x04\x00\x00\x70\x00\x00\x00\x00\x00\x32\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x6a\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3b\x04\x00\x00\x00\x00\x70\x00\x00\x00\x6a\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x93\x02\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x02\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x29\x02\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x65\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x02\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x04\x3b\x04\x1a\x00\x34\x01\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x32\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x23\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x29\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x2a\x02\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x26\x00\x00\x00\x70\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x30\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xbf\x02\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x6a\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\xc9\x02\xca\x02\xcb\x02\xcc\x02\x00\x00\xcd\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xbf\x02\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd3\x02\xca\x02\xcb\x02\xcc\x02\x00\x00\xcd\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xbf\x02\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf1\x03\xcb\x02\xcc\x02\x00\x00\xcd\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xbf\x02\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xec\x03\xcc\x02\x00\x00\xcd\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xbf\x02\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x03\xc1\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xbf\x02\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x03\xc1\x02\x00\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\xc2\x02\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x23\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x30\x00\x00\x00\x00\x00\x69\x03\x00\x00\x06\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\xbf\x02\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x00\x00\x06\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\xc0\x02\xc1\x02\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x02\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x30\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x24\x00\x00\x00\x20\x00\x21\x00\x22\x00\x05\x02\x00\x00\x06\x02\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x24\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x02\x30\x00\x06\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xbf\x02\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe4\x03\x00\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\xc2\x02\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x23\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\xed\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x04\x9a\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\xee\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x30\x00\xef\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xbd\x04\x9a\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x76\x04\x9a\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x30\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xfb\x03\x9a\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\xfc\x03\x9a\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x30\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xfd\x03\x9a\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\xff\x03\x9a\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x30\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x3d\x04\x9a\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x93\x03\x9a\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x30\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xd1\x03\x9a\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\xe5\x03\x9a\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x30\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x08\x03\x9a\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\xa0\x01\x9a\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x30\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xb7\x00\x9a\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x35\x01\x9a\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x30\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x36\x01\x9a\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x99\x00\x9a\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x30\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x52\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x53\x01\x54\x01\x00\x00\x00\x00\x00\x00\x55\x01\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x40\x01\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x41\x01\x29\x00\x00\x00\x00\x00\x43\x01\x00\x00\x44\x01\x42\x01\x00\x00\x45\x01\x56\x01\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xaf\x00\xb0\x00\x57\x01\x46\x01\xc8\x00\x58\x01\x59\x01\x30\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x43\x01\x00\x00\x44\x01\x00\x00\x00\x00\x45\x01\xd9\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xaf\x00\xb0\x00\x00\x00\x46\x01\x00\x00\x47\x01\x48\x01\x30\x00\x3f\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x4b\x01\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x01\x4d\x01\x3f\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x4f\x01\x50\x01\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x43\x01\x00\x00\x44\x01\x00\x00\x00\x00\x45\x01\xd9\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xaf\x00\xb0\x00\x00\x00\x46\x01\x00\x00\x47\x01\x48\x01\x30\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x43\x01\x00\x00\x44\x01\x00\x00\x00\x00\x45\x01\xd9\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xaf\x00\xb0\x00\x00\x00\x46\x01\x00\x00\x47\x01\x48\x01\x30\x00\xd0\x02\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\xd1\x02\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd5\x02\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\xd1\x02\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x43\x01\x00\x00\x44\x01\x00\x00\x00\x00\x45\x01\xd9\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xaf\x00\xb0\x00\x00\x00\x46\x01\x00\x00\x47\x01\x48\x01\x30\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x43\x01\x00\x00\x44\x01\x00\x00\x00\x00\x45\x01\xd9\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xaf\x00\xb0\x00\x00\x00\x46\x01\x00\x00\x47\x01\x48\x01\x30\x00\x3f\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\xd6\x02\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\xd9\x02\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x43\x01\x00\x00\x44\x01\x00\x00\x00\x00\x45\x01\xd9\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xaf\x00\xb0\x00\x00\x00\x46\x01\x00\x00\x47\x01\x48\x01\x30\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x43\x01\x00\x00\x44\x01\x00\x00\x00\x00\x45\x01\xd9\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xaf\x00\xb0\x00\x00\x00\x46\x01\x00\x00\x47\x01\x48\x01\x30\x00\x3f\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\xe0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\xa9\x01\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x43\x01\x00\x00\x44\x01\x00\x00\x00\x00\x45\x01\xd9\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xaf\x00\xb0\x00\x00\x00\x46\x01\x00\x00\x47\x01\x48\x01\x30\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x43\x01\x00\x00\x44\x01\x00\x00\x00\x00\x45\x01\xd9\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xaf\x00\xb0\x00\x00\x00\x46\x01\x00\x00\x47\x01\x48\x01\x30\x00\x3f\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\xb1\x01\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x43\x01\x00\x00\x44\x01\x00\x00\x00\x00\x45\x01\xd9\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xaf\x00\xb0\x00\x00\x00\x46\x01\x00\x00\x47\x01\x48\x01\x30\x00\x96\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x96\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x03\x0e\x03\x23\x00\x00\x00\x00\x00\x0f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\xfe\x03\x29\x00\x00\x00\x00\x00\x0f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x96\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x96\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\xb4\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\xb5\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x71\x02\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x02\x00\x00\x23\x00\x96\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\xdb\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\xdc\x02\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdd\x02\x23\x00\x37\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x01\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x96\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x03\x05\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x97\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x5a\x04\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\xf0\x03\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\xf2\x03\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x03\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x68\x03\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x61\x02\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x62\x02\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x68\x02\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x69\x02\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\xc4\x02\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\xc5\x02\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\xcf\x02\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\xd4\x02\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x91\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x92\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x93\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x94\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\xf2\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\xf4\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\xb9\x01\x1a\x00\x34\x01\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x98\x01\x29\x00\x30\x00\x99\x01\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x23\x00\x00\x00\x33\x01\x1a\x00\x34\x01\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x99\x01\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x3a\x01\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc1\x01\xe9\x00\x21\x00\x22\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe8\x00\xe9\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x74\x02\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x23\x00\x00\x00\x00\x00\x75\x02\xf6\x00\xf7\x00\x00\x00\x76\x02\x81\x03\x00\x00\x00\x00\x00\x00\x00\x00\x74\x02\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x75\x02\xf6\x00\xf7\x00\x00\x00\x76\x02\x77\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x02\x21\x00\x22\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb4\x02\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf1\x02\x21\x00\x22\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf5\x02\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa1\x01\x21\x00\x22\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x01\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x01\x21\x00\x22\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x02\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x01\x21\x00\x22\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3b\x01\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x01\x21\x00\x22\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyReduceArr = Happy_Data_Array.array (11, 726) [-	(11 , happyReduce_11),-	(12 , happyReduce_12),-	(13 , happyReduce_13),-	(14 , happyReduce_14),-	(15 , happyReduce_15),-	(16 , happyReduce_16),-	(17 , happyReduce_17),-	(18 , happyReduce_18),-	(19 , happyReduce_19),-	(20 , happyReduce_20),-	(21 , happyReduce_21),-	(22 , happyReduce_22),-	(23 , happyReduce_23),-	(24 , happyReduce_24),-	(25 , happyReduce_25),-	(26 , happyReduce_26),-	(27 , happyReduce_27),-	(28 , happyReduce_28),-	(29 , happyReduce_29),-	(30 , happyReduce_30),-	(31 , happyReduce_31),-	(32 , happyReduce_32),-	(33 , happyReduce_33),-	(34 , happyReduce_34),-	(35 , happyReduce_35),-	(36 , happyReduce_36),-	(37 , happyReduce_37),-	(38 , happyReduce_38),-	(39 , happyReduce_39),-	(40 , happyReduce_40),-	(41 , happyReduce_41),-	(42 , happyReduce_42),-	(43 , happyReduce_43),-	(44 , happyReduce_44),-	(45 , happyReduce_45),-	(46 , happyReduce_46),-	(47 , happyReduce_47),-	(48 , happyReduce_48),-	(49 , happyReduce_49),-	(50 , happyReduce_50),-	(51 , happyReduce_51),-	(52 , happyReduce_52),-	(53 , happyReduce_53),-	(54 , happyReduce_54),-	(55 , happyReduce_55),-	(56 , happyReduce_56),-	(57 , happyReduce_57),-	(58 , happyReduce_58),-	(59 , happyReduce_59),-	(60 , happyReduce_60),-	(61 , happyReduce_61),-	(62 , happyReduce_62),-	(63 , happyReduce_63),-	(64 , happyReduce_64),-	(65 , happyReduce_65),-	(66 , happyReduce_66),-	(67 , happyReduce_67),-	(68 , happyReduce_68),-	(69 , happyReduce_69),-	(70 , happyReduce_70),-	(71 , happyReduce_71),-	(72 , happyReduce_72),-	(73 , happyReduce_73),-	(74 , happyReduce_74),-	(75 , happyReduce_75),-	(76 , happyReduce_76),-	(77 , happyReduce_77),-	(78 , happyReduce_78),-	(79 , happyReduce_79),-	(80 , happyReduce_80),-	(81 , happyReduce_81),-	(82 , happyReduce_82),-	(83 , happyReduce_83),-	(84 , happyReduce_84),-	(85 , happyReduce_85),-	(86 , happyReduce_86),-	(87 , happyReduce_87),-	(88 , happyReduce_88),-	(89 , happyReduce_89),-	(90 , happyReduce_90),-	(91 , happyReduce_91),-	(92 , happyReduce_92),-	(93 , happyReduce_93),-	(94 , happyReduce_94),-	(95 , happyReduce_95),-	(96 , happyReduce_96),-	(97 , happyReduce_97),-	(98 , happyReduce_98),-	(99 , happyReduce_99),-	(100 , happyReduce_100),-	(101 , happyReduce_101),-	(102 , happyReduce_102),-	(103 , happyReduce_103),-	(104 , happyReduce_104),-	(105 , happyReduce_105),-	(106 , happyReduce_106),-	(107 , happyReduce_107),-	(108 , happyReduce_108),-	(109 , happyReduce_109),-	(110 , happyReduce_110),-	(111 , happyReduce_111),-	(112 , happyReduce_112),-	(113 , happyReduce_113),-	(114 , happyReduce_114),-	(115 , happyReduce_115),-	(116 , happyReduce_116),-	(117 , happyReduce_117),-	(118 , happyReduce_118),-	(119 , happyReduce_119),-	(120 , happyReduce_120),-	(121 , happyReduce_121),-	(122 , happyReduce_122),-	(123 , happyReduce_123),-	(124 , happyReduce_124),-	(125 , happyReduce_125),-	(126 , happyReduce_126),-	(127 , happyReduce_127),-	(128 , happyReduce_128),-	(129 , happyReduce_129),-	(130 , happyReduce_130),-	(131 , happyReduce_131),-	(132 , happyReduce_132),-	(133 , happyReduce_133),-	(134 , happyReduce_134),-	(135 , happyReduce_135),-	(136 , happyReduce_136),-	(137 , happyReduce_137),-	(138 , happyReduce_138),-	(139 , happyReduce_139),-	(140 , happyReduce_140),-	(141 , happyReduce_141),-	(142 , happyReduce_142),-	(143 , happyReduce_143),-	(144 , happyReduce_144),-	(145 , happyReduce_145),-	(146 , happyReduce_146),-	(147 , happyReduce_147),-	(148 , happyReduce_148),-	(149 , happyReduce_149),-	(150 , happyReduce_150),-	(151 , happyReduce_151),-	(152 , happyReduce_152),-	(153 , happyReduce_153),-	(154 , happyReduce_154),-	(155 , happyReduce_155),-	(156 , happyReduce_156),-	(157 , happyReduce_157),-	(158 , happyReduce_158),-	(159 , happyReduce_159),-	(160 , happyReduce_160),-	(161 , happyReduce_161),-	(162 , happyReduce_162),-	(163 , happyReduce_163),-	(164 , happyReduce_164),-	(165 , happyReduce_165),-	(166 , happyReduce_166),-	(167 , happyReduce_167),-	(168 , happyReduce_168),-	(169 , happyReduce_169),-	(170 , happyReduce_170),-	(171 , happyReduce_171),-	(172 , happyReduce_172),-	(173 , happyReduce_173),-	(174 , happyReduce_174),-	(175 , happyReduce_175),-	(176 , happyReduce_176),-	(177 , happyReduce_177),-	(178 , happyReduce_178),-	(179 , happyReduce_179),-	(180 , happyReduce_180),-	(181 , happyReduce_181),-	(182 , happyReduce_182),-	(183 , happyReduce_183),-	(184 , happyReduce_184),-	(185 , happyReduce_185),-	(186 , happyReduce_186),-	(187 , happyReduce_187),-	(188 , happyReduce_188),-	(189 , happyReduce_189),-	(190 , happyReduce_190),-	(191 , happyReduce_191),-	(192 , happyReduce_192),-	(193 , happyReduce_193),-	(194 , happyReduce_194),-	(195 , happyReduce_195),-	(196 , happyReduce_196),-	(197 , happyReduce_197),-	(198 , happyReduce_198),-	(199 , happyReduce_199),-	(200 , happyReduce_200),-	(201 , happyReduce_201),-	(202 , happyReduce_202),-	(203 , happyReduce_203),-	(204 , happyReduce_204),-	(205 , happyReduce_205),-	(206 , happyReduce_206),-	(207 , happyReduce_207),-	(208 , happyReduce_208),-	(209 , happyReduce_209),-	(210 , happyReduce_210),-	(211 , happyReduce_211),-	(212 , happyReduce_212),-	(213 , happyReduce_213),-	(214 , happyReduce_214),-	(215 , happyReduce_215),-	(216 , happyReduce_216),-	(217 , happyReduce_217),-	(218 , happyReduce_218),-	(219 , happyReduce_219),-	(220 , happyReduce_220),-	(221 , happyReduce_221),-	(222 , happyReduce_222),-	(223 , happyReduce_223),-	(224 , happyReduce_224),-	(225 , happyReduce_225),-	(226 , happyReduce_226),-	(227 , happyReduce_227),-	(228 , happyReduce_228),-	(229 , happyReduce_229),-	(230 , happyReduce_230),-	(231 , happyReduce_231),-	(232 , happyReduce_232),-	(233 , happyReduce_233),-	(234 , happyReduce_234),-	(235 , happyReduce_235),-	(236 , happyReduce_236),-	(237 , happyReduce_237),-	(238 , happyReduce_238),-	(239 , happyReduce_239),-	(240 , happyReduce_240),-	(241 , happyReduce_241),-	(242 , happyReduce_242),-	(243 , happyReduce_243),-	(244 , happyReduce_244),-	(245 , happyReduce_245),-	(246 , happyReduce_246),-	(247 , happyReduce_247),-	(248 , happyReduce_248),-	(249 , happyReduce_249),-	(250 , happyReduce_250),-	(251 , happyReduce_251),-	(252 , happyReduce_252),-	(253 , happyReduce_253),-	(254 , happyReduce_254),-	(255 , happyReduce_255),-	(256 , happyReduce_256),-	(257 , happyReduce_257),-	(258 , happyReduce_258),-	(259 , happyReduce_259),-	(260 , happyReduce_260),-	(261 , happyReduce_261),-	(262 , happyReduce_262),-	(263 , happyReduce_263),-	(264 , happyReduce_264),-	(265 , happyReduce_265),-	(266 , happyReduce_266),-	(267 , happyReduce_267),-	(268 , happyReduce_268),-	(269 , happyReduce_269),-	(270 , happyReduce_270),-	(271 , happyReduce_271),-	(272 , happyReduce_272),-	(273 , happyReduce_273),-	(274 , happyReduce_274),-	(275 , happyReduce_275),-	(276 , happyReduce_276),-	(277 , happyReduce_277),-	(278 , happyReduce_278),-	(279 , happyReduce_279),-	(280 , happyReduce_280),-	(281 , happyReduce_281),-	(282 , happyReduce_282),-	(283 , happyReduce_283),-	(284 , happyReduce_284),-	(285 , happyReduce_285),-	(286 , happyReduce_286),-	(287 , happyReduce_287),-	(288 , happyReduce_288),-	(289 , happyReduce_289),-	(290 , happyReduce_290),-	(291 , happyReduce_291),-	(292 , happyReduce_292),-	(293 , happyReduce_293),-	(294 , happyReduce_294),-	(295 , happyReduce_295),-	(296 , happyReduce_296),-	(297 , happyReduce_297),-	(298 , happyReduce_298),-	(299 , happyReduce_299),-	(300 , happyReduce_300),-	(301 , happyReduce_301),-	(302 , happyReduce_302),-	(303 , happyReduce_303),-	(304 , happyReduce_304),-	(305 , happyReduce_305),-	(306 , happyReduce_306),-	(307 , happyReduce_307),-	(308 , happyReduce_308),-	(309 , happyReduce_309),-	(310 , happyReduce_310),-	(311 , happyReduce_311),-	(312 , happyReduce_312),-	(313 , happyReduce_313),-	(314 , happyReduce_314),-	(315 , happyReduce_315),-	(316 , happyReduce_316),-	(317 , happyReduce_317),-	(318 , happyReduce_318),-	(319 , happyReduce_319),-	(320 , happyReduce_320),-	(321 , happyReduce_321),-	(322 , happyReduce_322),-	(323 , happyReduce_323),-	(324 , happyReduce_324),-	(325 , happyReduce_325),-	(326 , happyReduce_326),-	(327 , happyReduce_327),-	(328 , happyReduce_328),-	(329 , happyReduce_329),-	(330 , happyReduce_330),-	(331 , happyReduce_331),-	(332 , happyReduce_332),-	(333 , happyReduce_333),-	(334 , happyReduce_334),-	(335 , happyReduce_335),-	(336 , happyReduce_336),-	(337 , happyReduce_337),-	(338 , happyReduce_338),-	(339 , happyReduce_339),-	(340 , happyReduce_340),-	(341 , happyReduce_341),-	(342 , happyReduce_342),-	(343 , happyReduce_343),-	(344 , happyReduce_344),-	(345 , happyReduce_345),-	(346 , happyReduce_346),-	(347 , happyReduce_347),-	(348 , happyReduce_348),-	(349 , happyReduce_349),-	(350 , happyReduce_350),-	(351 , happyReduce_351),-	(352 , happyReduce_352),-	(353 , happyReduce_353),-	(354 , happyReduce_354),-	(355 , happyReduce_355),-	(356 , happyReduce_356),-	(357 , happyReduce_357),-	(358 , happyReduce_358),-	(359 , happyReduce_359),-	(360 , happyReduce_360),-	(361 , happyReduce_361),-	(362 , happyReduce_362),-	(363 , happyReduce_363),-	(364 , happyReduce_364),-	(365 , happyReduce_365),-	(366 , happyReduce_366),-	(367 , happyReduce_367),-	(368 , happyReduce_368),-	(369 , happyReduce_369),-	(370 , happyReduce_370),-	(371 , happyReduce_371),-	(372 , happyReduce_372),-	(373 , happyReduce_373),-	(374 , happyReduce_374),-	(375 , happyReduce_375),-	(376 , happyReduce_376),-	(377 , happyReduce_377),-	(378 , happyReduce_378),-	(379 , happyReduce_379),-	(380 , happyReduce_380),-	(381 , happyReduce_381),-	(382 , happyReduce_382),-	(383 , happyReduce_383),-	(384 , happyReduce_384),-	(385 , happyReduce_385),-	(386 , happyReduce_386),-	(387 , happyReduce_387),-	(388 , happyReduce_388),-	(389 , happyReduce_389),-	(390 , happyReduce_390),-	(391 , happyReduce_391),-	(392 , happyReduce_392),-	(393 , happyReduce_393),-	(394 , happyReduce_394),-	(395 , happyReduce_395),-	(396 , happyReduce_396),-	(397 , happyReduce_397),-	(398 , happyReduce_398),-	(399 , happyReduce_399),-	(400 , happyReduce_400),-	(401 , happyReduce_401),-	(402 , happyReduce_402),-	(403 , happyReduce_403),-	(404 , happyReduce_404),-	(405 , happyReduce_405),-	(406 , happyReduce_406),-	(407 , happyReduce_407),-	(408 , happyReduce_408),-	(409 , happyReduce_409),-	(410 , happyReduce_410),-	(411 , happyReduce_411),-	(412 , happyReduce_412),-	(413 , happyReduce_413),-	(414 , happyReduce_414),-	(415 , happyReduce_415),-	(416 , happyReduce_416),-	(417 , happyReduce_417),-	(418 , happyReduce_418),-	(419 , happyReduce_419),-	(420 , happyReduce_420),-	(421 , happyReduce_421),-	(422 , happyReduce_422),-	(423 , happyReduce_423),-	(424 , happyReduce_424),-	(425 , happyReduce_425),-	(426 , happyReduce_426),-	(427 , happyReduce_427),-	(428 , happyReduce_428),-	(429 , happyReduce_429),-	(430 , happyReduce_430),-	(431 , happyReduce_431),-	(432 , happyReduce_432),-	(433 , happyReduce_433),-	(434 , happyReduce_434),-	(435 , happyReduce_435),-	(436 , happyReduce_436),-	(437 , happyReduce_437),-	(438 , happyReduce_438),-	(439 , happyReduce_439),-	(440 , happyReduce_440),-	(441 , happyReduce_441),-	(442 , happyReduce_442),-	(443 , happyReduce_443),-	(444 , happyReduce_444),-	(445 , happyReduce_445),-	(446 , happyReduce_446),-	(447 , happyReduce_447),-	(448 , happyReduce_448),-	(449 , happyReduce_449),-	(450 , happyReduce_450),-	(451 , happyReduce_451),-	(452 , happyReduce_452),-	(453 , happyReduce_453),-	(454 , happyReduce_454),-	(455 , happyReduce_455),-	(456 , happyReduce_456),-	(457 , happyReduce_457),-	(458 , happyReduce_458),-	(459 , happyReduce_459),-	(460 , happyReduce_460),-	(461 , happyReduce_461),-	(462 , happyReduce_462),-	(463 , happyReduce_463),-	(464 , happyReduce_464),-	(465 , happyReduce_465),-	(466 , happyReduce_466),-	(467 , happyReduce_467),-	(468 , happyReduce_468),-	(469 , happyReduce_469),-	(470 , happyReduce_470),-	(471 , happyReduce_471),-	(472 , happyReduce_472),-	(473 , happyReduce_473),-	(474 , happyReduce_474),-	(475 , happyReduce_475),-	(476 , happyReduce_476),-	(477 , happyReduce_477),-	(478 , happyReduce_478),-	(479 , happyReduce_479),-	(480 , happyReduce_480),-	(481 , happyReduce_481),-	(482 , happyReduce_482),-	(483 , happyReduce_483),-	(484 , happyReduce_484),-	(485 , happyReduce_485),-	(486 , happyReduce_486),-	(487 , happyReduce_487),-	(488 , happyReduce_488),-	(489 , happyReduce_489),-	(490 , happyReduce_490),-	(491 , happyReduce_491),-	(492 , happyReduce_492),-	(493 , happyReduce_493),-	(494 , happyReduce_494),-	(495 , happyReduce_495),-	(496 , happyReduce_496),-	(497 , happyReduce_497),-	(498 , happyReduce_498),-	(499 , happyReduce_499),-	(500 , happyReduce_500),-	(501 , happyReduce_501),-	(502 , happyReduce_502),-	(503 , happyReduce_503),-	(504 , happyReduce_504),-	(505 , happyReduce_505),-	(506 , happyReduce_506),-	(507 , happyReduce_507),-	(508 , happyReduce_508),-	(509 , happyReduce_509),-	(510 , happyReduce_510),-	(511 , happyReduce_511),-	(512 , happyReduce_512),-	(513 , happyReduce_513),-	(514 , happyReduce_514),-	(515 , happyReduce_515),-	(516 , happyReduce_516),-	(517 , happyReduce_517),-	(518 , happyReduce_518),-	(519 , happyReduce_519),-	(520 , happyReduce_520),-	(521 , happyReduce_521),-	(522 , happyReduce_522),-	(523 , happyReduce_523),-	(524 , happyReduce_524),-	(525 , happyReduce_525),-	(526 , happyReduce_526),-	(527 , happyReduce_527),-	(528 , happyReduce_528),-	(529 , happyReduce_529),-	(530 , happyReduce_530),-	(531 , happyReduce_531),-	(532 , happyReduce_532),-	(533 , happyReduce_533),-	(534 , happyReduce_534),-	(535 , happyReduce_535),-	(536 , happyReduce_536),-	(537 , happyReduce_537),-	(538 , happyReduce_538),-	(539 , happyReduce_539),-	(540 , happyReduce_540),-	(541 , happyReduce_541),-	(542 , happyReduce_542),-	(543 , happyReduce_543),-	(544 , happyReduce_544),-	(545 , happyReduce_545),-	(546 , happyReduce_546),-	(547 , happyReduce_547),-	(548 , happyReduce_548),-	(549 , happyReduce_549),-	(550 , happyReduce_550),-	(551 , happyReduce_551),-	(552 , happyReduce_552),-	(553 , happyReduce_553),-	(554 , happyReduce_554),-	(555 , happyReduce_555),-	(556 , happyReduce_556),-	(557 , happyReduce_557),-	(558 , happyReduce_558),-	(559 , happyReduce_559),-	(560 , happyReduce_560),-	(561 , happyReduce_561),-	(562 , happyReduce_562),-	(563 , happyReduce_563),-	(564 , happyReduce_564),-	(565 , happyReduce_565),-	(566 , happyReduce_566),-	(567 , happyReduce_567),-	(568 , happyReduce_568),-	(569 , happyReduce_569),-	(570 , happyReduce_570),-	(571 , happyReduce_571),-	(572 , happyReduce_572),-	(573 , happyReduce_573),-	(574 , happyReduce_574),-	(575 , happyReduce_575),-	(576 , happyReduce_576),-	(577 , happyReduce_577),-	(578 , happyReduce_578),-	(579 , happyReduce_579),-	(580 , happyReduce_580),-	(581 , happyReduce_581),-	(582 , happyReduce_582),-	(583 , happyReduce_583),-	(584 , happyReduce_584),-	(585 , happyReduce_585),-	(586 , happyReduce_586),-	(587 , happyReduce_587),-	(588 , happyReduce_588),-	(589 , happyReduce_589),-	(590 , happyReduce_590),-	(591 , happyReduce_591),-	(592 , happyReduce_592),-	(593 , happyReduce_593),-	(594 , happyReduce_594),-	(595 , happyReduce_595),-	(596 , happyReduce_596),-	(597 , happyReduce_597),-	(598 , happyReduce_598),-	(599 , happyReduce_599),-	(600 , happyReduce_600),-	(601 , happyReduce_601),-	(602 , happyReduce_602),-	(603 , happyReduce_603),-	(604 , happyReduce_604),-	(605 , happyReduce_605),-	(606 , happyReduce_606),-	(607 , happyReduce_607),-	(608 , happyReduce_608),-	(609 , happyReduce_609),-	(610 , happyReduce_610),-	(611 , happyReduce_611),-	(612 , happyReduce_612),-	(613 , happyReduce_613),-	(614 , happyReduce_614),-	(615 , happyReduce_615),-	(616 , happyReduce_616),-	(617 , happyReduce_617),-	(618 , happyReduce_618),-	(619 , happyReduce_619),-	(620 , happyReduce_620),-	(621 , happyReduce_621),-	(622 , happyReduce_622),-	(623 , happyReduce_623),-	(624 , happyReduce_624),-	(625 , happyReduce_625),-	(626 , happyReduce_626),-	(627 , happyReduce_627),-	(628 , happyReduce_628),-	(629 , happyReduce_629),-	(630 , happyReduce_630),-	(631 , happyReduce_631),-	(632 , happyReduce_632),-	(633 , happyReduce_633),-	(634 , happyReduce_634),-	(635 , happyReduce_635),-	(636 , happyReduce_636),-	(637 , happyReduce_637),-	(638 , happyReduce_638),-	(639 , happyReduce_639),-	(640 , happyReduce_640),-	(641 , happyReduce_641),-	(642 , happyReduce_642),-	(643 , happyReduce_643),-	(644 , happyReduce_644),-	(645 , happyReduce_645),-	(646 , happyReduce_646),-	(647 , happyReduce_647),-	(648 , happyReduce_648),-	(649 , happyReduce_649),-	(650 , happyReduce_650),-	(651 , happyReduce_651),-	(652 , happyReduce_652),-	(653 , happyReduce_653),-	(654 , happyReduce_654),-	(655 , happyReduce_655),-	(656 , happyReduce_656),-	(657 , happyReduce_657),-	(658 , happyReduce_658),-	(659 , happyReduce_659),-	(660 , happyReduce_660),-	(661 , happyReduce_661),-	(662 , happyReduce_662),-	(663 , happyReduce_663),-	(664 , happyReduce_664),-	(665 , happyReduce_665),-	(666 , happyReduce_666),-	(667 , happyReduce_667),-	(668 , happyReduce_668),-	(669 , happyReduce_669),-	(670 , happyReduce_670),-	(671 , happyReduce_671),-	(672 , happyReduce_672),-	(673 , happyReduce_673),-	(674 , happyReduce_674),-	(675 , happyReduce_675),-	(676 , happyReduce_676),-	(677 , happyReduce_677),-	(678 , happyReduce_678),-	(679 , happyReduce_679),-	(680 , happyReduce_680),-	(681 , happyReduce_681),-	(682 , happyReduce_682),-	(683 , happyReduce_683),-	(684 , happyReduce_684),-	(685 , happyReduce_685),-	(686 , happyReduce_686),-	(687 , happyReduce_687),-	(688 , happyReduce_688),-	(689 , happyReduce_689),-	(690 , happyReduce_690),-	(691 , happyReduce_691),-	(692 , happyReduce_692),-	(693 , happyReduce_693),-	(694 , happyReduce_694),-	(695 , happyReduce_695),-	(696 , happyReduce_696),-	(697 , happyReduce_697),-	(698 , happyReduce_698),-	(699 , happyReduce_699),-	(700 , happyReduce_700),-	(701 , happyReduce_701),-	(702 , happyReduce_702),-	(703 , happyReduce_703),-	(704 , happyReduce_704),-	(705 , happyReduce_705),-	(706 , happyReduce_706),-	(707 , happyReduce_707),-	(708 , happyReduce_708),-	(709 , happyReduce_709),-	(710 , happyReduce_710),-	(711 , happyReduce_711),-	(712 , happyReduce_712),-	(713 , happyReduce_713),-	(714 , happyReduce_714),-	(715 , happyReduce_715),-	(716 , happyReduce_716),-	(717 , happyReduce_717),-	(718 , happyReduce_718),-	(719 , happyReduce_719),-	(720 , happyReduce_720),-	(721 , happyReduce_721),-	(722 , happyReduce_722),-	(723 , happyReduce_723),-	(724 , happyReduce_724),-	(725 , happyReduce_725),-	(726 , happyReduce_726)-	]--happy_n_terms = 148 :: Int-happy_n_nonterms = 253 :: Int--happyReduce_11 = happySpecReduce_2  0# happyReduction_11-happyReduction_11 happy_x_2-	happy_x_1-	 =  case happyOut18 happy_x_1 of { happy_var_1 -> -	case happyOut15 happy_x_2 of { happy_var_2 -> -	happyIn14-		 (let (os,ss,l) = happy_var_1 in map (\x -> x os ss l) happy_var_2-	)}}--happyReduce_12 = happySpecReduce_2  1# happyReduction_12-happyReduction_12 happy_x_2-	happy_x_1-	 =  case happyOut22 happy_x_1 of { happy_var_1 -> -	case happyOut15 happy_x_2 of { happy_var_2 -> -	happyIn15-		 (happy_var_1 : happy_var_2-	)}}--happyReduce_13 = happySpecReduce_1  1# happyReduction_13-happyReduction_13 happy_x_1-	 =  case happyOut22 happy_x_1 of { happy_var_1 -> -	happyIn15-		 ([happy_var_1]-	)}--happyReduce_14 = happyMonadReduce 2# 2# happyReduction_14-happyReduction_14 (happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut18 happy_x_1 of { happy_var_1 -> -	case happyOut17 happy_x_2 of { happy_var_2 -> -	( checkPageModule happy_var_2 happy_var_1)}}-	) (\r -> happyReturn (happyIn16 r))--happyReduce_15 = happyMonadReduce 5# 2# happyReduction_15-happyReduction_15 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut18 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 XCodeTagOpen) -> -	case happyOut22 happy_x_3 of { happy_var_3 -> -	case happyOutTok happy_x_4 of { (Loc happy_var_4 XCodeTagClose) -> -	case happyOut17 happy_x_5 of { happy_var_5 -> -	( let (os,ss,l) = happy_var_1 in checkHybridModule happy_var_5 (happy_var_3 os ss l) happy_var_2 happy_var_4)}}}}}-	) (\r -> happyReturn (happyIn16 r))--happyReduce_16 = happySpecReduce_2  2# happyReduction_16-happyReduction_16 happy_x_2-	happy_x_1-	 =  case happyOut18 happy_x_1 of { happy_var_1 -> -	case happyOut22 happy_x_2 of { happy_var_2 -> -	happyIn16-		 (let (os,ss,l) = happy_var_1 in happy_var_2 os ss l-	)}}--happyReduce_17 = happyMonadReduce 9# 3# happyReduction_17-happyReduction_17 (happy_x_9 `HappyStk`-	happy_x_8 `HappyStk`-	happy_x_7 `HappyStk`-	happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 XStdTagOpen) -> -	case happyOut182 happy_x_2 of { happy_var_2 -> -	case happyOut185 happy_x_3 of { happy_var_3 -> -	case happyOut187 happy_x_4 of { happy_var_4 -> -	case happyOutTok happy_x_5 of { (Loc happy_var_5 XStdTagClose) -> -	case happyOut180 happy_x_6 of { happy_var_6 -> -	case happyOutTok happy_x_7 of { (Loc happy_var_7 XCloseTagOpen) -> -	case happyOut182 happy_x_8 of { happy_var_8 -> -	case happyOutTok happy_x_9 of { (Loc happy_var_9 XStdTagClose) -> -	( do { n <- checkEqNames happy_var_2 happy_var_8;-                                                                       let { cn = reverse happy_var_6;-                                                                             as = reverse happy_var_3; };-                                                                       return $ XTag (happy_var_1 <^^> happy_var_9 <** [happy_var_1,happy_var_5,happy_var_7,happy_var_9]) n as happy_var_4 cn })}}}}}}}}}-	) (\r -> happyReturn (happyIn17 r))--happyReduce_18 = happyReduce 5# 3# happyReduction_18-happyReduction_18 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (Loc happy_var_1 XStdTagOpen) -> -	case happyOut182 happy_x_2 of { happy_var_2 -> -	case happyOut185 happy_x_3 of { happy_var_3 -> -	case happyOut187 happy_x_4 of { happy_var_4 -> -	case happyOutTok happy_x_5 of { (Loc happy_var_5 XEmptyTagClose) -> -	happyIn17-		 (XETag (happy_var_1 <^^> happy_var_5 <** [happy_var_1,happy_var_5]) happy_var_2 (reverse happy_var_3) happy_var_4-	) `HappyStk` happyRest}}}}}--happyReduce_19 = happySpecReduce_3  4# happyReduction_19-happyReduction_19 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut247 happy_x_1 of { happy_var_1 -> -	case happyOut19 happy_x_2 of { happy_var_2 -> -	case happyOut248 happy_x_3 of { happy_var_3 -> -	happyIn18-		 (let (os,ss,ml) = happy_var_2 in (os,happy_var_1:ss++[happy_var_3],happy_var_1 <^^> happy_var_3)-	)}}}--happyReduce_20 = happySpecReduce_3  5# happyReduction_20-happyReduction_20 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut20 happy_x_1 of { happy_var_1 -> -	case happyOut28 happy_x_2 of { happy_var_2 -> -	case happyOut19 happy_x_3 of { happy_var_3 -> -	happyIn19-		 (let (os,ss,ml) = happy_var_3;-                                                             ss' = reverse happy_var_2 ++ ss;-                                                             l'  = case happy_var_2 of-                                                                    [] -> ann happy_var_1-                                                                    _  -> ann happy_var_1 <++> nIS (last happy_var_2);-                                                         in (happy_var_1 : os, ss', Just $ l'  <+?> ml)-	)}}}--happyReduce_21 = happySpecReduce_0  5# happyReduction_21-happyReduction_21  =  happyIn19-		 (([],[],Nothing)-	)--happyReduce_22 = happyReduce 4# 6# happyReduction_22-happyReduction_22 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (Loc happy_var_1 LANGUAGE) -> -	case happyOut21 happy_x_2 of { happy_var_2 -> -	case happyOut28 happy_x_3 of { happy_var_3 -> -	case happyOutTok happy_x_4 of { (Loc happy_var_4 PragmaEnd) -> -	happyIn20-		 (LanguagePragma (happy_var_1 <^^> happy_var_4 <** (happy_var_1:snd happy_var_2 ++ reverse happy_var_3 ++ [happy_var_4])) (fst happy_var_2)-	) `HappyStk` happyRest}}}}--happyReduce_23 = happySpecReduce_3  6# happyReduction_23-happyReduction_23 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> -	case happyOut28 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> -	happyIn20-		 (let Loc l (OPTIONS (mc, s)) = happy_var_1-                                                      in OptionsPragma (l <^^> happy_var_3 <** (l:reverse happy_var_2 ++ [happy_var_3])) (readTool mc) s-	)}}}--happyReduce_24 = happySpecReduce_3  6# happyReduction_24-happyReduction_24 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 ANN) -> -	case happyOut94 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> -	happyIn20-		 (AnnModulePragma (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2-	)}}}--happyReduce_25 = happySpecReduce_3  7# happyReduction_25-happyReduction_25 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut21 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> -	case happyOut238 happy_x_3 of { happy_var_3 -> -	happyIn21-		 ((fst happy_var_1 ++ [happy_var_3], snd happy_var_1 ++ [happy_var_2])-	)}}}--happyReduce_26 = happySpecReduce_2  7# happyReduction_26-happyReduction_26 happy_x_2-	happy_x_1-	 =  case happyOut238 happy_x_2 of { happy_var_2 -> -	happyIn21-		 (([happy_var_2],[])-	)}--happyReduce_27 = happySpecReduce_2  8# happyReduction_27-happyReduction_27 happy_x_2-	happy_x_1-	 =  case happyOut23 happy_x_1 of { happy_var_1 -> -	case happyOut25 happy_x_2 of { happy_var_2 -> -	happyIn22-		 (let (is,ds,ss1,inf) = happy_var_2-                 in \os ss l -> Module (l <++> inf <** (ss ++ ss1)) happy_var_1 os is ds-	)}}--happyReduce_28 = happyReduce 5# 9# happyReduction_28-happyReduction_28 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Module) -> -	case happyOut256 happy_x_2 of { happy_var_2 -> -	case happyOut24 happy_x_3 of { happy_var_3 -> -	case happyOut29 happy_x_4 of { happy_var_4 -> -	case happyOutTok happy_x_5 of { (Loc happy_var_5 KW_Where) -> -	happyIn23-		 (Just $ ModuleHead (happy_var_1 <^^> happy_var_5 <** [happy_var_1,happy_var_5]) happy_var_2 happy_var_3 happy_var_4-	) `HappyStk` happyRest}}}}}--happyReduce_29 = happySpecReduce_0  9# happyReduction_29-happyReduction_29  =  happyIn23-		 (Nothing-	)--happyReduce_30 = happySpecReduce_3  10# happyReduction_30-happyReduction_30 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 DEPRECATED) -> -	case happyOutTok happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> -	happyIn24-		 (let Loc l (StringTok (s,_)) = happy_var_2 in Just $ DeprText (happy_var_1 <^^> happy_var_3 <** [happy_var_1,l,happy_var_3]) s-	)}}}--happyReduce_31 = happySpecReduce_3  10# happyReduction_31-happyReduction_31 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 WARNING) -> -	case happyOutTok happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> -	happyIn24-		 (let Loc l (StringTok (s,_)) = happy_var_2 in Just $ WarnText (happy_var_1 <^^> happy_var_3 <** [happy_var_1,l,happy_var_3]) s-	)}}}--happyReduce_32 = happySpecReduce_0  10# happyReduction_32-happyReduction_32  =  happyIn24-		 (Nothing-	)--happyReduce_33 = happySpecReduce_3  11# happyReduction_33-happyReduction_33 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftCurly) -> -	case happyOut26 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightCurly) -> -	happyIn25-		 (let (is,ds,ss) = happy_var_2 in (is,ds,happy_var_1:ss ++ [happy_var_3], happy_var_1 <^^> happy_var_3)-	)}}}--happyReduce_34 = happyReduce 4# 11# happyReduction_34-happyReduction_34 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut247 happy_x_1 of { happy_var_1 -> -	case happyOut26 happy_x_2 of { happy_var_2 -> -	case happyOut248 happy_x_3 of { happy_var_3 -> -	happyIn25-		 (let (is,ds,ss) = happy_var_2 in (is,ds,happy_var_1:ss ++ [happy_var_3], happy_var_1 <^^> happy_var_3)-	) `HappyStk` happyRest}}}--happyReduce_35 = happyReduce 4# 12# happyReduction_35-happyReduction_35 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut28 happy_x_1 of { happy_var_1 -> -	case happyOut35 happy_x_2 of { happy_var_2 -> -	case happyOut27 happy_x_3 of { happy_var_3 -> -	case happyOut53 happy_x_4 of { happy_var_4 -> -	happyIn26-		 ((reverse (fst happy_var_2), fst happy_var_4, reverse happy_var_1 ++ snd happy_var_2 ++ reverse happy_var_3 ++ snd happy_var_4)-	) `HappyStk` happyRest}}}}--happyReduce_36 = happySpecReduce_2  12# happyReduction_36-happyReduction_36 happy_x_2-	happy_x_1-	 =  case happyOut28 happy_x_1 of { happy_var_1 -> -	case happyOut53 happy_x_2 of { happy_var_2 -> -	happyIn26-		 (([], fst happy_var_2, reverse happy_var_1 ++ snd happy_var_2)-	)}}--happyReduce_37 = happySpecReduce_3  12# happyReduction_37-happyReduction_37 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut28 happy_x_1 of { happy_var_1 -> -	case happyOut35 happy_x_2 of { happy_var_2 -> -	case happyOut28 happy_x_3 of { happy_var_3 -> -	happyIn26-		 ((reverse (fst happy_var_2), [], reverse happy_var_1 ++ snd happy_var_2 ++ reverse happy_var_3)-	)}}}--happyReduce_38 = happySpecReduce_1  12# happyReduction_38-happyReduction_38 happy_x_1-	 =  case happyOut28 happy_x_1 of { happy_var_1 -> -	happyIn26-		 (([], [], reverse happy_var_1)-	)}--happyReduce_39 = happySpecReduce_2  13# happyReduction_39-happyReduction_39 happy_x_2-	happy_x_1-	 =  case happyOut28 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 SemiColon) -> -	happyIn27-		 (happy_var_2 : happy_var_1-	)}}--happyReduce_40 = happySpecReduce_1  14# happyReduction_40-happyReduction_40 happy_x_1-	 =  case happyOut27 happy_x_1 of { happy_var_1 -> -	happyIn28-		 (happy_var_1-	)}--happyReduce_41 = happySpecReduce_0  14# happyReduction_41-happyReduction_41  =  happyIn28-		 ([]-	)--happyReduce_42 = happySpecReduce_1  15# happyReduction_42-happyReduction_42 happy_x_1-	 =  case happyOut30 happy_x_1 of { happy_var_1 -> -	happyIn29-		 (Just happy_var_1-	)}--happyReduce_43 = happySpecReduce_0  15# happyReduction_43-happyReduction_43  =  happyIn29-		 (Nothing-	)--happyReduce_44 = happyReduce 4# 16# happyReduction_44-happyReduction_44 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> -	case happyOut32 happy_x_2 of { happy_var_2 -> -	case happyOut31 happy_x_3 of { happy_var_3 -> -	case happyOutTok happy_x_4 of { (Loc happy_var_4 RightParen) -> -	happyIn30-		 (ExportSpecList (happy_var_1 <^^> happy_var_4 <** (happy_var_1:reverse (snd happy_var_2) ++ happy_var_3 ++ [happy_var_4])) (reverse (fst happy_var_2))-	) `HappyStk` happyRest}}}}--happyReduce_45 = happySpecReduce_3  16# happyReduction_45-happyReduction_45 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> -	case happyOut31 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> -	happyIn30-		 (ExportSpecList (happy_var_1 <^^> happy_var_3 <** (happy_var_1:happy_var_2++[happy_var_3])) []-	)}}}--happyReduce_46 = happySpecReduce_1  17# happyReduction_46-happyReduction_46 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Comma) -> -	happyIn31-		 ([happy_var_1]-	)}--happyReduce_47 = happySpecReduce_0  17# happyReduction_47-happyReduction_47  =  happyIn31-		 ([  ]-	)--happyReduce_48 = happySpecReduce_3  18# happyReduction_48-happyReduction_48 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut32 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> -	case happyOut33 happy_x_3 of { happy_var_3 -> -	happyIn32-		 ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)-	)}}}--happyReduce_49 = happySpecReduce_1  18# happyReduction_49-happyReduction_49 happy_x_1-	 =  case happyOut33 happy_x_1 of { happy_var_1 -> -	happyIn32-		 (([happy_var_1],[])-	)}--happyReduce_50 = happySpecReduce_1  19# happyReduction_50-happyReduction_50 happy_x_1-	 =  case happyOut220 happy_x_1 of { happy_var_1 -> -	happyIn33-		 (EVar (ann happy_var_1) happy_var_1-	)}--happyReduce_51 = happyMonadReduce 2# 19# happyReduction_51-happyReduction_51 (happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> -	case happyOut34 happy_x_2 of { happy_var_2 -> -	( do { checkEnabled ExplicitNamespaces;-                                                      return (EAbs (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1, srcInfoSpan (ann happy_var_2)]) (TypeNamespace (nIS happy_var_1 <** [happy_var_1])) happy_var_2) })}}-	) (\r -> happyReturn (happyIn33 r))--happyReduce_52 = happySpecReduce_1  19# happyReduction_52-happyReduction_52 happy_x_1-	 =  case happyOut258 happy_x_1 of { happy_var_1 -> -	happyIn33-		 (EAbs (ann happy_var_1) (NoNamespace (ann happy_var_1)) happy_var_1-	)}--happyReduce_53 = happyReduce 4# 19# happyReduction_53-happyReduction_53 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut258 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 DotDot) -> -	case happyOutTok happy_x_4 of { (Loc happy_var_4 RightParen) -> -	happyIn33-		 (EThingAll  (ann happy_var_1 <++> nIS happy_var_4 <** [happy_var_2,happy_var_3,happy_var_4]) happy_var_1-	) `HappyStk` happyRest}}}}--happyReduce_54 = happySpecReduce_3  19# happyReduction_54-happyReduction_54 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut258 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> -	happyIn33-		 (EThingWith (ann happy_var_1 <++> nIS happy_var_3 <** [happy_var_2,happy_var_3])    happy_var_1 []-	)}}}--happyReduce_55 = happyReduce 4# 19# happyReduction_55-happyReduction_55 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut258 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> -	case happyOut47 happy_x_3 of { happy_var_3 -> -	case happyOutTok happy_x_4 of { (Loc happy_var_4 RightParen) -> -	happyIn33-		 (EThingWith (ann happy_var_1 <++> nIS happy_var_4 <** (happy_var_2:reverse (snd happy_var_3) ++ [happy_var_4])) happy_var_1 (reverse (fst happy_var_3))-	) `HappyStk` happyRest}}}}--happyReduce_56 = happySpecReduce_2  19# happyReduction_56-happyReduction_56 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Module) -> -	case happyOut256 happy_x_2 of { happy_var_2 -> -	happyIn33-		 (EModuleContents (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2-	)}}--happyReduce_57 = happyMonadReduce 2# 19# happyReduction_57-happyReduction_57 (happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Pattern) -> -	case happyOut223 happy_x_2 of { happy_var_2 -> -	(  do { checkEnabled PatternSynonyms;-                                                      return $ EAbs (nIS happy_var_1 <++> (ann happy_var_2) <** [happy_var_1])-                                                                 (PatternNamespace (nIS happy_var_1)) happy_var_2 })}}-	) (\r -> happyReturn (happyIn33 r))--happyReduce_58 = happySpecReduce_1  20# happyReduction_58-happyReduction_58 happy_x_1-	 =  case happyOut220 happy_x_1 of { happy_var_1 -> -	happyIn34-		 (happy_var_1-	)}--happyReduce_59 = happySpecReduce_1  20# happyReduction_59-happyReduction_59 happy_x_1-	 =  case happyOut237 happy_x_1 of { happy_var_1 -> -	happyIn34-		 (happy_var_1-	)}--happyReduce_60 = happySpecReduce_3  21# happyReduction_60-happyReduction_60 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut35 happy_x_1 of { happy_var_1 -> -	case happyOut27 happy_x_2 of { happy_var_2 -> -	case happyOut36 happy_x_3 of { happy_var_3 -> -	happyIn35-		 ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ reverse happy_var_2)-	)}}}--happyReduce_61 = happySpecReduce_1  21# happyReduction_61-happyReduction_61 happy_x_1-	 =  case happyOut36 happy_x_1 of { happy_var_1 -> -	happyIn35-		 (([happy_var_1],[])-	)}--happyReduce_62 = happyReduce 8# 22# happyReduction_62-happyReduction_62 (happy_x_8 `HappyStk`-	happy_x_7 `HappyStk`-	happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Import) -> -	case happyOut37 happy_x_2 of { happy_var_2 -> -	case happyOut38 happy_x_3 of { happy_var_3 -> -	case happyOut39 happy_x_4 of { happy_var_4 -> -	case happyOut40 happy_x_5 of { happy_var_5 -> -	case happyOut256 happy_x_6 of { happy_var_6 -> -	case happyOut41 happy_x_7 of { happy_var_7 -> -	case happyOut42 happy_x_8 of { happy_var_8 -> -	happyIn36-		 (let { (mmn,ss,ml) = happy_var_7 ;-                                      l = nIS happy_var_1 <++> ann happy_var_6 <+?> ml <+?> (fmap ann) happy_var_8 <** (happy_var_1:snd happy_var_2 ++ snd happy_var_3 ++ snd happy_var_4 ++ snd happy_var_5 ++ ss)}-                                 in ImportDecl l happy_var_6 (fst happy_var_4) (fst happy_var_2) (fst happy_var_3) (fst happy_var_5) mmn happy_var_8-	) `HappyStk` happyRest}}}}}}}}--happyReduce_63 = happySpecReduce_2  23# happyReduction_63-happyReduction_63 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 SOURCE) -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 PragmaEnd) -> -	happyIn37-		 ((True,[happy_var_1,happy_var_2])-	)}}--happyReduce_64 = happySpecReduce_0  23# happyReduction_64-happyReduction_64  =  happyIn37-		 ((False,[])-	)--happyReduce_65 = happyMonadReduce 1# 24# happyReduction_65-happyReduction_65 (happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Safe) -> -	( do { checkEnabledOneOf [Safe, SafeImports, Trustworthy] ;-                                                 return (True, [happy_var_1]) })}-	) (\r -> happyReturn (happyIn38 r))--happyReduce_66 = happySpecReduce_0  24# happyReduction_66-happyReduction_66  =  happyIn38-		 ((False, [])-	)--happyReduce_67 = happySpecReduce_1  25# happyReduction_67-happyReduction_67 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Qualified) -> -	happyIn39-		 ((True,[happy_var_1])-	)}--happyReduce_68 = happySpecReduce_0  25# happyReduction_68-happyReduction_68  =  happyIn39-		 ((False, [])-	)--happyReduce_69 = happyMonadReduce 1# 26# happyReduction_69-happyReduction_69 (happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { happy_var_1 -> -	( do { checkEnabled PackageImports ;-                                                      let { Loc l (StringTok (s,_)) = happy_var_1 } ;-                                                      return $ (Just s,[l]) })}-	) (\r -> happyReturn (happyIn40 r))--happyReduce_70 = happySpecReduce_0  26# happyReduction_70-happyReduction_70  =  happyIn40-		 ((Nothing,[])-	)--happyReduce_71 = happySpecReduce_2  27# happyReduction_71-happyReduction_71 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_As) -> -	case happyOut256 happy_x_2 of { happy_var_2 -> -	happyIn41-		 ((Just happy_var_2,[happy_var_1],Just (nIS happy_var_1 <++> ann happy_var_2))-	)}}--happyReduce_72 = happySpecReduce_0  27# happyReduction_72-happyReduction_72  =  happyIn41-		 ((Nothing,[],Nothing)-	)--happyReduce_73 = happySpecReduce_1  28# happyReduction_73-happyReduction_73 happy_x_1-	 =  case happyOut43 happy_x_1 of { happy_var_1 -> -	happyIn42-		 (Just happy_var_1-	)}--happyReduce_74 = happySpecReduce_0  28# happyReduction_74-happyReduction_74  =  happyIn42-		 (Nothing-	)--happyReduce_75 = happyReduce 5# 29# happyReduction_75-happyReduction_75 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut44 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> -	case happyOut45 happy_x_3 of { happy_var_3 -> -	case happyOut31 happy_x_4 of { happy_var_4 -> -	case happyOutTok happy_x_5 of { (Loc happy_var_5 RightParen) -> -	happyIn43-		 (let {(b,ml,s) = happy_var_1 ;-                                                      l = (ml <?+> (happy_var_2 <^^> happy_var_5)) <** (s ++ happy_var_2:reverse (snd happy_var_3) ++ happy_var_4 ++ [happy_var_5])}-                                                 in ImportSpecList l b (reverse (fst happy_var_3))-	) `HappyStk` happyRest}}}}}--happyReduce_76 = happyReduce 4# 29# happyReduction_76-happyReduction_76 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut44 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> -	case happyOut31 happy_x_3 of { happy_var_3 -> -	case happyOutTok happy_x_4 of { (Loc happy_var_4 RightParen) -> -	happyIn43-		 (let {(b,ml,s) = happy_var_1 ; l = (ml <?+> (happy_var_2 <^^> happy_var_4)) <** (s ++ happy_var_2:happy_var_3 ++ [happy_var_4])}-                                                 in ImportSpecList l b []-	) `HappyStk` happyRest}}}}--happyReduce_77 = happySpecReduce_1  30# happyReduction_77-happyReduction_77 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Hiding) -> -	happyIn44-		 ((True,Just (nIS happy_var_1),[happy_var_1])-	)}--happyReduce_78 = happySpecReduce_0  30# happyReduction_78-happyReduction_78  =  happyIn44-		 ((False,Nothing,[])-	)--happyReduce_79 = happySpecReduce_3  31# happyReduction_79-happyReduction_79 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut45 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> -	case happyOut46 happy_x_3 of { happy_var_3 -> -	happyIn45-		 ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)-	)}}}--happyReduce_80 = happySpecReduce_1  31# happyReduction_80-happyReduction_80 happy_x_1-	 =  case happyOut46 happy_x_1 of { happy_var_1 -> -	happyIn45-		 (([happy_var_1],[])-	)}--happyReduce_81 = happySpecReduce_1  32# happyReduction_81-happyReduction_81 happy_x_1-	 =  case happyOut218 happy_x_1 of { happy_var_1 -> -	happyIn46-		 (IVar (ann happy_var_1) happy_var_1-	)}--happyReduce_82 = happyMonadReduce 2# 32# happyReduction_82-happyReduction_82 (happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> -	case happyOut218 happy_x_2 of { happy_var_2 -> -	( do { checkEnabled ExplicitNamespaces;-                                                      return (IAbs (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1, srcInfoSpan (ann happy_var_2)]) (TypeNamespace (nIS happy_var_1 <** [happy_var_1])) happy_var_2) })}}-	) (\r -> happyReturn (happyIn46 r))--happyReduce_83 = happyMonadReduce 2# 32# happyReduction_83-happyReduction_83 (happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Pattern) -> -	case happyOut222 happy_x_2 of { happy_var_2 -> -	( do { checkEnabled PatternSynonyms;-                                                      return (IAbs (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1, srcInfoSpan (ann happy_var_2)]) (PatternNamespace (nIS happy_var_1 <** [happy_var_1])) happy_var_2) })}}-	) (\r -> happyReturn (happyIn46 r))--happyReduce_84 = happySpecReduce_1  32# happyReduction_84-happyReduction_84 happy_x_1-	 =  case happyOut257 happy_x_1 of { happy_var_1 -> -	happyIn46-		 (IAbs (ann happy_var_1) (NoNamespace (ann happy_var_1)) happy_var_1-	)}--happyReduce_85 = happyReduce 4# 32# happyReduction_85-happyReduction_85 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut257 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 DotDot) -> -	case happyOutTok happy_x_4 of { (Loc happy_var_4 RightParen) -> -	happyIn46-		 (IThingAll  (ann happy_var_1 <++> nIS happy_var_4 <** [happy_var_2,happy_var_3,happy_var_4]) happy_var_1-	) `HappyStk` happyRest}}}}--happyReduce_86 = happySpecReduce_3  32# happyReduction_86-happyReduction_86 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut257 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> -	happyIn46-		 (IThingWith (ann happy_var_1 <++> nIS happy_var_3 <** [happy_var_2,happy_var_3])    happy_var_1 []-	)}}}--happyReduce_87 = happyReduce 4# 32# happyReduction_87-happyReduction_87 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut257 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> -	case happyOut47 happy_x_3 of { happy_var_3 -> -	case happyOutTok happy_x_4 of { (Loc happy_var_4 RightParen) -> -	happyIn46-		 (IThingWith (ann happy_var_1 <++> nIS happy_var_4 <** (happy_var_2:reverse (snd happy_var_3) ++ [happy_var_4])) happy_var_1 (reverse (fst happy_var_3))-	) `HappyStk` happyRest}}}}--happyReduce_88 = happySpecReduce_3  33# happyReduction_88-happyReduction_88 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut47 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> -	case happyOut48 happy_x_3 of { happy_var_3 -> -	happyIn47-		 ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)-	)}}}--happyReduce_89 = happySpecReduce_1  33# happyReduction_89-happyReduction_89 happy_x_1-	 =  case happyOut48 happy_x_1 of { happy_var_1 -> -	happyIn47-		 (([happy_var_1],[])-	)}--happyReduce_90 = happySpecReduce_1  34# happyReduction_90-happyReduction_90 happy_x_1-	 =  case happyOut218 happy_x_1 of { happy_var_1 -> -	happyIn48-		 (VarName (ann happy_var_1) happy_var_1-	)}--happyReduce_91 = happySpecReduce_1  34# happyReduction_91-happyReduction_91 happy_x_1-	 =  case happyOut222 happy_x_1 of { happy_var_1 -> -	happyIn48-		 (ConName (ann happy_var_1) happy_var_1-	)}--happyReduce_92 = happySpecReduce_3  35# happyReduction_92-happyReduction_92 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut51 happy_x_1 of { happy_var_1 -> -	case happyOut50 happy_x_2 of { happy_var_2 -> -	case happyOut52 happy_x_3 of { happy_var_3 -> -	happyIn49-		 (let (ops,ss,l) = happy_var_3-                                                 in InfixDecl (ann happy_var_1 <++> l <** (snd happy_var_2 ++ reverse ss)) happy_var_1 (fst happy_var_2) (reverse ops)-	)}}}--happyReduce_93 = happySpecReduce_0  36# happyReduction_93-happyReduction_93  =  happyIn50-		 ((Nothing, [])-	)--happyReduce_94 = happyMonadReduce 1# 36# happyReduction_94-happyReduction_94 (happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { happy_var_1 -> -	( let Loc l (IntTok (i,_)) = happy_var_1 in checkPrec i >>= \i -> return (Just i, [l]))}-	) (\r -> happyReturn (happyIn50 r))--happyReduce_95 = happySpecReduce_1  37# happyReduction_95-happyReduction_95 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Infix) -> -	happyIn51-		 (AssocNone  $ nIS happy_var_1-	)}--happyReduce_96 = happySpecReduce_1  37# happyReduction_96-happyReduction_96 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_InfixL) -> -	happyIn51-		 (AssocLeft  $ nIS happy_var_1-	)}--happyReduce_97 = happySpecReduce_1  37# happyReduction_97-happyReduction_97 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_InfixR) -> -	happyIn51-		 (AssocRight $ nIS happy_var_1-	)}--happyReduce_98 = happySpecReduce_3  38# happyReduction_98-happyReduction_98 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut52 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> -	case happyOut229 happy_x_3 of { happy_var_3 -> -	happyIn52-		 (let (ops,ss,l) = happy_var_1 in (happy_var_3 : ops, happy_var_2 : ss, l <++> ann happy_var_3)-	)}}}--happyReduce_99 = happySpecReduce_1  38# happyReduction_99-happyReduction_99 happy_x_1-	 =  case happyOut229 happy_x_1 of { happy_var_1 -> -	happyIn52-		 (([happy_var_1],[],ann happy_var_1)-	)}--happyReduce_100 = happyMonadReduce 2# 39# happyReduction_100-happyReduction_100 (happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut54 happy_x_1 of { happy_var_1 -> -	case happyOut28 happy_x_2 of { happy_var_2 -> -	( checkRevDecls (fst happy_var_1) >>= \ds -> return (ds, snd happy_var_1 ++ reverse happy_var_2))}}-	) (\r -> happyReturn (happyIn53 r))--happyReduce_101 = happySpecReduce_3  40# happyReduction_101-happyReduction_101 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut54 happy_x_1 of { happy_var_1 -> -	case happyOut27 happy_x_2 of { happy_var_2 -> -	case happyOut55 happy_x_3 of { happy_var_3 -> -	happyIn54-		 ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ reverse happy_var_2)-	)}}}--happyReduce_102 = happySpecReduce_1  40# happyReduction_102-happyReduction_102 happy_x_1-	 =  case happyOut55 happy_x_1 of { happy_var_1 -> -	happyIn54-		 (([happy_var_1],[])-	)}--happyReduce_103 = happyMonadReduce 1# 41# happyReduction_103-happyReduction_103 (happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut56 happy_x_1 of { happy_var_1 -> -	( checkEnabled RoleAnnotations >> return happy_var_1)}-	) (\r -> happyReturn (happyIn55 r))--happyReduce_104 = happyMonadReduce 4# 41# happyReduction_104-happyReduction_104 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> -	case happyOut96 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 Equals) -> -	case happyOut107 happy_x_4 of { happy_var_4 -> -	( do { dh <- checkSimpleType happy_var_2;-                       let {l = nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3]};-                       return (TypeDecl l dh happy_var_4) })}}}}-	) (\r -> happyReturn (happyIn55 r))--happyReduce_105 = happyMonadReduce 5# 41# happyReduction_105-happyReduction_105 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Family) -> -	case happyOut98 happy_x_3 of { happy_var_3 -> -	case happyOut140 happy_x_4 of { happy_var_4 -> -	case happyOut60 happy_x_5 of { happy_var_5 -> -	( do { dh <- checkSimpleType happy_var_3;-                       let {l = nIS happy_var_1 <++> ann happy_var_3 <+?> (fmap ann) (fst happy_var_4) <** (happy_var_1:happy_var_2:snd happy_var_4)};-                       case happy_var_5 of {-                         Nothing    -> return (TypeFamDecl l dh (fst happy_var_4));-                         Just (x,a) -> return (ClosedTypeFamDecl (l <** [a]) dh (fst happy_var_4) x); }})}}}}}-	) (\r -> happyReturn (happyIn55 r))--happyReduce_106 = happyMonadReduce 5# 41# happyReduction_106-happyReduction_106 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Instance) -> -	case happyOut95 happy_x_3 of { happy_var_3 -> -	case happyOutTok happy_x_4 of { (Loc happy_var_4 Equals) -> -	case happyOut107 happy_x_5 of { happy_var_5 -> -	( do { -- no checkSimpleType happy_var_4 since dtype may contain type patterns-                       checkEnabled TypeFamilies ;-                       let {l = nIS happy_var_1 <++> ann happy_var_5 <** [happy_var_1,happy_var_2,happy_var_4]};-                       return (TypeInsDecl l happy_var_3 happy_var_5) })}}}}}-	) (\r -> happyReturn (happyIn55 r))--happyReduce_107 = happyMonadReduce 4# 41# happyReduction_107-happyReduction_107 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut64 happy_x_1 of { happy_var_1 -> -	case happyOut108 happy_x_2 of { happy_var_2 -> -	case happyOut123 happy_x_3 of { happy_var_3 -> -	case happyOut131 happy_x_4 of { happy_var_4 -> -	( do { (cs,dh) <- checkDataHeader happy_var_2;-                       let { (qds,ss,minf) = happy_var_3;-                             l = happy_var_1 <> happy_var_2 <+?> minf <+?> fmap ann happy_var_4 <** ss};-                       checkDataOrNew happy_var_1 qds;-                       return (DataDecl l happy_var_1 cs dh (reverse qds) happy_var_4) })}}}}-	) (\r -> happyReturn (happyIn55 r))--happyReduce_108 = happyMonadReduce 5# 41# happyReduction_108-happyReduction_108 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut64 happy_x_1 of { happy_var_1 -> -	case happyOut108 happy_x_2 of { happy_var_2 -> -	case happyOut140 happy_x_3 of { happy_var_3 -> -	case happyOut119 happy_x_4 of { happy_var_4 -> -	case happyOut131 happy_x_5 of { happy_var_5 -> -	( do { (cs,dh) <- checkDataHeader happy_var_2;-                       let { (gs,ss,minf) = happy_var_4;-                             l = ann happy_var_1 <+?> minf <+?> fmap ann happy_var_5 <** (snd happy_var_3 ++ ss)};-                       checkDataOrNewG happy_var_1 gs;-                       case (gs, fst happy_var_3) of-                        ([], Nothing) -> return (DataDecl l happy_var_1 cs dh [] happy_var_5)-                        _ -> checkEnabled GADTs >> return (GDataDecl l happy_var_1 cs dh (fst happy_var_3) (reverse gs) happy_var_5) })}}}}}-	) (\r -> happyReturn (happyIn55 r))--happyReduce_109 = happyMonadReduce 4# 41# happyReduction_109-happyReduction_109 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Data) -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Family) -> -	case happyOut108 happy_x_3 of { happy_var_3 -> -	case happyOut140 happy_x_4 of { happy_var_4 -> -	( do { (cs,dh) <- checkDataHeader happy_var_3;-                       let {l = nIS happy_var_1 <++> ann happy_var_3 <+?> (fmap ann) (fst happy_var_4) <** (happy_var_1:happy_var_2:snd happy_var_4)};-                       return (DataFamDecl l cs dh (fst happy_var_4)) })}}}}-	) (\r -> happyReturn (happyIn55 r))--happyReduce_110 = happyMonadReduce 5# 41# happyReduction_110-happyReduction_110 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut64 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Instance) -> -	case happyOut107 happy_x_3 of { happy_var_3 -> -	case happyOut123 happy_x_4 of { happy_var_4 -> -	case happyOut131 happy_x_5 of { happy_var_5 -> -	( do { -- (cs,c,t) <- checkDataHeader happy_var_4;-                       checkEnabled TypeFamilies ;-                       let { (qds,ss,minf) = happy_var_4 ;-                             l = happy_var_1 <> happy_var_3 <+?> minf <+?> fmap ann happy_var_5 <** happy_var_2:ss };-                       checkDataOrNew happy_var_1 qds;-                       return (DataInsDecl l happy_var_1 happy_var_3 (reverse qds) happy_var_5) })}}}}}-	) (\r -> happyReturn (happyIn55 r))--happyReduce_111 = happyMonadReduce 6# 41# happyReduction_111-happyReduction_111 (happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut64 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Instance) -> -	case happyOut107 happy_x_3 of { happy_var_3 -> -	case happyOut140 happy_x_4 of { happy_var_4 -> -	case happyOut119 happy_x_5 of { happy_var_5 -> -	case happyOut131 happy_x_6 of { happy_var_6 -> -	( do { -- (cs,c,t) <- checkDataHeader happy_var_4;-                       checkEnabled TypeFamilies ;-                       let {(gs,ss,minf) = happy_var_5;-                            l = ann happy_var_1 <+?> minf <+?> fmap ann happy_var_6 <** (happy_var_2:snd happy_var_4 ++ ss)};-                       checkDataOrNewG happy_var_1 gs;-                       return (GDataInsDecl l happy_var_1 happy_var_3 (fst happy_var_4) (reverse gs) happy_var_6) })}}}}}}-	) (\r -> happyReturn (happyIn55 r))--happyReduce_112 = happyMonadReduce 4# 41# happyReduction_112-happyReduction_112 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Class) -> -	case happyOut108 happy_x_2 of { happy_var_2 -> -	case happyOut116 happy_x_3 of { happy_var_3 -> -	case happyOut141 happy_x_4 of { happy_var_4 -> -	( do { (cs,dh) <- checkClassHeader happy_var_2;-                       let {(fds,ss1,minf1) = happy_var_3;(mcs,ss2,minf2) = happy_var_4} ;-                       let { l = nIS happy_var_1 <++> ann happy_var_2 <+?> minf1 <+?> minf2 <** (happy_var_1:ss1 ++ ss2)} ;-                       return (ClassDecl l cs dh fds mcs) })}}}}-	) (\r -> happyReturn (happyIn55 r))--happyReduce_113 = happyMonadReduce 4# 41# happyReduction_113-happyReduction_113 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Instance) -> -	case happyOut59 happy_x_2 of { happy_var_2 -> -	case happyOut108 happy_x_3 of { happy_var_3 -> -	case happyOut146 happy_x_4 of { happy_var_4 -> -	( do { ih <- checkInstHeader happy_var_3;-                       let {(mis,ss,minf) = happy_var_4};-                       return (InstDecl (nIS happy_var_1 <++> ann happy_var_3 <+?> minf <** (happy_var_1:ss)) happy_var_2 ih mis) })}}}}-	) (\r -> happyReturn (happyIn55 r))--happyReduce_114 = happyMonadReduce 4# 41# happyReduction_114-happyReduction_114 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Deriving) -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Instance) -> -	case happyOut59 happy_x_3 of { happy_var_3 -> -	case happyOut108 happy_x_4 of { happy_var_4 -> -	( do { checkEnabled StandaloneDeriving ;-                       ih <- checkInstHeader happy_var_4;-                       let {l = nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_2]};-                       return (DerivDecl l happy_var_3 ih) })}}}}-	) (\r -> happyReturn (happyIn55 r))--happyReduce_115 = happyReduce 4# 41# happyReduction_115-happyReduction_115 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Default) -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> -	case happyOut65 happy_x_3 of { happy_var_3 -> -	case happyOutTok happy_x_4 of { (Loc happy_var_4 RightParen) -> -	happyIn55-		 (DefaultDecl (happy_var_1 <^^> happy_var_4 <** (happy_var_1:happy_var_2 : snd happy_var_3 ++ [happy_var_4])) (fst happy_var_3)-	) `HappyStk` happyRest}}}}--happyReduce_116 = happyMonadReduce 1# 41# happyReduction_116-happyReduction_116 (happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut159 happy_x_1 of { happy_var_1 -> -	( do-              checkToplevel happy_var_1-              checkExpr happy_var_1 >>= \e -> return (SpliceDecl (ann e) e))}-	) (\r -> happyReturn (happyIn55 r))--happyReduce_117 = happyReduce 5# 41# happyReduction_117-happyReduction_117 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Foreign) -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Import) -> -	case happyOut81 happy_x_3 of { happy_var_3 -> -	case happyOut82 happy_x_4 of { happy_var_4 -> -	case happyOut83 happy_x_5 of { happy_var_5 -> -	happyIn55-		 (let (s,n,t,ss) = happy_var_5 in ForImp (nIS happy_var_1 <++> ann t <** (happy_var_1:happy_var_2:ss)) happy_var_3 happy_var_4 s n t-	) `HappyStk` happyRest}}}}}--happyReduce_118 = happyReduce 4# 41# happyReduction_118-happyReduction_118 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Foreign) -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Export) -> -	case happyOut81 happy_x_3 of { happy_var_3 -> -	case happyOut83 happy_x_4 of { happy_var_4 -> -	happyIn55-		 (let (s,n,t,ss) = happy_var_4 in ForExp (nIS happy_var_1 <++> ann t <** (happy_var_1:happy_var_2:ss)) happy_var_3    s n t-	) `HappyStk` happyRest}}}}--happyReduce_119 = happySpecReduce_3  41# happyReduction_119-happyReduction_119 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 RULES) -> -	case happyOut84 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> -	happyIn55-		 (RulePragmaDecl (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) $ reverse happy_var_2-	)}}}--happyReduce_120 = happySpecReduce_3  41# happyReduction_120-happyReduction_120 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 DEPRECATED) -> -	case happyOut90 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> -	happyIn55-		 (DeprPragmaDecl (happy_var_1 <^^> happy_var_3 <** (happy_var_1:snd happy_var_2++[happy_var_3])) $ reverse (fst happy_var_2)-	)}}}--happyReduce_121 = happySpecReduce_3  41# happyReduction_121-happyReduction_121 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 WARNING) -> -	case happyOut90 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> -	happyIn55-		 (WarnPragmaDecl (happy_var_1 <^^> happy_var_3 <** (happy_var_1:snd happy_var_2++[happy_var_3])) $ reverse (fst happy_var_2)-	)}}}--happyReduce_122 = happySpecReduce_3  41# happyReduction_122-happyReduction_122 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 ANN) -> -	case happyOut94 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> -	happyIn55-		 (AnnPragma      (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2-	)}}}--happyReduce_123 = happySpecReduce_1  41# happyReduction_123-happyReduction_123 happy_x_1-	 =  case happyOut68 happy_x_1 of { happy_var_1 -> -	happyIn55-		 (happy_var_1-	)}--happyReduce_124 = happyMonadReduce 4# 42# happyReduction_124-happyReduction_124 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Role) -> -	case happyOut105 happy_x_3 of { happy_var_3 -> -	case happyOut57 happy_x_4 of { happy_var_4 -> -	( mkRoleAnnotDecl happy_var_1 happy_var_2 happy_var_3 (reverse happy_var_4))}}}}-	) (\r -> happyReturn (happyIn56 r))--happyReduce_125 = happySpecReduce_0  43# happyReduction_125-happyReduction_125  =  happyIn57-		 ([]-	)--happyReduce_126 = happySpecReduce_2  43# happyReduction_126-happyReduction_126 happy_x_2-	happy_x_1-	 =  case happyOut57 happy_x_1 of { happy_var_1 -> -	case happyOut58 happy_x_2 of { happy_var_2 -> -	happyIn57-		 (happy_var_2 : happy_var_1-	)}}--happyReduce_127 = happySpecReduce_1  44# happyReduction_127-happyReduction_127 happy_x_1-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> -	happyIn58-		 (let (VarId v) = unLoc happy_var_1 in (Just v, nIS $ loc happy_var_1)-	)}--happyReduce_128 = happySpecReduce_1  44# happyReduction_128-happyReduction_128 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Underscore) -> -	happyIn58-		 ((Nothing, nIS happy_var_1)-	)}--happyReduce_129 = happySpecReduce_2  45# happyReduction_129-happyReduction_129 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 OVERLAP) -> -	happyIn59-		 (Just (Overlap (nIS happy_var_1))-	)}--happyReduce_130 = happySpecReduce_2  45# happyReduction_130-happyReduction_130 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 INCOHERENT) -> -	happyIn59-		 (Just (Incoherent (nIS happy_var_1))-	)}--happyReduce_131 = happySpecReduce_2  45# happyReduction_131-happyReduction_131 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 NO_OVERLAP) -> -	happyIn59-		 (Just (NoOverlap (nIS happy_var_1))-	)}--happyReduce_132 = happySpecReduce_0  45# happyReduction_132-happyReduction_132  =  happyIn59-		 (Nothing-	)--happyReduce_133 = happySpecReduce_0  46# happyReduction_133-happyReduction_133  =  happyIn60-		 (Nothing-	)--happyReduce_134 = happySpecReduce_2  46# happyReduction_134-happyReduction_134 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Where) -> -	case happyOut61 happy_x_2 of { happy_var_2 -> -	happyIn60-		 (Just (happy_var_2, happy_var_1)-	)}}--happyReduce_135 = happySpecReduce_3  47# happyReduction_135-happyReduction_135 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut62 happy_x_2 of { happy_var_2 -> -	happyIn61-		 (happy_var_2-	)}--happyReduce_136 = happySpecReduce_3  47# happyReduction_136-happyReduction_136 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut62 happy_x_2 of { happy_var_2 -> -	happyIn61-		 (happy_var_2-	)}--happyReduce_137 = happySpecReduce_3  48# happyReduction_137-happyReduction_137 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut62 happy_x_1 of { happy_var_1 -> -	case happyOut63 happy_x_3 of { happy_var_3 -> -	happyIn62-		 (happy_var_1 ++ [happy_var_3]-	)}}--happyReduce_138 = happySpecReduce_2  48# happyReduction_138-happyReduction_138 happy_x_2-	happy_x_1-	 =  case happyOut62 happy_x_1 of { happy_var_1 -> -	happyIn62-		 (happy_var_1-	)}--happyReduce_139 = happySpecReduce_1  48# happyReduction_139-happyReduction_139 happy_x_1-	 =  case happyOut63 happy_x_1 of { happy_var_1 -> -	happyIn62-		 ([happy_var_1]-	)}--happyReduce_140 = happyMonadReduce 3# 49# happyReduction_140-happyReduction_140 (happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut95 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 Equals) -> -	case happyOut107 happy_x_3 of { happy_var_3 -> -	( do { checkEnabled TypeFamilies ;-                        return (TypeEqn (ann happy_var_1 <++> ann happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3) })}}}-	) (\r -> happyReturn (happyIn63 r))--happyReduce_141 = happySpecReduce_1  50# happyReduction_141-happyReduction_141 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Data) -> -	happyIn64-		 (DataType $ nIS happy_var_1-	)}--happyReduce_142 = happySpecReduce_1  50# happyReduction_142-happyReduction_142 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_NewType) -> -	happyIn64-		 (NewType  $ nIS happy_var_1-	)}--happyReduce_143 = happyMonadReduce 1# 51# happyReduction_143-happyReduction_143 (happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut110 happy_x_1 of { happy_var_1 -> -	( do { ts <- mapM checkType (fst happy_var_1);-                                              return $ (reverse ts, reverse (snd happy_var_1)) })}-	) (\r -> happyReturn (happyIn65 r))--happyReduce_144 = happySpecReduce_1  51# happyReduction_144-happyReduction_144 happy_x_1-	 =  case happyOut97 happy_x_1 of { happy_var_1 -> -	happyIn65-		 (([happy_var_1],[])-	)}--happyReduce_145 = happySpecReduce_0  51# happyReduction_145-happyReduction_145  =  happyIn65-		 (([],[])-	)--happyReduce_146 = happyMonadReduce 3# 52# happyReduction_146-happyReduction_146 (happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut28 happy_x_1 of { happy_var_1 -> -	case happyOut67 happy_x_2 of { happy_var_2 -> -	case happyOut28 happy_x_3 of { happy_var_3 -> -	( checkRevDecls (fst happy_var_2) >>= \ds -> return (ds, reverse happy_var_1 ++ snd happy_var_2 ++ reverse happy_var_3))}}}-	) (\r -> happyReturn (happyIn66 r))--happyReduce_147 = happySpecReduce_1  52# happyReduction_147-happyReduction_147 happy_x_1-	 =  case happyOut28 happy_x_1 of { happy_var_1 -> -	happyIn66-		 (([],reverse happy_var_1)-	)}--happyReduce_148 = happySpecReduce_3  53# happyReduction_148-happyReduction_148 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut67 happy_x_1 of { happy_var_1 -> -	case happyOut27 happy_x_2 of { happy_var_2 -> -	case happyOut68 happy_x_3 of { happy_var_3 -> -	happyIn67-		 ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ reverse happy_var_2)-	)}}}--happyReduce_149 = happySpecReduce_1  53# happyReduction_149-happyReduction_149 happy_x_1-	 =  case happyOut68 happy_x_1 of { happy_var_1 -> -	happyIn67-		 (([happy_var_1],[])-	)}--happyReduce_150 = happySpecReduce_1  54# happyReduction_150-happyReduction_150 happy_x_1-	 =  case happyOut70 happy_x_1 of { happy_var_1 -> -	happyIn68-		 (happy_var_1-	)}--happyReduce_151 = happySpecReduce_1  54# happyReduction_151-happyReduction_151 happy_x_1-	 =  case happyOut49 happy_x_1 of { happy_var_1 -> -	happyIn68-		 (happy_var_1-	)}--happyReduce_152 = happySpecReduce_1  54# happyReduction_152-happyReduction_152 happy_x_1-	 =  case happyOut151 happy_x_1 of { happy_var_1 -> -	happyIn68-		 (happy_var_1-	)}--happyReduce_153 = happySpecReduce_1  54# happyReduction_153-happyReduction_153 happy_x_1-	 =  case happyOut249 happy_x_1 of { happy_var_1 -> -	happyIn68-		 (happy_var_1-	)}--happyReduce_154 = happySpecReduce_1  54# happyReduction_154-happyReduction_154 happy_x_1-	 =  case happyOut254 happy_x_1 of { happy_var_1 -> -	happyIn68-		 (happy_var_1-	)}--happyReduce_155 = happySpecReduce_3  55# happyReduction_155-happyReduction_155 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftCurly) -> -	case happyOut66 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightCurly) -> -	happyIn69-		 (BDecls (happy_var_1 <^^> happy_var_3 <** (happy_var_1:snd happy_var_2++[happy_var_3])) (fst happy_var_2)-	)}}}--happyReduce_156 = happySpecReduce_3  55# happyReduction_156-happyReduction_156 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut247 happy_x_1 of { happy_var_1 -> -	case happyOut66 happy_x_2 of { happy_var_2 -> -	case happyOut248 happy_x_3 of { happy_var_3 -> -	happyIn69-		 (let l' = if null (fst happy_var_2) then nIS happy_var_3 else (ann . last $ fst happy_var_2)-                                         in BDecls (nIS happy_var_1 <++> l' <** (happy_var_1:snd happy_var_2++[happy_var_3])) (fst happy_var_2)-	)}}}--happyReduce_157 = happySpecReduce_1  56# happyReduction_157-happyReduction_157 happy_x_1-	 =  case happyOut71 happy_x_1 of { happy_var_1 -> -	happyIn70-		 (happy_var_1-	)}--happyReduce_158 = happySpecReduce_1  56# happyReduction_158-happyReduction_158 happy_x_1-	 =  case happyOut72 happy_x_1 of { happy_var_1 -> -	happyIn70-		 (happy_var_1-	)}--happyReduce_159 = happyMonadReduce 3# 57# happyReduction_159-happyReduction_159 (happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut161 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 DoubleColon) -> -	case happyOut107 happy_x_3 of { happy_var_3 -> -	( do { v <- checkSigVar happy_var_1;-                                                               return $ TypeSig (happy_var_1 <> happy_var_3 <** [happy_var_2]) [v] happy_var_3 })}}}-	) (\r -> happyReturn (happyIn71 r))--happyReduce_160 = happyMonadReduce 5# 57# happyReduction_160-happyReduction_160 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut161 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> -	case happyOut80 happy_x_3 of { happy_var_3 -> -	case happyOutTok happy_x_4 of { (Loc happy_var_4 DoubleColon) -> -	case happyOut107 happy_x_5 of { happy_var_5 -> -	( do { v <- checkSigVar happy_var_1;-                                                               let {(vs,ss,_) = happy_var_3 ; l = happy_var_1 <> happy_var_5 <** (happy_var_2 : reverse ss ++ [happy_var_4]) } ;-                                                               return $ TypeSig l (v : reverse vs) happy_var_5 })}}}}}-	) (\r -> happyReturn (happyIn71 r))--happyReduce_161 = happyReduce 4# 58# happyReduction_161-happyReduction_161 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { happy_var_1 -> -	case happyOut86 happy_x_2 of { happy_var_2 -> -	case happyOut220 happy_x_3 of { happy_var_3 -> -	case happyOutTok happy_x_4 of { (Loc happy_var_4 PragmaEnd) -> -	happyIn72-		 (let Loc l (INLINE s) = happy_var_1 in InlineSig (l <^^> happy_var_4 <** [l,happy_var_4]) s happy_var_2 happy_var_3-	) `HappyStk` happyRest}}}}--happyReduce_162 = happyReduce 4# 58# happyReduction_162-happyReduction_162 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (Loc happy_var_1 INLINE_CONLIKE) -> -	case happyOut86 happy_x_2 of { happy_var_2 -> -	case happyOut220 happy_x_3 of { happy_var_3 -> -	case happyOutTok happy_x_4 of { (Loc happy_var_4 PragmaEnd) -> -	happyIn72-		 (InlineConlikeSig (happy_var_1 <^^> happy_var_4 <** [happy_var_1,happy_var_4]) happy_var_2 happy_var_3-	) `HappyStk` happyRest}}}}--happyReduce_163 = happyReduce 6# 58# happyReduction_163-happyReduction_163 (happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (Loc happy_var_1 SPECIALISE) -> -	case happyOut86 happy_x_2 of { happy_var_2 -> -	case happyOut220 happy_x_3 of { happy_var_3 -> -	case happyOutTok happy_x_4 of { (Loc happy_var_4 DoubleColon) -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	case happyOutTok happy_x_6 of { (Loc happy_var_6 PragmaEnd) -> -	happyIn72-		 (SpecSig (happy_var_1 <^^> happy_var_6 <** (happy_var_1: happy_var_4 : snd happy_var_5 ++ [happy_var_6])) happy_var_2 happy_var_3 (fst happy_var_5)-	) `HappyStk` happyRest}}}}}}--happyReduce_164 = happyReduce 6# 58# happyReduction_164-happyReduction_164 (happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { happy_var_1 -> -	case happyOut86 happy_x_2 of { happy_var_2 -> -	case happyOut220 happy_x_3 of { happy_var_3 -> -	case happyOutTok happy_x_4 of { (Loc happy_var_4 DoubleColon) -> -	case happyOut73 happy_x_5 of { happy_var_5 -> -	case happyOutTok happy_x_6 of { (Loc happy_var_6 PragmaEnd) -> -	happyIn72-		 (let Loc l (SPECIALISE_INLINE s) = happy_var_1-               in SpecInlineSig (l <^^> happy_var_6 <** (l:happy_var_4:snd happy_var_5++[happy_var_6])) s happy_var_2 happy_var_3 (fst happy_var_5)-	) `HappyStk` happyRest}}}}}}--happyReduce_165 = happyMonadReduce 4# 58# happyReduction_165-happyReduction_165 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 SPECIALISE) -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Instance) -> -	case happyOut108 happy_x_3 of { happy_var_3 -> -	case happyOutTok happy_x_4 of { (Loc happy_var_4 PragmaEnd) -> -	( do { ih <- checkInstHeader happy_var_3;-                                                               let {l = happy_var_1 <^^> happy_var_4 <** [happy_var_1,happy_var_2,happy_var_4]};-                                                               return $ InstSig l ih })}}}}-	) (\r -> happyReturn (happyIn72 r))--happyReduce_166 = happySpecReduce_3  58# happyReduction_166-happyReduction_166 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 MINIMAL) -> -	case happyOut75 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> -	happyIn72-		 (MinimalPragma (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2-	)}}}--happyReduce_167 = happySpecReduce_1  59# happyReduction_167-happyReduction_167 happy_x_1-	 =  case happyOut74 happy_x_1 of { happy_var_1 -> -	happyIn73-		 (([happy_var_1],[])-	)}--happyReduce_168 = happySpecReduce_3  59# happyReduction_168-happyReduction_168 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut74 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> -	case happyOut73 happy_x_3 of { happy_var_3 -> -	happyIn73-		 ((happy_var_1 : fst happy_var_3, happy_var_2 : snd happy_var_3)-	)}}}--happyReduce_169 = happyMonadReduce 1# 60# happyReduction_169-happyReduction_169 (happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut108 happy_x_1 of { happy_var_1 -> -	( checkType $ mkTyForall (ann happy_var_1) Nothing Nothing happy_var_1)}-	) (\r -> happyReturn (happyIn74 r))--happyReduce_170 = happySpecReduce_1  61# happyReduction_170-happyReduction_170 happy_x_1-	 =  case happyOut76 happy_x_1 of { happy_var_1 -> -	happyIn75-		 (Just happy_var_1-	)}--happyReduce_171 = happySpecReduce_0  61# happyReduction_171-happyReduction_171  =  happyIn75-		 (Nothing-	)--happyReduce_172 = happySpecReduce_1  62# happyReduction_172-happyReduction_172 happy_x_1-	 =  case happyOut77 happy_x_1 of { happy_var_1 -> -	happyIn76-		 (happy_var_1-	)}--happyReduce_173 = happySpecReduce_3  62# happyReduction_173-happyReduction_173 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut77 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 Bar) -> -	case happyOut76 happy_x_3 of { happy_var_3 -> -	happyIn76-		 (OrFormula (ann happy_var_1 <++>  ann happy_var_3 <** [happy_var_2]) [happy_var_1,happy_var_3]-	)}}}--happyReduce_174 = happySpecReduce_1  63# happyReduction_174-happyReduction_174 happy_x_1-	 =  case happyOut78 happy_x_1 of { happy_var_1 -> -	happyIn77-		 (happy_var_1-	)}--happyReduce_175 = happySpecReduce_3  63# happyReduction_175-happyReduction_175 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut78 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> -	case happyOut77 happy_x_3 of { happy_var_3 -> -	happyIn77-		 (AndFormula (ann happy_var_1 <++> ann happy_var_3 <** [happy_var_2]) [happy_var_1,happy_var_3]-	)}}}--happyReduce_176 = happySpecReduce_3  64# happyReduction_176-happyReduction_176 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> -	case happyOut76 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> -	happyIn78-		 (ParenFormula (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2-	)}}}--happyReduce_177 = happySpecReduce_1  64# happyReduction_177-happyReduction_177 happy_x_1-	 =  case happyOut218 happy_x_1 of { happy_var_1 -> -	happyIn78-		 (VarFormula (ann happy_var_1) happy_var_1-	)}--happyReduce_178 = happySpecReduce_1  65# happyReduction_178-happyReduction_178 happy_x_1-	 =  case happyOut69 happy_x_1 of { happy_var_1 -> -	happyIn79-		 (happy_var_1-	)}--happyReduce_179 = happySpecReduce_3  65# happyReduction_179-happyReduction_179 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftCurly) -> -	case happyOut214 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightCurly) -> -	happyIn79-		 (IPBinds (happy_var_1 <^^> happy_var_3 <** snd happy_var_2) (fst happy_var_2)-	)}}}--happyReduce_180 = happySpecReduce_3  65# happyReduction_180-happyReduction_180 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut247 happy_x_1 of { happy_var_1 -> -	case happyOut214 happy_x_2 of { happy_var_2 -> -	happyIn79-		 (let l' =  ann . last $ fst happy_var_2-                                         in IPBinds (nIS happy_var_1 <++> l' <** snd happy_var_2) (fst happy_var_2)-	)}}--happyReduce_181 = happySpecReduce_3  66# happyReduction_181-happyReduction_181 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut80 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> -	case happyOut218 happy_x_3 of { happy_var_3 -> -	happyIn80-		 (let (ns,ss,l) = happy_var_1 in (happy_var_3 : ns, happy_var_2 : ss, l <++> ann happy_var_3)-	)}}}--happyReduce_182 = happyMonadReduce 1# 66# happyReduction_182-happyReduction_182 (happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut220 happy_x_1 of { happy_var_1 -> -	( do { n <- checkUnQual happy_var_1;-                                              return ([n],[],ann n) })}-	) (\r -> happyReturn (happyIn80 r))--happyReduce_183 = happySpecReduce_1  67# happyReduction_183-happyReduction_183 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_StdCall) -> -	happyIn81-		 (StdCall    (nIS happy_var_1)-	)}--happyReduce_184 = happySpecReduce_1  67# happyReduction_184-happyReduction_184 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CCall) -> -	happyIn81-		 (CCall      (nIS happy_var_1)-	)}--happyReduce_185 = happySpecReduce_1  67# happyReduction_185-happyReduction_185 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CPlusPlus) -> -	happyIn81-		 (CPlusPlus  (nIS happy_var_1)-	)}--happyReduce_186 = happySpecReduce_1  67# happyReduction_186-happyReduction_186 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_DotNet) -> -	happyIn81-		 (DotNet     (nIS happy_var_1)-	)}--happyReduce_187 = happySpecReduce_1  67# happyReduction_187-happyReduction_187 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Jvm) -> -	happyIn81-		 (Jvm        (nIS happy_var_1)-	)}--happyReduce_188 = happySpecReduce_1  67# happyReduction_188-happyReduction_188 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Js) -> -	happyIn81-		 (Js         (nIS happy_var_1)-	)}--happyReduce_189 = happySpecReduce_1  67# happyReduction_189-happyReduction_189 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_JavaScript) -> -	happyIn81-		 (JavaScript (nIS happy_var_1)-	)}--happyReduce_190 = happySpecReduce_1  67# happyReduction_190-happyReduction_190 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CApi) -> -	happyIn81-		 (CApi       (nIS happy_var_1)-	)}--happyReduce_191 = happySpecReduce_1  68# happyReduction_191-happyReduction_191 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Safe) -> -	happyIn82-		 (Just $ PlaySafe  (nIS happy_var_1) False-	)}--happyReduce_192 = happySpecReduce_1  68# happyReduction_192-happyReduction_192 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Unsafe) -> -	happyIn82-		 (Just $ PlayRisky (nIS happy_var_1)-	)}--happyReduce_193 = happySpecReduce_1  68# happyReduction_193-happyReduction_193 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Threadsafe) -> -	happyIn82-		 (Just $ PlaySafe  (nIS happy_var_1) True-	)}--happyReduce_194 = happySpecReduce_1  68# happyReduction_194-happyReduction_194 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Interruptible) -> -	happyIn82-		 (Just $ PlayInterruptible (nIS happy_var_1)-	)}--happyReduce_195 = happySpecReduce_0  68# happyReduction_195-happyReduction_195  =  happyIn82-		 (Nothing-	)--happyReduce_196 = happyReduce 4# 69# happyReduction_196-happyReduction_196 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { happy_var_1 -> -	case happyOut219 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 DoubleColon) -> -	case happyOut95 happy_x_4 of { happy_var_4 -> -	happyIn83-		 (let Loc l (StringTok (s,_)) = happy_var_1 in (Just s, happy_var_2, happy_var_4, [l,happy_var_3])-	) `HappyStk` happyRest}}}}--happyReduce_197 = happySpecReduce_3  69# happyReduction_197-happyReduction_197 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut219 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 DoubleColon) -> -	case happyOut95 happy_x_3 of { happy_var_3 -> -	happyIn83-		 ((Nothing, happy_var_1, happy_var_3, [happy_var_2])-	)}}}--happyReduce_198 = happySpecReduce_3  70# happyReduction_198-happyReduction_198 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut84 happy_x_1 of { happy_var_1 -> -	case happyOut85 happy_x_3 of { happy_var_3 -> -	happyIn84-		 (happy_var_3 : happy_var_1-	)}}--happyReduce_199 = happySpecReduce_2  70# happyReduction_199-happyReduction_199 happy_x_2-	happy_x_1-	 =  case happyOut84 happy_x_1 of { happy_var_1 -> -	happyIn84-		 (happy_var_1-	)}--happyReduce_200 = happySpecReduce_1  70# happyReduction_200-happyReduction_200 happy_x_1-	 =  case happyOut85 happy_x_1 of { happy_var_1 -> -	happyIn84-		 ([happy_var_1]-	)}--happyReduce_201 = happySpecReduce_0  70# happyReduction_201-happyReduction_201  =  happyIn84-		 ([]-	)--happyReduce_202 = happyMonadReduce 6# 71# happyReduction_202-happyReduction_202 (happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { happy_var_1 -> -	case happyOut86 happy_x_2 of { happy_var_2 -> -	case happyOut87 happy_x_3 of { happy_var_3 -> -	case happyOut159 happy_x_4 of { happy_var_4 -> -	case happyOutTok happy_x_5 of { (Loc happy_var_5 Equals) -> -	case happyOut157 happy_x_6 of { happy_var_6 -> -	( do { let {Loc l (StringTok (s,_)) = happy_var_1};-                                                                  e <- checkRuleExpr happy_var_4;-                                                                  return $ Rule (nIS l <++> ann happy_var_6 <** l:snd happy_var_3 ++ [happy_var_5]) s happy_var_2 (fst happy_var_3) e happy_var_6 })}}}}}}-	) (\r -> happyReturn (happyIn85 r))--happyReduce_203 = happySpecReduce_0  72# happyReduction_203-happyReduction_203  =  happyIn86-		 (Nothing-	)--happyReduce_204 = happySpecReduce_3  72# happyReduction_204-happyReduction_204 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftSquare) -> -	case happyOutTok happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightSquare) -> -	happyIn86-		 (let Loc l (IntTok (i,_)) = happy_var_2 in Just $ ActiveFrom  (happy_var_1 <^^> happy_var_3 <** [happy_var_1,l,happy_var_3])    (fromInteger i)-	)}}}--happyReduce_205 = happyReduce 4# 72# happyReduction_205-happyReduction_205 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftSquare) -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 Tilde) -> -	case happyOutTok happy_x_3 of { happy_var_3 -> -	case happyOutTok happy_x_4 of { (Loc happy_var_4 RightSquare) -> -	happyIn86-		 (let Loc l (IntTok (i,_)) = happy_var_3 in Just $ ActiveUntil (happy_var_1 <^^> happy_var_4 <** [happy_var_1,happy_var_2,l,happy_var_4]) (fromInteger i)-	) `HappyStk` happyRest}}}}--happyReduce_206 = happySpecReduce_0  73# happyReduction_206-happyReduction_206  =  happyIn87-		 ((Nothing,[])-	)--happyReduce_207 = happySpecReduce_3  73# happyReduction_207-happyReduction_207 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Forall) -> -	case happyOut88 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 Dot) -> -	happyIn87-		 ((Just happy_var_2,[happy_var_1,happy_var_3])-	)}}}--happyReduce_208 = happySpecReduce_1  74# happyReduction_208-happyReduction_208 happy_x_1-	 =  case happyOut89 happy_x_1 of { happy_var_1 -> -	happyIn88-		 ([happy_var_1]-	)}--happyReduce_209 = happySpecReduce_2  74# happyReduction_209-happyReduction_209 happy_x_2-	happy_x_1-	 =  case happyOut89 happy_x_1 of { happy_var_1 -> -	case happyOut88 happy_x_2 of { happy_var_2 -> -	happyIn88-		 (happy_var_1 : happy_var_2-	)}}--happyReduce_210 = happySpecReduce_1  75# happyReduction_210-happyReduction_210 happy_x_1-	 =  case happyOut235 happy_x_1 of { happy_var_1 -> -	happyIn89-		 (RuleVar (ann happy_var_1) happy_var_1-	)}--happyReduce_211 = happyReduce 5# 75# happyReduction_211-happyReduction_211 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> -	case happyOut235 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 DoubleColon) -> -	case happyOut107 happy_x_4 of { happy_var_4 -> -	case happyOutTok happy_x_5 of { (Loc happy_var_5 RightParen) -> -	happyIn89-		 (TypedRuleVar (happy_var_1 <^^> happy_var_5 <** [happy_var_1,happy_var_3,happy_var_5]) happy_var_2 happy_var_4-	) `HappyStk` happyRest}}}}}--happyReduce_212 = happySpecReduce_3  76# happyReduction_212-happyReduction_212 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut90 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 SemiColon) -> -	case happyOut91 happy_x_3 of { happy_var_3 -> -	happyIn90-		 ((fst happy_var_3 : fst happy_var_1, snd happy_var_1 ++ (happy_var_2:snd happy_var_3))-	)}}}--happyReduce_213 = happySpecReduce_2  76# happyReduction_213-happyReduction_213 happy_x_2-	happy_x_1-	 =  case happyOut90 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 SemiColon) -> -	happyIn90-		 ((fst happy_var_1, snd happy_var_1 ++ [happy_var_2])-	)}}--happyReduce_214 = happySpecReduce_1  76# happyReduction_214-happyReduction_214 happy_x_1-	 =  case happyOut91 happy_x_1 of { happy_var_1 -> -	happyIn90-		 (([fst happy_var_1],snd happy_var_1)-	)}--happyReduce_215 = happySpecReduce_0  76# happyReduction_215-happyReduction_215  =  happyIn90-		 (([],[])-	)--happyReduce_216 = happySpecReduce_2  77# happyReduction_216-happyReduction_216 happy_x_2-	happy_x_1-	 =  case happyOut92 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { happy_var_2 -> -	happyIn91-		 (let Loc l (StringTok (s,_)) = happy_var_2 in ((fst happy_var_1,s),snd happy_var_1 ++ [l])-	)}}--happyReduce_217 = happySpecReduce_1  78# happyReduction_217-happyReduction_217 happy_x_1-	 =  case happyOut93 happy_x_1 of { happy_var_1 -> -	happyIn92-		 (([happy_var_1],[])-	)}--happyReduce_218 = happySpecReduce_3  78# happyReduction_218-happyReduction_218 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut93 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> -	case happyOut92 happy_x_3 of { happy_var_3 -> -	happyIn92-		 ((happy_var_1 : fst happy_var_3, happy_var_2 : snd happy_var_3)-	)}}}--happyReduce_219 = happySpecReduce_1  79# happyReduction_219-happyReduction_219 happy_x_1-	 =  case happyOut222 happy_x_1 of { happy_var_1 -> -	happyIn93-		 (happy_var_1-	)}--happyReduce_220 = happySpecReduce_1  79# happyReduction_220-happyReduction_220 happy_x_1-	 =  case happyOut218 happy_x_1 of { happy_var_1 -> -	happyIn93-		 (happy_var_1-	)}--happyReduce_221 = happyMonadReduce 3# 80# happyReduction_221-happyReduction_221 (happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> -	case happyOut238 happy_x_2 of { happy_var_2 -> -	case happyOut170 happy_x_3 of { happy_var_3 -> -	( checkExpr happy_var_3 >>= \e -> return (TypeAnn   (nIS happy_var_1 <++> ann e <** [happy_var_1]) happy_var_2 e))}}}-	) (\r -> happyReturn (happyIn94 r))--happyReduce_222 = happyMonadReduce 2# 80# happyReduction_222-happyReduction_222 (happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Module) -> -	case happyOut170 happy_x_2 of { happy_var_2 -> -	( checkExpr happy_var_2 >>= \e -> return (ModuleAnn (nIS happy_var_1 <++> ann e <** [happy_var_1])    e))}}-	) (\r -> happyReturn (happyIn94 r))--happyReduce_223 = happyMonadReduce 2# 80# happyReduction_223-happyReduction_223 (happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut93 happy_x_1 of { happy_var_1 -> -	case happyOut170 happy_x_2 of { happy_var_2 -> -	( checkExpr happy_var_2 >>= \e -> return (Ann (happy_var_1 <> e) happy_var_1 e))}}-	) (\r -> happyReturn (happyIn94 r))--happyReduce_224 = happyMonadReduce 1# 81# happyReduction_224-happyReduction_224 (happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut96 happy_x_1 of { happy_var_1 -> -	( checkType happy_var_1)}-	) (\r -> happyReturn (happyIn95 r))--happyReduce_225 = happySpecReduce_1  82# happyReduction_225-happyReduction_225 happy_x_1-	 =  case happyOut100 happy_x_1 of { happy_var_1 -> -	happyIn96-		 (happy_var_1-	)}--happyReduce_226 = happySpecReduce_3  82# happyReduction_226-happyReduction_226 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut100 happy_x_1 of { happy_var_1 -> -	case happyOut106 happy_x_2 of { happy_var_2 -> -	case happyOut96 happy_x_3 of { happy_var_3 -> -	happyIn96-		 (TyInfix (happy_var_1 <> happy_var_3) happy_var_1 happy_var_2 happy_var_3-	)}}}--happyReduce_227 = happySpecReduce_3  82# happyReduction_227-happyReduction_227 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut100 happy_x_1 of { happy_var_1 -> -	case happyOut261 happy_x_2 of { happy_var_2 -> -	case happyOut96 happy_x_3 of { happy_var_3 -> -	happyIn96-		 (TyInfix (happy_var_1 <> happy_var_3) happy_var_1 happy_var_2 happy_var_3-	)}}}--happyReduce_228 = happySpecReduce_3  82# happyReduction_228-happyReduction_228 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut100 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 RightArrow) -> -	case happyOut108 happy_x_3 of { happy_var_3 -> -	happyIn96-		 (TyFun (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3-	)}}}--happyReduce_229 = happyMonadReduce 3# 82# happyReduction_229-happyReduction_229 (happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut100 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 Tilde) -> -	case happyOut100 happy_x_3 of { happy_var_3 -> -	( do { checkEnabledOneOf [TypeFamilies, GADTs] ;-                                              let {l = happy_var_1 <> happy_var_3 <** [happy_var_2]};-                                              return $ TyPred l $ EqualP l happy_var_1 happy_var_3 })}}}-	) (\r -> happyReturn (happyIn96 r))--happyReduce_230 = happyMonadReduce 1# 83# happyReduction_230-happyReduction_230 (happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut98 happy_x_1 of { happy_var_1 -> -	( checkType happy_var_1)}-	) (\r -> happyReturn (happyIn97 r))--happyReduce_231 = happySpecReduce_3  84# happyReduction_231-happyReduction_231 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut221 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 DoubleColon) -> -	case happyOut96 happy_x_3 of { happy_var_3 -> -	happyIn98-		 (let l = (happy_var_1 <> happy_var_3 <** [happy_var_2]) in TyPred l $ IParam l happy_var_1 happy_var_3-	)}}}--happyReduce_232 = happySpecReduce_1  84# happyReduction_232-happyReduction_232 happy_x_1-	 =  case happyOut96 happy_x_1 of { happy_var_1 -> -	happyIn98-		 (happy_var_1-	)}--happyReduce_233 = happyMonadReduce 1# 85# happyReduction_233-happyReduction_233 (happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut100 happy_x_1 of { happy_var_1 -> -	( checkType happy_var_1)}-	) (\r -> happyReturn (happyIn99 r))--happyReduce_234 = happySpecReduce_2  86# happyReduction_234-happyReduction_234 happy_x_2-	happy_x_1-	 =  case happyOut100 happy_x_1 of { happy_var_1 -> -	case happyOut101 happy_x_2 of { happy_var_2 -> -	happyIn100-		 (TyApp (happy_var_1 <> happy_var_2) happy_var_1 happy_var_2-	)}}--happyReduce_235 = happySpecReduce_1  86# happyReduction_235-happyReduction_235 happy_x_1-	 =  case happyOut101 happy_x_1 of { happy_var_1 -> -	happyIn100-		 (happy_var_1-	)}--happyReduce_236 = happySpecReduce_1  87# happyReduction_236-happyReduction_236 happy_x_1-	 =  case happyOut104 happy_x_1 of { happy_var_1 -> -	happyIn101-		 (TyCon   (ann happy_var_1) happy_var_1-	)}--happyReduce_237 = happyMonadReduce 1# 87# happyReduction_237-happyReduction_237 (happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut259 happy_x_1 of { happy_var_1 -> -	( checkTyVar happy_var_1)}-	) (\r -> happyReturn (happyIn101 r))--happyReduce_238 = happySpecReduce_2  87# happyReduction_238-happyReduction_238 happy_x_2-	happy_x_1-	 =  case happyOut103 happy_x_1 of { happy_var_1 -> -	case happyOut101 happy_x_2 of { happy_var_2 -> -	happyIn101-		 (let (bangOrPack, locs) = happy_var_1-                                          in let annot = if bangOrPack then (BangedTy (nIS (last locs) <** locs)) else UnpackedTy (nIS (head locs) <++> nIS (last locs) <** locs)-                                           in bangType (nIS (head locs) <++> ann happy_var_2) annot happy_var_2-	)}}--happyReduce_239 = happySpecReduce_3  87# happyReduction_239-happyReduction_239 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> -	case happyOut110 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> -	happyIn101-		 (TyTuple (happy_var_1 <^^> happy_var_3 <** (happy_var_1:reverse (happy_var_3:snd happy_var_2))) Boxed   (reverse (fst happy_var_2))-	)}}}--happyReduce_240 = happySpecReduce_3  87# happyReduction_240-happyReduction_240 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftHashParen) -> -	case happyOut111 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightHashParen) -> -	happyIn101-		 (TyTuple (happy_var_1 <^^> happy_var_3 <** (happy_var_1:reverse (happy_var_3:snd happy_var_2))) Unboxed (reverse (fst happy_var_2))-	)}}}--happyReduce_241 = happySpecReduce_3  87# happyReduction_241-happyReduction_241 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftSquare) -> -	case happyOut98 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightSquare) -> -	happyIn101-		 (TyList  (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2-	)}}}--happyReduce_242 = happySpecReduce_3  87# happyReduction_242-happyReduction_242 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 ParArrayLeftSquare) -> -	case happyOut98 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 ParArrayRightSquare) -> -	happyIn101-		 (TyParArray  (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2-	)}}}--happyReduce_243 = happySpecReduce_3  87# happyReduction_243-happyReduction_243 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> -	case happyOut108 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> -	happyIn101-		 (TyParen (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2-	)}}}--happyReduce_244 = happyReduce 5# 87# happyReduction_244-happyReduction_244 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> -	case happyOut108 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 DoubleColon) -> -	case happyOut134 happy_x_4 of { happy_var_4 -> -	case happyOutTok happy_x_5 of { (Loc happy_var_5 RightParen) -> -	happyIn101-		 (TyKind  (happy_var_1 <^^> happy_var_5 <** [happy_var_1,happy_var_3,happy_var_5]) happy_var_2 happy_var_4-	) `HappyStk` happyRest}}}}}--happyReduce_245 = happySpecReduce_3  87# happyReduction_245-happyReduction_245 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 THParenEscape) -> -	case happyOut157 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> -	happyIn101-		 (let l = (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) in TySplice l $ ParenSplice l happy_var_2-	)}}}--happyReduce_246 = happySpecReduce_1  87# happyReduction_246-happyReduction_246 happy_x_1-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> -	happyIn101-		 (let Loc l (THIdEscape s) = happy_var_1 in TySplice (nIS l) $ IdSplice (nIS l) s-	)}--happyReduce_247 = happySpecReduce_1  87# happyReduction_247-happyReduction_247 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Underscore) -> -	happyIn101-		 (TyWildCard (nIS happy_var_1) Nothing-	)}--happyReduce_248 = happyMonadReduce 1# 87# happyReduction_248-happyReduction_248 (happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut102 happy_x_1 of { happy_var_1 -> -	( checkEnabled DataKinds >> return (TyPromoted (ann happy_var_1) happy_var_1))}-	) (\r -> happyReturn (happyIn101 r))--happyReduce_249 = happyMonadReduce 4# 88# happyReduction_249-happyReduction_249 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 THVarQuote) -> -	case happyOut111 happy_x_3 of { happy_var_3 -> -	case happyOutTok happy_x_4 of { (Loc happy_var_4 RightSquare) -> -	( PromotedList  (happy_var_1 <^^> happy_var_4 <** (happy_var_1:reverse(happy_var_4:snd happy_var_3))) True . reverse <$> mapM checkType (fst happy_var_3))}}}-	) (\r -> happyReturn (happyIn102 r))--happyReduce_250 = happySpecReduce_3  88# happyReduction_250-happyReduction_250 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 THVarQuote) -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightSquare) -> -	happyIn102-		 (PromotedList   (happy_var_1 <^^> happy_var_3 <** [happy_var_1, happy_var_3]) True  []-	)}}--happyReduce_251 = happyMonadReduce 3# 88# happyReduction_251-happyReduction_251 (happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftSquare) -> -	case happyOut110 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightSquare) -> -	( PromotedList  (happy_var_1 <^^> happy_var_3 <** (happy_var_1:reverse(happy_var_3:snd happy_var_2))) False . reverse <$> mapM checkType (fst happy_var_2))}}}-	) (\r -> happyReturn (happyIn102 r))--happyReduce_252 = happyMonadReduce 4# 88# happyReduction_252-happyReduction_252 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 THVarQuote) -> -	case happyOut111 happy_x_3 of { happy_var_3 -> -	case happyOutTok happy_x_4 of { (Loc happy_var_4 RightParen) -> -	( PromotedTuple (happy_var_1 <^^> happy_var_4 <** (happy_var_1:reverse(happy_var_4:snd happy_var_3))) . reverse <$> mapM checkType (fst happy_var_3))}}}-	) (\r -> happyReturn (happyIn102 r))--happyReduce_253 = happySpecReduce_3  88# happyReduction_253-happyReduction_253 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 THVarQuote) -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> -	happyIn102-		 (PromotedUnit  (happy_var_1 <^^> happy_var_3 )-	)}}--happyReduce_254 = happySpecReduce_2  88# happyReduction_254-happyReduction_254 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 THVarQuote) -> -	case happyOut232 happy_x_2 of { happy_var_2 -> -	happyIn102-		 (PromotedCon ((noInfoSpan happy_var_1 <++> ann happy_var_2) <** [happy_var_1]) True  happy_var_2-	)}}--happyReduce_255 = happySpecReduce_2  88# happyReduction_255-happyReduction_255 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 THVarQuote) -> -	case happyOut258 happy_x_2 of { happy_var_2 -> -	happyIn102-		 (PromotedCon ((noInfoSpan happy_var_1 <++> ann happy_var_2) <** [happy_var_1]) True  happy_var_2-	)}}--happyReduce_256 = happySpecReduce_1  88# happyReduction_256-happyReduction_256 happy_x_1-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> -	happyIn102-		 (let Loc l (IntTok  (i,raw)) = happy_var_1 in PromotedInteger (nIS l) i raw-	)}--happyReduce_257 = happySpecReduce_1  88# happyReduction_257-happyReduction_257 happy_x_1-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> -	happyIn102-		 (let Loc l (StringTok (s,raw)) = happy_var_1 in PromotedString (nIS l) s raw-	)}--happyReduce_258 = happySpecReduce_1  89# happyReduction_258-happyReduction_258 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Exclamation) -> -	happyIn103-		 ((True, [happy_var_1])-	)}--happyReduce_259 = happySpecReduce_3  89# happyReduction_259-happyReduction_259 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 UNPACK) -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 PragmaEnd) -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 Exclamation) -> -	happyIn103-		 ((False, [happy_var_1,happy_var_2,happy_var_3])-	)}}}--happyReduce_260 = happySpecReduce_1  90# happyReduction_260-happyReduction_260 happy_x_1-	 =  case happyOut105 happy_x_1 of { happy_var_1 -> -	happyIn104-		 (happy_var_1-	)}--happyReduce_261 = happySpecReduce_2  90# happyReduction_261-happyReduction_261 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 RightParen) -> -	happyIn104-		 (unit_tycon_name              (happy_var_1 <^^> happy_var_2 <** [happy_var_1,happy_var_2])-	)}}--happyReduce_262 = happySpecReduce_3  90# happyReduction_262-happyReduction_262 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 RightArrow) -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> -	happyIn104-		 (fun_tycon_name               (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_2,happy_var_3])-	)}}}--happyReduce_263 = happySpecReduce_2  90# happyReduction_263-happyReduction_263 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftSquare) -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 RightSquare) -> -	happyIn104-		 (list_tycon_name              (happy_var_1 <^^> happy_var_2 <** [happy_var_1,happy_var_2])-	)}}--happyReduce_264 = happySpecReduce_3  90# happyReduction_264-happyReduction_264 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> -	case happyOut173 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> -	happyIn104-		 (tuple_tycon_name             (happy_var_1 <^^> happy_var_3 <** (happy_var_1:reverse happy_var_2 ++ [happy_var_3])) Boxed (length happy_var_2)-	)}}}--happyReduce_265 = happySpecReduce_2  90# happyReduction_265-happyReduction_265 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftHashParen) -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 RightHashParen) -> -	happyIn104-		 (unboxed_singleton_tycon_name (happy_var_1 <^^> happy_var_2 <** [happy_var_1,happy_var_2])-	)}}--happyReduce_266 = happySpecReduce_3  90# happyReduction_266-happyReduction_266 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftHashParen) -> -	case happyOut173 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightHashParen) -> -	happyIn104-		 (tuple_tycon_name             (happy_var_1 <^^> happy_var_3 <** (happy_var_1:reverse happy_var_2 ++ [happy_var_3])) Unboxed (length happy_var_2)-	)}}}--happyReduce_267 = happySpecReduce_1  91# happyReduction_267-happyReduction_267 happy_x_1-	 =  case happyOut237 happy_x_1 of { happy_var_1 -> -	happyIn105-		 (happy_var_1-	)}--happyReduce_268 = happySpecReduce_3  91# happyReduction_268-happyReduction_268 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> -	case happyOut232 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> -	happyIn105-		 (updateQNameLoc (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2-	)}}}--happyReduce_269 = happySpecReduce_3  91# happyReduction_269-happyReduction_269 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> -	case happyOut241 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> -	happyIn105-		 (updateQNameLoc (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2-	)}}}--happyReduce_270 = happySpecReduce_1  92# happyReduction_270-happyReduction_270 happy_x_1-	 =  case happyOut228 happy_x_1 of { happy_var_1 -> -	happyIn106-		 (happy_var_1-	)}--happyReduce_271 = happyMonadReduce 1# 93# happyReduction_271-happyReduction_271 (happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut108 happy_x_1 of { happy_var_1 -> -	( checkType happy_var_1)}-	) (\r -> happyReturn (happyIn107 r))--happyReduce_272 = happyReduce 4# 94# happyReduction_272-happyReduction_272 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Forall) -> -	case happyOut112 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 Dot) -> -	case happyOut108 happy_x_4 of { happy_var_4 -> -	happyIn108-		 (mkTyForall (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3]) (Just (reverse (fst happy_var_2))) Nothing happy_var_4-	) `HappyStk` happyRest}}}}--happyReduce_273 = happySpecReduce_2  94# happyReduction_273-happyReduction_273 happy_x_2-	happy_x_1-	 =  case happyOut109 happy_x_1 of { happy_var_1 -> -	case happyOut108 happy_x_2 of { happy_var_2 -> -	happyIn108-		 (mkTyForall (happy_var_1 <> happy_var_2) Nothing (Just happy_var_1) happy_var_2-	)}}--happyReduce_274 = happySpecReduce_1  94# happyReduction_274-happyReduction_274 happy_x_1-	 =  case happyOut98 happy_x_1 of { happy_var_1 -> -	happyIn108-		 (happy_var_1-	)}--happyReduce_275 = happyMonadReduce 2# 95# happyReduction_275-happyReduction_275 (happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut100 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 DoubleArrow) -> -	( checkPContext $ (amap (\l -> l <++> nIS happy_var_2 <** (srcInfoPoints l ++ [happy_var_2]))) happy_var_1)}}-	) (\r -> happyReturn (happyIn109 r))--happyReduce_276 = happyMonadReduce 4# 95# happyReduction_276-happyReduction_276 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut100 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 Tilde) -> -	case happyOut100 happy_x_3 of { happy_var_3 -> -	case happyOutTok happy_x_4 of { (Loc happy_var_4 DoubleArrow) -> -	( do { checkEnabledOneOf [TypeFamilies, GADTs];-                                              let {l = happy_var_1 <> happy_var_3 <** [happy_var_2,happy_var_4]};-                                              checkPContext (TyPred l $ EqualP l happy_var_1 happy_var_3) })}}}}-	) (\r -> happyReturn (happyIn109 r))--happyReduce_277 = happySpecReduce_3  96# happyReduction_277-happyReduction_277 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut111 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> -	case happyOut108 happy_x_3 of { happy_var_3 -> -	happyIn110-		 ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)-	)}}}--happyReduce_278 = happySpecReduce_1  97# happyReduction_278-happyReduction_278 happy_x_1-	 =  case happyOut108 happy_x_1 of { happy_var_1 -> -	happyIn111-		 (([happy_var_1],[])-	)}--happyReduce_279 = happySpecReduce_3  97# happyReduction_279-happyReduction_279 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut111 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> -	case happyOut108 happy_x_3 of { happy_var_3 -> -	happyIn111-		 ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)-	)}}}--happyReduce_280 = happySpecReduce_2  98# happyReduction_280-happyReduction_280 happy_x_2-	happy_x_1-	 =  case happyOut112 happy_x_1 of { happy_var_1 -> -	case happyOut113 happy_x_2 of { happy_var_2 -> -	happyIn112-		 ((happy_var_2 : fst happy_var_1, Just (snd happy_var_1 <?+> ann happy_var_2))-	)}}--happyReduce_281 = happySpecReduce_0  98# happyReduction_281-happyReduction_281  =  happyIn112-		 (([],Nothing)-	)--happyReduce_282 = happySpecReduce_1  99# happyReduction_282-happyReduction_282 happy_x_1-	 =  case happyOut259 happy_x_1 of { happy_var_1 -> -	happyIn113-		 (UnkindedVar (ann happy_var_1) happy_var_1-	)}--happyReduce_283 = happyReduce 5# 99# happyReduction_283-happyReduction_283 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> -	case happyOut259 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 DoubleColon) -> -	case happyOut134 happy_x_4 of { happy_var_4 -> -	case happyOutTok happy_x_5 of { (Loc happy_var_5 RightParen) -> -	happyIn113-		 (KindedVar (happy_var_1 <^^> happy_var_5 <** [happy_var_1,happy_var_3,happy_var_5]) happy_var_2 happy_var_4-	) `HappyStk` happyRest}}}}}--happyReduce_284 = happySpecReduce_2  100# happyReduction_284-happyReduction_284 happy_x_2-	happy_x_1-	 =  case happyOut114 happy_x_1 of { happy_var_1 -> -	case happyOut259 happy_x_2 of { happy_var_2 -> -	happyIn114-		 ((happy_var_2 : fst happy_var_1, Just (snd happy_var_1 <?+> ann happy_var_2))-	)}}--happyReduce_285 = happySpecReduce_0  100# happyReduction_285-happyReduction_285  =  happyIn114-		 (([], Nothing)-	)--happyReduce_286 = happySpecReduce_2  101# happyReduction_286-happyReduction_286 happy_x_2-	happy_x_1-	 =  case happyOut114 happy_x_1 of { happy_var_1 -> -	case happyOut259 happy_x_2 of { happy_var_2 -> -	happyIn115-		 ((happy_var_2 : fst happy_var_1, snd happy_var_1 <?+> ann happy_var_2)-	)}}--happyReduce_287 = happySpecReduce_0  102# happyReduction_287-happyReduction_287  =  happyIn116-		 (([],[], Nothing)-	)--happyReduce_288 = happyMonadReduce 2# 102# happyReduction_288-happyReduction_288 (happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 Bar) -> -	case happyOut117 happy_x_2 of { happy_var_2 -> -	( do { checkEnabled FunctionalDependencies ;-                                              let {(fds,ss,l) = happy_var_2} ;-                                              return (reverse fds, happy_var_1 : reverse ss, Just (nIS happy_var_1 <++> l)) })}}-	) (\r -> happyReturn (happyIn116 r))--happyReduce_289 = happySpecReduce_3  103# happyReduction_289-happyReduction_289 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut117 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> -	case happyOut118 happy_x_3 of { happy_var_3 -> -	happyIn117-		 (let (fds,ss,l) = happy_var_1 in (happy_var_3 : fds, happy_var_2 : ss, l <++> ann happy_var_3)-	)}}}--happyReduce_290 = happySpecReduce_1  103# happyReduction_290-happyReduction_290 happy_x_1-	 =  case happyOut118 happy_x_1 of { happy_var_1 -> -	happyIn117-		 (([happy_var_1],[],ann happy_var_1)-	)}--happyReduce_291 = happySpecReduce_3  104# happyReduction_291-happyReduction_291 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut114 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 RightArrow) -> -	case happyOut115 happy_x_3 of { happy_var_3 -> -	happyIn118-		 (FunDep (snd happy_var_1 <?+> nIS happy_var_2 <++> snd happy_var_3 <** [happy_var_2]) (reverse (fst happy_var_1)) (reverse (fst happy_var_3))-	)}}}--happyReduce_292 = happyMonadReduce 4# 105# happyReduction_292-happyReduction_292 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Where) -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftCurly) -> -	case happyOut120 happy_x_3 of { happy_var_3 -> -	case happyOutTok happy_x_4 of { (Loc happy_var_4 RightCurly) -> -	( return (fst happy_var_3, happy_var_1 : happy_var_2 : snd happy_var_3 ++ [happy_var_4], Just $ happy_var_1 <^^> happy_var_4))}}}}-	) (\r -> happyReturn (happyIn119 r))--happyReduce_293 = happyMonadReduce 4# 105# happyReduction_293-happyReduction_293 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Where) -> -	case happyOut247 happy_x_2 of { happy_var_2 -> -	case happyOut120 happy_x_3 of { happy_var_3 -> -	case happyOut248 happy_x_4 of { happy_var_4 -> -	( return (fst happy_var_3, happy_var_1 : happy_var_2 : snd happy_var_3 ++ [happy_var_4], Just $ happy_var_1 <^^> happy_var_4))}}}}-	) (\r -> happyReturn (happyIn119 r))--happyReduce_294 = happyMonadReduce 0# 105# happyReduction_294-happyReduction_294 (happyRest) tk-	 = happyThen (( checkEnabled EmptyDataDecls >> return ([],[],Nothing))-	) (\r -> happyReturn (happyIn119 r))--happyReduce_295 = happySpecReduce_3  106# happyReduction_295-happyReduction_295 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut28 happy_x_1 of { happy_var_1 -> -	case happyOut121 happy_x_2 of { happy_var_2 -> -	case happyOut28 happy_x_3 of { happy_var_3 -> -	happyIn120-		 ((fst happy_var_2, reverse happy_var_1 ++ snd happy_var_2 ++ reverse happy_var_3)-	)}}}--happyReduce_296 = happySpecReduce_3  107# happyReduction_296-happyReduction_296 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut121 happy_x_1 of { happy_var_1 -> -	case happyOut27 happy_x_2 of { happy_var_2 -> -	case happyOut122 happy_x_3 of { happy_var_3 -> -	happyIn121-		 ((happy_var_3 ++ fst happy_var_1, snd happy_var_1 ++ reverse happy_var_2)-	)}}}--happyReduce_297 = happySpecReduce_1  107# happyReduction_297-happyReduction_297 happy_x_1-	 =  case happyOut122 happy_x_1 of { happy_var_1 -> -	happyIn121-		 ((happy_var_1,[])-	)}--happyReduce_298 = happyMonadReduce 3# 108# happyReduction_298-happyReduction_298 (happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut223 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 DoubleColon) -> -	case happyOut107 happy_x_3 of { happy_var_3 -> -	( do { c <- checkUnQual happy_var_1;-                                               return [GadtDecl (happy_var_1 <> happy_var_3 <** [happy_var_2]) c Nothing happy_var_3] })}}}-	) (\r -> happyReturn (happyIn122 r))--happyReduce_299 = happyMonadReduce 7# 108# happyReduction_299-happyReduction_299 (happy_x_7 `HappyStk`-	happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut223 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 DoubleColon) -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 LeftCurly) -> -	case happyOut129 happy_x_4 of { happy_var_4 -> -	case happyOutTok happy_x_5 of { (Loc happy_var_5 RightCurly) -> -	case happyOutTok happy_x_6 of { (Loc happy_var_6 RightArrow) -> -	case happyOut107 happy_x_7 of { happy_var_7 -> -	( do { c <- checkUnQual happy_var_1;-                                              return [GadtDecl (happy_var_1 <> happy_var_7 <** [happy_var_2,happy_var_3,happy_var_5,happy_var_6] ++ snd happy_var_4) c (Just (reverse $ fst happy_var_4)) happy_var_7] })}}}}}}}-	) (\r -> happyReturn (happyIn122 r))--happyReduce_300 = happySpecReduce_2  109# happyReduction_300-happyReduction_300 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Equals) -> -	case happyOut124 happy_x_2 of { happy_var_2 -> -	happyIn123-		 (let (ds,ss,l) = happy_var_2 in (ds, happy_var_1 : reverse ss, Just $ nIS happy_var_1 <++> l)-	)}}--happyReduce_301 = happySpecReduce_3  110# happyReduction_301-happyReduction_301 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut124 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 Bar) -> -	case happyOut125 happy_x_3 of { happy_var_3 -> -	happyIn124-		 (let (ds,ss,l) = happy_var_1 in (happy_var_3 : ds, happy_var_2 : ss, l <++> ann happy_var_3)-	)}}}--happyReduce_302 = happySpecReduce_1  110# happyReduction_302-happyReduction_302 happy_x_1-	 =  case happyOut125 happy_x_1 of { happy_var_1 -> -	happyIn124-		 (([happy_var_1],[],ann happy_var_1)-	)}--happyReduce_303 = happyMonadReduce 3# 111# happyReduction_303-happyReduction_303 (happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut126 happy_x_1 of { happy_var_1 -> -	case happyOut109 happy_x_2 of { happy_var_2 -> -	case happyOut127 happy_x_3 of { happy_var_3 -> -	( do { checkEnabled ExistentialQuantification ;-                                               ctxt <- checkContext (Just happy_var_2) ;-                                               let {(mtvs,ss,ml) = happy_var_1} ;-                                               return $ QualConDecl (ml <?+> ann happy_var_3 <** ss) mtvs ctxt happy_var_3 })}}}-	) (\r -> happyReturn (happyIn125 r))--happyReduce_304 = happySpecReduce_2  111# happyReduction_304-happyReduction_304 happy_x_2-	happy_x_1-	 =  case happyOut126 happy_x_1 of { happy_var_1 -> -	case happyOut127 happy_x_2 of { happy_var_2 -> -	happyIn125-		 (let (mtvs, ss, ml) = happy_var_1 in QualConDecl (ml <?+> ann happy_var_2 <** ss) mtvs Nothing happy_var_2-	)}}--happyReduce_305 = happyMonadReduce 3# 112# happyReduction_305-happyReduction_305 (happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Forall) -> -	case happyOut112 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 Dot) -> -	( checkEnabled ExistentialQuantification >> return (Just (fst happy_var_2), [happy_var_1,happy_var_3], Just $ happy_var_1 <^^> happy_var_3))}}}-	) (\r -> happyReturn (happyIn126 r))--happyReduce_306 = happySpecReduce_0  112# happyReduction_306-happyReduction_306  =  happyIn126-		 ((Nothing, [], Nothing)-	)--happyReduce_307 = happySpecReduce_1  113# happyReduction_307-happyReduction_307 happy_x_1-	 =  case happyOut128 happy_x_1 of { happy_var_1 -> -	happyIn127-		 (let (n,ts,l) = happy_var_1 in ConDecl l n ts-	)}--happyReduce_308 = happySpecReduce_3  113# happyReduction_308-happyReduction_308 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut99 happy_x_1 of { happy_var_1 -> -	case happyOut227 happy_x_2 of { happy_var_2 -> -	case happyOut99 happy_x_3 of { happy_var_3 -> -	happyIn127-		 (InfixConDecl (happy_var_1 <> happy_var_3) happy_var_1 happy_var_2 happy_var_3-	)}}}--happyReduce_309 = happyMonadReduce 3# 113# happyReduction_309-happyReduction_309 (happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut223 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftCurly) -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightCurly) -> -	( do { c <- checkUnQual happy_var_1; return $ RecDecl (ann happy_var_1 <++> nIS happy_var_3 <** [happy_var_2,happy_var_3]) c [] })}}}-	) (\r -> happyReturn (happyIn127 r))--happyReduce_310 = happyMonadReduce 4# 113# happyReduction_310-happyReduction_310 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut223 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftCurly) -> -	case happyOut129 happy_x_3 of { happy_var_3 -> -	case happyOutTok happy_x_4 of { (Loc happy_var_4 RightCurly) -> -	( do { c <- checkUnQual happy_var_1;-                                              return $ RecDecl (ann happy_var_1 <++> nIS happy_var_4 <** (happy_var_2:reverse (snd happy_var_3) ++ [happy_var_4])) c (reverse (fst happy_var_3)) })}}}}-	) (\r -> happyReturn (happyIn127 r))--happyReduce_311 = happyMonadReduce 1# 114# happyReduction_311-happyReduction_311 (happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut100 happy_x_1 of { happy_var_1 -> -	( do { (c,ts) <- splitTyConApp happy_var_1;-                                              return (c, ts, ann happy_var_1) })}-	) (\r -> happyReturn (happyIn128 r))--happyReduce_312 = happySpecReduce_3  115# happyReduction_312-happyReduction_312 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut129 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> -	case happyOut130 happy_x_3 of { happy_var_3 -> -	happyIn129-		 ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)-	)}}}--happyReduce_313 = happySpecReduce_1  115# happyReduction_313-happyReduction_313 happy_x_1-	 =  case happyOut130 happy_x_1 of { happy_var_1 -> -	happyIn129-		 (([happy_var_1],[])-	)}--happyReduce_314 = happySpecReduce_3  116# happyReduction_314-happyReduction_314 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut80 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 DoubleColon) -> -	case happyOut107 happy_x_3 of { happy_var_3 -> -	happyIn130-		 (let (ns,ss,l) = happy_var_1 in FieldDecl (l <++> ann happy_var_3 <** (reverse ss ++ [happy_var_2])) (reverse ns) happy_var_3-	)}}}--happyReduce_315 = happySpecReduce_0  117# happyReduction_315-happyReduction_315  =  happyIn131-		 (Nothing-	)--happyReduce_316 = happySpecReduce_2  117# happyReduction_316-happyReduction_316 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Deriving) -> -	case happyOut133 happy_x_2 of { happy_var_2 -> -	happyIn131-		 (let l = nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1] in Just $ Deriving l [IRule (ann happy_var_2) Nothing Nothing happy_var_2]-	)}}--happyReduce_317 = happySpecReduce_3  117# happyReduction_317-happyReduction_317 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Deriving) -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> -	happyIn131-		 (Just $ Deriving (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_2,happy_var_3]) []-	)}}}--happyReduce_318 = happyReduce 4# 117# happyReduction_318-happyReduction_318 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Deriving) -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> -	case happyOut132 happy_x_3 of { happy_var_3 -> -	case happyOutTok happy_x_4 of { (Loc happy_var_4 RightParen) -> -	happyIn131-		 (-- Distinguish deriving (Show) from deriving Show (#189)-                                        case fst happy_var_3 of-                                          [ts] -> Just $ Deriving (happy_var_1 <^^> happy_var_4 <** [happy_var_1]) [IParen (happy_var_2 <^^> happy_var_4 <** [happy_var_2,happy_var_4]) ts]-                                          tss  -> Just $ Deriving (happy_var_1 <^^> happy_var_4 <** happy_var_1:happy_var_2: reverse (snd happy_var_3) ++ [happy_var_4]) (reverse tss)-	) `HappyStk` happyRest}}}}--happyReduce_319 = happyMonadReduce 1# 118# happyReduction_319-happyReduction_319 (happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut111 happy_x_1 of { happy_var_1 -> -	( checkDeriving (fst happy_var_1) >>= \ds -> return (ds, snd happy_var_1))}-	) (\r -> happyReturn (happyIn132 r))--happyReduce_320 = happySpecReduce_1  119# happyReduction_320-happyReduction_320 happy_x_1-	 =  case happyOut237 happy_x_1 of { happy_var_1 -> -	happyIn133-		 (IHCon (ann happy_var_1) happy_var_1-	)}--happyReduce_321 = happyMonadReduce 1# 120# happyReduction_321-happyReduction_321 (happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut135 happy_x_1 of { happy_var_1 -> -	( checkEnabled KindSignatures >> return happy_var_1)}-	) (\r -> happyReturn (happyIn134 r))--happyReduce_322 = happySpecReduce_1  121# happyReduction_322-happyReduction_322 happy_x_1-	 =  case happyOut136 happy_x_1 of { happy_var_1 -> -	happyIn135-		 (happy_var_1-	)}--happyReduce_323 = happySpecReduce_3  121# happyReduction_323-happyReduction_323 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut136 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 RightArrow) -> -	case happyOut135 happy_x_3 of { happy_var_3 -> -	happyIn135-		 (KindFn (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3-	)}}}--happyReduce_324 = happySpecReduce_1  122# happyReduction_324-happyReduction_324 happy_x_1-	 =  case happyOut137 happy_x_1 of { happy_var_1 -> -	happyIn136-		 (happy_var_1-	)}--happyReduce_325 = happySpecReduce_2  122# happyReduction_325-happyReduction_325 happy_x_2-	happy_x_1-	 =  case happyOut136 happy_x_1 of { happy_var_1 -> -	case happyOut137 happy_x_2 of { happy_var_2 -> -	happyIn136-		 (KindApp (happy_var_1 <> happy_var_2) happy_var_1 happy_var_2-	)}}--happyReduce_326 = happySpecReduce_1  123# happyReduction_326-happyReduction_326 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Star) -> -	happyIn137-		 (KindStar  (nIS happy_var_1)-	)}--happyReduce_327 = happySpecReduce_3  123# happyReduction_327-happyReduction_327 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> -	case happyOut135 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> -	happyIn137-		 (KindParen (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2-	)}}}--happyReduce_328 = happyMonadReduce 1# 123# happyReduction_328-happyReduction_328 (happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut138 happy_x_1 of { happy_var_1 -> -	( checkKind happy_var_1 >> return happy_var_1)}-	) (\r -> happyReturn (happyIn137 r))--happyReduce_329 = happyMonadReduce 1# 123# happyReduction_329-happyReduction_329 (happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut233 happy_x_1 of { happy_var_1 -> -	( checkEnabled PolyKinds >> return (KindVar (ann happy_var_1) happy_var_1))}-	) (\r -> happyReturn (happyIn137 r))--happyReduce_330 = happySpecReduce_1  124# happyReduction_330-happyReduction_330 happy_x_1-	 =  case happyOut258 happy_x_1 of { happy_var_1 -> -	happyIn138-		 (KindVar (ann happy_var_1) happy_var_1-	)}--happyReduce_331 = happySpecReduce_2  124# happyReduction_331-happyReduction_331 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 RightParen) -> -	happyIn138-		 (let l = happy_var_1 <^^> happy_var_2 in KindVar l (unit_tycon_name l)-	)}}--happyReduce_332 = happyReduce 5# 124# happyReduction_332-happyReduction_332 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> -	case happyOut134 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 Comma) -> -	case happyOut139 happy_x_4 of { happy_var_4 -> -	case happyOutTok happy_x_5 of { (Loc happy_var_5 RightParen) -> -	happyIn138-		 (KindTuple (happy_var_1 <^^> happy_var_5 <** (happy_var_1:happy_var_3:reverse (happy_var_5:snd happy_var_4))) (happy_var_2:reverse (fst happy_var_4))-	) `HappyStk` happyRest}}}}}--happyReduce_333 = happySpecReduce_3  124# happyReduction_333-happyReduction_333 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftSquare) -> -	case happyOut134 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightSquare) -> -	happyIn138-		 (KindList  ((happy_var_1 <^^> happy_var_3) <** [happy_var_1, happy_var_3]) happy_var_2-	)}}}--happyReduce_334 = happySpecReduce_1  125# happyReduction_334-happyReduction_334 happy_x_1-	 =  case happyOut135 happy_x_1 of { happy_var_1 -> -	happyIn139-		 (([happy_var_1], [])-	)}--happyReduce_335 = happySpecReduce_3  125# happyReduction_335-happyReduction_335 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut135 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> -	case happyOut139 happy_x_3 of { happy_var_3 -> -	happyIn139-		 ((happy_var_1 : (fst happy_var_3), happy_var_2 : (snd happy_var_3))-	)}}}--happyReduce_336 = happySpecReduce_0  126# happyReduction_336-happyReduction_336  =  happyIn140-		 ((Nothing,[])-	)--happyReduce_337 = happySpecReduce_2  126# happyReduction_337-happyReduction_337 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 DoubleColon) -> -	case happyOut134 happy_x_2 of { happy_var_2 -> -	happyIn140-		 ((Just happy_var_2,[happy_var_1])-	)}}--happyReduce_338 = happyMonadReduce 4# 127# happyReduction_338-happyReduction_338 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Where) -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftCurly) -> -	case happyOut142 happy_x_3 of { happy_var_3 -> -	case happyOutTok happy_x_4 of { (Loc happy_var_4 RightCurly) -> -	( checkClassBody (fst happy_var_3) >>= \vs -> return (Just vs, happy_var_1:happy_var_2: snd happy_var_3 ++ [happy_var_4], Just (happy_var_1 <^^> happy_var_4)))}}}}-	) (\r -> happyReturn (happyIn141 r))--happyReduce_339 = happyMonadReduce 4# 127# happyReduction_339-happyReduction_339 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Where) -> -	case happyOut247 happy_x_2 of { happy_var_2 -> -	case happyOut142 happy_x_3 of { happy_var_3 -> -	case happyOut248 happy_x_4 of { happy_var_4 -> -	( do { vs <- checkClassBody (fst happy_var_3);-                                              let { l' = if null (fst happy_var_3) then nIS happy_var_4 else (ann . last $ fst happy_var_3) };-                                              return (Just vs, happy_var_1:happy_var_2: snd happy_var_3 ++ [happy_var_4], Just (nIS happy_var_1 <++> l')) })}}}}-	) (\r -> happyReturn (happyIn141 r))--happyReduce_340 = happySpecReduce_0  127# happyReduction_340-happyReduction_340  =  happyIn141-		 ((Nothing,[],Nothing)-	)--happyReduce_341 = happyMonadReduce 3# 128# happyReduction_341-happyReduction_341 (happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut28 happy_x_1 of { happy_var_1 -> -	case happyOut143 happy_x_2 of { happy_var_2 -> -	case happyOut28 happy_x_3 of { happy_var_3 -> -	( checkRevClsDecls (fst happy_var_2) >>= \cs -> return (cs, reverse happy_var_1 ++ snd happy_var_2 ++ reverse happy_var_3))}}}-	) (\r -> happyReturn (happyIn142 r))--happyReduce_342 = happySpecReduce_1  128# happyReduction_342-happyReduction_342 happy_x_1-	 =  case happyOut28 happy_x_1 of { happy_var_1 -> -	happyIn142-		 (([],reverse happy_var_1)-	)}--happyReduce_343 = happySpecReduce_3  129# happyReduction_343-happyReduction_343 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut143 happy_x_1 of { happy_var_1 -> -	case happyOut27 happy_x_2 of { happy_var_2 -> -	case happyOut144 happy_x_3 of { happy_var_3 -> -	happyIn143-		 ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ reverse happy_var_2)-	)}}}--happyReduce_344 = happySpecReduce_1  129# happyReduction_344-happyReduction_344 happy_x_1-	 =  case happyOut144 happy_x_1 of { happy_var_1 -> -	happyIn143-		 (([happy_var_1],[])-	)}--happyReduce_345 = happySpecReduce_1  130# happyReduction_345-happyReduction_345 happy_x_1-	 =  case happyOut68 happy_x_1 of { happy_var_1 -> -	happyIn144-		 (ClsDecl (ann happy_var_1) happy_var_1-	)}--happyReduce_346 = happyMonadReduce 1# 130# happyReduction_346-happyReduction_346 (happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut145 happy_x_1 of { happy_var_1 -> -	( checkEnabled TypeFamilies >> return happy_var_1)}-	) (\r -> happyReturn (happyIn144 r))--happyReduce_347 = happyMonadReduce 2# 130# happyReduction_347-happyReduction_347 (happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Default) -> -	case happyOut70 happy_x_2 of { happy_var_2 -> -	( checkEnabled DefaultSignatures >> checkDefSigDef happy_var_2 >>= \(n,t,l) -> return (ClsDefSig (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1,l]) n t))}}-	) (\r -> happyReturn (happyIn144 r))--happyReduce_348 = happyMonadReduce 3# 131# happyReduction_348-happyReduction_348 (happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> -	case happyOut98 happy_x_2 of { happy_var_2 -> -	case happyOut140 happy_x_3 of { happy_var_3 -> -	( do { dh <- checkSimpleType happy_var_2;-                    return (ClsTyFam  (nIS happy_var_1 <++> ann happy_var_2 <+?> (fmap ann) (fst happy_var_3) <** happy_var_1:snd happy_var_3) dh (fst happy_var_3)) })}}}-	) (\r -> happyReturn (happyIn145 r))--happyReduce_349 = happyReduce 4# 131# happyReduction_349-happyReduction_349 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> -	case happyOut95 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 Equals) -> -	case happyOut107 happy_x_4 of { happy_var_4 -> -	happyIn145-		 (ClsTyDef (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3]) happy_var_2 happy_var_4-	) `HappyStk` happyRest}}}}--happyReduce_350 = happyReduce 5# 131# happyReduction_350-happyReduction_350 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Instance) -> -	case happyOut95 happy_x_3 of { happy_var_3 -> -	case happyOutTok happy_x_4 of { (Loc happy_var_4 Equals) -> -	case happyOut107 happy_x_5 of { happy_var_5 -> -	happyIn145-		 (ClsTyDef (nIS happy_var_1 <++> ann happy_var_5 <** [happy_var_1,happy_var_2,happy_var_4]) happy_var_3 happy_var_5-	) `HappyStk` happyRest}}}}}--happyReduce_351 = happyMonadReduce 3# 131# happyReduction_351-happyReduction_351 (happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Data) -> -	case happyOut108 happy_x_2 of { happy_var_2 -> -	case happyOut140 happy_x_3 of { happy_var_3 -> -	( do { (cs,dh) <- checkDataHeader happy_var_2;-                    return (ClsDataFam (nIS happy_var_1 <++> ann happy_var_2 <+?> (fmap ann) (fst happy_var_3) <** happy_var_1:snd happy_var_3) cs dh (fst happy_var_3)) })}}}-	) (\r -> happyReturn (happyIn145 r))--happyReduce_352 = happyMonadReduce 4# 132# happyReduction_352-happyReduction_352 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Where) -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftCurly) -> -	case happyOut147 happy_x_3 of { happy_var_3 -> -	case happyOutTok happy_x_4 of { (Loc happy_var_4 RightCurly) -> -	( checkInstBody (fst happy_var_3) >>= \vs -> return (Just vs, happy_var_1:happy_var_2: snd happy_var_3 ++ [happy_var_4], Just (happy_var_1 <^^> happy_var_4)))}}}}-	) (\r -> happyReturn (happyIn146 r))--happyReduce_353 = happyMonadReduce 4# 132# happyReduction_353-happyReduction_353 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Where) -> -	case happyOut247 happy_x_2 of { happy_var_2 -> -	case happyOut147 happy_x_3 of { happy_var_3 -> -	case happyOut248 happy_x_4 of { happy_var_4 -> -	( checkInstBody (fst happy_var_3) >>= \vs -> return (Just vs, happy_var_1:happy_var_2: snd happy_var_3 ++ [happy_var_4], Just (happy_var_1 <^^> happy_var_4)))}}}}-	) (\r -> happyReturn (happyIn146 r))--happyReduce_354 = happySpecReduce_0  132# happyReduction_354-happyReduction_354  =  happyIn146-		 ((Nothing, [], Nothing)-	)--happyReduce_355 = happyMonadReduce 3# 133# happyReduction_355-happyReduction_355 (happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut28 happy_x_1 of { happy_var_1 -> -	case happyOut148 happy_x_2 of { happy_var_2 -> -	case happyOut28 happy_x_3 of { happy_var_3 -> -	( checkRevInstDecls (fst happy_var_2) >>= \is -> return (is, reverse happy_var_1 ++ snd happy_var_2 ++ reverse happy_var_3))}}}-	) (\r -> happyReturn (happyIn147 r))--happyReduce_356 = happySpecReduce_1  133# happyReduction_356-happyReduction_356 happy_x_1-	 =  case happyOut28 happy_x_1 of { happy_var_1 -> -	happyIn147-		 (([],reverse happy_var_1)-	)}--happyReduce_357 = happySpecReduce_3  134# happyReduction_357-happyReduction_357 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut148 happy_x_1 of { happy_var_1 -> -	case happyOut27 happy_x_2 of { happy_var_2 -> -	case happyOut149 happy_x_3 of { happy_var_3 -> -	happyIn148-		 ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ reverse happy_var_2)-	)}}}--happyReduce_358 = happySpecReduce_1  134# happyReduction_358-happyReduction_358 happy_x_1-	 =  case happyOut149 happy_x_1 of { happy_var_1 -> -	happyIn148-		 (([happy_var_1],[])-	)}--happyReduce_359 = happySpecReduce_1  135# happyReduction_359-happyReduction_359 happy_x_1-	 =  case happyOut151 happy_x_1 of { happy_var_1 -> -	happyIn149-		 (InsDecl (ann happy_var_1) happy_var_1-	)}--happyReduce_360 = happyMonadReduce 1# 135# happyReduction_360-happyReduction_360 (happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut150 happy_x_1 of { happy_var_1 -> -	( checkEnabled TypeFamilies >> return happy_var_1)}-	) (\r -> happyReturn (happyIn149 r))--happyReduce_361 = happySpecReduce_1  135# happyReduction_361-happyReduction_361 happy_x_1-	 =  case happyOut72 happy_x_1 of { happy_var_1 -> -	happyIn149-		 (InsDecl (ann happy_var_1) happy_var_1-	)}--happyReduce_362 = happyMonadReduce 1# 135# happyReduction_362-happyReduction_362 (happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut71 happy_x_1 of { happy_var_1 -> -	( checkEnabled InstanceSigs >> return (InsDecl (ann happy_var_1) happy_var_1))}-	) (\r -> happyReturn (happyIn149 r))--happyReduce_363 = happyMonadReduce 4# 136# happyReduction_363-happyReduction_363 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> -	case happyOut95 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 Equals) -> -	case happyOut107 happy_x_4 of { happy_var_4 -> -	( do { -- no checkSimpleType happy_var_4 since dtype may contain type patterns-                       return (InsType (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3]) happy_var_2 happy_var_4) })}}}}-	) (\r -> happyReturn (happyIn150 r))--happyReduce_364 = happyMonadReduce 4# 136# happyReduction_364-happyReduction_364 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut64 happy_x_1 of { happy_var_1 -> -	case happyOut107 happy_x_2 of { happy_var_2 -> -	case happyOut123 happy_x_3 of { happy_var_3 -> -	case happyOut131 happy_x_4 of { happy_var_4 -> -	( do { -- (cs,c,t) <- checkDataHeader happy_var_4;-                       let {(ds,ss,minf) = happy_var_3};-                       checkDataOrNew happy_var_1 ds;-                       return (InsData (happy_var_1 <> happy_var_2 <+?> minf <+?> fmap ann happy_var_4 <** ss ) happy_var_1 happy_var_2 (reverse ds) happy_var_4) })}}}}-	) (\r -> happyReturn (happyIn150 r))--happyReduce_365 = happyMonadReduce 5# 136# happyReduction_365-happyReduction_365 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut64 happy_x_1 of { happy_var_1 -> -	case happyOut107 happy_x_2 of { happy_var_2 -> -	case happyOut140 happy_x_3 of { happy_var_3 -> -	case happyOut119 happy_x_4 of { happy_var_4 -> -	case happyOut131 happy_x_5 of { happy_var_5 -> -	( do { -- (cs,c,t) <- checkDataHeader happy_var_4;-                       let { (gs,ss,minf) = happy_var_4 } ;-                       checkDataOrNewG happy_var_1 gs;-                       return $ InsGData (ann happy_var_1 <+?> minf <+?> fmap ann happy_var_5 <** (snd happy_var_3 ++ ss)) happy_var_1 happy_var_2 (fst happy_var_3) (reverse gs) happy_var_5 })}}}}}-	) (\r -> happyReturn (happyIn150 r))--happyReduce_366 = happyMonadReduce 4# 137# happyReduction_366-happyReduction_366 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut161 happy_x_1 of { happy_var_1 -> -	case happyOut153 happy_x_2 of { happy_var_2 -> -	case happyOut154 happy_x_3 of { happy_var_3 -> -	case happyOut152 happy_x_4 of { happy_var_4 -> -	( checkValDef ((happy_var_1 <> happy_var_3 <+?> (fmap ann) (fst happy_var_4)) <** (snd happy_var_4)) happy_var_1 happy_var_2 happy_var_3 (fst happy_var_4))}}}}-	) (\r -> happyReturn (happyIn151 r))--happyReduce_367 = happyMonadReduce 4# 137# happyReduction_367-happyReduction_367 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 Exclamation) -> -	case happyOut170 happy_x_2 of { happy_var_2 -> -	case happyOut154 happy_x_3 of { happy_var_3 -> -	case happyOut152 happy_x_4 of { happy_var_4 -> -	( do { checkEnabled BangPatterns ;-                                              let { l = nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1] };-                                              p <- checkPattern (BangPat l happy_var_2);-                                              return $ PatBind (p <> happy_var_3 <+?> (fmap ann) (fst happy_var_4) <** snd happy_var_4)-                                                          p happy_var_3 (fst happy_var_4) })}}}}-	) (\r -> happyReturn (happyIn151 r))--happyReduce_368 = happySpecReduce_2  138# happyReduction_368-happyReduction_368 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Where) -> -	case happyOut79 happy_x_2 of { happy_var_2 -> -	happyIn152-		 ((Just happy_var_2, [happy_var_1])-	)}}--happyReduce_369 = happySpecReduce_0  138# happyReduction_369-happyReduction_369  =  happyIn152-		 ((Nothing, [])-	)--happyReduce_370 = happyMonadReduce 2# 139# happyReduction_370-happyReduction_370 (happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 DoubleColon) -> -	case happyOut107 happy_x_2 of { happy_var_2 -> -	( checkEnabled ScopedTypeVariables >> return (Just (happy_var_2, happy_var_1)))}}-	) (\r -> happyReturn (happyIn153 r))--happyReduce_371 = happySpecReduce_0  139# happyReduction_371-happyReduction_371  =  happyIn153-		 (Nothing-	)--happyReduce_372 = happySpecReduce_2  140# happyReduction_372-happyReduction_372 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Equals) -> -	case happyOut157 happy_x_2 of { happy_var_2 -> -	happyIn154-		 (UnGuardedRhs (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2-	)}}--happyReduce_373 = happySpecReduce_1  140# happyReduction_373-happyReduction_373 happy_x_1-	 =  case happyOut155 happy_x_1 of { happy_var_1 -> -	happyIn154-		 (GuardedRhss (snd happy_var_1) (reverse $ fst happy_var_1)-	)}--happyReduce_374 = happySpecReduce_2  141# happyReduction_374-happyReduction_374 happy_x_2-	happy_x_1-	 =  case happyOut155 happy_x_1 of { happy_var_1 -> -	case happyOut156 happy_x_2 of { happy_var_2 -> -	happyIn155-		 ((happy_var_2 : fst happy_var_1, snd happy_var_1 <++> ann happy_var_2)-	)}}--happyReduce_375 = happySpecReduce_1  141# happyReduction_375-happyReduction_375 happy_x_1-	 =  case happyOut156 happy_x_1 of { happy_var_1 -> -	happyIn155-		 (([happy_var_1],ann happy_var_1)-	)}--happyReduce_376 = happyMonadReduce 4# 142# happyReduction_376-happyReduction_376 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 Bar) -> -	case happyOut194 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 Equals) -> -	case happyOut157 happy_x_4 of { happy_var_4 -> -	( do { checkPatternGuards (fst happy_var_2);-                                       return $ GuardedRhs (nIS happy_var_1 <++> ann happy_var_4 <** (happy_var_1:snd happy_var_2 ++ [happy_var_3])) (reverse (fst happy_var_2)) happy_var_4 })}}}}-	) (\r -> happyReturn (happyIn156 r))--happyReduce_377 = happyMonadReduce 1# 143# happyReduction_377-happyReduction_377 (happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut158 happy_x_1 of { happy_var_1 -> -	( checkExpr happy_var_1)}-	) (\r -> happyReturn (happyIn157 r))--happyReduce_378 = happySpecReduce_3  144# happyReduction_378-happyReduction_378 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut161 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 DoubleColon) -> -	case happyOut107 happy_x_3 of { happy_var_3 -> -	happyIn158-		 (ExpTypeSig      (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3-	)}}}--happyReduce_379 = happySpecReduce_1  144# happyReduction_379-happyReduction_379 happy_x_1-	 =  case happyOut159 happy_x_1 of { happy_var_1 -> -	happyIn158-		 (happy_var_1-	)}--happyReduce_380 = happySpecReduce_2  144# happyReduction_380-happyReduction_380 happy_x_2-	happy_x_1-	 =  case happyOut161 happy_x_1 of { happy_var_1 -> -	case happyOut230 happy_x_2 of { happy_var_2 -> -	happyIn158-		 (PostOp          (happy_var_1 <> happy_var_2)          happy_var_1 happy_var_2-	)}}--happyReduce_381 = happySpecReduce_3  144# happyReduction_381-happyReduction_381 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut161 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftArrowTail) -> -	case happyOut158 happy_x_3 of { happy_var_3 -> -	happyIn158-		 (LeftArrApp      (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3-	)}}}--happyReduce_382 = happySpecReduce_3  144# happyReduction_382-happyReduction_382 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut161 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 RightArrowTail) -> -	case happyOut158 happy_x_3 of { happy_var_3 -> -	happyIn158-		 (RightArrApp     (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3-	)}}}--happyReduce_383 = happySpecReduce_3  144# happyReduction_383-happyReduction_383 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut161 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftDblArrowTail) -> -	case happyOut158 happy_x_3 of { happy_var_3 -> -	happyIn158-		 (LeftArrHighApp  (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3-	)}}}--happyReduce_384 = happySpecReduce_3  144# happyReduction_384-happyReduction_384 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut161 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 RightDblArrowTail) -> -	case happyOut158 happy_x_3 of { happy_var_3 -> -	happyIn158-		 (RightArrHighApp (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3-	)}}}--happyReduce_385 = happySpecReduce_1  145# happyReduction_385-happyReduction_385 happy_x_1-	 =  case happyOut160 happy_x_1 of { happy_var_1 -> -	happyIn159-		 (happy_var_1-	)}--happyReduce_386 = happySpecReduce_1  145# happyReduction_386-happyReduction_386 happy_x_1-	 =  case happyOut161 happy_x_1 of { happy_var_1 -> -	happyIn159-		 (happy_var_1-	)}--happyReduce_387 = happySpecReduce_3  146# happyReduction_387-happyReduction_387 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut161 happy_x_1 of { happy_var_1 -> -	case happyOut230 happy_x_2 of { happy_var_2 -> -	case happyOut162 happy_x_3 of { happy_var_3 -> -	happyIn160-		 (InfixApp (happy_var_1 <> happy_var_3) happy_var_1 happy_var_2 happy_var_3-	)}}}--happyReduce_388 = happySpecReduce_1  146# happyReduction_388-happyReduction_388 happy_x_1-	 =  case happyOut162 happy_x_1 of { happy_var_1 -> -	happyIn160-		 (happy_var_1-	)}--happyReduce_389 = happySpecReduce_3  147# happyReduction_389-happyReduction_389 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut161 happy_x_1 of { happy_var_1 -> -	case happyOut230 happy_x_2 of { happy_var_2 -> -	case happyOut165 happy_x_3 of { happy_var_3 -> -	happyIn161-		 (InfixApp (happy_var_1 <> happy_var_3) happy_var_1 happy_var_2 happy_var_3-	)}}}--happyReduce_390 = happySpecReduce_1  147# happyReduction_390-happyReduction_390 happy_x_1-	 =  case happyOut165 happy_x_1 of { happy_var_1 -> -	happyIn161-		 (happy_var_1-	)}--happyReduce_391 = happyReduce 4# 148# happyReduction_391-happyReduction_391 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (Loc happy_var_1 Backslash) -> -	case happyOut168 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightArrow) -> -	case happyOut158 happy_x_4 of { happy_var_4 -> -	happyIn162-		 (Lambda (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3]) (reverse happy_var_2) happy_var_4-	) `HappyStk` happyRest}}}}--happyReduce_392 = happyReduce 4# 148# happyReduction_392-happyReduction_392 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Let) -> -	case happyOut79 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 KW_In) -> -	case happyOut158 happy_x_4 of { happy_var_4 -> -	happyIn162-		 (Let    (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3])    happy_var_2 happy_var_4-	) `HappyStk` happyRest}}}}--happyReduce_393 = happyReduce 8# 148# happyReduction_393-happyReduction_393 (happy_x_8 `HappyStk`-	happy_x_7 `HappyStk`-	happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_If) -> -	case happyOut158 happy_x_2 of { happy_var_2 -> -	case happyOut163 happy_x_3 of { happy_var_3 -> -	case happyOutTok happy_x_4 of { (Loc happy_var_4 KW_Then) -> -	case happyOut158 happy_x_5 of { happy_var_5 -> -	case happyOut163 happy_x_6 of { happy_var_6 -> -	case happyOutTok happy_x_7 of { (Loc happy_var_7 KW_Else) -> -	case happyOut158 happy_x_8 of { happy_var_8 -> -	happyIn162-		 (If     (nIS happy_var_1 <++> ann happy_var_8 <** (happy_var_1:happy_var_3 ++ happy_var_4:happy_var_6 ++ [happy_var_7])) happy_var_2 happy_var_5 happy_var_8-	) `HappyStk` happyRest}}}}}}}}--happyReduce_394 = happyMonadReduce 2# 148# happyReduction_394-happyReduction_394 (happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_If) -> -	case happyOut205 happy_x_2 of { happy_var_2 -> -	( checkEnabled MultiWayIf >>-                                           let (alts, inf, ss) = happy_var_2-                                           in return (MultiIf (nIS happy_var_1 <++> inf <** (happy_var_1:ss)) alts))}}-	) (\r -> happyReturn (happyIn162 r))--happyReduce_395 = happyReduce 4# 148# happyReduction_395-happyReduction_395 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Proc) -> -	case happyOut169 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightArrow) -> -	case happyOut158 happy_x_4 of { happy_var_4 -> -	happyIn162-		 (Proc   (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3])    happy_var_2 happy_var_4-	) `HappyStk` happyRest}}}}--happyReduce_396 = happySpecReduce_1  148# happyReduction_396-happyReduction_396 happy_x_1-	 =  case happyOut166 happy_x_1 of { happy_var_1 -> -	happyIn162-		 (happy_var_1-	)}--happyReduce_397 = happyMonadReduce 1# 149# happyReduction_397-happyReduction_397 (happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 SemiColon) -> -	( checkEnabled DoAndIfThenElse >> return [happy_var_1])}-	) (\r -> happyReturn (happyIn163 r))--happyReduce_398 = happySpecReduce_0  149# happyReduction_398-happyReduction_398  =  happyIn163-		 ([]-	)--happyReduce_399 = happySpecReduce_1  150# happyReduction_399-happyReduction_399 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 SemiColon) -> -	happyIn164-		 ([happy_var_1]-	)}--happyReduce_400 = happySpecReduce_0  150# happyReduction_400-happyReduction_400  =  happyIn164-		 ([]-	)--happyReduce_401 = happyReduce 4# 151# happyReduction_401-happyReduction_401 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Case) -> -	case happyOut158 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 KW_Of) -> -	case happyOut197 happy_x_4 of { happy_var_4 -> -	happyIn165-		 (let (als, inf, ss) = happy_var_4 in Case (nIS happy_var_1 <++> inf <** (happy_var_1:happy_var_3:ss)) happy_var_2 als-	) `HappyStk` happyRest}}}}--happyReduce_402 = happyMonadReduce 3# 151# happyReduction_402-happyReduction_402 (happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 Backslash) -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Case) -> -	case happyOut197 happy_x_3 of { happy_var_3 -> -	( do { checkEnabled LambdaCase ;-                                              let { (als, inf, ss) = happy_var_3 } ;-                                              return (LCase (nIS happy_var_1 <++> inf <** (happy_var_1:happy_var_2:ss)) als) })}}}-	) (\r -> happyReturn (happyIn165 r))--happyReduce_403 = happySpecReduce_2  151# happyReduction_403-happyReduction_403 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Minus) -> -	case happyOut167 happy_x_2 of { happy_var_2 -> -	happyIn165-		 (NegApp (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2-	)}}--happyReduce_404 = happySpecReduce_2  151# happyReduction_404-happyReduction_404 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Do) -> -	case happyOut208 happy_x_2 of { happy_var_2 -> -	happyIn165-		 (let (sts, inf, ss) = happy_var_2 in Do   (nIS happy_var_1 <++> inf <** happy_var_1:ss) sts-	)}}--happyReduce_405 = happySpecReduce_2  151# happyReduction_405-happyReduction_405 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_MDo) -> -	case happyOut208 happy_x_2 of { happy_var_2 -> -	happyIn165-		 (let (sts, inf, ss) = happy_var_2 in MDo  (nIS happy_var_1 <++> inf <** happy_var_1:ss) sts-	)}}--happyReduce_406 = happySpecReduce_1  151# happyReduction_406-happyReduction_406 happy_x_1-	 =  case happyOut167 happy_x_1 of { happy_var_1 -> -	happyIn165-		 (happy_var_1-	)}--happyReduce_407 = happyReduce 4# 152# happyReduction_407-happyReduction_407 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (Loc happy_var_1 CORE) -> -	case happyOutTok happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> -	case happyOut158 happy_x_4 of { happy_var_4 -> -	happyIn166-		 (let Loc l (StringTok (s,_)) = happy_var_2 in CorePragma (nIS happy_var_1 <++> ann happy_var_4 <** [l,happy_var_3]) s happy_var_4-	) `HappyStk` happyRest}}}}--happyReduce_408 = happyReduce 4# 152# happyReduction_408-happyReduction_408 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (Loc happy_var_1 SCC) -> -	case happyOutTok happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> -	case happyOut158 happy_x_4 of { happy_var_4 -> -	happyIn166-		 (let Loc l (StringTok (s,_)) = happy_var_2 in SCCPragma  (nIS happy_var_1 <++> ann happy_var_4 <** [l,happy_var_3]) s happy_var_4-	) `HappyStk` happyRest}}}}--happyReduce_409 = happyReduce 11# 152# happyReduction_409-happyReduction_409 (happy_x_11 `HappyStk`-	happy_x_10 `HappyStk`-	happy_x_9 `HappyStk`-	happy_x_8 `HappyStk`-	happy_x_7 `HappyStk`-	happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (Loc happy_var_1 GENERATED) -> -	case happyOutTok happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { happy_var_3 -> -	case happyOutTok happy_x_4 of { (Loc happy_var_4 Colon) -> -	case happyOutTok happy_x_5 of { happy_var_5 -> -	case happyOutTok happy_x_6 of { (Loc happy_var_6 Minus) -> -	case happyOutTok happy_x_7 of { happy_var_7 -> -	case happyOutTok happy_x_8 of { (Loc happy_var_8 Colon) -> -	case happyOutTok happy_x_9 of { happy_var_9 -> -	case happyOutTok happy_x_10 of { (Loc happy_var_10 PragmaEnd) -> -	case happyOut158 happy_x_11 of { happy_var_11 -> -	happyIn166-		 (let { Loc l0 (StringTok (s,_)) = happy_var_2;-                                                  Loc l1 (IntTok (i1,_))   = happy_var_3;-                                                  Loc l2 (IntTok (i2,_))   = happy_var_5;-                                                  Loc l3 (IntTok (i3,_))   = happy_var_7;-                                                  Loc l4 (IntTok (i4,_))   = happy_var_9}-                                             in GenPragma (nIS happy_var_1 <++> ann happy_var_11 <** [happy_var_1,l0,l1,happy_var_4,l2,happy_var_6,l3,happy_var_8,l4,happy_var_10])-                                                      s (fromInteger i1, fromInteger i2)-                                                        (fromInteger i3, fromInteger i4) happy_var_11-	) `HappyStk` happyRest}}}}}}}}}}}--happyReduce_410 = happySpecReduce_2  153# happyReduction_410-happyReduction_410 happy_x_2-	happy_x_1-	 =  case happyOut167 happy_x_1 of { happy_var_1 -> -	case happyOut170 happy_x_2 of { happy_var_2 -> -	happyIn167-		 (App (happy_var_1 <> happy_var_2) happy_var_1 happy_var_2-	)}}--happyReduce_411 = happySpecReduce_1  153# happyReduction_411-happyReduction_411 happy_x_1-	 =  case happyOut170 happy_x_1 of { happy_var_1 -> -	happyIn167-		 (happy_var_1-	)}--happyReduce_412 = happySpecReduce_2  154# happyReduction_412-happyReduction_412 happy_x_2-	happy_x_1-	 =  case happyOut168 happy_x_1 of { happy_var_1 -> -	case happyOut169 happy_x_2 of { happy_var_2 -> -	happyIn168-		 (happy_var_2 : happy_var_1-	)}}--happyReduce_413 = happySpecReduce_1  154# happyReduction_413-happyReduction_413 happy_x_1-	 =  case happyOut169 happy_x_1 of { happy_var_1 -> -	happyIn168-		 ([happy_var_1]-	)}--happyReduce_414 = happyMonadReduce 1# 155# happyReduction_414-happyReduction_414 (happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut170 happy_x_1 of { happy_var_1 -> -	( checkPattern happy_var_1)}-	) (\r -> happyReturn (happyIn169 r))--happyReduce_415 = happyMonadReduce 2# 155# happyReduction_415-happyReduction_415 (happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 Exclamation) -> -	case happyOut170 happy_x_2 of { happy_var_2 -> -	( checkPattern (BangPat (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2))}}-	) (\r -> happyReturn (happyIn169 r))--happyReduce_416 = happyMonadReduce 3# 156# happyReduction_416-happyReduction_416 (happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut220 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 At) -> -	case happyOut170 happy_x_3 of { happy_var_3 -> -	( do { n <- checkUnQual happy_var_1;-                                              return (AsPat (happy_var_1 <> happy_var_3 <** [happy_var_2]) n happy_var_3) })}}}-	) (\r -> happyReturn (happyIn170 r))--happyReduce_417 = happyMonadReduce 3# 156# happyReduction_417-happyReduction_417 (happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut220 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 RPCAt) -> -	case happyOut170 happy_x_3 of { happy_var_3 -> -	( do { n <- checkUnQual happy_var_1;-                                              return (CAsRP (happy_var_1 <> happy_var_3 <** [happy_var_2]) n happy_var_3) })}}}-	) (\r -> happyReturn (happyIn170 r))--happyReduce_418 = happySpecReduce_2  156# happyReduction_418-happyReduction_418 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Tilde) -> -	case happyOut170 happy_x_2 of { happy_var_2 -> -	happyIn170-		 (IrrPat (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2-	)}}--happyReduce_419 = happySpecReduce_1  156# happyReduction_419-happyReduction_419 happy_x_1-	 =  case happyOut171 happy_x_1 of { happy_var_1 -> -	happyIn170-		 (happy_var_1-	)}--happyReduce_420 = happyMonadReduce 3# 157# happyReduction_420-happyReduction_420 (happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut171 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftCurly) -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightCurly) -> -	( liftM (amap (const (ann happy_var_1 <++> nIS happy_var_3 <** [happy_var_2,happy_var_3]))) $ mkRecConstrOrUpdate happy_var_1 [])}}}-	) (\r -> happyReturn (happyIn171 r))--happyReduce_421 = happyMonadReduce 4# 157# happyReduction_421-happyReduction_421 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut171 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftCurly) -> -	case happyOut212 happy_x_3 of { happy_var_3 -> -	case happyOutTok happy_x_4 of { (Loc happy_var_4 RightCurly) -> -	( liftM (amap (const (ann happy_var_1 <++> nIS happy_var_4 <** (happy_var_2:snd happy_var_3 ++ [happy_var_4]))))-                                              $ mkRecConstrOrUpdate happy_var_1 (fst happy_var_3))}}}}-	) (\r -> happyReturn (happyIn171 r))--happyReduce_422 = happySpecReduce_1  157# happyReduction_422-happyReduction_422 happy_x_1-	 =  case happyOut172 happy_x_1 of { happy_var_1 -> -	happyIn171-		 (happy_var_1-	)}--happyReduce_423 = happySpecReduce_1  158# happyReduction_423-happyReduction_423 happy_x_1-	 =  case happyOut221 happy_x_1 of { happy_var_1 -> -	happyIn172-		 (IPVar (ann happy_var_1) happy_var_1-	)}--happyReduce_424 = happySpecReduce_1  158# happyReduction_424-happyReduction_424 happy_x_1-	 =  case happyOut220 happy_x_1 of { happy_var_1 -> -	happyIn172-		 (Var (ann happy_var_1) happy_var_1-	)}--happyReduce_425 = happySpecReduce_1  158# happyReduction_425-happyReduction_425 happy_x_1-	 =  case happyOut217 happy_x_1 of { happy_var_1 -> -	happyIn172-		 (happy_var_1-	)}--happyReduce_426 = happySpecReduce_1  158# happyReduction_426-happyReduction_426 happy_x_1-	 =  case happyOut246 happy_x_1 of { happy_var_1 -> -	happyIn172-		 (Lit (ann happy_var_1) happy_var_1-	)}--happyReduce_427 = happySpecReduce_3  158# happyReduction_427-happyReduction_427 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> -	case happyOut174 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> -	happyIn172-		 (Paren (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2-	)}}}--happyReduce_428 = happySpecReduce_3  158# happyReduction_428-happyReduction_428 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> -	case happyOut174 happy_x_2 of { happy_var_2 -> -	case happyOut175 happy_x_3 of { happy_var_3 -> -	happyIn172-		 (TupleSection (happy_var_1 <^^> head (snd happy_var_3) <** happy_var_1:reverse (snd happy_var_3)) Boxed (Just happy_var_2 : fst happy_var_3)-	)}}}--happyReduce_429 = happyReduce 4# 158# happyReduction_429-happyReduction_429 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> -	case happyOut173 happy_x_2 of { happy_var_2 -> -	case happyOut174 happy_x_3 of { happy_var_3 -> -	case happyOutTok happy_x_4 of { (Loc happy_var_4 RightParen) -> -	happyIn172-		 (TupleSection (happy_var_1 <^^> happy_var_4 <** happy_var_1:reverse (happy_var_4:happy_var_2)) Boxed-                                                      (replicate (length happy_var_2) Nothing ++ [Just happy_var_3])-	) `HappyStk` happyRest}}}}--happyReduce_430 = happyReduce 4# 158# happyReduction_430-happyReduction_430 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> -	case happyOut173 happy_x_2 of { happy_var_2 -> -	case happyOut174 happy_x_3 of { happy_var_3 -> -	case happyOut175 happy_x_4 of { happy_var_4 -> -	happyIn172-		 (TupleSection (happy_var_1 <^^> head (snd happy_var_4) <** happy_var_1:reverse (snd happy_var_4 ++ happy_var_2)) Boxed-                                                      (replicate (length happy_var_2) Nothing ++ Just happy_var_3 : fst happy_var_4)-	) `HappyStk` happyRest}}}}--happyReduce_431 = happySpecReduce_3  158# happyReduction_431-happyReduction_431 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftHashParen) -> -	case happyOut174 happy_x_2 of { happy_var_2 -> -	case happyOut176 happy_x_3 of { happy_var_3 -> -	happyIn172-		 (TupleSection (happy_var_1 <^^> head (snd happy_var_3) <** happy_var_1:reverse (snd happy_var_3)) Unboxed (Just happy_var_2 : fst happy_var_3)-	)}}}--happyReduce_432 = happySpecReduce_3  158# happyReduction_432-happyReduction_432 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftHashParen) -> -	case happyOut174 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightHashParen) -> -	happyIn172-		 (TupleSection (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) Unboxed [Just happy_var_2]-	)}}}--happyReduce_433 = happyReduce 4# 158# happyReduction_433-happyReduction_433 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftHashParen) -> -	case happyOut173 happy_x_2 of { happy_var_2 -> -	case happyOut174 happy_x_3 of { happy_var_3 -> -	case happyOutTok happy_x_4 of { (Loc happy_var_4 RightHashParen) -> -	happyIn172-		 (TupleSection (happy_var_1 <^^> happy_var_4 <** happy_var_1:reverse (happy_var_4:happy_var_2)) Unboxed-                                                      (replicate (length happy_var_2) Nothing ++ [Just happy_var_3])-	) `HappyStk` happyRest}}}}--happyReduce_434 = happyReduce 4# 158# happyReduction_434-happyReduction_434 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftHashParen) -> -	case happyOut173 happy_x_2 of { happy_var_2 -> -	case happyOut174 happy_x_3 of { happy_var_3 -> -	case happyOut176 happy_x_4 of { happy_var_4 -> -	happyIn172-		 (TupleSection (happy_var_1 <^^> head (snd happy_var_4) <** happy_var_1:reverse (snd happy_var_4 ++ happy_var_2)) Unboxed-                                                      (replicate (length happy_var_2) Nothing ++ Just happy_var_3 : fst happy_var_4)-	) `HappyStk` happyRest}}}}--happyReduce_435 = happySpecReduce_3  158# happyReduction_435-happyReduction_435 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftSquare) -> -	case happyOut188 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightSquare) -> -	happyIn172-		 (amap (\l -> l <** [happy_var_3]) $ happy_var_2 (happy_var_1 <^^> happy_var_3 <** [happy_var_1])-	)}}}--happyReduce_436 = happySpecReduce_3  158# happyReduction_436-happyReduction_436 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 ParArrayLeftSquare) -> -	case happyOut196 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 ParArrayRightSquare) -> -	happyIn172-		 (amap (\l -> l <** [happy_var_3]) $ happy_var_2 (happy_var_1 <^^> happy_var_3 <** [happy_var_1])-	)}}}--happyReduce_437 = happySpecReduce_1  158# happyReduction_437-happyReduction_437 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Underscore) -> -	happyIn172-		 (WildCard (nIS happy_var_1)-	)}--happyReduce_438 = happyMonadReduce 3# 158# happyReduction_438-happyReduction_438 (happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> -	case happyOut178 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> -	( checkEnabled RegularPatterns >> return (Paren (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2))}}}-	) (\r -> happyReturn (happyIn172 r))--happyReduce_439 = happySpecReduce_3  158# happyReduction_439-happyReduction_439 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 RPGuardOpen) -> -	case happyOut177 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RPGuardClose) -> -	happyIn172-		 (SeqRP (happy_var_1 <^^> happy_var_3 <** (happy_var_1:reverse (snd happy_var_2) ++ [happy_var_3])) $ reverse (fst happy_var_2)-	)}}}--happyReduce_440 = happyReduce 5# 158# happyReduction_440-happyReduction_440 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (Loc happy_var_1 RPGuardOpen) -> -	case happyOut158 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 Bar) -> -	case happyOut194 happy_x_4 of { happy_var_4 -> -	case happyOutTok happy_x_5 of { (Loc happy_var_5 RPGuardClose) -> -	happyIn172-		 (GuardRP (happy_var_1 <^^> happy_var_5 <** (happy_var_1:happy_var_3 : snd happy_var_4 ++ [happy_var_5])) happy_var_2 $ (reverse $ fst happy_var_4)-	) `HappyStk` happyRest}}}}}--happyReduce_441 = happySpecReduce_1  158# happyReduction_441-happyReduction_441 happy_x_1-	 =  case happyOut179 happy_x_1 of { happy_var_1 -> -	happyIn172-		 (happy_var_1-	)}--happyReduce_442 = happySpecReduce_1  158# happyReduction_442-happyReduction_442 happy_x_1-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> -	happyIn172-		 (let Loc l (THIdEscape s) = happy_var_1 in SpliceExp (nIS l) $ IdSplice (nIS l) s-	)}--happyReduce_443 = happySpecReduce_3  158# happyReduction_443-happyReduction_443 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 THParenEscape) -> -	case happyOut157 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> -	happyIn172-		 (let l = (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) in SpliceExp l $ ParenSplice l happy_var_2-	)}}}--happyReduce_444 = happySpecReduce_3  158# happyReduction_444-happyReduction_444 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 THExpQuote) -> -	case happyOut157 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 THCloseQuote) -> -	happyIn172-		 (let l = (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) in BracketExp l $ ExpBracket l happy_var_2-	)}}}--happyReduce_445 = happyMonadReduce 3# 158# happyReduction_445-happyReduction_445 (happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 THPatQuote) -> -	case happyOut159 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 THCloseQuote) -> -	( do { p <- checkPattern happy_var_2;-                                              let {l = (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) };-                                              return $ BracketExp l $ PatBracket l p })}}}-	) (\r -> happyReturn (happyIn172 r))--happyReduce_446 = happySpecReduce_3  158# happyReduction_446-happyReduction_446 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 THTypQuote) -> -	case happyOut107 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 THCloseQuote) -> -	happyIn172-		 (let l = happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3] in BracketExp l $ TypeBracket l happy_var_2-	)}}}--happyReduce_447 = happyReduce 5# 158# happyReduction_447-happyReduction_447 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (Loc happy_var_1 THDecQuote) -> -	case happyOut247 happy_x_2 of { happy_var_2 -> -	case happyOut53 happy_x_3 of { happy_var_3 -> -	case happyOut248 happy_x_4 of { happy_var_4 -> -	case happyOutTok happy_x_5 of { (Loc happy_var_5 THCloseQuote) -> -	happyIn172-		 (let l = happy_var_1 <^^> happy_var_5 <** (happy_var_1:snd happy_var_3 ++ [happy_var_5])-                                            in BracketExp l $ DeclBracket (happy_var_1 <^^> happy_var_5 <** (happy_var_2:snd happy_var_3 ++ [happy_var_4,happy_var_5])) (fst happy_var_3)-	) `HappyStk` happyRest}}}}}--happyReduce_448 = happySpecReduce_2  158# happyReduction_448-happyReduction_448 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 THVarQuote) -> -	case happyOut220 happy_x_2 of { happy_var_2 -> -	happyIn172-		 (VarQuote (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2-	)}}--happyReduce_449 = happySpecReduce_2  158# happyReduction_449-happyReduction_449 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 THVarQuote) -> -	case happyOut223 happy_x_2 of { happy_var_2 -> -	happyIn172-		 (VarQuote (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2-	)}}--happyReduce_450 = happySpecReduce_2  158# happyReduction_450-happyReduction_450 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 THTyQuote) -> -	case happyOut259 happy_x_2 of { happy_var_2 -> -	happyIn172-		 (TypQuote (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) (UnQual (ann happy_var_2) happy_var_2)-	)}}--happyReduce_451 = happySpecReduce_2  158# happyReduction_451-happyReduction_451 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 THTyQuote) -> -	case happyOut104 happy_x_2 of { happy_var_2 -> -	happyIn172-		 (TypQuote (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2-	)}}--happyReduce_452 = happySpecReduce_1  158# happyReduction_452-happyReduction_452 happy_x_1-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> -	happyIn172-		 (let Loc l (THQuasiQuote (n,q)) = happy_var_1 in QuasiQuote (nIS l) n q-	)}--happyReduce_453 = happySpecReduce_2  159# happyReduction_453-happyReduction_453 happy_x_2-	happy_x_1-	 =  case happyOut173 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> -	happyIn173-		 (happy_var_2 : happy_var_1-	)}}--happyReduce_454 = happySpecReduce_1  159# happyReduction_454-happyReduction_454 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Comma) -> -	happyIn173-		 ([happy_var_1]-	)}--happyReduce_455 = happySpecReduce_1  160# happyReduction_455-happyReduction_455 happy_x_1-	 =  case happyOut158 happy_x_1 of { happy_var_1 -> -	happyIn174-		 (happy_var_1-	)}--happyReduce_456 = happySpecReduce_2  160# happyReduction_456-happyReduction_456 happy_x_2-	happy_x_1-	 =  case happyOut231 happy_x_1 of { happy_var_1 -> -	case happyOut159 happy_x_2 of { happy_var_2 -> -	happyIn174-		 (PreOp (happy_var_1 <> happy_var_2) happy_var_1 happy_var_2-	)}}--happyReduce_457 = happyMonadReduce 3# 160# happyReduction_457-happyReduction_457 (happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut158 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 RightArrow) -> -	case happyOut204 happy_x_3 of { happy_var_3 -> -	( do {checkEnabled ViewPatterns;-                                             return $ ViewPat (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3})}}}-	) (\r -> happyReturn (happyIn174 r))--happyReduce_458 = happySpecReduce_3  161# happyReduction_458-happyReduction_458 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut173 happy_x_1 of { happy_var_1 -> -	case happyOut174 happy_x_2 of { happy_var_2 -> -	case happyOut175 happy_x_3 of { happy_var_3 -> -	happyIn175-		 (let (mes, ss) = happy_var_3 in (replicate (length happy_var_1 - 1) Nothing ++ Just happy_var_2 : mes, ss ++ happy_var_1)-	)}}}--happyReduce_459 = happySpecReduce_3  161# happyReduction_459-happyReduction_459 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut173 happy_x_1 of { happy_var_1 -> -	case happyOut174 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> -	happyIn175-		 ((replicate (length happy_var_1 - 1) Nothing ++ [Just happy_var_2], happy_var_3 : happy_var_1)-	)}}}--happyReduce_460 = happySpecReduce_2  161# happyReduction_460-happyReduction_460 happy_x_2-	happy_x_1-	 =  case happyOut173 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 RightParen) -> -	happyIn175-		 ((replicate (length happy_var_1) Nothing, happy_var_2 : happy_var_1)-	)}}--happyReduce_461 = happySpecReduce_3  162# happyReduction_461-happyReduction_461 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut173 happy_x_1 of { happy_var_1 -> -	case happyOut174 happy_x_2 of { happy_var_2 -> -	case happyOut176 happy_x_3 of { happy_var_3 -> -	happyIn176-		 (let (mes, ss) = happy_var_3 in (replicate (length happy_var_1 - 1) Nothing ++ Just happy_var_2 : mes, ss ++ happy_var_1)-	)}}}--happyReduce_462 = happySpecReduce_3  162# happyReduction_462-happyReduction_462 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut173 happy_x_1 of { happy_var_1 -> -	case happyOut174 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightHashParen) -> -	happyIn176-		 ((replicate (length happy_var_1 - 1) Nothing ++ [Just happy_var_2], happy_var_3 : happy_var_1)-	)}}}--happyReduce_463 = happySpecReduce_2  162# happyReduction_463-happyReduction_463 happy_x_2-	happy_x_1-	 =  case happyOut173 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 RightHashParen) -> -	happyIn176-		 ((replicate (length happy_var_1) Nothing, happy_var_2 : happy_var_1)-	)}}--happyReduce_464 = happySpecReduce_3  163# happyReduction_464-happyReduction_464 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut177 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> -	case happyOut158 happy_x_3 of { happy_var_3 -> -	happyIn177-		 ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)-	)}}}--happyReduce_465 = happySpecReduce_1  163# happyReduction_465-happyReduction_465 happy_x_1-	 =  case happyOut158 happy_x_1 of { happy_var_1 -> -	happyIn177-		 (([happy_var_1],[])-	)}--happyReduce_466 = happySpecReduce_3  164# happyReduction_466-happyReduction_466 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut158 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 Bar) -> -	case happyOut178 happy_x_3 of { happy_var_3 -> -	happyIn178-		 (EitherRP (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3-	)}}}--happyReduce_467 = happySpecReduce_3  164# happyReduction_467-happyReduction_467 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut158 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 Bar) -> -	case happyOut158 happy_x_3 of { happy_var_3 -> -	happyIn178-		 (EitherRP (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3-	)}}}--happyReduce_468 = happyMonadReduce 10# 165# happyReduction_468-happyReduction_468 (happy_x_10 `HappyStk`-	happy_x_9 `HappyStk`-	happy_x_8 `HappyStk`-	happy_x_7 `HappyStk`-	happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 XStdTagOpen) -> -	case happyOut182 happy_x_2 of { happy_var_2 -> -	case happyOut185 happy_x_3 of { happy_var_3 -> -	case happyOut187 happy_x_4 of { happy_var_4 -> -	case happyOutTok happy_x_5 of { (Loc happy_var_5 XStdTagClose) -> -	case happyOut180 happy_x_6 of { happy_var_6 -> -	case happyOut164 happy_x_7 of { happy_var_7 -> -	case happyOutTok happy_x_8 of { (Loc happy_var_8 XCloseTagOpen) -> -	case happyOut182 happy_x_9 of { happy_var_9 -> -	case happyOutTok happy_x_10 of { (Loc happy_var_10 XStdTagClose) -> -	( do { n <- checkEqNames happy_var_2 happy_var_9;-                                                                       let { cn = reverse happy_var_6;-                                                                             as = reverse happy_var_3;-                                                                             l  = happy_var_1 <^^> happy_var_10 <** [happy_var_1,happy_var_5] ++ happy_var_7 ++ [happy_var_8,srcInfoSpan (ann happy_var_9),happy_var_10] };-                                                                       return $ XTag l n as happy_var_4 cn })}}}}}}}}}}-	) (\r -> happyReturn (happyIn179 r))--happyReduce_469 = happyReduce 5# 165# happyReduction_469-happyReduction_469 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (Loc happy_var_1 XStdTagOpen) -> -	case happyOut182 happy_x_2 of { happy_var_2 -> -	case happyOut185 happy_x_3 of { happy_var_3 -> -	case happyOut187 happy_x_4 of { happy_var_4 -> -	case happyOutTok happy_x_5 of { (Loc happy_var_5 XEmptyTagClose) -> -	happyIn179-		 (XETag   (happy_var_1 <^^> happy_var_5 <** [happy_var_1,happy_var_5]) happy_var_2 (reverse happy_var_3) happy_var_4-	) `HappyStk` happyRest}}}}}--happyReduce_470 = happySpecReduce_3  165# happyReduction_470-happyReduction_470 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 XCodeTagOpen) -> -	case happyOut158 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 XCodeTagClose) -> -	happyIn179-		 (XExpTag (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2-	)}}}--happyReduce_471 = happyReduce 5# 165# happyReduction_471-happyReduction_471 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (Loc happy_var_1 XChildTagOpen) -> -	case happyOut180 happy_x_2 of { happy_var_2 -> -	case happyOut164 happy_x_3 of { happy_var_3 -> -	case happyOutTok happy_x_4 of { (Loc happy_var_4 XCloseTagOpen) -> -	case happyOutTok happy_x_5 of { (Loc happy_var_5 XCodeTagClose) -> -	happyIn179-		 (XChildTag (happy_var_1 <^^> happy_var_5 <** (happy_var_1:happy_var_3++[happy_var_4,happy_var_5])) (reverse happy_var_2)-	) `HappyStk` happyRest}}}}}--happyReduce_472 = happySpecReduce_2  166# happyReduction_472-happyReduction_472 happy_x_2-	happy_x_1-	 =  case happyOut180 happy_x_1 of { happy_var_1 -> -	case happyOut181 happy_x_2 of { happy_var_2 -> -	happyIn180-		 (happy_var_2 : happy_var_1-	)}}--happyReduce_473 = happySpecReduce_0  166# happyReduction_473-happyReduction_473  =  happyIn180-		 ([]-	)--happyReduce_474 = happySpecReduce_1  167# happyReduction_474-happyReduction_474 happy_x_1-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> -	happyIn181-		 (let Loc l (XPCDATA pcd) = happy_var_1 in XPcdata (nIS l) pcd-	)}--happyReduce_475 = happySpecReduce_3  167# happyReduction_475-happyReduction_475 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 XRPatOpen) -> -	case happyOut177 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 XRPatClose) -> -	happyIn181-		 (XRPats (happy_var_1 <^^> happy_var_3 <** (snd happy_var_2 ++ [happy_var_1,happy_var_3])) $ reverse (fst happy_var_2)-	)}}}--happyReduce_476 = happySpecReduce_1  167# happyReduction_476-happyReduction_476 happy_x_1-	 =  case happyOut179 happy_x_1 of { happy_var_1 -> -	happyIn181-		 (happy_var_1-	)}--happyReduce_477 = happySpecReduce_3  168# happyReduction_477-happyReduction_477 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut183 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 Colon) -> -	case happyOut183 happy_x_3 of { happy_var_3 -> -	happyIn182-		 (let {Loc l1 s1 = happy_var_1; Loc l2 s2 = happy_var_3}-                                         in XDomName (nIS l1 <++> nIS l2 <** [l1,happy_var_2,l2]) s1 s2-	)}}}--happyReduce_478 = happySpecReduce_1  168# happyReduction_478-happyReduction_478 happy_x_1-	 =  case happyOut183 happy_x_1 of { happy_var_1 -> -	happyIn182-		 (let Loc l str = happy_var_1 in XName (nIS l) str-	)}--happyReduce_479 = happySpecReduce_1  169# happyReduction_479-happyReduction_479 happy_x_1-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> -	happyIn183-		 (let Loc l (VarId  s) = happy_var_1 in Loc l s-	)}--happyReduce_480 = happySpecReduce_1  169# happyReduction_480-happyReduction_480 happy_x_1-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> -	happyIn183-		 (let Loc l (ConId  s) = happy_var_1 in Loc l s-	)}--happyReduce_481 = happySpecReduce_1  169# happyReduction_481-happyReduction_481 happy_x_1-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> -	happyIn183-		 (let Loc l (DVarId s) = happy_var_1 in Loc l $ mkDVar s-	)}--happyReduce_482 = happySpecReduce_1  169# happyReduction_482-happyReduction_482 happy_x_1-	 =  case happyOut184 happy_x_1 of { happy_var_1 -> -	happyIn183-		 (happy_var_1-	)}--happyReduce_483 = happySpecReduce_1  170# happyReduction_483-happyReduction_483 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> -	happyIn184-		 (Loc happy_var_1 "type"-	)}--happyReduce_484 = happySpecReduce_1  170# happyReduction_484-happyReduction_484 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Class) -> -	happyIn184-		 (Loc happy_var_1 "class"-	)}--happyReduce_485 = happySpecReduce_1  170# happyReduction_485-happyReduction_485 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Data) -> -	happyIn184-		 (Loc happy_var_1 "data"-	)}--happyReduce_486 = happySpecReduce_1  170# happyReduction_486-happyReduction_486 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Foreign) -> -	happyIn184-		 (Loc happy_var_1 "foreign"-	)}--happyReduce_487 = happySpecReduce_1  170# happyReduction_487-happyReduction_487 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Export) -> -	happyIn184-		 (Loc happy_var_1 "export"-	)}--happyReduce_488 = happySpecReduce_1  170# happyReduction_488-happyReduction_488 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Safe) -> -	happyIn184-		 (Loc happy_var_1 "safe"-	)}--happyReduce_489 = happySpecReduce_1  170# happyReduction_489-happyReduction_489 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Unsafe) -> -	happyIn184-		 (Loc happy_var_1 "unsafe"-	)}--happyReduce_490 = happySpecReduce_1  170# happyReduction_490-happyReduction_490 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Interruptible) -> -	happyIn184-		 (Loc happy_var_1 "interruptible"-	)}--happyReduce_491 = happySpecReduce_1  170# happyReduction_491-happyReduction_491 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Threadsafe) -> -	happyIn184-		 (Loc happy_var_1 "threadsafe"-	)}--happyReduce_492 = happySpecReduce_1  170# happyReduction_492-happyReduction_492 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_StdCall) -> -	happyIn184-		 (Loc happy_var_1 "stdcall"-	)}--happyReduce_493 = happySpecReduce_1  170# happyReduction_493-happyReduction_493 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CCall) -> -	happyIn184-		 (Loc happy_var_1 "ccall"-	)}--happyReduce_494 = happySpecReduce_1  170# happyReduction_494-happyReduction_494 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CPlusPlus) -> -	happyIn184-		 (Loc happy_var_1 "cplusplus"-	)}--happyReduce_495 = happySpecReduce_1  170# happyReduction_495-happyReduction_495 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_DotNet) -> -	happyIn184-		 (Loc happy_var_1 "dotnet"-	)}--happyReduce_496 = happySpecReduce_1  170# happyReduction_496-happyReduction_496 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Jvm) -> -	happyIn184-		 (Loc happy_var_1 "jvm"-	)}--happyReduce_497 = happySpecReduce_1  170# happyReduction_497-happyReduction_497 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Js) -> -	happyIn184-		 (Loc happy_var_1 "js"-	)}--happyReduce_498 = happySpecReduce_1  170# happyReduction_498-happyReduction_498 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_JavaScript) -> -	happyIn184-		 (Loc happy_var_1 "javascript"-	)}--happyReduce_499 = happySpecReduce_1  170# happyReduction_499-happyReduction_499 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CApi) -> -	happyIn184-		 (Loc happy_var_1 "capi"-	)}--happyReduce_500 = happySpecReduce_1  170# happyReduction_500-happyReduction_500 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_As) -> -	happyIn184-		 (Loc happy_var_1 "as"-	)}--happyReduce_501 = happySpecReduce_1  170# happyReduction_501-happyReduction_501 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_By) -> -	happyIn184-		 (Loc happy_var_1 "by"-	)}--happyReduce_502 = happySpecReduce_1  170# happyReduction_502-happyReduction_502 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Case) -> -	happyIn184-		 (Loc happy_var_1 "case"-	)}--happyReduce_503 = happySpecReduce_1  170# happyReduction_503-happyReduction_503 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Default) -> -	happyIn184-		 (Loc happy_var_1 "default"-	)}--happyReduce_504 = happySpecReduce_1  170# happyReduction_504-happyReduction_504 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Deriving) -> -	happyIn184-		 (Loc happy_var_1 "deriving"-	)}--happyReduce_505 = happySpecReduce_1  170# happyReduction_505-happyReduction_505 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Do) -> -	happyIn184-		 (Loc happy_var_1 "do"-	)}--happyReduce_506 = happySpecReduce_1  170# happyReduction_506-happyReduction_506 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Else) -> -	happyIn184-		 (Loc happy_var_1 "else"-	)}--happyReduce_507 = happySpecReduce_1  170# happyReduction_507-happyReduction_507 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Family) -> -	happyIn184-		 (Loc happy_var_1 "family"-	)}--happyReduce_508 = happySpecReduce_1  170# happyReduction_508-happyReduction_508 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Forall) -> -	happyIn184-		 (Loc happy_var_1 "forall"-	)}--happyReduce_509 = happySpecReduce_1  170# happyReduction_509-happyReduction_509 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Group) -> -	happyIn184-		 (Loc happy_var_1 "group"-	)}--happyReduce_510 = happySpecReduce_1  170# happyReduction_510-happyReduction_510 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Hiding) -> -	happyIn184-		 (Loc happy_var_1 "hiding"-	)}--happyReduce_511 = happySpecReduce_1  170# happyReduction_511-happyReduction_511 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_If) -> -	happyIn184-		 (Loc happy_var_1 "if"-	)}--happyReduce_512 = happySpecReduce_1  170# happyReduction_512-happyReduction_512 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Import) -> -	happyIn184-		 (Loc happy_var_1 "import"-	)}--happyReduce_513 = happySpecReduce_1  170# happyReduction_513-happyReduction_513 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_In) -> -	happyIn184-		 (Loc happy_var_1 "in"-	)}--happyReduce_514 = happySpecReduce_1  170# happyReduction_514-happyReduction_514 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Infix) -> -	happyIn184-		 (Loc happy_var_1 "infix"-	)}--happyReduce_515 = happySpecReduce_1  170# happyReduction_515-happyReduction_515 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_InfixL) -> -	happyIn184-		 (Loc happy_var_1 "infixl"-	)}--happyReduce_516 = happySpecReduce_1  170# happyReduction_516-happyReduction_516 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_InfixR) -> -	happyIn184-		 (Loc happy_var_1 "infixr"-	)}--happyReduce_517 = happySpecReduce_1  170# happyReduction_517-happyReduction_517 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Instance) -> -	happyIn184-		 (Loc happy_var_1 "instance"-	)}--happyReduce_518 = happySpecReduce_1  170# happyReduction_518-happyReduction_518 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Let) -> -	happyIn184-		 (Loc happy_var_1 "let"-	)}--happyReduce_519 = happySpecReduce_1  170# happyReduction_519-happyReduction_519 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_MDo) -> -	happyIn184-		 (Loc happy_var_1 "mdo"-	)}--happyReduce_520 = happySpecReduce_1  170# happyReduction_520-happyReduction_520 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Module) -> -	happyIn184-		 (Loc happy_var_1 "module"-	)}--happyReduce_521 = happySpecReduce_1  170# happyReduction_521-happyReduction_521 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_NewType) -> -	happyIn184-		 (Loc happy_var_1 "newtype"-	)}--happyReduce_522 = happySpecReduce_1  170# happyReduction_522-happyReduction_522 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Of) -> -	happyIn184-		 (Loc happy_var_1 "of"-	)}--happyReduce_523 = happySpecReduce_1  170# happyReduction_523-happyReduction_523 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Proc) -> -	happyIn184-		 (Loc happy_var_1 "proc"-	)}--happyReduce_524 = happySpecReduce_1  170# happyReduction_524-happyReduction_524 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Rec) -> -	happyIn184-		 (Loc happy_var_1 "rec"-	)}--happyReduce_525 = happySpecReduce_1  170# happyReduction_525-happyReduction_525 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Then) -> -	happyIn184-		 (Loc happy_var_1 "then"-	)}--happyReduce_526 = happySpecReduce_1  170# happyReduction_526-happyReduction_526 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Using) -> -	happyIn184-		 (Loc happy_var_1 "using"-	)}--happyReduce_527 = happySpecReduce_1  170# happyReduction_527-happyReduction_527 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Where) -> -	happyIn184-		 (Loc happy_var_1 "where"-	)}--happyReduce_528 = happySpecReduce_1  170# happyReduction_528-happyReduction_528 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Qualified) -> -	happyIn184-		 (Loc happy_var_1 "qualified"-	)}--happyReduce_529 = happySpecReduce_2  171# happyReduction_529-happyReduction_529 happy_x_2-	happy_x_1-	 =  case happyOut185 happy_x_1 of { happy_var_1 -> -	case happyOut186 happy_x_2 of { happy_var_2 -> -	happyIn185-		 (happy_var_2 : happy_var_1-	)}}--happyReduce_530 = happySpecReduce_0  171# happyReduction_530-happyReduction_530  =  happyIn185-		 ([]-	)--happyReduce_531 = happySpecReduce_3  172# happyReduction_531-happyReduction_531 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut182 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 Equals) -> -	case happyOut170 happy_x_3 of { happy_var_3 -> -	happyIn186-		 (XAttr (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3-	)}}}--happyReduce_532 = happySpecReduce_1  173# happyReduction_532-happyReduction_532 happy_x_1-	 =  case happyOut170 happy_x_1 of { happy_var_1 -> -	happyIn187-		 (Just happy_var_1-	)}--happyReduce_533 = happySpecReduce_0  173# happyReduction_533-happyReduction_533  =  happyIn187-		 (Nothing-	)--happyReduce_534 = happySpecReduce_1  174# happyReduction_534-happyReduction_534 happy_x_1-	 =  case happyOut174 happy_x_1 of { happy_var_1 -> -	happyIn188-		 (\l -> List l [happy_var_1]-	)}--happyReduce_535 = happySpecReduce_1  174# happyReduction_535-happyReduction_535 happy_x_1-	 =  case happyOut189 happy_x_1 of { happy_var_1 -> -	happyIn188-		 (\l -> let (ps,ss) = happy_var_1 in List (l <** reverse ss) (reverse ps)-	)}--happyReduce_536 = happySpecReduce_2  174# happyReduction_536-happyReduction_536 happy_x_2-	happy_x_1-	 =  case happyOut174 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 DotDot) -> -	happyIn188-		 (\l -> EnumFrom       (l <** [happy_var_2]) happy_var_1-	)}}--happyReduce_537 = happyReduce 4# 174# happyReduction_537-happyReduction_537 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut174 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> -	case happyOut158 happy_x_3 of { happy_var_3 -> -	case happyOutTok happy_x_4 of { (Loc happy_var_4 DotDot) -> -	happyIn188-		 (\l -> EnumFromThen   (l <** [happy_var_2,happy_var_4]) happy_var_1 happy_var_3-	) `HappyStk` happyRest}}}}--happyReduce_538 = happySpecReduce_3  174# happyReduction_538-happyReduction_538 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut174 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 DotDot) -> -	case happyOut158 happy_x_3 of { happy_var_3 -> -	happyIn188-		 (\l -> EnumFromTo     (l <** [happy_var_2]) happy_var_1 happy_var_3-	)}}}--happyReduce_539 = happyReduce 5# 174# happyReduction_539-happyReduction_539 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut174 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> -	case happyOut158 happy_x_3 of { happy_var_3 -> -	case happyOutTok happy_x_4 of { (Loc happy_var_4 DotDot) -> -	case happyOut158 happy_x_5 of { happy_var_5 -> -	happyIn188-		 (\l -> EnumFromThenTo (l <** [happy_var_2,happy_var_4]) happy_var_1 happy_var_3 happy_var_5-	) `HappyStk` happyRest}}}}}--happyReduce_540 = happySpecReduce_3  174# happyReduction_540-happyReduction_540 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut174 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 Bar) -> -	case happyOut190 happy_x_3 of { happy_var_3 -> -	happyIn188-		 (\l -> let (stss, ss) = happy_var_3 in ParComp (l <** (happy_var_2:ss)) happy_var_1 (reverse stss)-	)}}}--happyReduce_541 = happySpecReduce_3  175# happyReduction_541-happyReduction_541 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut189 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> -	case happyOut174 happy_x_3 of { happy_var_3 -> -	happyIn189-		 (let (es, ss) = happy_var_1 in (happy_var_3 : es, happy_var_2 : ss)-	)}}}--happyReduce_542 = happySpecReduce_3  175# happyReduction_542-happyReduction_542 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut174 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> -	case happyOut174 happy_x_3 of { happy_var_3 -> -	happyIn189-		 (([happy_var_3,happy_var_1], [happy_var_2])-	)}}}--happyReduce_543 = happySpecReduce_3  176# happyReduction_543-happyReduction_543 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut190 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 Bar) -> -	case happyOut191 happy_x_3 of { happy_var_3 -> -	happyIn190-		 (let { (stss, ss1) = happy_var_1;-                                              (sts, ss2) = happy_var_3 }-                                         in (reverse sts : stss, ss1 ++ [happy_var_2] ++ reverse ss2)-	)}}}--happyReduce_544 = happySpecReduce_1  176# happyReduction_544-happyReduction_544 happy_x_1-	 =  case happyOut191 happy_x_1 of { happy_var_1 -> -	happyIn190-		 (let (sts, ss) = happy_var_1 in ([reverse sts], reverse ss)-	)}--happyReduce_545 = happySpecReduce_3  177# happyReduction_545-happyReduction_545 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut191 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> -	case happyOut192 happy_x_3 of { happy_var_3 -> -	happyIn191-		 (let (sts, ss) = happy_var_1 in (happy_var_3 : sts, happy_var_2 : ss)-	)}}}--happyReduce_546 = happySpecReduce_1  177# happyReduction_546-happyReduction_546 happy_x_1-	 =  case happyOut192 happy_x_1 of { happy_var_1 -> -	happyIn191-		 (([happy_var_1],[])-	)}--happyReduce_547 = happySpecReduce_1  178# happyReduction_547-happyReduction_547 happy_x_1-	 =  case happyOut193 happy_x_1 of { happy_var_1 -> -	happyIn192-		 (happy_var_1-	)}--happyReduce_548 = happySpecReduce_1  178# happyReduction_548-happyReduction_548 happy_x_1-	 =  case happyOut195 happy_x_1 of { happy_var_1 -> -	happyIn192-		 (QualStmt (ann happy_var_1) happy_var_1-	)}--happyReduce_549 = happySpecReduce_2  179# happyReduction_549-happyReduction_549 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Then) -> -	case happyOut157 happy_x_2 of { happy_var_2 -> -	happyIn193-		 (ThenTrans    (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2-	)}}--happyReduce_550 = happyReduce 4# 179# happyReduction_550-happyReduction_550 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Then) -> -	case happyOut157 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 KW_By) -> -	case happyOut157 happy_x_4 of { happy_var_4 -> -	happyIn193-		 (ThenBy       (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3]) happy_var_2 happy_var_4-	) `HappyStk` happyRest}}}}--happyReduce_551 = happyReduce 4# 179# happyReduction_551-happyReduction_551 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Then) -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Group) -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 KW_By) -> -	case happyOut157 happy_x_4 of { happy_var_4 -> -	happyIn193-		 (GroupBy      (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_2,happy_var_3]) happy_var_4-	) `HappyStk` happyRest}}}}--happyReduce_552 = happyReduce 4# 179# happyReduction_552-happyReduction_552 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Then) -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Group) -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 KW_Using) -> -	case happyOut157 happy_x_4 of { happy_var_4 -> -	happyIn193-		 (GroupUsing   (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_2,happy_var_3]) happy_var_4-	) `HappyStk` happyRest}}}}--happyReduce_553 = happyReduce 6# 179# happyReduction_553-happyReduction_553 (happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Then) -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Group) -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 KW_By) -> -	case happyOut157 happy_x_4 of { happy_var_4 -> -	case happyOutTok happy_x_5 of { (Loc happy_var_5 KW_Using) -> -	case happyOut157 happy_x_6 of { happy_var_6 -> -	happyIn193-		 (GroupByUsing (nIS happy_var_1 <++> ann happy_var_6 <** [happy_var_1,happy_var_2,happy_var_3,happy_var_5]) happy_var_4 happy_var_6-	) `HappyStk` happyRest}}}}}}--happyReduce_554 = happySpecReduce_3  180# happyReduction_554-happyReduction_554 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut194 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> -	case happyOut195 happy_x_3 of { happy_var_3 -> -	happyIn194-		 (let (sts, ss) = happy_var_1 in (happy_var_3 : sts, happy_var_2 : ss)-	)}}}--happyReduce_555 = happySpecReduce_1  180# happyReduction_555-happyReduction_555 happy_x_1-	 =  case happyOut195 happy_x_1 of { happy_var_1 -> -	happyIn194-		 (([happy_var_1],[])-	)}--happyReduce_556 = happySpecReduce_3  181# happyReduction_556-happyReduction_556 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut204 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftArrow) -> -	case happyOut157 happy_x_3 of { happy_var_3 -> -	happyIn195-		 (Generator (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3-	)}}}--happyReduce_557 = happySpecReduce_1  181# happyReduction_557-happyReduction_557 happy_x_1-	 =  case happyOut157 happy_x_1 of { happy_var_1 -> -	happyIn195-		 (Qualifier (ann happy_var_1) happy_var_1-	)}--happyReduce_558 = happySpecReduce_2  181# happyReduction_558-happyReduction_558 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Let) -> -	case happyOut79 happy_x_2 of { happy_var_2 -> -	happyIn195-		 (LetStmt   (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2-	)}}--happyReduce_559 = happySpecReduce_0  182# happyReduction_559-happyReduction_559  =  happyIn196-		 (\l -> ParArray l []-	)--happyReduce_560 = happySpecReduce_1  182# happyReduction_560-happyReduction_560 happy_x_1-	 =  case happyOut174 happy_x_1 of { happy_var_1 -> -	happyIn196-		 (\l -> ParArray l [happy_var_1]-	)}--happyReduce_561 = happySpecReduce_1  182# happyReduction_561-happyReduction_561 happy_x_1-	 =  case happyOut189 happy_x_1 of { happy_var_1 -> -	happyIn196-		 (\l -> let (ps,ss) = happy_var_1 in ParArray (l <** reverse ss) (reverse ps)-	)}--happyReduce_562 = happySpecReduce_3  182# happyReduction_562-happyReduction_562 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut174 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 DotDot) -> -	case happyOut158 happy_x_3 of { happy_var_3 -> -	happyIn196-		 (\l -> ParArrayFromTo     (l <** [happy_var_2]) happy_var_1 happy_var_3-	)}}}--happyReduce_563 = happyReduce 5# 182# happyReduction_563-happyReduction_563 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut174 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> -	case happyOut158 happy_x_3 of { happy_var_3 -> -	case happyOutTok happy_x_4 of { (Loc happy_var_4 DotDot) -> -	case happyOut158 happy_x_5 of { happy_var_5 -> -	happyIn196-		 (\l -> ParArrayFromThenTo (l <** [happy_var_2,happy_var_4]) happy_var_1 happy_var_3 happy_var_5-	) `HappyStk` happyRest}}}}}--happyReduce_564 = happySpecReduce_3  182# happyReduction_564-happyReduction_564 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut174 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 Bar) -> -	case happyOut190 happy_x_3 of { happy_var_3 -> -	happyIn196-		 (\l -> let (stss, ss) = happy_var_3 in ParArrayComp (l <** (happy_var_2:ss)) happy_var_1 (reverse stss)-	)}}}--happyReduce_565 = happySpecReduce_3  183# happyReduction_565-happyReduction_565 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftCurly) -> -	case happyOut198 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightCurly) -> -	happyIn197-		 ((fst happy_var_2, happy_var_1 <^^> happy_var_3, happy_var_1:snd happy_var_2 ++ [happy_var_3])-	)}}}--happyReduce_566 = happySpecReduce_3  183# happyReduction_566-happyReduction_566 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut247 happy_x_1 of { happy_var_1 -> -	case happyOut198 happy_x_2 of { happy_var_2 -> -	case happyOut248 happy_x_3 of { happy_var_3 -> -	happyIn197-		 (let l' =  ann . last $ fst happy_var_2-                                         in (fst happy_var_2, nIS happy_var_1 <++> l', happy_var_1:snd happy_var_2 ++ [happy_var_3])-	)}}}--happyReduce_567 = happySpecReduce_3  184# happyReduction_567-happyReduction_567 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut28 happy_x_1 of { happy_var_1 -> -	case happyOut199 happy_x_2 of { happy_var_2 -> -	case happyOut28 happy_x_3 of { happy_var_3 -> -	happyIn198-		 ((reverse $ fst happy_var_2, happy_var_1 ++ snd happy_var_2 ++ happy_var_3)-	)}}}--happyReduce_568 = happySpecReduce_3  185# happyReduction_568-happyReduction_568 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut199 happy_x_1 of { happy_var_1 -> -	case happyOut27 happy_x_2 of { happy_var_2 -> -	case happyOut200 happy_x_3 of { happy_var_3 -> -	happyIn199-		 ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ happy_var_2)-	)}}}--happyReduce_569 = happySpecReduce_1  185# happyReduction_569-happyReduction_569 happy_x_1-	 =  case happyOut200 happy_x_1 of { happy_var_1 -> -	happyIn199-		 (([happy_var_1],[])-	)}--happyReduce_570 = happySpecReduce_3  186# happyReduction_570-happyReduction_570 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut204 happy_x_1 of { happy_var_1 -> -	case happyOut201 happy_x_2 of { happy_var_2 -> -	case happyOut152 happy_x_3 of { happy_var_3 -> -	happyIn200-		 (Alt (happy_var_1 <> happy_var_2 <+?> (fmap ann) (fst happy_var_3) <** snd happy_var_3) happy_var_1 happy_var_2 (fst happy_var_3)-	)}}}--happyReduce_571 = happySpecReduce_2  187# happyReduction_571-happyReduction_571 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 RightArrow) -> -	case happyOut157 happy_x_2 of { happy_var_2 -> -	happyIn201-		 (UnGuardedRhs (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2-	)}}--happyReduce_572 = happySpecReduce_1  187# happyReduction_572-happyReduction_572 happy_x_1-	 =  case happyOut202 happy_x_1 of { happy_var_1 -> -	happyIn201-		 (GuardedRhss  (snd happy_var_1) (reverse $ fst happy_var_1)-	)}--happyReduce_573 = happySpecReduce_2  188# happyReduction_573-happyReduction_573 happy_x_2-	happy_x_1-	 =  case happyOut202 happy_x_1 of { happy_var_1 -> -	case happyOut203 happy_x_2 of { happy_var_2 -> -	happyIn202-		 ((happy_var_2 : fst happy_var_1, snd happy_var_1 <++> ann happy_var_2)-	)}}--happyReduce_574 = happySpecReduce_1  188# happyReduction_574-happyReduction_574 happy_x_1-	 =  case happyOut203 happy_x_1 of { happy_var_1 -> -	happyIn202-		 (([happy_var_1], ann happy_var_1)-	)}--happyReduce_575 = happyMonadReduce 4# 189# happyReduction_575-happyReduction_575 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 Bar) -> -	case happyOut194 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightArrow) -> -	case happyOut157 happy_x_4 of { happy_var_4 -> -	( do { checkPatternGuards (fst happy_var_2);-                                       let {l = nIS happy_var_1 <++> ann happy_var_4 <** (happy_var_1:snd happy_var_2 ++ [happy_var_3])};-                                       return (GuardedRhs l (reverse (fst happy_var_2)) happy_var_4) })}}}}-	) (\r -> happyReturn (happyIn203 r))--happyReduce_576 = happyMonadReduce 1# 190# happyReduction_576-happyReduction_576 (happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut158 happy_x_1 of { happy_var_1 -> -	( checkPattern happy_var_1)}-	) (\r -> happyReturn (happyIn204 r))--happyReduce_577 = happyMonadReduce 2# 190# happyReduction_577-happyReduction_577 (happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 Exclamation) -> -	case happyOut170 happy_x_2 of { happy_var_2 -> -	( checkPattern (BangPat (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2))}}-	) (\r -> happyReturn (happyIn204 r))--happyReduce_578 = happySpecReduce_3  191# happyReduction_578-happyReduction_578 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftCurly) -> -	case happyOut206 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightCurly) -> -	happyIn205-		 ((fst happy_var_2, happy_var_1 <^^> happy_var_3, happy_var_1:snd happy_var_2 ++ [happy_var_3])-	)}}}--happyReduce_579 = happySpecReduce_3  191# happyReduction_579-happyReduction_579 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut247 happy_x_1 of { happy_var_1 -> -	case happyOut206 happy_x_2 of { happy_var_2 -> -	case happyOut248 happy_x_3 of { happy_var_3 -> -	happyIn205-		 (let l' =  ann . last $ fst happy_var_2-                                           in (fst happy_var_2, nIS happy_var_1 <++> l', happy_var_1:snd happy_var_2 ++ [happy_var_3])-	)}}}--happyReduce_580 = happySpecReduce_3  192# happyReduction_580-happyReduction_580 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut28 happy_x_1 of { happy_var_1 -> -	case happyOut207 happy_x_2 of { happy_var_2 -> -	case happyOut28 happy_x_3 of { happy_var_3 -> -	happyIn206-		 ((reverse $ fst happy_var_2, happy_var_1 ++ snd happy_var_2 ++ happy_var_3)-	)}}}--happyReduce_581 = happySpecReduce_3  193# happyReduction_581-happyReduction_581 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut207 happy_x_1 of { happy_var_1 -> -	case happyOut28 happy_x_2 of { happy_var_2 -> -	case happyOut203 happy_x_3 of { happy_var_3 -> -	happyIn207-		 ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ happy_var_2)-	)}}}--happyReduce_582 = happySpecReduce_1  193# happyReduction_582-happyReduction_582 happy_x_1-	 =  case happyOut203 happy_x_1 of { happy_var_1 -> -	happyIn207-		 (([happy_var_1], [])-	)}--happyReduce_583 = happySpecReduce_3  194# happyReduction_583-happyReduction_583 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftCurly) -> -	case happyOut209 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightCurly) -> -	happyIn208-		 ((fst happy_var_2, happy_var_1 <^^> happy_var_3, happy_var_1:snd happy_var_2 ++ [happy_var_3])-	)}}}--happyReduce_584 = happySpecReduce_3  194# happyReduction_584-happyReduction_584 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut247 happy_x_1 of { happy_var_1 -> -	case happyOut209 happy_x_2 of { happy_var_2 -> -	case happyOut248 happy_x_3 of { happy_var_3 -> -	happyIn208-		 (let l' =  ann . last $ fst happy_var_2-                                         in (fst happy_var_2, nIS happy_var_1 <++> l', happy_var_1:snd happy_var_2 ++ [happy_var_3])-	)}}}--happyReduce_585 = happySpecReduce_2  195# happyReduction_585-happyReduction_585 happy_x_2-	happy_x_1-	 =  case happyOut211 happy_x_1 of { happy_var_1 -> -	case happyOut210 happy_x_2 of { happy_var_2 -> -	happyIn209-		 ((happy_var_1 : fst happy_var_2, snd happy_var_2)-	)}}--happyReduce_586 = happySpecReduce_2  195# happyReduction_586-happyReduction_586 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 SemiColon) -> -	case happyOut209 happy_x_2 of { happy_var_2 -> -	happyIn209-		 ((fst happy_var_2, happy_var_1 : snd happy_var_2)-	)}}--happyReduce_587 = happySpecReduce_0  195# happyReduction_587-happyReduction_587  =  happyIn209-		 (([],[])-	)--happyReduce_588 = happySpecReduce_2  196# happyReduction_588-happyReduction_588 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 SemiColon) -> -	case happyOut209 happy_x_2 of { happy_var_2 -> -	happyIn210-		 ((fst happy_var_2, happy_var_1 : snd happy_var_2)-	)}}--happyReduce_589 = happySpecReduce_0  196# happyReduction_589-happyReduction_589  =  happyIn210-		 (([],[])-	)--happyReduce_590 = happySpecReduce_2  197# happyReduction_590-happyReduction_590 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Let) -> -	case happyOut79 happy_x_2 of { happy_var_2 -> -	happyIn211-		 (LetStmt (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2-	)}}--happyReduce_591 = happySpecReduce_3  197# happyReduction_591-happyReduction_591 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut204 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftArrow) -> -	case happyOut157 happy_x_3 of { happy_var_3 -> -	happyIn211-		 (Generator (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3-	)}}}--happyReduce_592 = happySpecReduce_1  197# happyReduction_592-happyReduction_592 happy_x_1-	 =  case happyOut157 happy_x_1 of { happy_var_1 -> -	happyIn211-		 (Qualifier (ann happy_var_1) happy_var_1-	)}--happyReduce_593 = happySpecReduce_2  197# happyReduction_593-happyReduction_593 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Rec) -> -	case happyOut208 happy_x_2 of { happy_var_2 -> -	happyIn211-		 (let (stms,inf,ss) = happy_var_2 in RecStmt (nIS happy_var_1 <++> inf <** happy_var_1:ss) stms-	)}}--happyReduce_594 = happySpecReduce_3  198# happyReduction_594-happyReduction_594 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut213 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> -	case happyOut212 happy_x_3 of { happy_var_3 -> -	happyIn212-		 (let (fbs, ss) = happy_var_3 in (happy_var_1 : fbs, happy_var_2 : ss)-	)}}}--happyReduce_595 = happySpecReduce_1  198# happyReduction_595-happyReduction_595 happy_x_1-	 =  case happyOut213 happy_x_1 of { happy_var_1 -> -	happyIn212-		 (([happy_var_1],[])-	)}--happyReduce_596 = happyMonadReduce 1# 198# happyReduction_596-happyReduction_596 (happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 DotDot) -> -	( do { checkEnabled RecordWildCards `atSrcLoc` (getPointLoc happy_var_1);-                                              return ([FieldWildcard (nIS happy_var_1)], []) })}-	) (\r -> happyReturn (happyIn212 r))--happyReduce_597 = happySpecReduce_3  199# happyReduction_597-happyReduction_597 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut220 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 Equals) -> -	case happyOut158 happy_x_3 of { happy_var_3 -> -	happyIn213-		 (FieldUpdate (happy_var_1 <>happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3-	)}}}--happyReduce_598 = happyMonadReduce 1# 199# happyReduction_598-happyReduction_598 (happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut220 happy_x_1 of { happy_var_1 -> -	( checkEnabled NamedFieldPuns >> checkQualOrUnQual happy_var_1 >>= return . FieldPun (ann happy_var_1))}-	) (\r -> happyReturn (happyIn213 r))--happyReduce_599 = happySpecReduce_3  200# happyReduction_599-happyReduction_599 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut28 happy_x_1 of { happy_var_1 -> -	case happyOut215 happy_x_2 of { happy_var_2 -> -	case happyOut28 happy_x_3 of { happy_var_3 -> -	happyIn214-		 ((reverse (fst happy_var_2), reverse happy_var_1 ++ snd happy_var_2 ++ reverse happy_var_3)-	)}}}--happyReduce_600 = happySpecReduce_3  201# happyReduction_600-happyReduction_600 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut215 happy_x_1 of { happy_var_1 -> -	case happyOut27 happy_x_2 of { happy_var_2 -> -	case happyOut216 happy_x_3 of { happy_var_3 -> -	happyIn215-		 ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ reverse happy_var_2)-	)}}}--happyReduce_601 = happySpecReduce_1  201# happyReduction_601-happyReduction_601 happy_x_1-	 =  case happyOut216 happy_x_1 of { happy_var_1 -> -	happyIn215-		 (([happy_var_1],[])-	)}--happyReduce_602 = happySpecReduce_3  202# happyReduction_602-happyReduction_602 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut221 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 Equals) -> -	case happyOut157 happy_x_3 of { happy_var_3 -> -	happyIn216-		 (IPBind (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3-	)}}}--happyReduce_603 = happySpecReduce_2  203# happyReduction_603-happyReduction_603 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 RightParen) -> -	happyIn217-		 (p_unit_con              (happy_var_1 <^^> happy_var_2 <** [happy_var_1,happy_var_2])-	)}}--happyReduce_604 = happySpecReduce_2  203# happyReduction_604-happyReduction_604 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftSquare) -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 RightSquare) -> -	happyIn217-		 (List                    (happy_var_1 <^^> happy_var_2 <** [happy_var_1,happy_var_2]) []-	)}}--happyReduce_605 = happySpecReduce_3  203# happyReduction_605-happyReduction_605 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> -	case happyOut173 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> -	happyIn217-		 (p_tuple_con             (happy_var_1 <^^> happy_var_3 <** happy_var_1:reverse (happy_var_3:happy_var_2)) Boxed (length happy_var_2)-	)}}}--happyReduce_606 = happySpecReduce_2  203# happyReduction_606-happyReduction_606 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftHashParen) -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 RightHashParen) -> -	happyIn217-		 (p_unboxed_singleton_con (happy_var_1 <^^> happy_var_2 <** [happy_var_1,happy_var_2])-	)}}--happyReduce_607 = happySpecReduce_3  203# happyReduction_607-happyReduction_607 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftHashParen) -> -	case happyOut173 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightHashParen) -> -	happyIn217-		 (p_tuple_con             (happy_var_1 <^^> happy_var_3 <** happy_var_1:reverse (happy_var_3:happy_var_2)) Unboxed (length happy_var_2)-	)}}}--happyReduce_608 = happySpecReduce_1  203# happyReduction_608-happyReduction_608 happy_x_1-	 =  case happyOut223 happy_x_1 of { happy_var_1 -> -	happyIn217-		 (Con (ann happy_var_1) happy_var_1-	)}--happyReduce_609 = happySpecReduce_1  204# happyReduction_609-happyReduction_609 happy_x_1-	 =  case happyOut235 happy_x_1 of { happy_var_1 -> -	happyIn218-		 (happy_var_1-	)}--happyReduce_610 = happySpecReduce_3  204# happyReduction_610-happyReduction_610 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> -	case happyOut243 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> -	happyIn218-		 (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2-	)}}}--happyReduce_611 = happySpecReduce_1  205# happyReduction_611-happyReduction_611 happy_x_1-	 =  case happyOut234 happy_x_1 of { happy_var_1 -> -	happyIn219-		 (happy_var_1-	)}--happyReduce_612 = happySpecReduce_3  205# happyReduction_612-happyReduction_612 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> -	case happyOut243 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> -	happyIn219-		 (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2-	)}}}--happyReduce_613 = happySpecReduce_1  206# happyReduction_613-happyReduction_613 happy_x_1-	 =  case happyOut233 happy_x_1 of { happy_var_1 -> -	happyIn220-		 (happy_var_1-	)}--happyReduce_614 = happySpecReduce_3  206# happyReduction_614-happyReduction_614 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> -	case happyOut241 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> -	happyIn220-		 (updateQNameLoc (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2-	)}}}--happyReduce_615 = happySpecReduce_1  207# happyReduction_615-happyReduction_615 happy_x_1-	 =  case happyOut236 happy_x_1 of { happy_var_1 -> -	happyIn221-		 (happy_var_1-	)}--happyReduce_616 = happySpecReduce_1  208# happyReduction_616-happyReduction_616 happy_x_1-	 =  case happyOut238 happy_x_1 of { happy_var_1 -> -	happyIn222-		 (happy_var_1-	)}--happyReduce_617 = happySpecReduce_3  208# happyReduction_617-happyReduction_617 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> -	case happyOut240 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> -	happyIn222-		 (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2-	)}}}--happyReduce_618 = happySpecReduce_1  209# happyReduction_618-happyReduction_618 happy_x_1-	 =  case happyOut237 happy_x_1 of { happy_var_1 -> -	happyIn223-		 (happy_var_1-	)}--happyReduce_619 = happySpecReduce_3  209# happyReduction_619-happyReduction_619 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> -	case happyOut232 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> -	happyIn223-		 (updateQNameLoc (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2-	)}}}--happyReduce_620 = happySpecReduce_1  210# happyReduction_620-happyReduction_620 happy_x_1-	 =  case happyOut243 happy_x_1 of { happy_var_1 -> -	happyIn224-		 (happy_var_1-	)}--happyReduce_621 = happySpecReduce_3  210# happyReduction_621-happyReduction_621 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 BackQuote) -> -	case happyOut235 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 BackQuote) -> -	happyIn224-		 (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2-	)}}}--happyReduce_622 = happySpecReduce_1  211# happyReduction_622-happyReduction_622 happy_x_1-	 =  case happyOut241 happy_x_1 of { happy_var_1 -> -	happyIn225-		 (happy_var_1-	)}--happyReduce_623 = happySpecReduce_3  211# happyReduction_623-happyReduction_623 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 BackQuote) -> -	case happyOut233 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 BackQuote) -> -	happyIn225-		 (updateQNameLoc (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2-	)}}}--happyReduce_624 = happySpecReduce_1  212# happyReduction_624-happyReduction_624 happy_x_1-	 =  case happyOut242 happy_x_1 of { happy_var_1 -> -	happyIn226-		 (happy_var_1-	)}--happyReduce_625 = happySpecReduce_3  212# happyReduction_625-happyReduction_625 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 BackQuote) -> -	case happyOut233 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 BackQuote) -> -	happyIn226-		 (updateQNameLoc (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2-	)}}}--happyReduce_626 = happySpecReduce_1  213# happyReduction_626-happyReduction_626 happy_x_1-	 =  case happyOut240 happy_x_1 of { happy_var_1 -> -	happyIn227-		 (happy_var_1-	)}--happyReduce_627 = happySpecReduce_3  213# happyReduction_627-happyReduction_627 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 BackQuote) -> -	case happyOut238 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 BackQuote) -> -	happyIn227-		 (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2-	)}}}--happyReduce_628 = happySpecReduce_1  214# happyReduction_628-happyReduction_628 happy_x_1-	 =  case happyOut232 happy_x_1 of { happy_var_1 -> -	happyIn228-		 (happy_var_1-	)}--happyReduce_629 = happySpecReduce_3  214# happyReduction_629-happyReduction_629 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 BackQuote) -> -	case happyOut237 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 BackQuote) -> -	happyIn228-		 (updateQNameLoc (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2-	)}}}--happyReduce_630 = happySpecReduce_1  215# happyReduction_630-happyReduction_630 happy_x_1-	 =  case happyOut224 happy_x_1 of { happy_var_1 -> -	happyIn229-		 (VarOp (ann happy_var_1) happy_var_1-	)}--happyReduce_631 = happySpecReduce_1  215# happyReduction_631-happyReduction_631 happy_x_1-	 =  case happyOut227 happy_x_1 of { happy_var_1 -> -	happyIn229-		 (ConOp (ann happy_var_1) happy_var_1-	)}--happyReduce_632 = happySpecReduce_1  216# happyReduction_632-happyReduction_632 happy_x_1-	 =  case happyOut225 happy_x_1 of { happy_var_1 -> -	happyIn230-		 (QVarOp (ann happy_var_1) happy_var_1-	)}--happyReduce_633 = happySpecReduce_1  216# happyReduction_633-happyReduction_633 happy_x_1-	 =  case happyOut228 happy_x_1 of { happy_var_1 -> -	happyIn230-		 (QConOp (ann happy_var_1) happy_var_1-	)}--happyReduce_634 = happySpecReduce_1  217# happyReduction_634-happyReduction_634 happy_x_1-	 =  case happyOut226 happy_x_1 of { happy_var_1 -> -	happyIn231-		 (QVarOp (ann happy_var_1) happy_var_1-	)}--happyReduce_635 = happySpecReduce_1  217# happyReduction_635-happyReduction_635 happy_x_1-	 =  case happyOut228 happy_x_1 of { happy_var_1 -> -	happyIn231-		 (QConOp (ann happy_var_1) happy_var_1-	)}--happyReduce_636 = happySpecReduce_1  218# happyReduction_636-happyReduction_636 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Colon) -> -	happyIn232-		 (list_cons_name (nIS happy_var_1)-	)}--happyReduce_637 = happySpecReduce_1  218# happyReduction_637-happyReduction_637 happy_x_1-	 =  case happyOut239 happy_x_1 of { happy_var_1 -> -	happyIn232-		 (happy_var_1-	)}--happyReduce_638 = happySpecReduce_1  219# happyReduction_638-happyReduction_638 happy_x_1-	 =  case happyOut235 happy_x_1 of { happy_var_1 -> -	happyIn233-		 (UnQual (ann happy_var_1) happy_var_1-	)}--happyReduce_639 = happySpecReduce_1  219# happyReduction_639-happyReduction_639 happy_x_1-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> -	happyIn233-		 (let {Loc l (QVarId q) = happy_var_1; nis = nIS l}-                                 in Qual nis (ModuleName nis (fst q)) (Ident nis (snd q))-	)}--happyReduce_640 = happySpecReduce_1  220# happyReduction_640-happyReduction_640 happy_x_1-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> -	happyIn234-		 (let Loc l (VarId v) = happy_var_1 in Ident (nIS l) v-	)}--happyReduce_641 = happySpecReduce_1  220# happyReduction_641-happyReduction_641 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_As) -> -	happyIn234-		 (as_name         (nIS happy_var_1)-	)}--happyReduce_642 = happySpecReduce_1  220# happyReduction_642-happyReduction_642 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Qualified) -> -	happyIn234-		 (qualified_name  (nIS happy_var_1)-	)}--happyReduce_643 = happySpecReduce_1  220# happyReduction_643-happyReduction_643 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Hiding) -> -	happyIn234-		 (hiding_name     (nIS happy_var_1)-	)}--happyReduce_644 = happySpecReduce_1  220# happyReduction_644-happyReduction_644 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Export) -> -	happyIn234-		 (export_name     (nIS happy_var_1)-	)}--happyReduce_645 = happySpecReduce_1  220# happyReduction_645-happyReduction_645 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_StdCall) -> -	happyIn234-		 (stdcall_name    (nIS happy_var_1)-	)}--happyReduce_646 = happySpecReduce_1  220# happyReduction_646-happyReduction_646 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CCall) -> -	happyIn234-		 (ccall_name      (nIS happy_var_1)-	)}--happyReduce_647 = happySpecReduce_1  220# happyReduction_647-happyReduction_647 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CPlusPlus) -> -	happyIn234-		 (cplusplus_name  (nIS happy_var_1)-	)}--happyReduce_648 = happySpecReduce_1  220# happyReduction_648-happyReduction_648 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_DotNet) -> -	happyIn234-		 (dotnet_name     (nIS happy_var_1)-	)}--happyReduce_649 = happySpecReduce_1  220# happyReduction_649-happyReduction_649 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Jvm) -> -	happyIn234-		 (jvm_name        (nIS happy_var_1)-	)}--happyReduce_650 = happySpecReduce_1  220# happyReduction_650-happyReduction_650 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Js) -> -	happyIn234-		 (js_name         (nIS happy_var_1)-	)}--happyReduce_651 = happySpecReduce_1  220# happyReduction_651-happyReduction_651 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_JavaScript) -> -	happyIn234-		 (javascript_name (nIS happy_var_1)-	)}--happyReduce_652 = happySpecReduce_1  220# happyReduction_652-happyReduction_652 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CApi) -> -	happyIn234-		 (capi_name       (nIS happy_var_1)-	)}--happyReduce_653 = happySpecReduce_1  221# happyReduction_653-happyReduction_653 happy_x_1-	 =  case happyOut234 happy_x_1 of { happy_var_1 -> -	happyIn235-		 (happy_var_1-	)}--happyReduce_654 = happySpecReduce_1  221# happyReduction_654-happyReduction_654 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Safe) -> -	happyIn235-		 (safe_name       (nIS happy_var_1)-	)}--happyReduce_655 = happySpecReduce_1  221# happyReduction_655-happyReduction_655 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Unsafe) -> -	happyIn235-		 (unsafe_name     (nIS happy_var_1)-	)}--happyReduce_656 = happySpecReduce_1  221# happyReduction_656-happyReduction_656 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Interruptible) -> -	happyIn235-		 (interruptible_name (nIS happy_var_1)-	)}--happyReduce_657 = happySpecReduce_1  221# happyReduction_657-happyReduction_657 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Threadsafe) -> -	happyIn235-		 (threadsafe_name (nIS happy_var_1)-	)}--happyReduce_658 = happySpecReduce_1  221# happyReduction_658-happyReduction_658 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Forall) -> -	happyIn235-		 (forall_name	  (nIS happy_var_1)-	)}--happyReduce_659 = happySpecReduce_1  221# happyReduction_659-happyReduction_659 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Family) -> -	happyIn235-		 (family_name     (nIS happy_var_1)-	)}--happyReduce_660 = happySpecReduce_1  222# happyReduction_660-happyReduction_660 happy_x_1-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> -	happyIn236-		 (let Loc l (IDupVarId i) = happy_var_1 in IPDup (nIS l) i-	)}--happyReduce_661 = happySpecReduce_1  222# happyReduction_661-happyReduction_661 happy_x_1-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> -	happyIn236-		 (let Loc l (ILinVarId i) = happy_var_1 in IPLin (nIS l) i-	)}--happyReduce_662 = happySpecReduce_1  223# happyReduction_662-happyReduction_662 happy_x_1-	 =  case happyOut238 happy_x_1 of { happy_var_1 -> -	happyIn237-		 (UnQual (ann happy_var_1) happy_var_1-	)}--happyReduce_663 = happySpecReduce_1  223# happyReduction_663-happyReduction_663 happy_x_1-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> -	happyIn237-		 (let {Loc l (QConId q) = happy_var_1; nis = nIS l} in Qual nis (ModuleName nis (fst q)) (Ident nis (snd q))-	)}--happyReduce_664 = happySpecReduce_1  224# happyReduction_664-happyReduction_664 happy_x_1-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> -	happyIn238-		 (let Loc l (ConId c) = happy_var_1 in Ident (nIS l) c-	)}--happyReduce_665 = happySpecReduce_1  225# happyReduction_665-happyReduction_665 happy_x_1-	 =  case happyOut240 happy_x_1 of { happy_var_1 -> -	happyIn239-		 (UnQual (ann happy_var_1) happy_var_1-	)}--happyReduce_666 = happySpecReduce_1  225# happyReduction_666-happyReduction_666 happy_x_1-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> -	happyIn239-		 (let {Loc l (QConSym q) = happy_var_1; nis = nIS l} in Qual nis (ModuleName nis (fst q)) (Symbol nis (snd q))-	)}--happyReduce_667 = happySpecReduce_1  226# happyReduction_667-happyReduction_667 happy_x_1-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> -	happyIn240-		 (let Loc l (ConSym c) = happy_var_1 in Symbol (nIS l) c-	)}--happyReduce_668 = happySpecReduce_1  227# happyReduction_668-happyReduction_668 happy_x_1-	 =  case happyOut243 happy_x_1 of { happy_var_1 -> -	happyIn241-		 (UnQual (ann happy_var_1) happy_var_1-	)}--happyReduce_669 = happySpecReduce_1  227# happyReduction_669-happyReduction_669 happy_x_1-	 =  case happyOut245 happy_x_1 of { happy_var_1 -> -	happyIn241-		 (happy_var_1-	)}--happyReduce_670 = happySpecReduce_1  228# happyReduction_670-happyReduction_670 happy_x_1-	 =  case happyOut244 happy_x_1 of { happy_var_1 -> -	happyIn242-		 (UnQual (ann happy_var_1) happy_var_1-	)}--happyReduce_671 = happySpecReduce_1  228# happyReduction_671-happyReduction_671 happy_x_1-	 =  case happyOut245 happy_x_1 of { happy_var_1 -> -	happyIn242-		 (happy_var_1-	)}--happyReduce_672 = happySpecReduce_1  229# happyReduction_672-happyReduction_672 happy_x_1-	 =  case happyOut244 happy_x_1 of { happy_var_1 -> -	happyIn243-		 (happy_var_1-	)}--happyReduce_673 = happySpecReduce_1  229# happyReduction_673-happyReduction_673 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Minus) -> -	happyIn243-		 (minus_name (nIS happy_var_1)-	)}--happyReduce_674 = happySpecReduce_1  230# happyReduction_674-happyReduction_674 happy_x_1-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> -	happyIn244-		 (let Loc l (VarSym v) = happy_var_1 in Symbol (nIS l) v-	)}--happyReduce_675 = happySpecReduce_1  230# happyReduction_675-happyReduction_675 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Exclamation) -> -	happyIn244-		 (bang_name (nIS happy_var_1)-	)}--happyReduce_676 = happySpecReduce_1  230# happyReduction_676-happyReduction_676 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Dot) -> -	happyIn244-		 (dot_name  (nIS happy_var_1)-	)}--happyReduce_677 = happySpecReduce_1  230# happyReduction_677-happyReduction_677 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Star) -> -	happyIn244-		 (star_name (nIS happy_var_1)-	)}--happyReduce_678 = happySpecReduce_1  231# happyReduction_678-happyReduction_678 happy_x_1-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> -	happyIn245-		 (let {Loc l (QVarSym q) = happy_var_1; nis = nIS l} in Qual nis (ModuleName nis (fst q)) (Symbol nis (snd q))-	)}--happyReduce_679 = happySpecReduce_1  232# happyReduction_679-happyReduction_679 happy_x_1-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> -	happyIn246-		 (let Loc l (IntTok        (i,raw)) = happy_var_1 in Int        (nIS l) i raw-	)}--happyReduce_680 = happySpecReduce_1  232# happyReduction_680-happyReduction_680 happy_x_1-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> -	happyIn246-		 (let Loc l (Character     (c,raw)) = happy_var_1 in Char       (nIS l) c raw-	)}--happyReduce_681 = happySpecReduce_1  232# happyReduction_681-happyReduction_681 happy_x_1-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> -	happyIn246-		 (let Loc l (FloatTok      (r,raw)) = happy_var_1 in Frac       (nIS l) r raw-	)}--happyReduce_682 = happySpecReduce_1  232# happyReduction_682-happyReduction_682 happy_x_1-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> -	happyIn246-		 (let Loc l (StringTok     (s,raw)) = happy_var_1 in String     (nIS l) s raw-	)}--happyReduce_683 = happySpecReduce_1  232# happyReduction_683-happyReduction_683 happy_x_1-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> -	happyIn246-		 (let Loc l (IntTokHash    (i,raw)) = happy_var_1 in PrimInt    (nIS l) i raw-	)}--happyReduce_684 = happySpecReduce_1  232# happyReduction_684-happyReduction_684 happy_x_1-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> -	happyIn246-		 (let Loc l (WordTokHash   (w,raw)) = happy_var_1 in PrimWord   (nIS l) w raw-	)}--happyReduce_685 = happySpecReduce_1  232# happyReduction_685-happyReduction_685 happy_x_1-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> -	happyIn246-		 (let Loc l (FloatTokHash  (f,raw)) = happy_var_1 in PrimFloat  (nIS l) f raw-	)}--happyReduce_686 = happySpecReduce_1  232# happyReduction_686-happyReduction_686 happy_x_1-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> -	happyIn246-		 (let Loc l (DoubleTokHash (d,raw)) = happy_var_1 in PrimDouble (nIS l) d raw-	)}--happyReduce_687 = happySpecReduce_1  232# happyReduction_687-happyReduction_687 happy_x_1-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> -	happyIn246-		 (let Loc l (CharacterHash (c,raw)) = happy_var_1 in PrimChar   (nIS l) c raw-	)}--happyReduce_688 = happySpecReduce_1  232# happyReduction_688-happyReduction_688 happy_x_1-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> -	happyIn246-		 (let Loc l (StringHash    (s,raw)) = happy_var_1 in PrimString (nIS l) s raw-	)}--happyReduce_689 = happyMonadReduce 0# 233# happyReduction_689-happyReduction_689 (happyRest) tk-	 = happyThen (( pushCurrentContext >> getSrcLoc >>= \s -> return $ mkSrcSpan s s {- >>= \x -> trace (show x) (return x) -})-	) (\r -> happyReturn (happyIn247 r))--happyReduce_690 = happySpecReduce_1  234# happyReduction_690-happyReduction_690 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 VRightCurly) -> -	happyIn248-		 (happy_var_1 {- >>= \x -> trace (show x ++ show x ++ show x) (return x) -}-	)}--happyReduce_691 = happyMonadReduce 1# 234# happyReduction_691-happyReduction_691 (happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (( popContext >> getSrcLoc >>= \s -> return $ mkSrcSpan s s {- >>= \x -> trace (show x ++ show x) (return x) -})-	) (\r -> happyReturn (happyIn248 r))--happyReduce_692 = happyMonadReduce 1# 235# happyReduction_692-happyReduction_692 (happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut250 happy_x_1 of { happy_var_1 -> -	( checkEnabled PatternSynonyms >> return happy_var_1)}-	) (\r -> happyReturn (happyIn249 r))--happyReduce_693 = happyReduce 4# 236# happyReduction_693-happyReduction_693 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Pattern) -> -	case happyOut251 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 Equals) -> -	case happyOut204 happy_x_4 of { happy_var_4 -> -	happyIn250-		 (let l = nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3]-             in PatSyn l happy_var_2 happy_var_4 ImplicitBidirectional-	) `HappyStk` happyRest}}}}--happyReduce_694 = happyReduce 4# 236# happyReduction_694-happyReduction_694 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Pattern) -> -	case happyOut251 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 LeftArrow) -> -	case happyOut204 happy_x_4 of { happy_var_4 -> -	happyIn250-		 (let l = nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3]-               in PatSyn l happy_var_2 happy_var_4 Unidirectional-	) `HappyStk` happyRest}}}}--happyReduce_695 = happyReduce 5# 236# happyReduction_695-happyReduction_695 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Pattern) -> -	case happyOut251 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 LeftArrow) -> -	case happyOut204 happy_x_4 of { happy_var_4 -> -	case happyOut253 happy_x_5 of { happy_var_5 -> -	happyIn250-		 (let l = nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1, happy_var_3]-             in PatSyn l happy_var_2 happy_var_4 happy_var_5-	) `HappyStk` happyRest}}}}}--happyReduce_696 = happySpecReduce_2  237# happyReduction_696-happyReduction_696 happy_x_2-	happy_x_1-	 =  case happyOut222 happy_x_1 of { happy_var_1 -> -	case happyOut252 happy_x_2 of { happy_var_2 -> -	happyIn251-		 (let l = case happy_var_2 of-                                 [] -> ann happy_var_1-                                 (_:_) -> ann happy_var_1 <++> (ann $ last happy_var_2)-                        in PApp l (UnQual (ann happy_var_1) happy_var_1) happy_var_2-	)}}--happyReduce_697 = happySpecReduce_3  237# happyReduction_697-happyReduction_697 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut235 happy_x_1 of { happy_var_1 -> -	case happyOut239 happy_x_2 of { happy_var_2 -> -	case happyOut235 happy_x_3 of { happy_var_3 -> -	happyIn251-		 (PInfixApp (ann happy_var_1 <++> ann happy_var_3) (PVar (ann happy_var_1) happy_var_1) happy_var_2 (PVar (ann happy_var_3) happy_var_3)-	)}}}--happyReduce_698 = happySpecReduce_0  238# happyReduction_698-happyReduction_698  =  happyIn252-		 ([]-	)--happyReduce_699 = happySpecReduce_2  238# happyReduction_699-happyReduction_699 happy_x_2-	happy_x_1-	 =  case happyOut235 happy_x_1 of { happy_var_1 -> -	case happyOut252 happy_x_2 of { happy_var_2 -> -	happyIn252-		 (PVar (ann happy_var_1) happy_var_1 : happy_var_2-	)}}--happyReduce_700 = happyMonadReduce 4# 239# happyReduction_700-happyReduction_700 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Where) -> -	case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftCurly) -> -	case happyOut66 happy_x_3 of { happy_var_3 -> -	case happyOutTok happy_x_4 of { (Loc happy_var_4 RightCurly) -> -	(  checkExplicitPatSyn happy_var_1 happy_var_2 happy_var_3 happy_var_4)}}}}-	) (\r -> happyReturn (happyIn253 r))--happyReduce_701 = happyMonadReduce 4# 239# happyReduction_701-happyReduction_701 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Where) -> -	case happyOut247 happy_x_2 of { happy_var_2 -> -	case happyOut66 happy_x_3 of { happy_var_3 -> -	case happyOut248 happy_x_4 of { happy_var_4 -> -	(  checkExplicitPatSyn happy_var_1 happy_var_2 happy_var_3 happy_var_4)}}}}-	) (\r -> happyReturn (happyIn253 r))--happyReduce_702 = happyMonadReduce 4# 240# happyReduction_702-happyReduction_702 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Pattern) -> -	case happyOut222 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 DoubleColon) -> -	case happyOut255 happy_x_4 of { happy_var_4 -> -	( do { checkEnabled PatternSynonyms ;-                    let {(qtvs, ps, prov, req, ty) = happy_var_4} ;-                    let {sig = PatSynSig (nIS happy_var_1 <++> ann ty <** [happy_var_1, happy_var_3] ++ ps)  happy_var_2 qtvs prov req ty} ;-                    return sig })}}}}-	) (\r -> happyReturn (happyIn254 r))--happyReduce_703 = happyReduce 4# 241# happyReduction_703-happyReduction_703 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Forall) -> -	case happyOut112 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 Dot) -> -	case happyOut255 happy_x_4 of { happy_var_4 -> -	happyIn255-		 (let (qtvs, ps, prov, req, ty) = happy_var_4-               in (Just (reverse (fst happy_var_2) ++ fromMaybe [] qtvs), (happy_var_1 : happy_var_3 : ps), prov, req, ty)-	) `HappyStk` happyRest}}}}--happyReduce_704 = happyMonadReduce 3# 241# happyReduction_704-happyReduction_704 (happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut109 happy_x_1 of { happy_var_1 -> -	case happyOut109 happy_x_2 of { happy_var_2 -> -	case happyOut98 happy_x_3 of { happy_var_3 -> -	( do { c1 <- checkContext (Just happy_var_1) ;-                    c2 <- checkContext (Just happy_var_2) ;-                    t  <- checkType happy_var_3 ;-                    return $ (Nothing, [], c1, c2, t) })}}}-	) (\r -> happyReturn (happyIn255 r))--happyReduce_705 = happyMonadReduce 2# 241# happyReduction_705-happyReduction_705 (happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut109 happy_x_1 of { happy_var_1 -> -	case happyOut98 happy_x_2 of { happy_var_2 -> -	( do { c1 <- checkContext (Just happy_var_1);-                     t <- checkType happy_var_2;-                     return (Nothing, [], c1, Nothing, t) })}}-	) (\r -> happyReturn (happyIn255 r))--happyReduce_706 = happyMonadReduce 1# 241# happyReduction_706-happyReduction_706 (happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut98 happy_x_1 of { happy_var_1 -> -	( checkType happy_var_1 >>= \t -> return (Nothing, [], Nothing, Nothing, t))}-	) (\r -> happyReturn (happyIn255 r))--happyReduce_707 = happySpecReduce_1  242# happyReduction_707-happyReduction_707 happy_x_1-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> -	happyIn256-		 (let Loc l (ConId  n) = happy_var_1 in ModuleName (nIS l) n-	)}--happyReduce_708 = happySpecReduce_1  242# happyReduction_708-happyReduction_708 happy_x_1-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> -	happyIn256-		 (let Loc l (QConId n) = happy_var_1 in ModuleName (nIS l) (fst n ++ '.':snd n)-	)}--happyReduce_709 = happySpecReduce_1  243# happyReduction_709-happyReduction_709 happy_x_1-	 =  case happyOut222 happy_x_1 of { happy_var_1 -> -	happyIn257-		 (happy_var_1-	)}--happyReduce_710 = happySpecReduce_1  244# happyReduction_710-happyReduction_710 happy_x_1-	 =  case happyOut223 happy_x_1 of { happy_var_1 -> -	happyIn258-		 (happy_var_1-	)}--happyReduce_711 = happySpecReduce_1  245# happyReduction_711-happyReduction_711 happy_x_1-	 =  case happyOut260 happy_x_1 of { happy_var_1 -> -	happyIn259-		 (happy_var_1-	)}--happyReduce_712 = happySpecReduce_1  246# happyReduction_712-happyReduction_712 happy_x_1-	 =  case happyOut234 happy_x_1 of { happy_var_1 -> -	happyIn260-		 (happy_var_1-	)}--happyReduce_713 = happySpecReduce_1  246# happyReduction_713-happyReduction_713 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Safe) -> -	happyIn260-		 (safe_name       (nIS happy_var_1)-	)}--happyReduce_714 = happySpecReduce_1  246# happyReduction_714-happyReduction_714 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Unsafe) -> -	happyIn260-		 (unsafe_name     (nIS happy_var_1)-	)}--happyReduce_715 = happySpecReduce_1  246# happyReduction_715-happyReduction_715 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Threadsafe) -> -	happyIn260-		 (threadsafe_name (nIS happy_var_1)-	)}--happyReduce_716 = happySpecReduce_3  247# happyReduction_716-happyReduction_716 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 BackQuote) -> -	case happyOut259 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (Loc happy_var_3 BackQuote) -> -	happyIn261-		 (UnQual (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2-	)}}}--happyReduce_717 = happySpecReduce_1  247# happyReduction_717-happyReduction_717 happy_x_1-	 =  case happyOut262 happy_x_1 of { happy_var_1 -> -	happyIn261-		 (UnQual (ann happy_var_1) happy_var_1-	)}--happyReduce_718 = happySpecReduce_1  248# happyReduction_718-happyReduction_718 happy_x_1-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> -	happyIn262-		 (let Loc l (VarSym x) = happy_var_1 in Symbol (nIS l) x-	)}--happyReduce_719 = happySpecReduce_1  248# happyReduction_719-happyReduction_719 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Minus) -> -	happyIn262-		 (Symbol (nIS happy_var_1) "-"-	)}--happyReduce_720 = happyReduce 5# 249# happyReduction_720-happyReduction_720 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftCurly) -> -	case happyOut28 happy_x_2 of { happy_var_2 -> -	case happyOut35 happy_x_3 of { happy_var_3 -> -	case happyOut28 happy_x_4 of { happy_var_4 -> -	case happyOutTok happy_x_5 of { (Loc happy_var_5 RightCurly) -> -	happyIn263-		 (let (ids, ss) = happy_var_3 in (ids, happy_var_1 : reverse happy_var_2 ++ ss ++ reverse happy_var_4 ++ [happy_var_5], happy_var_1 <^^> happy_var_5)-	) `HappyStk` happyRest}}}}}--happyReduce_721 = happyReduce 5# 249# happyReduction_721-happyReduction_721 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut247 happy_x_1 of { happy_var_1 -> -	case happyOut28 happy_x_2 of { happy_var_2 -> -	case happyOut35 happy_x_3 of { happy_var_3 -> -	case happyOut28 happy_x_4 of { happy_var_4 -> -	case happyOut248 happy_x_5 of { happy_var_5 -> -	happyIn263-		 (let (ids, ss) = happy_var_3 in (ids, happy_var_1 : reverse happy_var_2 ++ ss ++ reverse happy_var_4 ++ [happy_var_5], happy_var_1 <^^> happy_var_5)-	) `HappyStk` happyRest}}}}}--happyReduce_722 = happySpecReduce_3  250# happyReduction_722-happyReduction_722 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut18 happy_x_1 of { happy_var_1 -> -	case happyOut256 happy_x_3 of { happy_var_3 -> -	happyIn264-		 ((happy_var_1, Just happy_var_3)-	)}}--happyReduce_723 = happySpecReduce_1  250# happyReduction_723-happyReduction_723 happy_x_1-	 =  case happyOut18 happy_x_1 of { happy_var_1 -> -	happyIn264-		 ((happy_var_1, Nothing)-	)}--happyReduce_724 = happySpecReduce_2  251# happyReduction_724-happyReduction_724 happy_x_2-	happy_x_1-	 =  case happyOut18 happy_x_1 of { happy_var_1 -> -	case happyOut23 happy_x_2 of { happy_var_2 -> -	happyIn265-		 ((happy_var_1, happy_var_2)-	)}}--happyReduce_725 = happySpecReduce_3  252# happyReduction_725-happyReduction_725 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut18 happy_x_1 of { happy_var_1 -> -	case happyOut23 happy_x_2 of { happy_var_2 -> -	case happyOut263 happy_x_3 of { happy_var_3 -> -	happyIn266-		 ((happy_var_1, happy_var_2, Just happy_var_3)-	)}}}--happyReduce_726 = happySpecReduce_2  252# happyReduction_726-happyReduction_726 happy_x_2-	happy_x_1-	 =  case happyOut18 happy_x_1 of { happy_var_1 -> -	case happyOut23 happy_x_2 of { happy_var_2 -> -	happyIn266-		 ((happy_var_1, happy_var_2, Nothing)-	)}}--happyNewToken action sts stk-	= lexer(\tk -> -	let cont i = happyDoAction i tk action sts stk in-	case tk of {-	Loc _ EOF -> happyDoAction 147# tk action sts stk;-	Loc _ (VarId _) -> cont 1#;-	Loc _ (QVarId _) -> cont 2#;-	Loc _ (IDupVarId _) -> cont 3#;-	Loc _ (ILinVarId _) -> cont 4#;-	Loc _ (ConId _) -> cont 5#;-	Loc _ (QConId _) -> cont 6#;-	Loc _ (DVarId _) -> cont 7#;-	Loc _ (VarSym _) -> cont 8#;-	Loc _ (ConSym _) -> cont 9#;-	Loc _ (QVarSym _) -> cont 10#;-	Loc _ (QConSym _) -> cont 11#;-	Loc _ (IntTok _) -> cont 12#;-	Loc _ (FloatTok _) -> cont 13#;-	Loc _ (Character _) -> cont 14#;-	Loc _ (StringTok _) -> cont 15#;-	Loc _ (IntTokHash _) -> cont 16#;-	Loc _ (WordTokHash _) -> cont 17#;-	Loc _ (FloatTokHash _) -> cont 18#;-	Loc _ (DoubleTokHash _) -> cont 19#;-	Loc _ (CharacterHash _) -> cont 20#;-	Loc _ (StringHash _) -> cont 21#;-	Loc happy_dollar_dollar LeftParen -> cont 22#;-	Loc happy_dollar_dollar RightParen -> cont 23#;-	Loc happy_dollar_dollar LeftHashParen -> cont 24#;-	Loc happy_dollar_dollar RightHashParen -> cont 25#;-	Loc happy_dollar_dollar SemiColon -> cont 26#;-	Loc happy_dollar_dollar LeftCurly -> cont 27#;-	Loc happy_dollar_dollar RightCurly -> cont 28#;-	Loc happy_dollar_dollar VRightCurly -> cont 29#;-	Loc happy_dollar_dollar LeftSquare -> cont 30#;-	Loc happy_dollar_dollar RightSquare -> cont 31#;-	Loc happy_dollar_dollar ParArrayLeftSquare -> cont 32#;-	Loc happy_dollar_dollar ParArrayRightSquare -> cont 33#;-	Loc happy_dollar_dollar Comma -> cont 34#;-	Loc happy_dollar_dollar Underscore -> cont 35#;-	Loc happy_dollar_dollar BackQuote -> cont 36#;-	Loc happy_dollar_dollar Dot -> cont 37#;-	Loc happy_dollar_dollar DotDot -> cont 38#;-	Loc happy_dollar_dollar Colon -> cont 39#;-	Loc happy_dollar_dollar DoubleColon -> cont 40#;-	Loc happy_dollar_dollar Equals -> cont 41#;-	Loc happy_dollar_dollar Backslash -> cont 42#;-	Loc happy_dollar_dollar Bar -> cont 43#;-	Loc happy_dollar_dollar LeftArrow -> cont 44#;-	Loc happy_dollar_dollar RightArrow -> cont 45#;-	Loc happy_dollar_dollar At -> cont 46#;-	Loc happy_dollar_dollar Tilde -> cont 47#;-	Loc happy_dollar_dollar DoubleArrow -> cont 48#;-	Loc happy_dollar_dollar Minus -> cont 49#;-	Loc happy_dollar_dollar Exclamation -> cont 50#;-	Loc happy_dollar_dollar Star -> cont 51#;-	Loc happy_dollar_dollar LeftArrowTail -> cont 52#;-	Loc happy_dollar_dollar RightArrowTail -> cont 53#;-	Loc happy_dollar_dollar LeftDblArrowTail -> cont 54#;-	Loc happy_dollar_dollar RightDblArrowTail -> cont 55#;-	Loc happy_dollar_dollar RPGuardOpen -> cont 56#;-	Loc happy_dollar_dollar RPGuardClose -> cont 57#;-	Loc happy_dollar_dollar RPCAt -> cont 58#;-	Loc _ (THIdEscape _) -> cont 59#;-	Loc happy_dollar_dollar THParenEscape -> cont 60#;-	Loc happy_dollar_dollar THExpQuote -> cont 61#;-	Loc happy_dollar_dollar THPatQuote -> cont 62#;-	Loc happy_dollar_dollar THTypQuote -> cont 63#;-	Loc happy_dollar_dollar THDecQuote -> cont 64#;-	Loc happy_dollar_dollar THCloseQuote -> cont 65#;-	Loc happy_dollar_dollar THVarQuote -> cont 66#;-	Loc happy_dollar_dollar THTyQuote -> cont 67#;-	Loc _ (THQuasiQuote _) -> cont 68#;-	Loc _ (XPCDATA _) -> cont 69#;-	Loc happy_dollar_dollar XStdTagOpen -> cont 70#;-	Loc happy_dollar_dollar XCloseTagOpen -> cont 71#;-	Loc happy_dollar_dollar XCodeTagOpen -> cont 72#;-	Loc happy_dollar_dollar XChildTagOpen -> cont 73#;-	Loc happy_dollar_dollar XStdTagClose -> cont 74#;-	Loc happy_dollar_dollar XEmptyTagClose -> cont 75#;-	Loc happy_dollar_dollar XCodeTagClose -> cont 76#;-	Loc happy_dollar_dollar XRPatOpen -> cont 77#;-	Loc happy_dollar_dollar XRPatClose -> cont 78#;-	Loc happy_dollar_dollar KW_Foreign -> cont 79#;-	Loc happy_dollar_dollar KW_Export -> cont 80#;-	Loc happy_dollar_dollar KW_Safe -> cont 81#;-	Loc happy_dollar_dollar KW_Unsafe -> cont 82#;-	Loc happy_dollar_dollar KW_Threadsafe -> cont 83#;-	Loc happy_dollar_dollar KW_Interruptible -> cont 84#;-	Loc happy_dollar_dollar KW_StdCall -> cont 85#;-	Loc happy_dollar_dollar KW_CCall -> cont 86#;-	Loc happy_dollar_dollar KW_CPlusPlus -> cont 87#;-	Loc happy_dollar_dollar KW_DotNet -> cont 88#;-	Loc happy_dollar_dollar KW_Jvm -> cont 89#;-	Loc happy_dollar_dollar KW_Js -> cont 90#;-	Loc happy_dollar_dollar KW_JavaScript -> cont 91#;-	Loc happy_dollar_dollar KW_CApi -> cont 92#;-	Loc happy_dollar_dollar KW_As -> cont 93#;-	Loc happy_dollar_dollar KW_By -> cont 94#;-	Loc happy_dollar_dollar KW_Case -> cont 95#;-	Loc happy_dollar_dollar KW_Class -> cont 96#;-	Loc happy_dollar_dollar KW_Data -> cont 97#;-	Loc happy_dollar_dollar KW_Default -> cont 98#;-	Loc happy_dollar_dollar KW_Deriving -> cont 99#;-	Loc happy_dollar_dollar KW_Do -> cont 100#;-	Loc happy_dollar_dollar KW_Else -> cont 101#;-	Loc happy_dollar_dollar KW_Family -> cont 102#;-	Loc happy_dollar_dollar KW_Forall -> cont 103#;-	Loc happy_dollar_dollar KW_Group -> cont 104#;-	Loc happy_dollar_dollar KW_Hiding -> cont 105#;-	Loc happy_dollar_dollar KW_If -> cont 106#;-	Loc happy_dollar_dollar KW_Import -> cont 107#;-	Loc happy_dollar_dollar KW_In -> cont 108#;-	Loc happy_dollar_dollar KW_Infix -> cont 109#;-	Loc happy_dollar_dollar KW_InfixL -> cont 110#;-	Loc happy_dollar_dollar KW_InfixR -> cont 111#;-	Loc happy_dollar_dollar KW_Instance -> cont 112#;-	Loc happy_dollar_dollar KW_Let -> cont 113#;-	Loc happy_dollar_dollar KW_MDo -> cont 114#;-	Loc happy_dollar_dollar KW_Module -> cont 115#;-	Loc happy_dollar_dollar KW_NewType -> cont 116#;-	Loc happy_dollar_dollar KW_Of -> cont 117#;-	Loc happy_dollar_dollar KW_Proc -> cont 118#;-	Loc happy_dollar_dollar KW_Rec -> cont 119#;-	Loc happy_dollar_dollar KW_Then -> cont 120#;-	Loc happy_dollar_dollar KW_Type -> cont 121#;-	Loc happy_dollar_dollar KW_Using -> cont 122#;-	Loc happy_dollar_dollar KW_Where -> cont 123#;-	Loc happy_dollar_dollar KW_Qualified -> cont 124#;-	Loc happy_dollar_dollar KW_Role -> cont 125#;-	Loc happy_dollar_dollar KW_Pattern -> cont 126#;-	Loc _ (INLINE _) -> cont 127#;-	Loc happy_dollar_dollar INLINE_CONLIKE -> cont 128#;-	Loc happy_dollar_dollar SPECIALISE -> cont 129#;-	Loc _ (SPECIALISE_INLINE _) -> cont 130#;-	Loc happy_dollar_dollar SOURCE -> cont 131#;-	Loc happy_dollar_dollar RULES -> cont 132#;-	Loc happy_dollar_dollar CORE -> cont 133#;-	Loc happy_dollar_dollar SCC -> cont 134#;-	Loc happy_dollar_dollar GENERATED -> cont 135#;-	Loc happy_dollar_dollar DEPRECATED -> cont 136#;-	Loc happy_dollar_dollar WARNING -> cont 137#;-	Loc happy_dollar_dollar UNPACK -> cont 138#;-	Loc _ (OPTIONS _) -> cont 139#;-	Loc happy_dollar_dollar LANGUAGE -> cont 140#;-	Loc happy_dollar_dollar ANN -> cont 141#;-	Loc happy_dollar_dollar MINIMAL -> cont 142#;-	Loc happy_dollar_dollar NO_OVERLAP -> cont 143#;-	Loc happy_dollar_dollar OVERLAP -> cont 144#;-	Loc happy_dollar_dollar INCOHERENT -> cont 145#;-	Loc happy_dollar_dollar PragmaEnd -> cont 146#;-	_ -> happyError' tk-	})--happyError_ 147# tk = happyError' tk-happyError_ _ tk = happyError' tk--happyThen :: () => P a -> (a -> P b) -> P b-happyThen = (>>=)-happyReturn :: () => a -> P a-happyReturn = (return)-happyThen1 = happyThen-happyReturn1 :: () => a -> P a-happyReturn1 = happyReturn-happyError' :: () => (Loc Token) -> P a-happyError' tk = parseError tk--mparseModule = happySomeParser where-  happySomeParser = happyThen (happyParse 0#) (\x -> happyReturn (happyOut16 x))--mparseExp = happySomeParser where-  happySomeParser = happyThen (happyParse 1#) (\x -> happyReturn (happyOut157 x))--mparsePat = happySomeParser where-  happySomeParser = happyThen (happyParse 2#) (\x -> happyReturn (happyOut204 x))--mparseDeclAux = happySomeParser where-  happySomeParser = happyThen (happyParse 3#) (\x -> happyReturn (happyOut25 x))--mparseType = happySomeParser where-  happySomeParser = happyThen (happyParse 4#) (\x -> happyReturn (happyOut107 x))--mparseStmt = happySomeParser where-  happySomeParser = happyThen (happyParse 5#) (\x -> happyReturn (happyOut211 x))--mparseImportDecl = happySomeParser where-  happySomeParser = happyThen (happyParse 6#) (\x -> happyReturn (happyOut36 x))--ngparseModulePragmas = happySomeParser where-  happySomeParser = happyThen (happyParse 7#) (\x -> happyReturn (happyOut18 x))--ngparseModuleHeadAndImports = happySomeParser where-  happySomeParser = happyThen (happyParse 8#) (\x -> happyReturn (happyOut266 x))--ngparsePragmasAndModuleHead = happySomeParser where-  happySomeParser = happyThen (happyParse 9#) (\x -> happyReturn (happyOut265 x))--ngparsePragmasAndModuleName = happySomeParser where-  happySomeParser = happyThen (happyParse 10#) (\x -> happyReturn (happyOut264 x))--happySeq = happyDontSeq---type L = SrcSpanInfo -- just for convenience-type S = SrcSpan--parseError :: Loc Token -> P a-parseError t = fail $ "Parse error: " ++ showToken (unLoc t)--(<>) :: (Annotated a, Annotated b) => a SrcSpanInfo -> b SrcSpanInfo -> SrcSpanInfo-a <> b = ann a <++> ann b-infixl 6 <>--nIS = noInfoSpan-iS = infoSpan--mparseDecl :: P (Decl SrcSpanInfo)-mparseDecl = do-    (is, ds, _, _) <- mparseDeclAux-    when (not $ null is) $-       fail $ "Expected single declaration, found import declaration"-    checkSingleDecl ds-{-# LINE 1 "templates/GenericTemplate.hs" #-}-{-# LINE 1 "templates/GenericTemplate.hs" #-}-{-# LINE 1 "<built-in>" #-}-{-# LINE 19 "<built-in>" #-}-{-# LINE 1 "/Users/matt/Downloads/ghc-7.10.1.app/Contents/lib/ghc-7.10.1/include/ghcversion.h" #-}-------------------{-# LINE 20 "<built-in>" #-}-{-# LINE 1 "templates/GenericTemplate.hs" #-}--- Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp ---{-# LINE 13 "templates/GenericTemplate.hs" #-}-------- Do not remove this comment. Required to fix CPP parsing when using GCC and a clang-compiled alex.-#if __GLASGOW_HASKELL__ > 706-#define LT(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.<# m)) :: Bool)-#define GTE(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.>=# m)) :: Bool)-#define EQ(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.==# m)) :: Bool)-#else-#define LT(n,m) (n Happy_GHC_Exts.<# m)-#define GTE(n,m) (n Happy_GHC_Exts.>=# m)-#define EQ(n,m) (n Happy_GHC_Exts.==# m)-#endif--{-# LINE 46 "templates/GenericTemplate.hs" #-}---data Happy_IntList = HappyCons Happy_GHC_Exts.Int# Happy_IntList-------{-# LINE 67 "templates/GenericTemplate.hs" #-}---{-# LINE 77 "templates/GenericTemplate.hs" #-}-----------infixr 9 `HappyStk`-data HappyStk a = HappyStk a (HappyStk a)---------------------------------------------------------------------------------- starting the parse--happyParse start_state = happyNewToken start_state notHappyAtAll notHappyAtAll---------------------------------------------------------------------------------- Accepting the parse---- If the current token is 0#, it means we've just accepted a partial--- parse (a %partial parser).  We must ignore the saved token on the top of--- the stack in this case.-happyAccept 0# tk st sts (_ `HappyStk` ans `HappyStk` _) =-        happyReturn1 ans-happyAccept j tk st sts (HappyStk ans _) = -        (happyTcHack j (happyTcHack st)) (happyReturn1 ans)---------------------------------------------------------------------------------- Arrays only: do the next action----happyDoAction i tk st-        = {- nothing -}-          --          case action of-                0#           -> {- nothing -}-                                     happyFail i tk st-                -1#          -> {- nothing -}-                                     happyAccept i tk st-                n | LT(n,(0# :: Happy_GHC_Exts.Int#)) -> {- nothing -}-                                                   -                                                   (happyReduceArr Happy_Data_Array.! rule) i tk st-                                                   where rule = (Happy_GHC_Exts.I# ((Happy_GHC_Exts.negateInt# ((n Happy_GHC_Exts.+# (1# :: Happy_GHC_Exts.Int#))))))-                n                 -> {- nothing -}-                                     --                                     happyShift new_state i tk st-                                     where new_state = (n Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#))-   where off    = indexShortOffAddr happyActOffsets st-         off_i  = (off Happy_GHC_Exts.+# i)-         check  = if GTE(off_i,(0# :: Happy_GHC_Exts.Int#))-                  then EQ(indexShortOffAddr happyCheck off_i, i)-                  else False-         action-          | check     = indexShortOffAddr happyTable off_i-          | otherwise = indexShortOffAddr happyDefActions st---indexShortOffAddr (HappyA# arr) off =-        Happy_GHC_Exts.narrow16Int# i-  where-        i = Happy_GHC_Exts.word2Int# (Happy_GHC_Exts.or# (Happy_GHC_Exts.uncheckedShiftL# high 8#) low)-        high = Happy_GHC_Exts.int2Word# (Happy_GHC_Exts.ord# (Happy_GHC_Exts.indexCharOffAddr# arr (off' Happy_GHC_Exts.+# 1#)))-        low  = Happy_GHC_Exts.int2Word# (Happy_GHC_Exts.ord# (Happy_GHC_Exts.indexCharOffAddr# arr off'))-        off' = off Happy_GHC_Exts.*# 2#------data HappyAddr = HappyA# Happy_GHC_Exts.Addr#------------------------------------------------------------------------------------- HappyState data type (not arrays)---{-# LINE 170 "templates/GenericTemplate.hs" #-}---------------------------------------------------------------------------------- Shifting a token--happyShift new_state 0# tk st sts stk@(x `HappyStk` _) =-     let i = (case Happy_GHC_Exts.unsafeCoerce# x of { (Happy_GHC_Exts.I# (i)) -> i }) in---     trace "shifting the error token" $-     happyDoAction i tk new_state (HappyCons (st) (sts)) (stk)--happyShift new_state i tk st sts stk =-     happyNewToken new_state (HappyCons (st) (sts)) ((happyInTok (tk))`HappyStk`stk)---- happyReduce is specialised for the common cases.--happySpecReduce_0 i fn 0# tk st sts stk-     = happyFail 0# tk st sts stk-happySpecReduce_0 nt fn j tk st@((action)) sts stk-     = happyGoto nt j tk st (HappyCons (st) (sts)) (fn `HappyStk` stk)--happySpecReduce_1 i fn 0# tk st sts stk-     = happyFail 0# tk st sts stk-happySpecReduce_1 nt fn j tk _ sts@((HappyCons (st@(action)) (_))) (v1`HappyStk`stk')-     = let r = fn v1 in-       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))--happySpecReduce_2 i fn 0# tk st sts stk-     = happyFail 0# tk st sts stk-happySpecReduce_2 nt fn j tk _ (HappyCons (_) (sts@((HappyCons (st@(action)) (_))))) (v1`HappyStk`v2`HappyStk`stk')-     = let r = fn v1 v2 in-       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))--happySpecReduce_3 i fn 0# tk st sts stk-     = happyFail 0# tk st sts stk-happySpecReduce_3 nt fn j tk _ (HappyCons (_) ((HappyCons (_) (sts@((HappyCons (st@(action)) (_))))))) (v1`HappyStk`v2`HappyStk`v3`HappyStk`stk')-     = let r = fn v1 v2 v3 in-       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))--happyReduce k i fn 0# tk st sts stk-     = happyFail 0# tk st sts stk-happyReduce k nt fn j tk st sts stk-     = case happyDrop (k Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) sts of-         sts1@((HappyCons (st1@(action)) (_))) ->-                let r = fn stk in  -- it doesn't hurt to always seq here...-                happyDoSeq r (happyGoto nt j tk st1 sts1 r)--happyMonadReduce k nt fn 0# tk st sts stk-     = happyFail 0# tk st sts stk-happyMonadReduce k nt fn j tk st sts stk =-      case happyDrop k (HappyCons (st) (sts)) of-        sts1@((HappyCons (st1@(action)) (_))) ->-          let drop_stk = happyDropStk k stk in-          happyThen1 (fn stk tk) (\r -> happyGoto nt j tk st1 sts1 (r `HappyStk` drop_stk))--happyMonad2Reduce k nt fn 0# tk st sts stk-     = happyFail 0# tk st sts stk-happyMonad2Reduce k nt fn j tk st sts stk =-      case happyDrop k (HappyCons (st) (sts)) of-        sts1@((HappyCons (st1@(action)) (_))) ->-         let drop_stk = happyDropStk k stk--             off = indexShortOffAddr happyGotoOffsets st1-             off_i = (off Happy_GHC_Exts.+# nt)-             new_state = indexShortOffAddr happyTable off_i----          in-          happyThen1 (fn stk tk) (\r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk))--happyDrop 0# l = l-happyDrop n (HappyCons (_) (t)) = happyDrop (n Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) t--happyDropStk 0# l = l-happyDropStk n (x `HappyStk` xs) = happyDropStk (n Happy_GHC_Exts.-# (1#::Happy_GHC_Exts.Int#)) xs---------------------------------------------------------------------------------- Moving to a new state after a reduction---happyGoto nt j tk st = -   {- nothing -}-   happyDoAction j tk new_state-   where off = indexShortOffAddr happyGotoOffsets st-         off_i = (off Happy_GHC_Exts.+# nt)-         new_state = indexShortOffAddr happyTable off_i------------------------------------------------------------------------------------- Error recovery (0# is the error token)---- parse error if we are in recovery and we fail again-happyFail 0# tk old_st _ stk@(x `HappyStk` _) =-     let i = (case Happy_GHC_Exts.unsafeCoerce# x of { (Happy_GHC_Exts.I# (i)) -> i }) in---      trace "failing" $ -        happyError_ i tk--{-  We don't need state discarding for our restricted implementation of-    "error".  In fact, it can cause some bogus parses, so I've disabled it-    for now --SDM---- discard a state-happyFail  0# tk old_st (HappyCons ((action)) (sts)) -                                                (saved_tok `HappyStk` _ `HappyStk` stk) =---      trace ("discarding state, depth " ++ show (length stk))  $-        happyDoAction 0# tk action sts ((saved_tok`HappyStk`stk))--}---- Enter error recovery: generate an error token,---                       save the old token and carry on.-happyFail  i tk (action) sts stk =---      trace "entering error recovery" $-        happyDoAction 0# tk action sts ( (Happy_GHC_Exts.unsafeCoerce# (Happy_GHC_Exts.I# (i))) `HappyStk` stk)---- Internal happy errors:--notHappyAtAll :: a-notHappyAtAll = error "Internal Happy error\n"---------------------------------------------------------------------------------- Hack to get the typechecker to accept our action functions---happyTcHack :: Happy_GHC_Exts.Int# -> a -> a-happyTcHack x y = y-{-# INLINE happyTcHack #-}----------------------------------------------------------------------------------- Seq-ing.  If the --strict flag is given, then Happy emits ---      happySeq = happyDoSeq--- otherwise it emits---      happySeq = happyDontSeq--happyDoSeq, happyDontSeq :: a -> b -> b-happyDoSeq   a b = a `seq` b-happyDontSeq a b = b---------------------------------------------------------------------------------- Don't inline any functions from the template.  GHC has a nasty habit--- of deciding to inline happyGoto everywhere, which increases the size of--- the generated parser quite a bit.---{-# NOINLINE happyDoAction #-}-{-# NOINLINE happyTable #-}-{-# NOINLINE happyCheck #-}-{-# NOINLINE happyActOffsets #-}-{-# NOINLINE happyGotoOffsets #-}-{-# NOINLINE happyDefActions #-}--{-# NOINLINE happyShift #-}-{-# NOINLINE happySpecReduce_0 #-}-{-# NOINLINE happySpecReduce_1 #-}-{-# NOINLINE happySpecReduce_2 #-}-{-# NOINLINE happySpecReduce_3 #-}-{-# NOINLINE happyReduce #-}-{-# NOINLINE happyMonadReduce #-}-{-# NOINLINE happyGoto #-}-{-# NOINLINE happyFail #-}---- end of Happy Template.-
haskell-src-exts.cabal view
@@ -1,39 +1,29 @@ Name:                   haskell-src-exts-Version:                1.17.1+Version:                1.24.0 License:                BSD3 License-File:           LICENSE Build-Type:             Simple Author:                 Niklas Broberg-Maintainer:             Niklas Broberg <niklas.broberg@chalmers.se>, Roman Cheplyaka <roma@ro-che.info>+Maintainer:             Dan Burton <danburton.email@gmail.com> Category:               Language Synopsis:               Manipulating Haskell source: abstract syntax, lexer, parser, and pretty-printer Description:            Haskell-Source with Extensions (HSE, haskell-src-exts)-                        is an extension of the standard haskell-src package,-                        and handles most registered syntactic extensions to Haskell, including:-                        .-                        * Multi-parameter type classes with functional dependencies-                        .-                        * Indexed type families (including associated types)-                        .-                        * Empty data declarations-                        .-                        * GADTs-                        .-                        * Implicit parameters-                        .-                        * Template Haskell+                        is a standalone parser for Haskell. In addition to+                        standard Haskell, all extensions implemented in GHC are supported.                         .-                        and a few more. All extensions implemented in GHC are supported.                         Apart from these standard extensions,                         it also handles regular patterns as per the HaRP extension                         as well as HSX-style embedded XML syntax. Homepage:               https://github.com/haskell-suite/haskell-src-exts+Bug-Reports:            https://github.com/haskell-suite/haskell-src-exts/issues Stability:              Stable Cabal-Version:          >= 1.10+Tested-With:            GHC == 9.14.1  Extra-Source-Files:                         README.md                         CHANGELOG+                        RELEASENOTES-1.17.0                         tests/examples/*.hs                         tests/examples/*.lhs                         tests/examples/*.hs.parser.golden@@ -50,30 +40,30 @@ Library   Default-language:     Haskell98   Build-Tools:          happy >= 1.19-  Build-Depends:        array >= 0.1, pretty >= 1.0, cpphs >= 1.3,+  Build-Depends:        array >= 0.1 && < 0.6,+                        pretty >= 1.0 && < 1.2,                         base >= 4.5 && < 5,                         -- this is needed to access GHC.Generics on GHC 7.4-                        ghc-prim+                        ghc-prim < 0.14+  -- this is needed to access Data.Semigroup and Control.Monad.Fail on GHCs+  -- before 8.0+  if !impl(ghc >= 8.0)+    Build-Depends:+                        semigroups >= 0.18.3 && < 0.21,+                        fail == 4.9.*    Exposed-modules:      Language.Haskell.Exts,                         Language.Haskell.Exts.Lexer,-                        Language.Haskell.Exts.Parser,                         Language.Haskell.Exts.Pretty,-                        Language.Haskell.Exts.Syntax,                         Language.Haskell.Exts.Extension,                         Language.Haskell.Exts.Build,-                        Language.Haskell.Exts.Fixity,-                        Language.Haskell.Exts.Comments,                         Language.Haskell.Exts.SrcLoc, -                        Language.Haskell.Exts.Annotated,-                        Language.Haskell.Exts.Annotated.Syntax,-                        Language.Haskell.Exts.Annotated.Fixity,-                        Language.Haskell.Exts.Annotated.Build,-                        Language.Haskell.Exts.Annotated.ExactPrint,-                        Language.Haskell.Exts.Annotated.Simplify,-                        Language.Haskell.Exts.Annotated.Parser,-                        Language.Haskell.Exts.Annotated.Comments+                        Language.Haskell.Exts.Syntax,+                        Language.Haskell.Exts.Fixity,+                        Language.Haskell.Exts.ExactPrint,+                        Language.Haskell.Exts.Parser,+                        Language.Haskell.Exts.Comments    Other-modules:        Language.Haskell.Exts.ExtScheme,                         Language.Haskell.Exts.ParseMonad,@@ -81,6 +71,7 @@                         Language.Haskell.Exts.InternalLexer,                         Language.Haskell.Exts.ParseUtils,                         Language.Haskell.Exts.InternalParser+                        Language.Preprocessor.Unlit   Hs-source-dirs:       src   Ghc-options:          -Wall @@ -92,17 +83,17 @@   type:                exitcode-stdio-1.0   hs-source-dirs:      tests   main-is:             Runner.hs+  other-modules:       Extensions   GHC-Options:         -threaded -Wall   Default-language:    Haskell2010-  Build-depends:       base < 5,+  Build-depends:       base,                        mtl,                        containers,                        haskell-src-exts,                        smallcheck >= 1.0,                        tasty >= 0.3,                        tasty-smallcheck,-                       tasty-golden >= 2.2.2 && < 2.3 ,+                       tasty-golden >= 2.2.2,                        filepath,                        directory,-                       syb,-                       pretty-show+                       pretty-show >= 1.6.16
src/Language/Haskell/Exts.hs view
@@ -18,11 +18,13 @@       module Language.Haskell.Exts.Syntax     , module Language.Haskell.Exts.Build     , module Language.Haskell.Exts.Lexer-    , module Language.Haskell.Exts.Parser     , module Language.Haskell.Exts.Pretty-    , module Language.Haskell.Exts.Extension     , module Language.Haskell.Exts.Fixity+    , module Language.Haskell.Exts.ExactPrint+    , module Language.Haskell.Exts.SrcLoc     , module Language.Haskell.Exts.Comments+    , module Language.Haskell.Exts.Extension+    , module Language.Haskell.Exts.Parser     -- * Parsing of Haskell source files     , parseFile     , parseFileWithMode@@ -33,19 +35,20 @@     , parseFileContentsWithMode     , parseFileContentsWithExts     , parseFileContentsWithComments-    , parseFileContentsWithCommentsAndPragmas     -- * Read extensions declared in LANGUAGE pragmas     , readExtensions     ) where  import Language.Haskell.Exts.Build-import Language.Haskell.Exts.Syntax+import Language.Haskell.Exts.Comments import Language.Haskell.Exts.Parser-import Language.Haskell.Exts.Lexer+import Language.Haskell.Exts.Syntax+import Language.Haskell.Exts.Lexer ( lexTokenStream, lexTokenStreamWithMode, Token(..) ) import Language.Haskell.Exts.Pretty-import Language.Haskell.Exts.Extension import Language.Haskell.Exts.Fixity-import Language.Haskell.Exts.Comments+import Language.Haskell.Exts.ExactPrint+import Language.Haskell.Exts.SrcLoc+import Language.Haskell.Exts.Extension  import Data.List import Data.Maybe (fromMaybe)@@ -53,39 +56,52 @@ import System.IO  -- | Parse a source file on disk, using the default parse mode.-parseFile :: FilePath -> IO (ParseResult Module)+parseFile :: FilePath -> IO (ParseResult (Module SrcSpanInfo)) parseFile fp = parseFileWithMode (defaultParseMode { parseFilename = fp }) fp  -- | Parse a source file on disk, with an extra set of extensions to know about --   on top of what the file itself declares.-parseFileWithExts :: [Extension] -> FilePath -> IO (ParseResult Module)-parseFileWithExts exts fp = parseFileWithMode (defaultParseMode { extensions = exts, parseFilename = fp }) fp+parseFileWithExts :: [Extension] -> FilePath -> IO (ParseResult (Module SrcSpanInfo))+parseFileWithExts exts fp =+    parseFileWithMode (defaultParseMode {+                         extensions = exts,+                         parseFilename = fp }) fp  -- | Parse a source file on disk, supplying a custom parse mode.-parseFileWithMode :: ParseMode -> FilePath -> IO (ParseResult Module)+parseFileWithMode :: ParseMode -> FilePath -> IO (ParseResult (Module SrcSpanInfo)) parseFileWithMode p fp = readUTF8File fp >>= return . parseFileContentsWithMode p --- | Parse a source file on disk, supplying a custom parse mode, and retaining comments.-parseFileWithComments :: ParseMode -> FilePath -> IO (ParseResult (Module, [Comment]))+parseFileWithComments :: ParseMode -> FilePath -> IO (ParseResult (Module SrcSpanInfo, [Comment])) parseFileWithComments p fp = readUTF8File fp >>= return . parseFileContentsWithComments p  -- | Parse a source file on disk, supplying a custom parse mode, and retaining comments --  as well as unknown pragmas.-parseFileWithCommentsAndPragmas :: ParseMode -> FilePath -> IO (ParseResult (Module, [Comment], [UnknownPragma]))+parseFileWithCommentsAndPragmas+  :: ParseMode -> FilePath+  -> IO (ParseResult (Module SrcSpanInfo, [Comment], [UnknownPragma])) parseFileWithCommentsAndPragmas p fp =     readUTF8File fp >>= return . parseFileContentsWithCommentsAndPragmas p +-- | Parse a source file from a string using a custom parse mode retaining comments+--   as well as unknown pragmas.+parseFileContentsWithCommentsAndPragmas+  :: ParseMode -> String+  -> ParseResult (Module SrcSpanInfo, [Comment], [UnknownPragma])+parseFileContentsWithCommentsAndPragmas pmode str = separatePragmas parseResult+    where parseResult = parseFileContentsWithComments pmode str+ -- | Parse a source file from a string using the default parse mode.-parseFileContents :: String -> ParseResult Module+parseFileContents :: String -> ParseResult (Module SrcSpanInfo) parseFileContents = parseFileContentsWithMode defaultParseMode  -- | Parse a source file from a string, with an extra set of extensions to know about --   on top of what the file itself declares.-parseFileContentsWithExts :: [Extension] -> String -> ParseResult Module-parseFileContentsWithExts exts = parseFileContentsWithMode (defaultParseMode { extensions = exts })+parseFileContentsWithExts :: [Extension] -> String -> ParseResult (Module SrcSpanInfo)+parseFileContentsWithExts exts =+    parseFileContentsWithMode (defaultParseMode { extensions = exts })  -- | Parse a source file from a string using a custom parse mode.-parseFileContentsWithMode :: ParseMode -> String -> ParseResult Module+parseFileContentsWithMode :: ParseMode -> String -> ParseResult (Module SrcSpanInfo) parseFileContentsWithMode p@(ParseMode fn oldLang exts ign _ _ _) rawStr =         let md = delit fn $ ppContents rawStr             (bLang, extraExts) =@@ -93,10 +109,10 @@                   (False, Just (mLang, es)) ->                        (fromMaybe oldLang mLang, es)                   _ -> (oldLang, [])-         in parseWithMode (p { baseLanguage = bLang, extensions = exts ++ extraExts }) md+         in -- trace (fn ++ ": " ++ show extraExts) $+              parseModuleWithMode (p { baseLanguage = bLang, extensions = exts ++ extraExts }) md --- | Parse a source file from a string using a custom parse mode and retaining comments.-parseFileContentsWithComments :: ParseMode -> String -> ParseResult (Module, [Comment])+parseFileContentsWithComments :: ParseMode -> String -> ParseResult (Module SrcSpanInfo, [Comment]) parseFileContentsWithComments p@(ParseMode fn oldLang exts ign _ _ _) rawStr =         let md = delit fn $ ppContents rawStr             (bLang, extraExts) =@@ -104,26 +120,7 @@                   (False, Just (mLang, es)) ->                        (fromMaybe oldLang mLang, es)                   _ -> (oldLang, [])-         in parseWithComments (p { baseLanguage = bLang, extensions = exts ++ extraExts }) md---- | Parse a source file from a string using a custom parse mode retaining comments---   as well as unknown pragmas.-parseFileContentsWithCommentsAndPragmas :: ParseMode -> String -> ParseResult (Module, [Comment], [UnknownPragma])-parseFileContentsWithCommentsAndPragmas pmode str = separatePragmas parseResult-    where parseResult = parseFileContentsWithComments pmode str--{-- | Gather the extensions declared in LANGUAGE pragmas---   at the top of the file. Returns 'Nothing' if the---   parse of the pragmas fails.-readExtensions :: String -> Maybe [Extension]-readExtensions str = case getTopPragmas str of-        ParseOk pgms -> Just (concatMap getExts pgms)-        _            -> Nothing-  where getExts :: ModulePragma -> [Extension]-        getExts (LanguagePragma _ ns) = map readExt ns-        getExts _ = []--        readExt (Ident e) = classifyExtension e -}+         in parseModuleWithComments (p { baseLanguage = bLang, extensions = exts ++ extraExts }) md  -- | Gather the extensions declared in LANGUAGE pragmas --   at the top of the file. Returns 'Nothing' if the@@ -132,11 +129,11 @@ readExtensions str = case getTopPragmas str of         ParseOk pgms -> extractLang $ concatMap getExts pgms         _            -> Nothing-  where getExts :: ModulePragma -> [Either Language Extension]+  where getExts :: ModulePragma l -> [Either Language Extension]         getExts (LanguagePragma _ ns) = map readExt ns         getExts _ = [] -        readExt (Ident e) =+        readExt (Ident _ e) =             case classifyLanguage e of               UnknownLanguage _ -> Right $ classifyExtension e               lang -> Left lang@@ -159,9 +156,18 @@ delit :: String -> String -> String delit fn = if ".lhs" `isSuffixOf` fn then unlit fn else id +readUTF8File :: FilePath -> IO String+readUTF8File fp = do+  h <- openFile fp ReadMode+  hSetEncoding h utf8+  c <- hGetContents h >>= \s -> length s `seq` return s+  hClose h+  return c+ -- | Converts a parse result with comments to a parse result with comments and --   unknown pragmas.-separatePragmas :: ParseResult (Module, [Comment]) -> ParseResult (Module, [Comment], [UnknownPragma])+separatePragmas :: ParseResult (Module SrcSpanInfo, [Comment])+                -> ParseResult (Module SrcSpanInfo, [Comment], [UnknownPragma]) separatePragmas r =     case r of         ParseOk (m, comments) ->@@ -172,9 +178,3 @@                       pragLike (Comment b _ s) = b && pcond s                       pcond s = length s > 1 && take 1 s == "#" && last s == '#'         ParseFailed l s ->  ParseFailed l s--readUTF8File :: FilePath -> IO String-readUTF8File fp = do-  h <- openFile fp ReadMode-  hSetEncoding h utf8-  hGetContents h
− src/Language/Haskell/Exts/Annotated.hs
@@ -1,150 +0,0 @@--------------------------------------------------------------------------------- |--- Module      :  Language.Haskell.Exts--- Copyright   :  (c) Niklas Broberg 2004-2009--- License     :  BSD-style (see the file LICENSE.txt)------ Maintainer  :  Niklas Broberg, d00nibro@chalmers.se--- Stability   :  stable--- Portability :  portable------ An umbrella module for the various functionality--- of the package. Also provides some convenient--- functionality for dealing directly with source files.----------------------------------------------------------------------------------module Language.Haskell.Exts.Annotated (-    -- * Re-exported modules-      module Language.Haskell.Exts.Annotated.Syntax-    , module Language.Haskell.Exts.Annotated.Build-    , module Language.Haskell.Exts.Parser-    , module Language.Haskell.Exts.Lexer-    , module Language.Haskell.Exts.Pretty-    , module Language.Haskell.Exts.Annotated.Fixity-    , module Language.Haskell.Exts.Annotated.ExactPrint-    , module Language.Haskell.Exts.SrcLoc-    , module Language.Haskell.Exts.Comments-    , module Language.Haskell.Exts.Extension-    , module Language.Haskell.Exts.Annotated.Parser-    , module Language.Haskell.Exts.Annotated.Comments-    -- * Parsing of Haskell source files-    , parseFile-    , parseFileWithMode-    , parseFileWithExts-    , parseFileWithComments-    , parseFileContents-    , parseFileContentsWithMode-    , parseFileContentsWithExts-    , parseFileContentsWithComments-    -- * Read extensions declared in LANGUAGE pragmas-    , readExtensions-    ) where--import Language.Haskell.Exts.Annotated.Build-import Language.Haskell.Exts.Annotated.Comments-import Language.Haskell.Exts.Annotated.Parser-import Language.Haskell.Exts.Annotated.Syntax-import Language.Haskell.Exts.Parser ( Parseable(..), ParseResult(..), fromParseResult, ParseMode(..), defaultParseMode )-import Language.Haskell.Exts.Lexer ( lexTokenStream, lexTokenStreamWithMode, Token(..) )-import Language.Haskell.Exts.Pretty-import Language.Haskell.Exts.Annotated.Fixity-import Language.Haskell.Exts.Annotated.ExactPrint-import Language.Haskell.Exts.SrcLoc-import Language.Haskell.Exts.Extension-import Language.Haskell.Exts.Comments--import Data.List-import Data.Maybe (fromMaybe)-import Language.Preprocessor.Unlit-import System.IO---- | Parse a source file on disk, using the default parse mode.-parseFile :: FilePath -> IO (ParseResult (Module SrcSpanInfo))-parseFile fp = parseFileWithMode (defaultParseMode { parseFilename = fp }) fp---- | Parse a source file on disk, with an extra set of extensions to know about---   on top of what the file itself declares.-parseFileWithExts :: [Extension] -> FilePath -> IO (ParseResult (Module SrcSpanInfo))-parseFileWithExts exts fp =-    parseFileWithMode (defaultParseMode {-                         extensions = exts,-                         parseFilename = fp }) fp---- | Parse a source file on disk, supplying a custom parse mode.-parseFileWithMode :: ParseMode -> FilePath -> IO (ParseResult (Module SrcSpanInfo))-parseFileWithMode p fp = readUTF8File fp >>= return . parseFileContentsWithMode p--parseFileWithComments :: ParseMode -> FilePath -> IO (ParseResult (Module SrcSpanInfo, [Comment]))-parseFileWithComments p fp = readUTF8File fp >>= return . parseFileContentsWithComments p---- | Parse a source file from a string using the default parse mode.-parseFileContents :: String -> ParseResult (Module SrcSpanInfo)-parseFileContents = parseFileContentsWithMode defaultParseMode---- | Parse a source file from a string, with an extra set of extensions to know about---   on top of what the file itself declares.-parseFileContentsWithExts :: [Extension] -> String -> ParseResult (Module SrcSpanInfo)-parseFileContentsWithExts exts =-    parseFileContentsWithMode (defaultParseMode { extensions = exts })---- | Parse a source file from a string using a custom parse mode.-parseFileContentsWithMode :: ParseMode -> String -> ParseResult (Module SrcSpanInfo)-parseFileContentsWithMode p@(ParseMode fn oldLang exts ign _ _ _) rawStr =-        let md = delit fn $ ppContents rawStr-            (bLang, extraExts) =-                case (ign, readExtensions md) of-                  (False, Just (mLang, es)) ->-                       (fromMaybe oldLang mLang, es)-                  _ -> (oldLang, [])-         in -- trace (fn ++ ": " ++ show extraExts) $-              parseModuleWithMode (p { baseLanguage = bLang, extensions = exts ++ extraExts }) md--parseFileContentsWithComments :: ParseMode -> String -> ParseResult (Module SrcSpanInfo, [Comment])-parseFileContentsWithComments p@(ParseMode fn oldLang exts ign _ _ _) rawStr =-        let md = delit fn $ ppContents rawStr-            (bLang, extraExts) =-                case (ign, readExtensions md) of-                  (False, Just (mLang, es)) ->-                       (fromMaybe oldLang mLang, es)-                  _ -> (oldLang, [])-         in parseModuleWithComments (p { baseLanguage = bLang, extensions = exts ++ extraExts }) md---- | Gather the extensions declared in LANGUAGE pragmas---   at the top of the file. Returns 'Nothing' if the---   parse of the pragmas fails.-readExtensions :: String -> Maybe (Maybe Language, [Extension])-readExtensions str = case getTopPragmas str of-        ParseOk pgms -> extractLang $ concatMap getExts pgms-        _            -> Nothing-  where getExts :: ModulePragma l -> [Either Language Extension]-        getExts (LanguagePragma _ ns) = map readExt ns-        getExts _ = []--        readExt (Ident _ e) =-            case classifyLanguage e of-              UnknownLanguage _ -> Right $ classifyExtension e-              lang -> Left lang-        readExt Symbol {} = error "readExt: Symbol"--        extractLang = extractLang' Nothing []--        extractLang' lacc eacc [] = Just (lacc, eacc)-        extractLang' Nothing eacc (Left l : rest) = extractLang' (Just l) eacc rest-        extractLang' (Just l1) eacc (Left l2:rest)-            | l1 == l2  = extractLang' (Just l1) eacc rest-            | otherwise = Nothing-        extractLang' lacc eacc (Right ext : rest) = extractLang' lacc (ext:eacc) rest--ppContents :: String -> String-ppContents = unlines . f . lines-  where f (('#':_):rest) = rest-        f x = x--delit :: String -> String -> String-delit fn = if ".lhs" `isSuffixOf` fn then unlit fn else id--readUTF8File :: FilePath -> IO String-readUTF8File fp = do-  h <- openFile fp ReadMode-  hSetEncoding h utf8-  hGetContents h
− src/Language/Haskell/Exts/Annotated/Build.hs
@@ -1,291 +0,0 @@--------------------------------------------------------------------------------- |--- Module      :  Language.Haskell.Exts.Annotated.Build--- Copyright   :  (c) The GHC Team, 1997-2000,---                (c) Niklas Broberg 2004--- License     :  BSD-style (see the file LICENSE.txt)------ Maintainer  :  Niklas Broberg, d00nibro@chalmers.se--- Stability   :  experimental--- Portability :  portable------ This module contains combinators to use when building--- Haskell source trees programmatically, as opposed to--- parsing them from a string. The contents here are quite--- experimental and will likely receive a lot of attention--- when the rest has stabilised.-----------------------------------------------------------------------------------module Language.Haskell.Exts.Annotated.Build (--    -- * Syntax building functions-    name,       -- :: String -> Name-    sym,        -- :: String -> Name-    var,        -- :: Name -> Exp-    op,         -- :: Name -> QOp-    qvar,       -- :: Module -> Name -> Exp-    pvar,       -- :: Name -> Pat-    app,        -- :: Exp -> Exp -> Exp-    infixApp,   -- :: Exp -> QOp -> Exp -> Exp-    appFun,     -- :: Exp -> [Exp] -> Exp-    pApp,       -- :: Name -> [Pat] -> Pat-    tuple,      -- :: [Exp] -> Exp-    pTuple,     -- :: [Pat] -> Pat-    varTuple,   -- :: [Name] -> Exp-    pvarTuple,  -- :: [Name] -> Pat-    function,   -- :: String -> Exp-    strE,       -- :: String -> Exp-    charE,      -- :: Char -> Exp-    intE,       -- :: Integer -> Exp-    strP,       -- :: String -> Pat-    charP,      -- :: Char -> Pat-    intP,       -- :: Integer -> Pat-    doE,        -- :: [Stmt] -> Exp-    lamE,       -- :: SrcLoc -> [Pat] -> Exp -> Exp-    letE,       -- :: [Decl] -> Exp -> Exp-    caseE,      -- :: Exp -> [Alt] -> Exp-    alt,        -- :: SrcLoc -> Pat -> Exp -> Alt-    altGW,      -- :: SrcLoc -> Pat -> [Stmt] -> Exp -> Binds -> Alt-    listE,      -- :: [Exp] -> Exp-    eList,      -- :: Exp-    peList,     -- :: Pat-    paren,      -- :: Exp -> Exp-    pParen,     -- :: Pat -> Pat-    qualStmt,   -- :: Exp -> Stmt-    genStmt,    -- :: SrcLoc -> Pat -> Exp -> Stmt-    letStmt,    -- :: [Decl] -> Stmt-    binds,      -- :: [Decl] -> Binds-    noBinds,    -- :: Binds-    wildcard,   -- :: Pat-    genNames,   -- :: String -> Int -> [Name]--    -- * More advanced building-    sfun,           -- :: SrcLoc -> Name -> [Name] -> Rhs -> Binds -> Decl-    simpleFun,      -- :: SrcLoc -> Name -> Name -> Exp -> Decl-    patBind,        -- :: SrcLoc -> Pat -> Exp -> Decl-    patBindWhere,   -- :: SrcLoc -> Pat -> Exp -> [Decl] -> Decl-    nameBind,       -- :: SrcLoc -> Name -> Exp -> Decl-    metaFunction,   -- :: String -> [Exp] -> Exp-    metaConPat      -- :: String -> [Pat] -> Pat-  ) where--import Language.Haskell.Exts.Annotated.Syntax---------------------------------------------------------------------------------- Help functions for Abstract syntax---- | An identifier with the given string as its name.---   The string should be a valid Haskell identifier.-name :: l -> String -> Name l-name = Ident---- | A symbol identifier. The string should be a valid---   Haskell symbol identifier.-sym :: l -> String -> Name l-sym = Symbol---- | A local variable as expression.-var :: l -> Name l -> Exp l-var l = Var l . UnQual l---- | Use the given identifier as an operator.-op :: l -> Name l -> QOp l-op l = QVarOp l . UnQual l---- | A qualified variable as expression.-qvar :: l -> ModuleName l -> Name l -> Exp l-qvar l m = Var l . Qual l m---- | A pattern variable.-pvar :: l -> Name l -> Pat l-pvar = PVar---- | Application of expressions by juxtaposition.-app :: l -> Exp l -> Exp l -> Exp l-app = App---- | Apply an operator infix.-infixApp :: l -> Exp l -> QOp l -> Exp l -> Exp l-infixApp = InfixApp---- | Apply a function to a list of arguments.-appFun :: [l] -> Exp l -> [Exp l] -> Exp l-appFun _ f [] = f-appFun (l:ls) f (a:as) = appFun ls (app l f a) as-appFun [] _ (_:_) = error "haskell-src-exts: Build: appFun: too few annotations supplied"---- | A constructor pattern, with argument patterns.-pApp :: l -> Name l -> [Pat l] -> Pat l-pApp l n = PApp l (UnQual l n)---- | A tuple expression.-tuple :: l -> [Exp l] -> Exp l-tuple l = Tuple l Boxed---- | A tuple pattern.-pTuple :: l -> [Pat l] -> Pat l-pTuple l = PTuple l Boxed---- | A tuple expression consisting of variables only.-varTuple :: l -> [Name l] -> Exp l-varTuple l ns = tuple l $ map (var l) ns---- | A tuple pattern consisting of variables only.-pvarTuple :: l -> [Name l] -> Pat l-pvarTuple l ns = pTuple l $ map (pvar l) ns---- | A function with a given name.-function :: l -> String -> Exp l-function l = var l . Ident l---- | A literal string expression.-strE :: l -> String -> Exp l-strE l s = Lit l $ String l s s---- | A literal character expression.-charE :: l -> Char -> Exp l-charE l c = Lit l $ Char l c [c]---- | A literal integer expression.-intE :: l -> Integer -> Exp l-intE l i = Lit l $ Int l i (show i)---- | A literal string pattern.-strP :: l -> String -> Pat l-strP l s = PLit l (Signless l) $ String l s s---- | A literal character pattern.-charP :: l -> Char -> Pat l-charP l c = PLit l (Signless l) $ Char l c [c]---- | A literal integer pattern.-intP :: l -> Integer -> Pat l-intP l i = PLit l (if i >= 0 then Signless l else Negative l) . Int l i . show . abs $ i---- | A do block formed by the given statements.---   The last statement in the list should be---   a 'Qualifier' expression.-doE :: l -> [Stmt l] -> Exp l-doE = Do---- | Lambda abstraction, given a list of argument---   patterns and an expression body.-lamE :: l -> [Pat l] -> Exp l -> Exp l-lamE = Lambda---- | A @let@ ... @in@ block.-letE :: l -> [Decl l] -> Exp l -> Exp l-letE l ds e = Let l (binds l ds) e---- | A @case@ expression.-caseE :: l -> Exp l -> [Alt l] -> Exp l-caseE = Case---- | An unguarded alternative in a @case@ expression.-alt :: l -> Pat l -> Exp l -> Alt l-alt l p e = Alt l p (unGAlt l e) Nothing---- | An alternative with a single guard in a @case@ expression.-altGW :: l -> Pat l -> [Stmt l] -> Exp l -> Binds l -> Alt l-altGW l p gs e w = Alt l p (gAlt l gs e) (Just w)---- | An unguarded righthand side of a @case@ alternative.-unGAlt :: l -> Exp l -> Rhs l-unGAlt = UnGuardedRhs---- | An list of guarded righthand sides for a @case@ alternative.-gAlts :: l -> [([Stmt l], Exp l)] -> Rhs l-gAlts l as = GuardedRhss l $ map (\(gs,e) -> GuardedRhs l gs e) as---- | A single guarded righthand side for a @case@ alternative.-gAlt :: l -> [Stmt l] -> Exp l -> Rhs l-gAlt l gs e = gAlts l [(gs,e)]---- | A list expression.-listE :: l -> [Exp l] -> Exp l-listE = List---- | The empty list expression.-eList :: l -> Exp l-eList l = List l []---- | The empty list pattern.-peList :: l -> Pat l-peList l = PList l []---- | Put parentheses around an expression.-paren :: l -> Exp l -> Exp l-paren = Paren---- | Put parentheses around a pattern.-pParen :: l -> Pat l -> Pat l-pParen = PParen---- | A qualifier expression statement.-qualStmt :: l -> Exp l -> Stmt l-qualStmt = Qualifier---- | A generator statement: /pat/ @<-@ /exp/-genStmt :: l -> Pat l -> Exp l -> Stmt l-genStmt = Generator---- | A @let@ binding group as a statement.-letStmt :: l -> [Decl l] -> Stmt l-letStmt l ds = LetStmt l $ binds l ds---- | Hoist a set of declarations to a binding group.-binds :: l -> [Decl l] -> Binds l-binds = BDecls---- | An empty binding group.-noBinds :: l -> Binds l-noBinds l = binds l []---- | The wildcard pattern: @_@-wildcard :: l -> Pat l-wildcard = PWildCard---- | Generate k names by appending numbers 1 through k to a given string.-genNames :: l -> String -> Int -> [Name l]-genNames l s k = [ Ident l $ s ++ show i | i <- [1..k] ]------------------------------------------------------------------------------------ Some more specialised help functions---- | A function with a single clause-sfun :: l -> Name l -> [Name l] -> Rhs l -> Maybe (Binds l) -> Decl l-sfun l f pvs rhs mbs = FunBind l [Match l f (map (pvar l) pvs) rhs mbs]---- | A function with a single clause, a single argument, no guards--- and no where declarations-simpleFun :: l -> Name l -> Name l -> Exp l -> Decl l-simpleFun l f a e = let rhs = UnGuardedRhs l e-             in sfun l f [a] rhs Nothing---- | A pattern bind where the pattern is a variable, and where--- there are no guards and no 'where' clause.-patBind :: l -> Pat l -> Exp l -> Decl l-patBind l p e = let rhs = UnGuardedRhs l e-         in PatBind l p rhs Nothing---- | A pattern bind where the pattern is a variable, and where--- there are no guards, but with a 'where' clause.-patBindWhere :: l -> Pat l -> Exp l -> [Decl l] -> Decl l-patBindWhere l p e ds = let rhs = UnGuardedRhs l e-             in PatBind l p rhs (Just $ binds l ds)---- | Bind an identifier to an expression.-nameBind :: l -> Name l -> Exp l -> Decl l-nameBind l n e = patBind l (pvar l n) e---- | Apply function of a given name to a list of arguments.-metaFunction :: l -> String -> [Exp l] -> Exp l-metaFunction l' s' es' = mf l' s' (reverse es')-  where mf l s []     = var l $ name l s-        mf l s (e:es) = app l (mf l s es) e---- | Apply a constructor of a given name to a list of pattern---   arguments, forming a constructor pattern.-metaConPat :: l -> String -> [Pat l] -> Pat l-metaConPat l s ps = pApp l (name l s) ps
− src/Language/Haskell/Exts/Annotated/Comments.hs
@@ -1,176 +0,0 @@--------------------------------------------------------------------------------- |--- Module      :  Language.Haskell.Exts.Annotated.Comments--- Copyright   :  (c) JP Moresmau 2015--- License     :  BSD-style (see the file LICENSE.txt)------ Maintainer  :  Niklas Broberg, d00nibro@chalmers.se--- Stability   :  experimental--- Portability :  portable------ This module processes comments along with an annotated AST,--- to be able to associate Haddock comments with the actual item--- they refer to.------ Example:------ @--- let---  parse1Result :: ParseResult (Module SrcSpanInfo,[Comment])---  parse1Result =---    parseFileContentsWithComments---     (defaultParseMode { parseFilename = file })---      contents---  withC :: ParseResult (Module (SrcSpanInfo,[Comment]))---  withC = case parse1Result of---            ParseOk res         -> ParseOk $ associateHaddock res---            ParseFailed sloc msg -> ParseFailed sloc msg--- @------ In this code sample, parse1Result is what you get when you parse a file:--- a 'Module' annotated wth 'SrcSpanInfo', and a list of comments--- After passing the result to 'associateHaddock', you get a 'Module'--- annotated with both a 'SrcSpanInfo' and the list of 'Comment' related to the--- specific AST node.----------------------------------------------------------------------------------module Language.Haskell.Exts.Annotated.Comments-    ( associateHaddock-    ) where--import Language.Haskell.Exts.Annotated.Syntax-import Language.Haskell.Exts.Comments-import Language.Haskell.Exts.SrcLoc--import Data.Char (isSpace)-import Data.Traversable---- | Associates an AST with Source Span Information--- with relevant Haddock comments-associateHaddock-  ::(Annotated ast,Traversable ast)-  => (ast SrcSpanInfo,[Comment])-  -> ast (SrcSpanInfo,[Comment])-associateHaddock (ast,[]) = fmap (\src->(src,[])) ast-associateHaddock (ast,comments) =-  let-    (ca,assocs1) = mapAccumL associate1 (newAccumulator comments) ast-  in snd $ mapAccumL merge (lastPost ca) assocs1----- | Merge existing association with post comment associations-merge-  :: [(SrcSpanInfo,[Comment])]-  -> (SrcSpanInfo,[Comment])-  -> ([(SrcSpanInfo,[Comment])], (SrcSpanInfo,[Comment]))-merge [] ret = ([],ret)-merge (x:xs) (src,cmts) =-  if fst x == src-    then (xs,(src,cmts ++ snd x))-    else (x:xs,(src,cmts))----- | Ensure that if file ends with comment we process it-lastPost :: CommentAccumulator -> [(SrcSpanInfo, [Comment])]-lastPost (CommentAccumulator (Post cmt : rest) past assocs) =-  let (toMerge, _) = span isNone rest-      psrc = matchPreviousSrc past-  in (assocs ++ [(psrc, cmt : map hcComment toMerge)])-lastPost (CommentAccumulator _ _ assocs) = assocs----- | Accumulate comments mappings, either directly with the source--- or in another association list for later processing-associate1-  :: CommentAccumulator-  -> SrcSpanInfo-  -> (CommentAccumulator,(SrcSpanInfo,[Comment]))-associate1 ca@(CommentAccumulator [] _ _) src = (ca,(src,[]))-associate1 (CommentAccumulator (hc@(Pre cmt):rest) _ assocs) src =-  if isBefore hc src-    then-      let (toMerge,next) = getToMerge src rest-          newAssoc = (src,cmt : map hcComment toMerge)-      in (CommentAccumulator next [] assocs,newAssoc)-    else (CommentAccumulator (hc:rest) [] assocs,(src,[]))-associate1 (CommentAccumulator (hc@(Post cmt):rest) past assocs) src =-  if isBefore hc src-    then-      let (toMerge,next) = getToMerge src rest-          newAssocs =-            if null past-              then assocs-              else assocs++[(matchPreviousSrc past,cmt : map hcComment toMerge)]-      in associate1 (CommentAccumulator next [] newAssocs) src-    else (CommentAccumulator (hc:rest) (src:past) assocs,(src,[]))-associate1 (CommentAccumulator (_:rest) past assocs) src =-  (CommentAccumulator rest (src:past) assocs,(src,[]))----- | The comment accumulator-data CommentAccumulator = CommentAccumulator-  [HaddockComment]          -- The Haddock comments to process-  [SrcSpanInfo]             -- The past src infos to resolve post comments-  [(SrcSpanInfo,[Comment])] -- The additional associations between src and comments----- | Create a new accumulator-newAccumulator :: [Comment] -> CommentAccumulator-newAccumulator comments = CommentAccumulator (commentsToHaddock comments) [] []---- | Get comments to merge-getToMerge-  :: SrcSpanInfo                         -- ^ Stop before src-  -> [HaddockComment]                    -- ^ All remaining comments-  -> ([HaddockComment],[HaddockComment]) -- ^ Comments to merge, left overs-getToMerge src = span (\hc-> isNone hc && isBefore hc src)----- | Get the biggest src that ends where the first one does-matchPreviousSrc :: [SrcSpanInfo] -> SrcSpanInfo-matchPreviousSrc [] =-  error "Language.Haskell.Exts.Annotated.Comments.matchPreviousSrc: empty list"-matchPreviousSrc srcs =-  let end = srcSpanEnd $ srcInfoSpan $ head srcs-  in last $ filter ((end ==) . srcSpanEnd . srcInfoSpan) srcs---- | Is a Haddock comment before a given location-isBefore :: HaddockComment -> SrcSpanInfo -> Bool-isBefore hc src=-  let-    (Comment _ csrc _) = hcComment hc-  in csrc < srcInfoSpan src---- | Represents a Haddock Comment-data HaddockComment =-  -- | Comment before declaration-  Pre-   {-     hcComment::Comment-   }-  -- | Comment after declaration-  | Post  {-     hcComment::Comment-    }-  -- | Non Haddock comment-  | None  {-     hcComment::Comment-    }---- | Is a comment not haddock?-isNone :: HaddockComment -> Bool-isNone (None _) = True-isNone _ = False----- | Comments to Haddock Comments-commentsToHaddock :: [Comment] -> [HaddockComment]-commentsToHaddock = map commentToHaddock---- | Comment to Haddock Comment-commentToHaddock :: Comment -> HaddockComment-commentToHaddock c@(Comment _ _ txt) =-  case dropWhile isSpace txt of-    ('|':_) -> Pre c-    ('^':_) -> Post c-    _       -> None c
− src/Language/Haskell/Exts/Annotated/ExactPrint.hs
@@ -1,2138 +0,0 @@-{-# LANGUAGE DeriveFunctor #-}--------------------------------------------------------------------------------- |--- Module      :  Language.Haskell.Exts.Annotated.ExactPrint--- Copyright   :  (c) Niklas Broberg 2009--- License     :  BSD-style (see the file LICENSE.txt)------ Maintainer  :  Niklas Broberg, d00nibro@chalmers.se--- Stability   :  stable--- Portability :  portable------ Exact-printer for Haskell abstract syntax. The input is a (semi-concrete)--- abstract syntax tree, annotated with exact source information to enable--- printing the tree exactly as it was parsed.----------------------------------------------------------------------------------module Language.Haskell.Exts.Annotated.ExactPrint-        ( exactPrint-        , ExactP-        ) where--import Language.Haskell.Exts.Annotated.Syntax-import Language.Haskell.Exts.SrcLoc-import Language.Haskell.Exts.Comments--import Control.Monad (when, liftM, ap, unless)-import Control.Applicative (Applicative(..))-import Control.Arrow ((***), (&&&))-import Prelude hiding (exp)-import Data.List (intersperse)---- import Debug.Trace (trace)----------------------------------------------------------- The EP monad and basic combinators--type Pos = (Int,Int)--pos :: (SrcInfo loc) => loc -> Pos-pos ss = (startLine ss, startColumn ss)--newtype EP x = EP (Pos -> [Comment] -> (x, Pos, [Comment], ShowS))--instance Functor EP where-  fmap = liftM--instance Applicative EP where-  pure = return-  (<*>) = ap--instance Monad EP where-  return x = EP $ \l cs -> (x, l, cs, id)--  EP m >>= k = EP $ \l0 c0 -> let-        (a, l1, c1, s1) = m l0 c0-        EP f = k a-        (b, l2, c2, s2) = f l1 c1-    in (b, l2, c2, s1 . s2)--runEP :: EP () -> [Comment] -> String-runEP (EP f) cs = let (_,_,_,s) = f (1,1) cs in s ""--getPos :: EP Pos-getPos = EP (\l cs -> (l,l,cs,id))--setPos :: Pos -> EP ()-setPos l = EP (\_ cs -> ((),l,cs,id))--printString :: String -> EP ()-printString str =-  EP (\(l,c) cs -> let (l', c') = foldl go (l, c) str-                       go (cl, _) '\n' = (cl + 1, 1)-                       go (cl, cc) _    = (cl, cc + 1)-                   in ((), (l', c'), cs, showString str))---getComment :: EP (Maybe Comment)-getComment = EP $ \l cs ->-    let x = case cs of-             c:_ -> Just c-             _   -> Nothing-     in (x, l, cs, id)--dropComment :: EP ()-dropComment = EP $ \l cs ->-    let cs' = case cs of-               (_:cs1) -> cs1-               _       -> cs-     in ((), l, cs', id)--newLine :: EP ()-newLine = do-    (l,_) <- getPos-    printString "\n"-    setPos (l+1,1)--padUntil :: Pos -> EP ()-padUntil (l,c) = do-    (l1,c1) <- getPos-    case  {- trace (show ((l,c), (l1,c1))) -} () of-     _ {-()-} | l1 >= l && c1 <= c -> printString $ replicate (c - c1) ' '-              | l1 < l             -> newLine >> padUntil (l,c)-              | otherwise          -> return ()---mPrintComments :: Pos -> EP ()-mPrintComments p = do-    mc <- getComment-    case mc of-     Nothing -> return ()-     Just (Comment multi s str) ->-        when (pos s < p) $ do-            dropComment-            padUntil (pos s)-            printComment multi str-            setPos (srcSpanEndLine s, srcSpanEndColumn s)-            mPrintComments p--printComment :: Bool -> String -> EP ()-printComment b str-    | b         = printString $ "{-" ++ str ++ "-}"-    | otherwise = printString $ "--" ++ str--printWhitespace :: Pos -> EP ()-printWhitespace p = mPrintComments p >> padUntil p--printStringAt :: Pos -> String -> EP ()-printStringAt p str = printWhitespace p >> printString str--errorEP :: String -> EP a-errorEP = fail----------------------------------------------------------------------------------- Printing of source elements---- | Print an AST exactly as specified by the annotations on the nodes in the tree.-exactPrint :: (ExactP ast) => ast SrcSpanInfo -> [Comment] -> String-exactPrint ast = runEP (exactPC ast)--exactPC :: (ExactP ast) => ast SrcSpanInfo -> EP ()-exactPC ast = let p = pos (ann ast) in mPrintComments p >> padUntil p >> exactP ast--printSeq :: [(Pos, EP ())] -> EP ()-printSeq [] = return ()-printSeq ((p,pr):xs) = printWhitespace p >> pr >> printSeq xs--printStrs :: SrcInfo loc => [(loc, String)] -> EP ()-printStrs = printSeq . map (pos *** printString)--printPoints :: SrcSpanInfo -> [String] -> EP ()-printPoints l = printStrs . zip (srcInfoPoints l)--printInterleaved, printInterleaved' :: (Annotated ast, ExactP ast, SrcInfo loc) => [(loc, String)] -> [ast SrcSpanInfo] -> EP ()-printInterleaved sistrs asts = printSeq $-    interleave (map (pos *** printString ) sistrs)-               (map (pos . ann &&& exactP) asts)--printInterleaved' sistrs (a:asts) = exactPC a >> printInterleaved sistrs asts-printInterleaved' _ _ = internalError "printInterleaved'"--printStreams :: [(Pos, EP ())] -> [(Pos, EP ())] -> EP ()-printStreams [] ys = printSeq ys-printStreams xs [] = printSeq xs-printStreams (x@(p1,ep1):xs) (y@(p2,ep2):ys)-    | p1 <= p2 = printWhitespace p1 >> ep1 >> printStreams xs (y:ys)-    | otherwise = printWhitespace p2 >> ep2 >> printStreams (x:xs) ys---interleave :: [a] -> [a] -> [a]-interleave [] ys = ys-interleave xs [] = xs-interleave (x:xs) (y:ys) = x:y: interleave xs ys--maybeEP :: (a -> EP ()) -> Maybe a -> EP ()-maybeEP = maybe (return ())--bracketList :: (Annotated ast, ExactP ast) => (String, String, String) -> [SrcSpan] -> [ast SrcSpanInfo] -> EP ()-bracketList (a,b,c) poss asts = printInterleaved (pList poss (a,b,c)) asts--pList :: [a] -> (b, b, b) -> [(a, b)]-pList (p:ps) (a,b,c) = (p,a) : pList' ps (b,c)-pList _ _ = internalError "pList"-pList' :: [a] -> (b, b) -> [(a, b)]-pList' [] _ = []-pList' [p] (_,c) = [(p,c)]-pList' (p:ps) (b,c) = (p, b) : pList' ps (b,c)--parenList, squareList, squareColonList, curlyList, parenHashList :: (Annotated ast, ExactP ast) => [SrcSpan] -> [ast SrcSpanInfo] -> EP ()-parenList = bracketList ("(",",",")")-squareList = bracketList ("[",",","]")-squareColonList = bracketList ("[:",",",":]")-curlyList = bracketList ("{",",","}")-parenHashList = bracketList ("(#",",","#)")--layoutList :: (Functor ast, Show (ast ()), Annotated ast, ExactP ast) => [SrcSpan] -> [ast SrcSpanInfo] -> EP ()-layoutList poss asts = printStreams-        (map (pos *** printString) $ lList poss)-        (map (pos . ann &&& exactP) asts)--lList :: [SrcSpan] -> [(SrcSpan, String)]-lList (p:ps) = (if isNullSpan p then (p,"") else (p,"{")) : lList' ps-lList _ = internalError "lList"-lList' :: [SrcSpan] -> [(SrcSpan, String)]-lList' [] = []-lList' [p] = [if isNullSpan p then (p,"") else (p,"}")]-lList' (p:ps) = (if isNullSpan p then (p,"") else (p,";")) : lList' ps--printSemi :: SrcSpan -> EP ()-printSemi p = do-  printWhitespace (pos p)-  unless (isNullSpan p) $ printString ";"-------------------------------------------------------- Exact printing--class Annotated ast => ExactP ast where-  exactP :: ast SrcSpanInfo -> EP ()--instance ExactP Literal where-  exactP lit = case lit of-    Char       _ _ rw -> printString ('\'':rw ++ "\'")-    String     _ _ rw -> printString ('\"':rw ++ "\"")-    Int        _ _ rw -> printString rw-    Frac       _ _ rw -> printString rw-    PrimInt    _ _ rw -> printString (rw ++ "#" )-    PrimWord   _ _ rw -> printString (rw ++ "##")-    PrimFloat  _ _ rw -> printString (rw ++ "#" )-    PrimDouble _ _ rw -> printString (rw ++ "##")-    PrimChar   _ _ rw -> printString ('\'':rw ++ "\'#" )-    PrimString _ _ rw -> printString ('\"':rw ++ "\"#" )--instance ExactP Sign where-  exactP sg = case sg of-    Signless _ -> return ()-    Negative l -> printStringAt (pos l) "-"--instance ExactP ModuleName where-  exactP (ModuleName _ str) = printString str--instance ExactP SpecialCon where-  exactP sc = case sc of-    UnitCon l   -> printPoints l ["(",")"]-    ListCon l   -> printPoints l ["[","]"]-    FunCon  l   -> case srcInfoPoints l of-                    [_,b,_] -> printStringAt (pos b) "->"-                    _ -> errorEP "ExactP: SpecialCon is given wrong number of srcInfoPoints"-    TupleCon l b n -> printPoints l $-        case b of-         Unboxed -> "(#": replicate (n-1) "," ++ ["#)"]-         _       -> "(" : replicate (n-1) "," ++ [")"]-    Cons _      -> printString ":"-    UnboxedSingleCon l -> printPoints l ["(#","#)"]--isSymbol :: Name l -> Bool-isSymbol (Symbol _ _) = True-isSymbol _ = False--getName :: QName l -> Name l-getName (UnQual _ s) = s-getName (Qual _ _ s) = s-getName (Special l (Cons _)) = Symbol l ":"-getName (Special l (FunCon _)) = Symbol l "->"-getName (Special l s) = Ident l (specialName s)--specialName :: SpecialCon l -> String-specialName (UnitCon _) = "()"-specialName (ListCon _) = "[]"-specialName (FunCon  _) = "->"-specialName (TupleCon _ b n) = "(" ++ hash ++ replicate (n-1) ',' ++ hash ++ ")"-    where hash = case b of-                   Unboxed -> "#"-                   _       -> ""-specialName (Cons _) = ":"-specialName (UnboxedSingleCon _) = "(# #)"--instance ExactP QName where-  exactP qn-    | isSymbol (getName qn) =-        case srcInfoPoints (ann qn) of-         [_,b,c] -> do-            printString "("-            printWhitespace (pos b)-            epQName qn-            printStringAt (pos c) ")"-         _ -> errorEP "ExactP: QName is given wrong number of srcInfoPoints"-    | otherwise = epQName qn--epQName :: QName SrcSpanInfo -> EP ()-epQName qn = case qn of-    Qual    _ mn n  -> exactP mn >> printString "." >> epName n-    UnQual  _    n  -> epName n-    Special _ sc    -> exactP sc--epInfixQName :: QName SrcSpanInfo -> EP ()-epInfixQName qn-    | isSymbol (getName qn) = printWhitespace (pos (ann qn)) >> epQName qn-    | otherwise =-        case srcInfoPoints (ann qn) of-         [a,b,c] -> do-            printStringAt (pos a) "`"-            printWhitespace (pos b)-            epQName qn-            printStringAt (pos c) "`"-         _ -> errorEP "ExactP: QName (epInfixName) is given wrong number of srcInfoPoints"--instance ExactP Name where-  exactP n = case n of-    Ident  _ str    -> printString str-    Symbol l str    ->-        case srcInfoPoints l of-         [_,b,c] -> do-            printString "("-            printWhitespace (pos b)-            printString str-            printStringAt (pos c) ")"-         [] -> printString str-         _ -> errorEP "ExactP: Name is given wrong number of srcInfoPoints"--epName :: Name SrcSpanInfo -> EP ()-epName (Ident  _ str) = printString str-epName (Symbol _ str) = printString str--epInfixName :: Name SrcSpanInfo -> EP ()-epInfixName n-    | isSymbol n = printWhitespace (pos (ann n)) >> epName n-    | otherwise =-        case srcInfoPoints (ann n) of-         [a,b,c] -> do-            printStringAt (pos a) "`"-            printWhitespace (pos b)-            epName n-            printStringAt (pos c) "`"-         _ -> errorEP "ExactP: Name (epInfixName) is given wrong number of srcInfoPoints"--instance ExactP IPName where-  exactP ipn = case ipn of-    IPDup _ str -> printString $ '?':str-    IPLin _ str -> printString $ '%':str--instance ExactP QOp where-  exactP qop = case qop of-    QVarOp _ qn -> epInfixQName qn-    QConOp _ qn -> epInfixQName qn--instance ExactP Op where-  exactP op = case op of-    VarOp _ n -> epInfixName n-    ConOp _ n -> epInfixName n----instance ExactP CName where-  exactP cn = case cn of-    VarName _ n -> exactP n-    ConName _ n -> exactP n--instance ExactP Namespace where-  exactP ns = case ns of-     NoNamespace _   -> return ()-     TypeNamespace l -> printStringAt (pos l) "type"-     PatternNamespace l -> printStringAt (pos l) "pattern"--instance ExactP ExportSpec where-  exactP espec = case espec of-     EVar _ qn    -> exactPC qn-     EAbs _ ns qn -> exactP ns >> exactPC qn-     EThingAll l qn -> exactP qn >> printPoints l ["(","..",")"]-     EThingWith l qn cns    ->-        let k = length (srcInfoPoints l)-         in exactP qn >> printInterleaved (zip (srcInfoPoints l) $ "(":replicate (k-2) "," ++ [")"]) cns-     EModuleContents _ mn -> printString "module" >> exactPC mn--instance ExactP ExportSpecList where-  exactP (ExportSpecList l ess) =-    let k = length (srcInfoPoints l)-     in printInterleaved (zip (srcInfoPoints l) $ "(": replicate (k-2) "," ++ [")"]) ess--instance ExactP ImportSpecList where-  exactP (ImportSpecList l hid ispecs) = do-    let pts = srcInfoPoints l-    pts1 <- if hid then do-             let (x:pts') = pts-             printStringAt (pos x) "hiding"-             return pts'-            else return pts-    let k = length pts1-    printInterleaved (zip pts1 $ "(": replicate (k-2) "," ++ [")"]) ispecs--instance ExactP ImportSpec where-  exactP ispec = case ispec of-    IVar _ qn       -> exactPC qn-    IAbs _ ns n     -> exactP ns >> exactPC n-    IThingAll l n   -> exactP n >> printPoints l ["(","..",")"]-    IThingWith l n cns    ->-        let k = length (srcInfoPoints l)-         in exactP n >> printInterleaved (zip (srcInfoPoints l) $ "(":replicate (k-2) "," ++ [")"]) cns--instance ExactP ImportDecl where-  exactP (ImportDecl l mn qf src safe mpkg mas mispecs) = do-    printString "import"-    case srcInfoPoints l of-     (_:pts) -> do-        pts1 <- if src then-                 case pts of-                  x:y:pts' -> do-                     printStringAt (pos x) "{-# SOURCE"-                     printStringAt (pos y) "#-}"-                     return pts'-                  _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"-                else return pts-        pts2 <- if safe then-                 case pts1 of-                  x:pts' -> do-                     printStringAt (pos x) "safe"-                     return pts'-                  _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"-                else return pts1-        pts3 <- if qf then-                 case pts2 of-                  x:pts' -> do-                     printStringAt (pos x) "qualified"-                     return pts'-                  _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"-                else return pts2-        pts4 <- case mpkg of-                Just pkg ->-                  case pts3 of-                   x:pts' -> do-                      printStringAt (pos x) $ show pkg-                      return pts'-                   _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"-                _ -> return pts3-        exactPC mn-        _ <- case mas of-                Just as ->-                 case pts4 of-                  x:pts' -> do-                     printStringAt (pos x) "as"-                     exactPC as-                     return pts'-                  _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"-                _ -> return pts4-        case mispecs of-         Nothing -> return ()-         Just ispecs -> exactPC ispecs-     _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"--instance ExactP Module where-  exactP mdl = case mdl of-    Module l mmh oss ids decls -> do-        let (oPts, pts) = splitAt (max (length oss + 1) 2) (srcInfoPoints l)-        layoutList oPts oss-        maybeEP exactPC mmh-        printStreams (map (pos *** printString) $ lList pts)-                     (map (pos . ann &&& exactPC) ids ++ map (pos . ann &&& exactPC) (sepFunBinds decls))-    XmlPage l _mn oss xn attrs mat es  -> do-        let (oPts, pPts) = splitAt (max (length oss + 1) 2) $ srcInfoPoints l-        case pPts of-         [a,b,c,d,e] -> do-            layoutList oPts oss-            printStringAt (pos a) "<"-            exactPC xn-            mapM_ exactPC attrs-            maybeEP exactPC mat-            printStringAt (pos b) ">"-            mapM_ exactPC es-            printStringAt (pos c) "</"-            printWhitespace (pos d)-            exactP xn-            printStringAt (pos e) ">"-         _ -> errorEP "ExactP: Module: XmlPage is given wrong number of srcInfoPoints"-    XmlHybrid l mmh oss ids decls xn attrs mat es -> do-        let (oPts, pts) = splitAt (max (length oss + 1) 2) (srcInfoPoints l)-        layoutList oPts oss-        maybeEP exactPC mmh-        let (dPts, pPts) = splitAt (length pts - 5) pts-        case pPts of-         [a,b,c,d,e] -> do-            printStreams (map (\(p,s) -> (pos p, printString s)) $ lList dPts)-                         (map (\i -> (pos $ ann i, exactPC i)) ids ++ map (\d' -> (pos $ ann d', exactPC d')) (sepFunBinds decls))--            printStringAt (pos a) "<"-            exactPC xn-            mapM_ exactPC attrs-            maybeEP exactPC mat-            printStringAt (pos b) ">"-            mapM_ exactPC es-            printStringAt (pos c) "</"-            printWhitespace (pos d)-            exactP xn-            printStringAt (pos e) ">"-         _ -> errorEP "ExactP: Module: XmlHybrid is given wrong number of srcInfoPoints"--instance ExactP ModuleHead where-  exactP (ModuleHead l mn mwt mess) =-    case srcInfoPoints l of-     [a,b] -> do-        printStringAt (pos a) "module"-        exactPC mn-        maybeEP exactPC mwt-        maybeEP exactPC mess-        printStringAt (pos b) "where"-     _ -> errorEP "ExactP: ModuleHead is given wrong number of srcInfoPoints"--instance ExactP ModulePragma where-  exactP op = case op of-    LanguagePragma   l ns       ->-        let pts = srcInfoPoints l-            k = length ns - 1 -- number of commas-            m = length pts - k - 2 -- number of virtual semis, likely 0-         in printInterleaved (zip pts ("{-# LANGUAGE":replicate k "," ++ replicate m "" ++ ["#-}"])) ns-    OptionsPragma    l mt str   ->-        let k = length (srcInfoPoints l)-            -- We strip out a leading space in the lexer unless the pragma-            -- starts with a newline.-            addSpace xs@('\n':_) = xs-            addSpace xs = ' ':xs-            opstr = "{-# OPTIONS" ++ case mt of { Just t -> "_" ++ show t ; _ -> "" } ++ addSpace str-         in printPoints l $ opstr : replicate (k-2) "" ++ ["#-}"]-    AnnModulePragma  l ann'      ->-        case srcInfoPoints l of-         [_,b] -> do-            printString "{-# ANN"-            exactPC ann'-            printStringAt (pos b) "#-}"-         _ -> errorEP "ExactP: ModulePragma: AnnPragma is given wrong number of srcInfoPoints"--instance ExactP WarningText where-    exactP (DeprText l str) = printPoints l ["{-# DEPRECATED", str, "#-}"]-    exactP (WarnText l str) = printPoints l ["{-# WARNING",    str, "#-}"]--instance ExactP Assoc where-  exactP a = case a of-    AssocNone  _ -> printString "infix"-    AssocLeft  _ -> printString "infixl"-    AssocRight _ -> printString "infixr"--instance ExactP DataOrNew where-  exactP (DataType _) = printString "data"-  exactP (NewType  _) = printString "newtype"--instance ExactP TypeEqn where-  exactP (TypeEqn l t1 t2) =-    case srcInfoPoints l of-      [a] -> do-         exactPC t1-         printStringAt (pos a) "="-         exactPC t2-      _ -> errorEP "ExactP: TypeEqn is given wrong number of srcInfoPoints"--instance ExactP Decl where-  exactP decl = case decl of-    TypeDecl     l dh t      ->-        case srcInfoPoints l of-         [a,b] -> do-            printStringAt (pos a) "type"-            exactPC dh-            printStringAt (pos b) "="-            exactPC t-         _ -> errorEP "ExactP: Decl: TypeDecl is given wrong number of srcInfoPoints"-    TypeFamDecl  l dh mk     ->-        case srcInfoPoints l of-         a:b:ps -> do-            printStringAt (pos a) "type"-            printStringAt (pos b) "family"-            exactPC dh-            maybeEP (\k -> printStringAt (pos (head ps)) "::" >> exactPC k) mk-         _ -> errorEP "ExactP: Decl: TypeFamDecl is given wrong number of srcInfoPoints"-    ClosedTypeFamDecl  l dh mk eqns ->-        case srcInfoPoints l of-         a:b:c:ps -> do-            printStringAt (pos a) "type"-            printStringAt (pos b) "family"-            exactPC dh-            maybeEP (\k -> printStringAt (pos (head ps)) "::" >> exactPC k) mk-            printStringAt (pos c) "where"-            mapM_ exactP eqns-         _ -> errorEP "ExactP: Decl: ClosedTypeFamDecl is given wrong number of srcInfoPoints"-    DataDecl     l dn mctxt dh constrs mder -> do-        exactP dn-        maybeEP exactPC mctxt-        exactPC dh-        -- the next line works for empty data types since the srcInfoPoints will be empty then-        printInterleaved (zip (srcInfoPoints l) ("=": repeat "|")) constrs-        maybeEP exactPC mder-    GDataDecl    l dn mctxt dh mk gds mder -> do-        let pts = srcInfoPoints l-        exactP dn-        maybeEP exactPC mctxt-        exactPC dh-        pts1 <- case mk of-                Nothing -> return pts-                Just kd -> case pts of-                            p:pts' -> do-                               printStringAt (pos p) "::"-                               exactPC kd-                               return pts'-                            _ -> errorEP "ExactP: Decl: GDataDecl is given too few srcInfoPoints"-        case pts1 of-         x:pts' -> do-            printStringAt (pos x) "where"-            layoutList pts' gds-            maybeEP exactPC mder-         _ -> errorEP "ExactP: Decl: GDataDecl is given too few srcInfoPoints"-    DataFamDecl  l mctxt dh mk -> do-        printString "data"-        maybeEP exactPC mctxt-        exactPC dh-        maybeEP (\kd -> printStringAt (pos (head (srcInfoPoints l))) "::" >> exactPC kd) mk-    TypeInsDecl  l t1 t2 ->-        case srcInfoPoints l of-         [_,b,c] -> do-            printString "type"-            printStringAt (pos b) "instance"-            exactPC t1-            printStringAt (pos c) "="-            exactPC t2-         _ -> errorEP "ExactP: Decl: TypeInsDecl is given wrong number of srcInfoPoints"-    DataInsDecl  l dn t constrs mder    ->-        case srcInfoPoints l of-         p:pts -> do-            exactP dn-            printStringAt (pos p) "instance"-            exactPC t-            printInterleaved (zip pts ("=": repeat "|")) constrs-            maybeEP exactPC mder-         _ -> errorEP "ExactP: Decl: DataInsDecl is given too few srcInfoPoints"-    GDataInsDecl l dn t mk gds mder     ->-        case srcInfoPoints l of-         p:pts -> do-            exactP dn-            printStringAt (pos p) "instance"-            exactPC t-            pts1 <- case mk of-                    Nothing -> return pts-                    Just kd -> case pts of-                                p':pts' -> do-                                    printStringAt (pos p') "::"-                                    exactPC kd-                                    return pts'-                                _ -> errorEP "ExactP: Decl: GDataInsDecl is given too few srcInfoPoints"-            case pts1 of-             x:pts' -> do-                printStringAt (pos x) "where"-                layoutList pts' gds-                maybeEP exactPC mder-             _ -> errorEP "ExactP: Decl: GDataInsDecl is given too few srcInfoPoints"-         _ -> errorEP "ExactP: Decl: GDataInsDecl is given too few srcInfoPoints"-    ClassDecl    l mctxt dh fds mcds    ->-        case srcInfoPoints l of-         _:pts -> do-            printString "class"-            maybeEP exactPC mctxt-            exactPC dh-            _ <- case fds of-                    [] -> return pts-                    _  -> do-                      let (pts1, pts2) = splitAt (length fds) pts-                      printInterleaved (zip pts1 ("|":repeat ",")) fds-                      return pts2-            maybeEP (\cds ->-                case pts of-                 p:pts' -> do-                    printStringAt (pos p) "where"-                    layoutList pts' $ sepClassFunBinds cds-                 _ -> errorEP "ExactP: Decl: ClassDecl is given too few srcInfoPoints"-                ) mcds-         _ -> errorEP "ExactP: Decl: ClassDecl is given too few srcInfoPoints"-    InstDecl     l movlp ih mids        ->-        case srcInfoPoints l of-         _:pts -> do-            printString "instance"-            maybeEP exactPC movlp-            exactPC ih-            maybeEP (\ids -> do-                let (p:pts') = pts-                printStringAt (pos p) "where"-                layoutList pts' $ sepInstFunBinds ids-                ) mids-         _ -> errorEP "ExactP: Decl: InstDecl is given too few srcInfoPoints"-    DerivDecl    l movlp ih             ->-        case srcInfoPoints l of-         [_,b] -> do-            printString "deriving"-            printStringAt (pos b) "instance"-            maybeEP exactPC movlp-            exactPC ih-         _ -> errorEP "ExactP: Decl: DerivDecl is given wrong number of srcInfoPoints"-    InfixDecl    l assoc mprec ops      -> do-        let pts = srcInfoPoints l-        exactP assoc-        pts1 <- case mprec of-                Nothing -> return pts-                Just prec ->-                    case pts of-                     p:pts' -> do-                        printStringAt (pos p) (show prec)-                        return pts'-                     _ -> errorEP "ExactP: Decl: InfixDecl is given too few srcInfoPoints"-        printInterleaved' (zip pts1 (repeat ",")) ops-    DefaultDecl  l ts   ->-        case srcInfoPoints l of-         _:pts -> do-            printString "default"-            printInterleaved (zip (init pts) ("(":repeat ",")) ts-            printStringAt (pos (last pts)) ")"-         _ -> errorEP "ExactP: Decl: DefaultDecl is given too few srcInfoPoints"-    SpliceDecl   _ spl  -> exactP spl-    TypeSig      l ns t -> do-        let pts = srcInfoPoints l-        printInterleaved' (zip pts (replicate (length pts - 1) "," ++ ["::"])) ns-        exactPC t-    PatSynSig l n dh c1 c2 t -> do-      case srcInfoPoints l of-        (pat:dc:pts1) -> do-          printStringAt (pos pat) "pattern"-          exactPC n-          printStringAt (pos dc) "::"-          case dh of-            Nothing -> return ()-            Just tvs ->-              case pts1 of-                (a:b:_) -> do-                      printStringAt (pos a) "forall"-                      mapM_ exactPC tvs-                      printStringAt (pos b) "."-                _ -> errorEP "ExactP: Decl: PatSynSig: Forall: is given too few srcInfoPoints"-          maybeEP exactPC c1-          maybeEP exactPC c2-          exactPC t-        _ -> errorEP "ExactP: Decl: PatSynSig: is given too few srcInfoPoints"-    FunBind      _ ms   -> mapM_ exactPC ms-    PatBind      l p rhs mbs -> do-        let pts = srcInfoPoints l-        exactP p-        exactPC rhs-        maybeEP (\bs -> printStringAt (pos (head pts)) "where" >> exactPC bs) mbs-    PatSyn l lhs rhs dir ->-      case srcInfoPoints l of-        [pat,sepPos] -> do-          let sep = case dir of-                      ImplicitBidirectional     -> "="-                      ExplicitBidirectional _ _ -> "<-"-                      Unidirectional            -> "<-"-          printStringAt (pos pat) "pattern"-          exactPC lhs-          printStringAt (pos sepPos) sep-          exactPC rhs-          case dir of-            ExplicitBidirectional bl ds -> do-              case srcInfoPoints bl of-                (w:pts) -> do-                  printStringAt (pos w) "where"-                  layoutList pts ds-                _ -> errorEP "ExactP: Decl: PaySyn: ExplicitBidirectional is given too few srcInfoPoints"-            _ -> return ()-        _ -> errorEP "ExactP: Decl: PatSyn is given too few srcInfoPoints"-    ForImp       l cc msf mstr n t   ->-        case srcInfoPoints l of-         _:b:pts -> do-            printString "foreign"-            printStringAt (pos b) "import"-            exactPC cc-            maybeEP exactPC msf-            pts1 <- case mstr of-                      Nothing -> return pts-                      Just str -> case pts of-                                   x:pts' -> do-                                      printStringAt (pos x) (show str)-                                      return pts'-                                   _ -> errorEP "ExactP: Decl: ForImp is given too few srcInfoPoints"-            case pts1 of-             y:_ -> do-                exactPC n-                printStringAt (pos y) "::"-                exactPC t-             _ -> errorEP "ExactP: Decl: ForImp is given too few srcInfoPoints"-         _ -> errorEP "ExactP: Decl: ForImp is given too few srcInfoPoints"-    ForExp       l cc mstr n t      ->-        case srcInfoPoints l of-         _:b:pts -> do-            printString "foreign"-            printStringAt (pos b) "export"-            exactPC cc-            pts1 <- case mstr of-                      Nothing -> return pts-                      Just str -> case pts of-                                   x:pts' -> do-                                      printStringAt (pos x) (show str)-                                      return pts'-                                   _ -> errorEP "ExactP: Decl: ForExp is given too few srcInfoPoints"-            case pts1 of-             y:_ -> do-                exactPC n-                printStringAt (pos y) "::"-                exactPC t-             _ -> errorEP "ExactP: Decl: ForExp is given too few srcInfoPoints"-         _ -> errorEP "ExactP: Decl: ForExp is given too few srcInfoPoints"-    RulePragmaDecl   l rs   ->-        case srcInfoPoints l of-         [_,b] -> do-            printString "{-# RULES"-            mapM_ exactPC rs-            printStringAt (pos b) "#-}"-         _ -> errorEP "ExactP: Decl: RulePragmaDecl is given too few srcInfoPoints"-    DeprPragmaDecl   l nstrs ->-        case srcInfoPoints l of-         _:pts -> do-            printString "{-# DEPRECATED"-            printWarndeprs (map pos (init pts)) nstrs-            printStringAt (pos (last pts)) "#-}"-         _ -> errorEP "ExactP: Decl: DeprPragmaDecl is given too few srcInfoPoints"-    WarnPragmaDecl   l nstrs ->-        case srcInfoPoints l of-         _:pts -> do-            printString "{-# WARNING"-            printWarndeprs (map pos (init pts)) nstrs-            printStringAt (pos (last pts)) "#-}"-         _ -> errorEP "ExactP: Decl: WarnPragmaDecl is given too few srcInfoPoints"-    InlineSig        l inl mact qn    ->-        case srcInfoPoints l of-         [_,b] -> do-            printString $ if inl then "{-# INLINE" else "{-# NOINLINE"-            maybeEP exactPC mact-            exactPC qn-            printStringAt (pos b) "#-}"-         _ -> errorEP "ExactP: Decl: InlineSig is given wrong number of srcInfoPoints"-    InlineConlikeSig l mact qn    ->-        case srcInfoPoints l of-         [_,b] -> do-            printString "{-# INLINE CONLIKE"-            maybeEP exactPC mact-            exactPC qn-            printStringAt (pos b) "#-}"-         _ -> errorEP "ExactP: Decl: InlineConlikeSig is given wrong number of srcInfoPoints"-    SpecSig          l mact qn ts ->-        case srcInfoPoints l of-         _:pts -> do-            printString "{-# SPECIALISE"-            maybeEP exactPC mact-            exactPC qn-            printInterleaved (zip pts ("::" : replicate (length pts - 2) "," ++ ["#-}"])) ts-         _ -> errorEP "ExactP: Decl: SpecSig is given too few srcInfoPoints"-    SpecInlineSig    l b mact qn ts ->-        case srcInfoPoints l of-         _:pts -> do-            printString $ "{-# SPECIALISE " ++ if b then "INLINE" else "NOINLINE"-            maybeEP exactPC mact-            exactPC qn-            printInterleaved (zip pts ("::" : replicate (length pts - 2) "," ++ ["#-}"])) ts-         _ -> errorEP "ExactP: Decl: SpecInlineSig is given too few srcInfoPoints"-    InstSig          l ih     ->-        case srcInfoPoints l of-         [_,b,c] -> do-            printString "{-# SPECIALISE"-            printStringAt (pos b) "instance"-            exactPC ih-            printStringAt (pos c) "#-}"-         _ -> errorEP "ExactP: Decl: InstSig is given wrong number of srcInfoPoints"-    AnnPragma       l ann'       ->-        case srcInfoPoints l of-         [_,b] -> do-            printString "{-# ANN"-            exactPC ann'-            printStringAt (pos b) "#-}"-         _ -> errorEP "ExactP: Decl: AnnPragma is given wrong number of srcInfoPoints"-    MinimalPragma       l b      ->-        case srcInfoPoints l of-         [_,b'] -> do-            printString "{-# MINIMAL"-            maybeEP exactPC b-            printStringAt (pos b') "#-}"-         _ -> errorEP "ExactP: Decl: MinimalPragma is given wrong number of srcInfoPoints"-    RoleAnnotDecl l ty roles ->-      case srcInfoPoints l of-         (t:r:_) -> do-            printStringAt (pos t)  "type"-            printStringAt (pos r)  "role"-            exactPC ty-            mapM_ exactPC roles-         _ -> errorEP "ExactP: Decl: RoleAnnotDecl is given wrong number of srcInfoPoints"--instance ExactP Role where-  exactP r =-    case r of-      RoleWildcard l     -> printStringAt (pos l) "_"-      Representational l -> printStringAt (pos l) "representational"-      Phantom l          -> printStringAt (pos l) "phantom"-      Nominal l          -> printStringAt (pos l) "nominal"---instance ExactP Annotation where-    exactP ann' = case ann' of-        Ann     _ n e   -> do-            exactP n-            exactPC e-        TypeAnn _ n e   -> do-            printString "type"-            exactPC n-            exactPC e-        ModuleAnn _ e   -> do-            printString "module"-            exactPC e--instance ExactP BooleanFormula where-    exactP b' = case b' of-        VarFormula _ n -> exactPC n-        AndFormula l bs ->-         let pts = srcInfoPoints l-         in printStreams (zip (map pos pts) (repeat $ printString ",")) (map (pos . ann &&& exactPC) bs)-        OrFormula l bs   ->-         let pts = srcInfoPoints l-         in printStreams (zip (map pos pts) (repeat $ printString "|")) (map (pos . ann &&& exactPC) bs)-        ParenFormula l b   ->-            case srcInfoPoints l of-                [a'',b''] -> printStringAt (pos a'') "(" >> exactPC b >> printStringAt (pos b'') ")"-                _ -> errorEP "ExactP: BooleanFormula: ParenFormula is given wrong number of srcInfoPoints"--printWarndeprs :: [Pos] -> [([Name SrcSpanInfo], String)] -> EP ()-printWarndeprs _ [] = return ()-printWarndeprs ps' ((ns',str'):nsts') = printWd ps' ns' str' nsts'-  where printWd :: [Pos] -> [Name SrcSpanInfo] -> String -> [([Name SrcSpanInfo], String)] -> EP ()-        printWd (p:ps) []  str nsts = printStringAt p (show str) >> printWarndeprs ps nsts-        printWd ps     [n] str nsts = exactPC n >> printWd ps [] str nsts-        printWd (p:ps) (n:ns) str nsts = exactPC n >> printStringAt p "," >> printWd ps ns str nsts-        printWd _ _ _ _ = internalError "printWd"---sepFunBinds :: [Decl SrcSpanInfo] -> [Decl SrcSpanInfo]-sepFunBinds [] = []-sepFunBinds (FunBind _ ms:ds) = map (\m -> FunBind (ann m) [m]) ms ++ sepFunBinds ds-sepFunBinds (d:ds) = d : sepFunBinds ds--sepClassFunBinds :: [ClassDecl SrcSpanInfo] -> [ClassDecl SrcSpanInfo]-sepClassFunBinds [] = []-sepClassFunBinds (ClsDecl _ (FunBind _ ms):ds) = map (\m -> ClsDecl (ann m) $ FunBind (ann m) [m]) ms ++ sepClassFunBinds ds-sepClassFunBinds (d:ds) = d : sepClassFunBinds ds--sepInstFunBinds :: [InstDecl SrcSpanInfo] -> [InstDecl SrcSpanInfo]-sepInstFunBinds [] = []-sepInstFunBinds (InsDecl _ (FunBind _ ms):ds) = map (\m -> InsDecl (ann m) $ FunBind (ann m) [m]) ms ++ sepInstFunBinds ds-sepInstFunBinds (d:ds) = d : sepInstFunBinds ds--instance ExactP DeclHead where-  exactP dh' = case dh' of-    DHead _ n           -> exactP n-    DHInfix _ tva n     -> exactP tva >> epInfixName n-    DHParen l dh        ->-        case srcInfoPoints l of-         [_,b] -> printString "(" >> exactPC dh >> printStringAt (pos b) ")"-         _ -> errorEP "ExactP: DeclHead: DeclParen is given wrong number of srcInfoPoints"-    DHApp   _ dh t      -> exactP dh >> exactPC t--instance ExactP InstRule where-  exactP ih' = case ih' of-    IRule l mtvs mctxt qn    -> do-        let pts = srcInfoPoints l-        _ <- case mtvs of-                Nothing -> return pts-                Just tvs ->-                    case pts of-                     [a,b] -> do-                        printStringAt (pos a) "forall"-                        mapM_ exactPC tvs-                        printStringAt (pos b) "."-                        return pts-                     _ -> errorEP "ExactP: InstRule: IRule is given too few srcInfoPoints"-        maybeEP exactPC mctxt-        exactPC qn-    IParen l ih        ->-        case srcInfoPoints l of-         [a,b] -> printStringAt (pos a) "(" >> exactPC ih >> printStringAt (pos b) ")"-         _ -> errorEP "ExactP: InstRule: IParen is given wrong number of srcInfoPoints"--instance ExactP InstHead where-   exactP doih' = case doih' of-    IHCon _ qn      -> exactPC qn-    IHInfix _ ta qn -> exactPC ta >> epInfixQName qn-    IHParen l doih  ->-        case srcInfoPoints l of-         [a,b] -> printStringAt (pos a) "(" >> exactPC doih >> printStringAt (pos b) ")"-         _ -> errorEP "ExactP: OrInstHead: IHParen is given wrong number of srcInfoPoints"-    IHApp _ doih t  -> exactPC doih >> exactPC t--instance ExactP TyVarBind where-  exactP (KindedVar   l n k) =-        case srcInfoPoints l of-         [_,b,c] -> do-            printString "("-            exactPC n-            printStringAt (pos b) "::"-            exactPC k-            printStringAt (pos c) ")"-         _ -> errorEP "ExactP: TyVarBind: KindedVar is given wrong number of srcInfoPoints"-  exactP (UnkindedVar l n) =-        case srcInfoPoints l of-                 [a,_,c] -> do-                    printStringAt (pos a) "("-                    exactPC n-                    printStringAt (pos c) ")"-                 [] -> exactPC n-                 _ -> errorEP "ExactP: TyVarBind: UnkindedVar is given wrong number of srcInfoPoints"--instance ExactP Kind where-  exactP kd' = case kd' of-    KindStar  _     -> printString "*"-    KindFn    l k1 k2 ->-        case srcInfoPoints l of-         [a] -> do-            exactP k1-            printStringAt (pos a) "->"-            exactPC k2-         _ -> errorEP "ExactP: Kind: KindFn is given wrong number of srcInfoPoints"-    KindParen l kd  ->-        case srcInfoPoints l of-         [_,b] -> do-            printString "("-            exactPC kd-            printStringAt (pos b) ")"-         _ -> errorEP "ExactP: Kind: KindParen is given wrong number of srcInfoPoints"-    KindVar _ n     -> epQName n-    KindApp _ k1 k2 -> do-        exactP k1-        exactPC k2-    KindTuple l ks ->-        let o = "("-            e = ")"-            pts = srcInfoPoints l-        in printInterleaved (zip pts (o: replicate (length pts - 2) "," ++ [e])) ks-    KindList  l k ->-      case srcInfoPoints l of-        [_, close] -> do-          printString "["-          exactPC k-          printStringAt (pos close) "]"-        _ -> errorEP "ExactP: Kind: KindList is given wrong number of srcInfoPoints"----instance ExactP Type where-  exactP t' = case t' of-    TyForall l mtvs mctxt t -> do-        let pts = srcInfoPoints l-        _ <- case mtvs of-                Nothing -> return pts-                Just tvs ->-                    case pts of-                     _:b:pts' -> do-                        printString "forall"-                        mapM_ exactPC tvs-                        printStringAt (pos b) "."-                        return pts'-                     _ -> errorEP "ExactP: Type: TyForall is given too few srcInfoPoints"-        maybeEP exactPC mctxt-        exactPC t-    TyFun   l t1 t2 ->-        case srcInfoPoints l of-         [a] -> do-            exactP t1-            printStringAt (pos a) "->"-            exactPC t2-         _ -> errorEP "ExactP: Type: TyFun is given wrong number of srcInfoPoints"-    TyTuple l bx ts ->-        case bx of-          Boxed   -> parenList (srcInfoPoints l) ts-          Unboxed -> parenHashList (srcInfoPoints l) ts-    TyList  l t     ->-        case srcInfoPoints l of-         [_,b] -> do-            printString "["-            exactPC t-            printStringAt (pos b) "]"-         _ -> errorEP "ExactP: Type: TyList is given wrong number of srcInfoPoints"-    TyParArray l t     ->-        case srcInfoPoints l of-         [_,b] -> do-            printString "[:"-            exactPC t-            printStringAt (pos b) ":]"-         _ -> errorEP "ExactP: Type: TyParArray is given wrong number of srcInfoPoints"-    TyApp   _ t1 t2 -> exactP t1 >> exactPC t2-    TyVar   _ n     -> exactP n-    TyCon   _ qn    -> exactP qn-    TyParen l t     ->-        case srcInfoPoints l of-         [_,b] -> do-            printString "("-            exactPC t-            printStringAt (pos b) ")"-         _ -> errorEP "ExactP: Type: TyParen is given wrong number of srcInfoPoints"-    TyInfix _ t1 qn t2 -> exactP t1 >> epInfixQName qn >> exactPC t2-    TyKind  l t kd ->-        case srcInfoPoints l of-         [_,b,c] -> do-            printString "("-            exactPC t-            printStringAt (pos b) "::"-            exactPC kd-            printStringAt (pos c) ")"-         _ -> errorEP "ExactP: Type: TyKind is given wrong number of srcInfoPoints"-    TyPromoted _ p -> exactPC p-    TyEquals l t0 t1 -> case srcInfoPoints l of-                          a:_ -> exactPC t0 >> printStringAt (pos a) "~" >> exactPC t1-                          _   -> errorEP "ExactP: Type: TyEquals is given wrong number of srcInfoPoints"--    TySplice _ sp  -> exactP sp-    TyBang _ b t -> exactPC b >> exactPC t-    TyWildCard _ mn      -> printString "_" >> maybeEP exactPC mn--instance ExactP Promoted where-  exactP (PromotedInteger _ _ rw) = printString rw-  exactP (PromotedString _ _ rw)  = printString ('\"':rw ++ "\"")-  exactP (PromotedCon l True qn)  = case srcInfoPoints l of-    [a] -> printStringAt (pos a) "'" >> epQName qn-    _ -> errorEP "ExactP: Promoted: PromotedCon is given wrong number of srcInfoPoints"-  exactP (PromotedCon _ False qn) = epQName qn-  exactP (PromotedList l b pl) =-    let o | b = "'[" | otherwise = "["-        e = "]"-        pts = srcInfoPoints l-    in printInterleaved (zip pts (o: replicate (length pts - 2) "," ++ [e])) pl-  exactP (PromotedTuple l pl) =-    let o = "'("-        e = ")"-        pts = srcInfoPoints l-    in printInterleaved (zip pts (o: replicate (length pts - 2) "," ++ [e])) pl-  exactP (PromotedUnit l) = case srcInfoPoints l of-    [_,b] -> do-        printString "("-        printStringAt (pos b) ")"-    _ -> errorEP "ExactP: Promoted: PromotedUnit is given wrong number of srcInfoPoints"---instance ExactP Context where-  exactP ctxt = do-    printContext ctxt-    printStringAt (pos . last . srcInfoPoints . ann $ ctxt) "=>"--printContext :: Context SrcSpanInfo -> EP ()-printContext ctxt = do-    let l = ann ctxt-        pts = init $ srcInfoPoints l-    case ctxt of-     CxSingle _ asst -> exactP asst-     CxEmpty _ ->-        case pts of-         [a,b] -> do-            printStringAt (pos a) "("-            printStringAt (pos b) ")"-         _ -> errorEP "ExactP: Context: CxEmpty is given wrong number of srcInfoPoints"-     CxTuple _ assts -> parenList pts assts---instance ExactP Asst where-  exactP asst = case asst of-    ClassA _ qn ts -> exactP qn >> mapM_ exactPC ts-    AppA _ n ns       -> exactPC n >> mapM_ exactPC ns-    InfixA _ ta qn tb -> exactP ta >> epInfixQName qn >> exactPC tb-    IParam l ipn t    ->-        case srcInfoPoints l of-         [a] -> do-            exactP ipn-            printStringAt (pos a) "::"-            exactPC t-         _ -> errorEP "ExactP: Asst: IParam is given wrong number of srcInfoPoints"-    EqualP l t1 t2  ->-        case srcInfoPoints l of-         [a] -> do-            exactP t1-            printStringAt (pos a) "~"-            exactPC t2-         _ -> internalError "Asst -> EqualP"-    ParenA l asst' ->-        case take 2 $ srcInfoPoints l of-         [a,b] -> do-            printStringAt (pos a) "("-            exactPC asst'-            printStringAt (pos b) ")"-         _ -> errorEP "ExactP: Asst: ParenA is given wrong number of srcInfoPoints"-    WildCardA _ mn -> printString "_" >> maybeEP exactPC mn--instance ExactP Deriving where-  exactP (Deriving l ihs) =-    case srcInfoPoints l of-     _:pts -> do-        printString "deriving"-        case pts of-         [] -> exactPC $ head ihs-         _  -> parenList pts ihs-     _ -> errorEP "ExactP: Deriving is given too few srcInfoPoints"--instance ExactP ClassDecl where-  exactP cdecl = case cdecl of-    ClsDecl    _ d -> exactP d-    ClsDataFam l mctxt dh mk ->-        case srcInfoPoints l of-         _:pts -> do-            printString "data"-            maybeEP exactPC mctxt-            exactPC dh-            maybeEP (\kd -> printStringAt (pos (head pts)) "::" >> exactPC kd) mk-         _ -> errorEP "ExactP: ClassDecl: ClsDataFam is given too few srcInfoPoints"-    ClsTyFam   l dh mk  ->-        case srcInfoPoints l of-         _:pts -> do-            printString "type"-            exactPC dh-            maybeEP (\kd -> printStringAt (pos (head pts)) "::" >> exactPC kd) mk-         _ -> errorEP "ExactP: ClassDecl: ClsTyFam is given too few srcInfoPoints"-    ClsTyDef   l t1 t2  ->-        case srcInfoPoints l of-         _:b:c:_ -> do -- 3 sourceInfoPoints implies parsed as "type instance"-            printString "type"-            printStringAt (pos b) "instance"-            exactPC t1-            printStringAt (pos c) "="-            exactPC t2-         _:b:_ -> do-            printString "type"-            exactPC t1-            printStringAt (pos b) "="-            exactPC t2-         _ -> errorEP "ExactP: ClassDecl: ClsTyDef is given too few srcInfoPoints"-    ClsDefSig  l n t    ->-        case srcInfoPoints l of-         _:b:_ -> do-            printString "default"-            exactPC n-            printStringAt (pos b) "::"-            exactPC t-         _ -> errorEP "ExactP: ClassDecl: ClsDefSig is given too few srcInfoPoints"---instance ExactP InstDecl where-  exactP idecl = case idecl of-    InsDecl   _ d -> exactP d-    InsType   l t1 t2 ->-        case srcInfoPoints l of-         [_,b] -> do-            printString "type"-            exactPC t1-            printStringAt (pos b) "="-            exactPC t2-         _ -> internalError "InstDecl -> InsType"-    InsData   l dn t constrs mder -> do-        exactP dn-        exactPC t-        printInterleaved (zip (srcInfoPoints l) ("=": repeat "|")) constrs-        maybeEP exactPC mder-    InsGData  l dn t mk gds mder  -> do-        let pts = srcInfoPoints l-        exactP dn-        exactPC t-        pts1 <- case mk of-                Nothing -> return pts-                Just kd -> case pts of-                            p:pts' -> do-                                printStringAt (pos p) "::"-                                exactPC kd-                                return pts'-                            _ -> errorEP "ExactP: InstDecl: InsGData is given too few srcInfoPoints"-        case pts1 of-         x:_ -> do-            printStringAt (pos x) "where"-            mapM_ exactPC gds-            maybeEP exactPC mder-         _ -> errorEP "ExactP: InstDecl: InsGData is given too few srcInfoPoints"---  InsInline l inl mact qn   -> do---        case srcInfoPoints l of---         [a,b] -> do---            printString $ if inl then "{-# INLINE" else "{-# NOINLINE"---            maybeEP exactPC mact---            exactPC qn---            printStringAt (pos b) "#-}"---         _ -> errorEP "ExactP: InstDecl: InsInline is given wrong number of srcInfoPoints"--instance ExactP FunDep where-  exactP (FunDep l nxs nys) =-    case srcInfoPoints l of-     [a] -> do-        mapM_ exactPC nxs-        printStringAt (pos a) "->"-        mapM_ exactPC nys-     _ -> errorEP "ExactP: FunDep is given wrong number of srcInfoPoints"--instance ExactP QualConDecl where-  exactP (QualConDecl l mtvs mctxt cd) = do-        let pts = srcInfoPoints l-        _ <- case mtvs of-                Nothing -> return pts-                Just tvs ->-                    case pts of-                     _:b:pts' -> do-                        printString "forall"-                        mapM_ exactPC tvs-                        printStringAt (pos b) "."-                        return pts'-                     _ -> errorEP "ExactP: QualConDecl is given wrong number of srcInfoPoints"-        maybeEP exactPC mctxt-        exactPC cd--instance ExactP ConDecl where-  exactP cd = case cd of-    ConDecl _ n bts -> exactP n >> mapM_ exactPC bts-    InfixConDecl _ bta n btb -> exactP bta >> epInfixName n >> exactP btb-    RecDecl l n fds -> exactP n >> curlyList (srcInfoPoints l) fds--instance ExactP GadtDecl where-  exactP (GadtDecl l n ns' t) =-    case ns' of-        Nothing ->-            case srcInfoPoints l of-                [a] -> do-                    exactP n-                    printStringAt (pos a) "::"-                    exactPC t-                _ -> errorEP "ExactP: GadtDecl is given wrong number of srcInfoPoints"-        Just ts ->-            case srcInfoPoints l of-                (a:b:c:d:rest) -> do-                    exactPC n-                    printStringAt (pos a) "::"-                    printStringAt (pos b) "{"-                    printInterleaved' (zip rest (repeat ",")) ts-                    printStringAt (pos c) "}"-                    printStringAt (pos d) "->"-                    exactPC t-                _ -> errorEP "ExactP: GadtDecl is given wrong number of srcInfoPoints"--instance ExactP BangType where-  exactP bt = case bt of-    BangedTy   l  ->-        case srcInfoPoints l of-            [a] -> printStringAt (pos a) "!"-            _   -> errorEP "ExactP: BangType: BangedTy is given wrong number of srcInfoPoints"-    UnpackedTy l  ->-      case srcInfoPoints l of-       [a,b,c] -> do-          printStringAt (pos a) "{-# UNPACK"-          printStringAt (pos b) "#-}"-          printStringAt (pos c) "!"-       _ -> errorEP "ExactP: BangType: UnpackedTy is given wrong number of srcInfoPoints"--instance ExactP Splice where-  exactP (IdSplice _ str) = printString $ '$':str-  exactP (ParenSplice l e) =-    case srcInfoPoints l of-     [_,b] -> do-        printString "$("-        exactPC e-        printStringAt (pos b) ")"-     _ -> errorEP "ExactP: Splice: ParenSplice is given wrong number of srcInfoPoints"--instance ExactP Exp where-  exactP exp = case exp of-    Var _ qn        -> exactP qn-    IPVar _ ipn     -> exactP ipn-    Con _ qn        -> exactP qn-    Lit _ lit       -> exactP lit-    InfixApp _ e1 op e2 -> exactP e1 >> exactPC op >> exactPC e2-    App _ e1 e2     -> exactP e1 >> exactPC e2-    NegApp _ e      -> printString "-" >> exactPC e-    Lambda l ps e   ->-        case srcInfoPoints l of-         [_,b] -> do-            printString "\\"-            mapM_ exactPC ps-            printStringAt (pos b) "->"-            exactPC e-         _ -> errorEP "ExactP: Exp: Lambda is given wrong number of srcInfoPoints"-    Let l bs e      ->-        case srcInfoPoints l of-         [_,b] -> do-            printString "let"-            exactPC bs-            printStringAt (pos b) "in"-            exactPC e-         _ -> errorEP "ExactP: Exp: Let is given wrong number of srcInfoPoints"-    If l ec et ee   -> -- traceShow (srcInfoPoints l) $ do-        -- First we need to sort out if there are any optional-        -- semicolons hiding among the srcInfoPoints.-        case srcInfoPoints l of-         (_:b:c:rest) -> do-            let (mpSemi1,pThen,rest2) =-                           if snd (spanSize b) == 4 -- this is "then", not a semi-                            then (Nothing, b, c:rest)-                            else (Just b, c, rest)-            case rest2 of-              (c':rest3) -> do-                let (mpSemi2,rest4) = if snd (spanSize c') == 4 -- this is "else", not a semi-                                       then (Nothing, rest2)-                                       else (Just c', rest3)-                case rest4 of-                  [pElse] -> do-                    -- real work starts here:-                    printString "if"-                    exactPC ec-                    maybeEP printSemi  mpSemi1-                    printStringAt (pos pThen) "then"-                    exactPC et-                    maybeEP printSemi mpSemi2-                    printStringAt (pos pElse) "else"-                    exactPC ee-                  [] -> errorEP "ExactP: Exp: If is given too few srcInfoPoints"-                  _  -> errorEP "ExactP: Exp: If is given too many srcInfoPoints"-              _ -> errorEP "ExactP: Exp: If is given too few srcInfoPoints"--         _ -> errorEP "ExactP: Exp: If is given too few srcInfoPoints"-    MultiIf l alts ->-        case srcInfoPoints l of-          _:pts -> do-            printString "if"-            layoutList pts (map GuardedAlt alts)-          _ -> internalError "Exp -> MultiIf"-    Case l e alts   ->-        case srcInfoPoints l of-         _:b:pts -> do-            printString "case"-            exactPC e-            printStringAt (pos b) "of"-            layoutList pts alts-         _ -> errorEP "ExactP: Exp: Case is given too few srcInfoPoints"-    Do l stmts      ->-        case srcInfoPoints l of-         _:pts -> do-            printString "do"-            layoutList pts stmts-         _ -> errorEP "ExactP: Exp: Do is given too few srcInfoPoints"-    MDo l stmts     ->-        case srcInfoPoints l of-         _:pts -> do-            printString "mdo"-            layoutList pts stmts-         _ -> errorEP "ExactP: Exp: Mdo is given wrong number of srcInfoPoints"-    Tuple l bx es   ->-        case bx of-          Boxed   -> parenList (srcInfoPoints l) es-          Unboxed -> parenHashList (srcInfoPoints l) es-    TupleSection l bx mexps -> do-        let pts = srcInfoPoints l-            (o, e) = case bx of Boxed -> ("(", ")"); Unboxed -> ("(#", "#)")-        printSeq $ interleave (zip (map pos $ init pts) (map printString (o: repeat ",")) ++ [(pos $ last pts, printString e)])-                              (map (maybe (0,0) (pos . ann) &&& maybeEP exactPC) mexps)-    List l es               -> squareList (srcInfoPoints l) es-    ParArray l es           -> squareColonList (srcInfoPoints l) es-    Paren l p               -> parenList (srcInfoPoints l) [p]-    LeftSection l e qop     ->-        case srcInfoPoints l of-         [_,b] -> do-            printString "("-            exactPC e-            exactPC qop-            printStringAt (pos b) ")"-         _ -> errorEP "ExactP: Exp: LeftSection is given wrong number of srcInfoPoints"-    RightSection l qop e    ->-        case srcInfoPoints l of-         [_,b] -> do-            printString "("-            exactPC qop-            exactPC e-            printStringAt (pos b) ")"-         _ -> errorEP "ExactP: Exp: RightSection is given wrong number of srcInfoPoints"-    RecConstr l qn fups     -> do-        let pts = srcInfoPoints l-        exactP qn-        curlyList pts fups-    RecUpdate l e fups      -> do-        let pts = srcInfoPoints l-        exactP e-        curlyList pts fups-    EnumFrom l e            ->-        case srcInfoPoints l of-         [_,b,c] -> do-            printString "["-            exactPC e-            printStringAt (pos b) ".."-            printStringAt (pos c) "]"-         _ -> errorEP "ExactP: Exp: EnumFrom is given wrong number of srcInfoPoints"-    EnumFromTo l e1 e2      ->-        case srcInfoPoints l of-         [_,b,c] -> do-            printString "["-            exactPC e1-            printStringAt (pos b) ".."-            exactPC e2-            printStringAt (pos c) "]"-         _ -> errorEP "ExactP: Exp: EnumFromTo is given wrong number of srcInfoPoints"-    EnumFromThen l e1 e2    ->-        case srcInfoPoints l of-         [_,b,c,d] -> do-            printString "["-            exactPC e1-            printStringAt (pos b) ","-            exactPC e2-            printStringAt (pos c) ".."-            printStringAt (pos d) "]"-         _ -> errorEP "ExactP: Exp: EnumFromThen is given wrong number of srcInfoPoints"-    EnumFromThenTo l e1 e2 e3   ->-        case srcInfoPoints l of-         [_,b,c,d] -> do-            printString "["-            exactPC e1-            printStringAt (pos b) ","-            exactPC e2-            printStringAt (pos c) ".."-            exactPC e3-            printStringAt (pos d) "]"-         _ -> errorEP "ExactP: Exp: EnumFromToThen is given wrong number of srcInfoPoints"-    ParArrayFromTo l e1 e2      ->-        case srcInfoPoints l of-         [_,b,c] -> do-            printString "[:"-            exactPC e1-            printStringAt (pos b) ".."-            exactPC e2-            printStringAt (pos c) ":]"-         _ -> errorEP "ExactP: Exp: ParArrayFromTo is given wrong number of srcInfoPoints"-    ParArrayFromThenTo l e1 e2 e3   ->-        case srcInfoPoints l of-         [_,b,c,d] -> do-            printString "[:"-            exactPC e1-            printStringAt (pos b) ","-            exactPC e2-            printStringAt (pos c) ".."-            exactPC e3-            printStringAt (pos d) ":]"-         _ -> errorEP "ExactP: Exp: ParArrayFromToThen is given wrong number of srcInfoPoints"-    ListComp l e qss            ->-        case srcInfoPoints l of-         _:pts -> do-            printString "["-            exactPC e-            bracketList ("|",",","]") pts qss-         _ -> errorEP "ExactP: Exp: ListComp is given too few srcInfoPoints"-    ParComp  l e qsss           ->-        case srcInfoPoints l of-         _:pts -> do-            let (strs, qss) = unzip $ pairUp qsss-            printString "["-            exactPC e-            printInterleaved (zip pts (strs ++ ["]"])) qss-         _ -> errorEP "ExactP: Exp: ParComp is given wrong number of srcInfoPoints"-      where pairUp [] = []-            pairUp ((a:as):xs) = ("|", a) : zip (repeat ",") as ++ pairUp xs-            pairUp _ = internalError "Exp -> ParComp -> pairUp"-    ParArrayComp  l e qsss           ->-        case srcInfoPoints l of-         _:pts -> do-            let (strs, qss) = unzip $ pairUp qsss-            printString "[:"-            exactPC e-            printInterleaved (zip pts (strs ++ [":]"])) qss-         _ -> errorEP "ExactP: Exp: ParArrayComp is given wrong number of srcInfoPoints"-      where pairUp [] = []-            pairUp ((a:as):xs) = ("|", a) : zip (repeat "|") as ++ pairUp xs-            pairUp _ = internalError "Exp -> ParArrayComp -> pairUp"--    ExpTypeSig l e t    ->-        case srcInfoPoints l of-         [a] -> do-            exactP e-            printStringAt (pos a) "::"-            exactPC t-         _ -> errorEP "ExactP: Exp: ExpTypeSig is given wrong number of srcInfoPoints"-    VarQuote _ qn   -> do-      printString "'"-      exactPC qn-    TypQuote _ qn -> do-      printString "''"-      exactPC qn-    BracketExp _ br -> exactP br-    SpliceExp _ sp  -> exactP sp-    QuasiQuote _ name qt    -> do-        let qtLines = lines qt-        printString $ "[" ++ name ++ "|"-        sequence_ (intersperse newLine $ map printString qtLines)-        printString "|]"-    XTag l xn attrs mat es  ->-        case srcInfoPoints l of-         [_,b,c,d,e] -> do-            printString "<"-            exactPC xn-            mapM_ exactPC attrs-            maybeEP exactPC mat-            printStringAt (pos b) ">"-            mapM_ exactPC es-            printStringAt (pos c) "</"-            printWhitespace (pos d)-            exactP xn-            printStringAt (pos e) ">"-         -- TODO: Fugly hack/duplication, should be refactored-         -- For the case when there's an optional semicolon-         [_,b,semi,c,d,e] -> do-            printString "<"-            exactPC xn-            mapM_ exactPC attrs-            maybeEP exactPC mat-            printStringAt (pos b) ">"-            mapM_ exactPC es-            printSemi semi-            printStringAt (pos c) "</"-            printWhitespace (pos d)-            exactP xn-            printStringAt (pos e) ">"-         _ -> errorEP "ExactP: Exp: XTag is given wrong number of srcInfoPoints"-    XETag l xn attrs mat    ->-        case srcInfoPoints l of-         [_,b] -> do-            printString "<"-            exactPC xn-            mapM_ exactPC attrs-            maybeEP exactPC mat-            printStringAt (pos b) "/>"-         _ -> errorEP "ExactP: Exp: XETag is given wrong number of srcInfoPoints"-    XPcdata _ str   -> do-        let strLines = lines str-        sequence_ (intersperse newLine $ map printString strLines)-    XExpTag l e     ->-        case srcInfoPoints l of-         [_,b] -> do-            printString "<%"-            exactPC e-            printStringAt (pos b) "%>"-         _ -> errorEP "ExactP: Exp: XExpTag is given wrong number of srcInfoPoints"-    XChildTag l es  ->-        case srcInfoPoints l of-         [_,b,c] -> do-            printString "<%>"-            mapM_ exactPC es-            printStringAt (pos b) "</"-            printStringAt (pos c) "%>"-         -- Ugly duplication for when there's an optional semi-         [_,semi,b,c] -> do-            printString "<%>"-            mapM_ exactPC es-            printSemi semi-            printStringAt (pos b) "</"-            printStringAt (pos c) "%>"-         _ -> errorEP "ExactP: Exp: XChildTag is given wrong number of srcInfoPoints"-    CorePragma l      str e         ->-        case srcInfoPoints l of-         [_,b] -> do-            printString $ "{-# CORE " ++ show str-            printStringAt (pos b) "#-}"-            exactPC e-         _ -> errorEP "ExactP: Exp: CorePragma is given wrong number of srcInfoPoints"-    SCCPragma  l      str e         ->-        case srcInfoPoints l of-         [_,b] -> do-            printString $ "{-# SCC " ++ show str-            printStringAt (pos b) "#-}"-            exactPC e-         _ -> errorEP "ExactP: Exp: SCCPragma is given wrong number of srcInfoPoints"-    GenPragma  l      str (i1,i2) (i3,i4) e -> do-        printStrs $ zip (srcInfoPoints l) ["{-# GENERATED", show str, show i1, ":", show i2, "-", show i3, ":", show i4, "#-}"]-        exactPC e-    Proc            l p e   ->-        case srcInfoPoints l of-         [_,b] -> do-            printString "proc"-            exactPC p-            printStringAt (pos b) "->"-            exactPC e-         _ -> errorEP "ExactP: Exp: Proc is given wrong number of srcInfoPoints"-    LeftArrApp      l e1 e2 ->-        case srcInfoPoints l of-         [a] -> do-            exactP e1-            printStringAt (pos a) "-<"-            exactPC e2-         _ -> errorEP "ExactP: Exp: LeftArrApp is given wrong number of srcInfoPoints"-    RightArrApp     l e1 e2 ->-        case srcInfoPoints l of-         [a] -> do-            exactP e1-            printStringAt (pos a) ">-"-            exactPC e2-         _ -> errorEP "ExactP: Exp: RightArrApp is given wrong number of srcInfoPoints"-    LeftArrHighApp  l e1 e2 ->-        case srcInfoPoints l of-         [a] -> do-            exactP e1-            printStringAt (pos a) "-<<"-            exactPC e2-         _ -> errorEP "ExactP: Exp: LeftArrHighApp is given wrong number of srcInfoPoints"-    RightArrHighApp l e1 e2 ->-        case srcInfoPoints l of-         [a] -> do-            exactP e1-            printStringAt (pos a) ">>-"-            exactPC e2-         _ -> errorEP "ExactP: Exp: RightArrHighApp is given wrong number of srcInfoPoints"--    LCase l alts   ->-        case srcInfoPoints l of-         _:b:pts -> do-            printString "\\"-            printStringAt (pos b) "case"-            layoutList pts alts-         _ -> errorEP "ExactP: Exp: LCase is given wrong number of srcInfoPoints"-    ExprHole _ -> printString "_"--instance ExactP FieldUpdate where-  exactP fup = case fup of-    FieldUpdate l qn e  ->-      case srcInfoPoints l of-       [a] -> do-          exactP qn-          printStringAt (pos a) "="-          exactPC e-       _ -> errorEP "ExactP: FieldUpdate is given wrong number of srcInfoPoints"-    FieldPun _ n    -> exactP n-    FieldWildcard _ -> printString ".."--instance ExactP Stmt where-  exactP stmt = case stmt of-    Generator l p e ->-      case srcInfoPoints l of-       [a] -> do-          exactP p-          printStringAt (pos a) "<-"-          exactPC e-       _ -> errorEP "ExactP: Stmt: Generator is given wrong number of srcInfoPoints"-    Qualifier _ e -> exactP e-    LetStmt _ bds   -> do-      printString "let"-      exactPC bds-    RecStmt l ss    ->-      case srcInfoPoints l of-       _:pts -> do-          printString "rec"-          layoutList pts ss-       _ -> errorEP "ExactP: Stmt: RecStmt is given too few srcInfoPoints"--instance ExactP QualStmt where-  exactP qstmt = case qstmt of-    QualStmt     _ stmt -> exactP stmt-    ThenTrans    _ e    -> printString "then" >> exactPC e-    ThenBy      l e1 e2 ->-        case srcInfoPoints l of-         [_,b] -> do-            printString "then"-            exactPC e1-            printStringAt (pos b) "by"-            exactPC e2-         _ -> errorEP "ExactP: QualStmt: ThenBy is given wrong number of srcInfoPoints"-    GroupBy      l e        -> do-        printStrs $ zip (srcInfoPoints l) ["then","group","by"]-        exactPC e-    GroupUsing   l e        -> do-        printStrs $ zip (srcInfoPoints l) ["then","group","using"]-        exactPC e-    GroupByUsing l e1 e2    -> do-        let pts = srcInfoPoints l-        printStrs $ zip (init pts) ["then","group","by"]-        exactPC e1-        printStringAt (pos (last pts)) "using"-        exactPC e2--instance ExactP Bracket where-  exactP br = case br of-    ExpBracket l e  ->-        case srcInfoPoints l of-         [_,b] -> do-            printString "[|"-            exactPC e-            printStringAt (pos b) "|]"-         _ -> errorEP "ExactP: Bracket: ExpBracket is given wrong number of srcInfoPoints"-    PatBracket l p  ->-        case srcInfoPoints l of-         [_,b] -> do-            printString "[p|"-            exactPC p-            printStringAt (pos b) "|]"-         _ -> errorEP "ExactP: Bracket: PatBracket is given wrong number of srcInfoPoints"-    TypeBracket l t  ->-        case srcInfoPoints l of-         [_,b] -> do-            printString "[t|"-            exactPC t-            printStringAt (pos b) "|]"-         _ -> errorEP "ExactP: Bracket: TypeBracket is given wrong number of srcInfoPoints"-    DeclBracket l ds ->-        case srcInfoPoints l of-         pts@(_:_) -> do-            printString "[d|"-            layoutList (init pts) (sepFunBinds ds)-            printStringAt (pos (last pts)) "|]"-         _ -> errorEP "ExactP: Bracket: DeclBracket is given too few srcInfoPoints"--instance ExactP XAttr where-  exactP (XAttr l xn e) =-    case srcInfoPoints l of-     [a] -> do-        exactP xn-        printStringAt (pos a) "="-        exactPC e-     _ -> errorEP "ExactP: XAttr is given wrong number of srcInfoPoints"--instance ExactP Alt where-  exactP (Alt l p galts mbs) = do-    exactP p-    exactPC (GuardedAlts galts)-    maybeEP (\bs -> printStringAt (pos (head (srcInfoPoints l))) "where" >> exactPC bs) mbs--instance ExactP Match where-  exactP (Match l n ps rhs mbinds) = do-    let pts = srcInfoPoints l-        len = length pts-        pars = len `div` 2-        (oPars,cParsWh) = splitAt pars pts-        (cPars,_) = splitAt pars cParsWh    -- _§ is either singleton or empty-    printStrs (zip oPars (repeat "("))-    exactPC n-    printStreams (zip (map pos cPars) (repeat $ printString ")")) (map (pos . ann &&& exactPC) ps)-    exactPC rhs-    maybeEP (\bds -> printStringAt (pos (head pts)) "where" >> exactPC bds) mbinds-  exactP (InfixMatch l a n bs rhs mbinds) = do-    let pts = srcInfoPoints l-        len = length pts-        pars = len `div` 2-        (oPars,cParsWh) = splitAt pars pts-        (cPars,whPt) = splitAt pars cParsWh    -- whPt is either singleton or empty-    printStrs (zip oPars (repeat "("))-    exactPC a-    epInfixName n-    printInterleaved' (zip cPars (repeat ")")) bs-    exactPC rhs-    maybeEP (\bds -> printStringAt (pos (head whPt)) "where" >> exactPC bds) mbinds--instance ExactP Rhs where-  exactP (UnGuardedRhs _ e) = printString "=" >> exactPC e-  exactP (GuardedRhss  _ grhss) = mapM_ exactPC grhss--instance ExactP GuardedRhs where-  exactP (GuardedRhs l ss e) =-    case srcInfoPoints l of-     _:pts -> do-        printString "|"-        printInterleaved' (zip (init pts) (repeat ",") ++ [(last pts, "=")]) ss-        exactPC e-     _ -> errorEP "ExactP: GuardedRhs is given wrong number of srcInfoPoints"--newtype GuardedAlts l = GuardedAlts (Rhs l)-    deriving (Functor, Show)-instance Annotated GuardedAlts where-    amap f (GuardedAlts v) = GuardedAlts (amap f v)-    ann (GuardedAlts v) = ann v--newtype GuardedAlt l = GuardedAlt (GuardedRhs l)-    deriving (Functor, Show)-instance Annotated GuardedAlt where-    amap f (GuardedAlt v) = GuardedAlt (amap f v)-    ann (GuardedAlt v) = ann v--instance ExactP GuardedAlts where-  exactP (GuardedAlts (UnGuardedRhs _ e)) = printString "->" >> exactPC e-  exactP (GuardedAlts (GuardedRhss  _ grhss)) = mapM_ (exactPC . GuardedAlt) grhss--instance ExactP GuardedAlt where-  exactP (GuardedAlt (GuardedRhs l ss e)) =-    case srcInfoPoints l of-     _:pts -> do-        printString "|"-        printInterleaved' (zip (init pts) (repeat ",") ++ [(last pts, "->")]) ss-        exactPC e-     _ -> errorEP "ExactP: GuardedAlt is given wrong number of srcInfoPoints"--instance ExactP Pat where-  exactP pat = case pat of-    PVar l n    -> exactPC (fmap (const l) n)-    PLit _ sg lit -> exactPC sg >> exactPC lit-    PNPlusK l n k   ->-        case srcInfoPoints l of-         [a,b] -> do-            exactP n-            printStringAt (pos a) "+"-            printStringAt (pos b) (show k)-         _ -> errorEP "ExactP: Pat: PNPlusK is given wrong number of srcInfoPoints"-    PInfixApp _ pa qn pb -> exactP pa >> epInfixQName qn >> exactPC pb-    PApp _ qn ps    -> exactP qn >> mapM_ exactPC ps-    PTuple l bx ps ->-        case bx of-          Boxed   -> parenList (srcInfoPoints l) ps-          Unboxed -> parenHashList (srcInfoPoints l) ps-    PList l ps  -> squareList (srcInfoPoints l) ps-    PParen l p  -> parenList (srcInfoPoints l) [p]-    PRec l qn pfs   -> exactP qn >> curlyList (srcInfoPoints l) pfs-    PAsPat l n p    ->-        case srcInfoPoints l of-         [a] -> do-            exactP n-            printStringAt (pos a) "@"-            exactPC p-         _ -> errorEP "ExactP: Pat: PAsPat is given wrong number of srcInfoPoints"-    PWildCard _ -> printString "_"-    PIrrPat _ p -> printString "~" >> exactPC p-    PatTypeSig l p t ->-        case srcInfoPoints l of-         [a] -> do-            exactP p-            printStringAt (pos a) "::"-            exactPC t-         _ -> errorEP "ExactP: Pat: PatTypeSig is given wrong number of srcInfoPoints"-    PViewPat l e p ->-        case srcInfoPoints l of-         [a] -> do-            exactP e-            printStringAt (pos a) "->"-            exactPC p-         _ -> errorEP "ExactP: Pat: PViewPat is given wrong number of srcInfoPoints"-    PRPat l rps -> squareList (srcInfoPoints l) rps-    PXTag l xn attrs mat ps ->-        case srcInfoPoints l of-         [_,b,c,d,e] -> do-            printString "<"-            exactPC xn-            mapM_ exactPC attrs-            maybeEP exactPC mat-            printStringAt (pos b) ">"-            mapM_ exactPC ps-            printStringAt (pos c) "</"-            printWhitespace (pos d)-            exactP xn-            printStringAt (pos e) ">"-         -- Optional semi-         [_,b,semi,c,d,e] -> do-            printString "<"-            exactPC xn-            mapM_ exactPC attrs-            maybeEP exactPC mat-            printStringAt (pos b) ">"-            mapM_ exactPC ps-            printSemi semi-            printStringAt (pos c) "</"-            printWhitespace (pos d)-            exactP xn-            printStringAt (pos e) ">"-         _ -> errorEP "ExactP: Pat: PXTag is given wrong number of srcInfoPoints"-    PXETag l xn attrs mat ->-        case srcInfoPoints l of-         [_,b] -> do-            printString "<"-            exactPC xn-            mapM_ exactPC attrs-            maybeEP exactPC mat-            printStringAt (pos b) "/>"-         _ -> errorEP "ExactP: Pat: PXETag is given wrong number of srcInfoPoints"-    PXPcdata _ str -> printString str-    PXPatTag l p   ->-        case srcInfoPoints l of-         [_,_] -> do-            printString "<%"-            exactPC p-            printString "%>"-         _ -> errorEP "ExactP: Pat: PXPatTag is given wrong number of srcInfoPoints"-    PXRPats  l rps  -> bracketList ("<[",",","]>") (srcInfoPoints l) rps-    PQuasiQuote _ name qt   -> printString $ "[$" ++ name ++ "|" ++ qt ++ "]"-    PBangPat _ p    -> printString "!" >> exactPC p--instance ExactP PatField where-  exactP pf = case pf of-    PFieldPat l qn p        ->-        case srcInfoPoints l of-         [a] -> do-            exactP qn-            printStringAt (pos a) "="-            exactPC p-         _ -> errorEP "ExactP: PatField: PFieldPat is given wrong number of srcInfoPoints"-    PFieldPun _ n   -> exactP n-    PFieldWildcard _ -> printString ".."--instance ExactP RPat where-  exactP rpat = case rpat of-    RPOp _ rp op    -> exactP rp >> exactPC op-    RPEither l r1 r2 ->-      case srcInfoPoints l of-       [a] -> do-          exactP r1-          printStringAt (pos a) "|"-          exactPC r2-       _ -> errorEP "ExactP: RPat: RPEither is given wrong number of srcInfoPoints"-    RPSeq l rps -> bracketList ("(|",",","|)") (srcInfoPoints l) rps-    RPGuard l p stmts   ->-      case srcInfoPoints l of-       _:pts -> do-          printString "(|"-          exactPC p-          bracketList ("|",",","|)") pts stmts-       _ -> errorEP "ExactP: RPat: RPGuard is given wrong number of srcInfoPoints"-    RPCAs l n rp    ->-      case srcInfoPoints l of-       [a] -> do-          exactP n-          printStringAt (pos a) "@:"-          exactPC rp-       _ -> errorEP "ExactP: RPat: RPCAs is given wrong number of srcInfoPoints"-    RPAs l n rp     ->-      case srcInfoPoints l of-       [a] -> do-          exactP n-          printStringAt (pos a) "@"-          exactPC rp-       _ -> errorEP "ExactP: RPat: RPAs is given wrong number of srcInfoPoints"-    RPParen l rp    -> parenList (srcInfoPoints l) [rp]-    RPPat _ p   -> exactP p--instance ExactP RPatOp where-  exactP rop = printString $ case rop of-    RPStar  _  -> "*"-    RPStarG _  -> "*!"-    RPPlus  _  -> "+"-    RPPlusG _  -> "+!"-    RPOpt   _  -> "?"-    RPOptG  _  -> "?!"--instance ExactP PXAttr where-  exactP (PXAttr l xn p) =-    case srcInfoPoints l of-     [a] -> do-        exactP xn-        printStringAt (pos a) "="-        exactPC p-     _ -> errorEP "ExactP: PXAttr is given wrong number of srcInfoPoints"--instance ExactP XName where-  exactP xn = case xn of-    XName _ name -> printString name-    XDomName l dom name ->-        case srcInfoPoints l of-         [_,b,c] -> do-            printString dom-            printStringAt (pos b) ":"-            printStringAt (pos c) name-         _ -> errorEP "ExactP: XName: XDomName is given wrong number of srcInfoPoints"--instance ExactP Binds where-  exactP (BDecls  l ds)  = layoutList (srcInfoPoints l) (sepFunBinds ds)-  exactP (IPBinds l ips) = layoutList (srcInfoPoints l) ips--instance ExactP CallConv where-  exactP (StdCall    _) = printString "stdcall"-  exactP (CCall      _) = printString "ccall"-  exactP (CPlusPlus  _) = printString "cplusplus"-  exactP (DotNet     _) = printString "dotnet"-  exactP (Jvm        _) = printString "jvm"-  exactP (Js         _) = printString "js"-  exactP (JavaScript _) = printString "javascript"-  exactP (CApi       _) = printString "capi"--instance ExactP Safety where-  exactP (PlayRisky _) = printString "unsafe"-  exactP (PlaySafe _ b) = printString $ if b then "threadsafe" else "safe"-  exactP (PlayInterruptible _) = printString "interruptible"--instance ExactP Rule where-  exactP (Rule l str mact mrvs e1 e2) =-    case srcInfoPoints l of-     _:pts -> do-        printString (show str)-        maybeEP exactP mact-        pts1 <- case mrvs of-                Nothing -> return pts-                Just rvs ->-                    case pts of-                     a':b:pts' -> do-                        printStringAt (pos a') "forall"-                        mapM_ exactPC rvs-                        printStringAt (pos b) "."-                        return pts'-                     _ -> errorEP "ExactP: Rule is given too few srcInfoPoints"-        case pts1 of-         [x] -> do-            exactPC e1-            printStringAt (pos x) "="-            exactPC e2-         _ -> errorEP "ExactP: Rule is given wrong number of srcInfoPoints"-     _ -> errorEP "ExactP: Rule is given too few srcInfoPoints"--instance ExactP RuleVar where-  exactP (TypedRuleVar l n t) =-        case srcInfoPoints l of-         [_,b,c] -> do-            printString "("-            exactPC n-            printStringAt (pos b) "::"-            exactPC t-            printStringAt (pos c) ")"-         _ -> errorEP "ExactP: RuleVar: TypedRuleVar is given wrong number of srcInfoPoints"-  exactP (RuleVar _ n) = exactP n--instance ExactP Overlap where-  exactP (NoOverlap _) =-    printString "{-# NO_OVERLAP #-}"-  exactP (Overlap _) =-    printString "{-# OVERLAP #-}"-  exactP (Incoherent _) =-    printString "{-# INCOHERENT #-}"--instance ExactP Activation where-  exactP (ActiveFrom   l i) =-    printPoints l ["[", show i, "]"]-  exactP (ActiveUntil  l i) =-    printPoints l ["[", "~", show i, "]"]--instance ExactP FieldDecl where-  exactP (FieldDecl l ns bt) = do-    let pts = srcInfoPoints l-    printInterleaved' (zip (init pts) (repeat ",") ++ [(last pts, "::")]) ns-    exactPC bt--instance ExactP IPBind where-  exactP (IPBind l ipn e) =-    case srcInfoPoints l of-     [a] -> do-        exactP ipn-        printStringAt (pos a) "="-        exactPC e-     _ -> errorEP "ExactP: IPBind is given wrong number of srcInfoPoints"---- Hopefully, this will never fire.--- If it does, hopefully by that time https://github.com/sol/rewrite-with-location--- will be implemented.--- If not, then removing all calls to internalError should give a better--- idea where the error comes from.--- So far, it's necessary to eliminate non-exhaustive patterns warnings.--- We don't want to turn them off, as we want unhandled AST nodes to be--- reported.-internalError :: String -> a-internalError loc' = error $ unlines-    [ "haskell-src-exts: ExactPrint: internal error (non-exhaustive pattern)"-    , "Location: " ++ loc'-    , "This is either caused by supplying incorrect location information or by"-    , "a bug in haskell-src-exts. If this happens on an unmodified AST obtained"-    , "by the haskell-src-exts Parser it is a bug, please it report it at"-    , "https://github.com/haskell-suite/haskell-src-exts"]
− src/Language/Haskell/Exts/Annotated/Fixity.hs
@@ -1,353 +0,0 @@--------------------------------------------------------------------------------- |--- Module      :  Language.Haskell.Exts.Annotated.Fixity--- Copyright   :  (c) Niklas Broberg 2009--- License     :  BSD-style (see the file LICENSE.txt)------ Maintainer  :  Niklas Broberg, d00nibro@chalmers.se--- Stability   :  stable--- Portability :  portable------ Fixity information to give the parser so that infix operators can--- be parsed properly.----------------------------------------------------------------------------------module Language.Haskell.Exts.Annotated.Fixity-    (-    -- * Fixity representation-      Fixity(..)-    -- | The following three functions all create lists of-    --   fixities from textual representations of operators.-    --   The intended usage is e.g.-    ---    -- > fixs = infixr_ 0  ["$","$!","`seq`"]-    ---    --   Note that the operators are expected as you would-    --   write them infix, i.e. with ` characters surrounding-    --   /varid/ operators, and /varsym/ operators written as is.-    , infix_, infixl_, infixr_-    -- ** Collections of fixities-    , preludeFixities, baseFixities--    -- * Applying fixities to an AST-    , AppFixity(..)-    ) where--import Language.Haskell.Exts.Annotated.Syntax-import Language.Haskell.Exts.SrcLoc--import Language.Haskell.Exts.Fixity ( Fixity(..), infix_, infixl_, infixr_, preludeFixities, baseFixities, prefixMinusFixity )-import qualified Language.Haskell.Exts.Syntax as S ( Assoc(..), QOp(..), QName(..), Name(..), SpecialCon(..), ModuleName )-import Language.Haskell.Exts.Annotated.Simplify ( sQOp, sAssoc, sQName, sModuleHead, sName )--import Control.Monad (when, (<=<), liftM, liftM2, liftM3, liftM4)-import Data.Traversable (mapM)-import Data.Maybe (fromMaybe)-import Prelude hiding (mapM)---- | All AST elements that may include expressions which in turn may---   need fixity tweaking will be instances of this class.-class AppFixity ast where-  -- | Tweak any expressions in the element to account for the-  --   fixities given. Assumes that all operator expressions are-  --   fully left associative chains to begin with.-  applyFixities :: Monad m => [Fixity]      -- ^ The fixities to account for.-                    -> ast SrcSpanInfo      -- ^ The element to tweak.-                    -> m (ast SrcSpanInfo)  -- ^ The same element, but with operator expressions updated, or a failure.---instance AppFixity Exp where-  applyFixities fixs' = infFix fixs' <=< leafFix fixs'-    where -- This is the real meat case. We can assume a left-associative list to begin with.-          infFix fixs (InfixApp l2 a op2 z) = do-              e <- infFix fixs a-              let fixup (a1,p1) (a2,p2) y pre = do-                      when (p1 == p2 && (a1 /= a2 || a1 == S.AssocNone)) -- Ambiguous infix expression!-                           $ fail "Ambiguous infix expression"-                      if p1 > p2 || p1 == p2 && (a1 == S.AssocLeft || a2 == S.AssocNone) -- Already right order-                       then return $ InfixApp l2 e op2 z-                       else liftM pre (infFix fixs $ InfixApp (ann y <++> ann z) y op2 z)-              case e of-               InfixApp _ x op1 y -> fixup (askFixity fixs op1) (askFixity fixs op2) y (InfixApp l2 x op1)-               NegApp   _       y -> fixup prefixMinusFixity    (askFixity fixs op2) y (NegApp l2)-               _  -> return $ InfixApp l2 e op2 z--          infFix _ e = return e----ambOps l = ParseFailed (getPointLoc l) $ "Ambiguous infix expression"--instance AppFixity Pat where-  applyFixities fixs' = infFix fixs' <=< leafFixP fixs'-    where -- This is the real meat case. We can assume a left-associative list to begin with.-          infFix fixs (PInfixApp l2 a op2 z) = do-              p <- infFix fixs a-              let fixup (a1,p1) (a2,p2) y pre = do-                      when (p1 == p2 && (a1 /= a2 || a1 == S.AssocNone )) -- Ambiguous infix expression!-                           $ fail "Ambiguous infix expression"-                      if p1 > p2 || p1 == p2 && (a1 == S.AssocLeft || a2 == S.AssocNone) -- Already right order-                       then return $ PInfixApp l2 p op2 z-                       else liftM pre (infFix fixs $ PInfixApp (ann y <++> ann z) y op2 z)-              case p of-               PInfixApp _ x op1 y -> fixup (askFixityP fixs op1) (askFixityP fixs op2) y (PInfixApp l2 x op1)-               _  -> return $ PInfixApp l2 p op2 z--          infFix _ p = return p---- Internal: lookup associativity and precedence of an operator-askFixity :: [Fixity] -> QOp l -> (S.Assoc, Int)-askFixity xs k = askFix xs (f $ sQOp k) -- undefined -- \k -> askFixityP xs (f k) -- lookupWithDefault (AssocLeft, 9) (f k) mp-    where-        f (S.QVarOp x) = g x-        f (S.QConOp x) = g x--        g (S.Special S.Cons) = S.UnQual (S.Symbol ":")-        g x                  = x---- Same using patterns-askFixityP :: [Fixity] -> QName l -> (S.Assoc, Int)-askFixityP xs qn = askFix xs (g $ sQName qn)-    where-        g (S.Special S.Cons) = S.UnQual (S.Symbol ":")-        g x                  = x--askFix :: [Fixity] -> S.QName -> (S.Assoc, Int)-askFix xs = \k -> lookupWithDefault (S.AssocLeft, 9) k mp-    where-        lookupWithDefault def k mp' = fromMaybe def $ lookup k mp'--        mp = [(x,(a,p)) | Fixity a p x <- xs]------------------------------------------------------------------------- Boilerplate - yuck!! Everything below here is internal stuff--instance AppFixity Module where-    applyFixities fixs (Module l mmh prs imp decls) =-        liftM (Module l mmh prs imp) $ appFixDecls (Just mn) fixs decls-      where (mn, _, _) = sModuleHead mmh-    applyFixities fixs (XmlPage l mn os xn xas mexp cs) =-        liftM3 (XmlPage l mn os xn) (fix xas) (fix mexp) (fix cs)-      where fix xs = mapM (applyFixities fixs) xs-    applyFixities fixs (XmlHybrid l mmh prs imp decls xn xas mexp cs) =-        liftM4 (flip (XmlHybrid l mmh prs imp) xn) (appFixDecls (Just mn) fixs decls)-                (fixe xas) (fixe mexp) (fixe cs)-      where fixe xs = let extraFixs = getFixities (Just mn) decls-                       in mapM (applyFixities (fixs++extraFixs)) xs-            (mn, _, _) = sModuleHead mmh--instance AppFixity Decl where-    applyFixities fixs decl = case decl of-        ClassDecl l ctxt dh deps cdecls   -> liftM (ClassDecl l ctxt dh deps) $ mapM (mapM fix) cdecls-        InstDecl  l olp ih idecls         -> liftM (InstDecl  l olp ih)  $ mapM (mapM fix) idecls-        SpliceDecl l spl        -> liftM (SpliceDecl l) $ fix spl-        FunBind l matches       -> liftM (FunBind l) $ mapM fix matches-        PatBind l p rhs bs      ->-         let extraFix x = applyFixities (fixs ++ maybe [] getBindFixities bs) x-          in liftM3 (PatBind l) (extraFix p) (extraFix rhs) (mapM extraFix bs)-        AnnPragma l ann'         -> liftM (AnnPragma l) $ fix ann'-        _                       -> return decl-      where fix x = applyFixities fixs x--appFixDecls :: Monad m => Maybe S.ModuleName -> [Fixity] -> [Decl SrcSpanInfo] -> m [Decl SrcSpanInfo]-appFixDecls mmdl fixs decls =-    let extraFixs = getFixities mmdl decls-     in mapM (applyFixities (fixs++extraFixs)) decls--getFixities :: Maybe S.ModuleName -> [Decl l] -> [Fixity]-getFixities mmdl = concatMap (getFixity mmdl)--getFixity :: Maybe S.ModuleName -> Decl l -> [Fixity]-getFixity mmdl d =-  case d of-    InfixDecl _ a mp ops  -> let p = fromMaybe 9 mp-                              in map (Fixity (sAssoc a) p) (concatMap g ops)-    ClassDecl _ _ _ _ cds -> maybe [] (concatMap getClassFixity) cds-    _ -> []-  where g (VarOp _ x) = f $ sName x-        g (ConOp _ x) = f $ sName x-        f x = case mmdl of-              Nothing -> [            S.UnQual x]-              Just m  -> [S.Qual m x, S.UnQual x]-        getClassFixity (ClsDecl _ cd) = getFixity mmdl cd-        getClassFixity _              = []--getBindFixities :: Binds l -> [Fixity]-getBindFixities bs = case bs of-                        BDecls _ ds -> getFixities Nothing ds-                        _           -> []--instance AppFixity Annotation where-    applyFixities fixs ann' = case ann' of-        Ann     l n e   -> liftM (Ann l n) $ fix e-        TypeAnn l n e   -> liftM (TypeAnn l n) $ fix e-        ModuleAnn l e   -> liftM (ModuleAnn l) $ fix e-      where fix x = applyFixities fixs x--instance AppFixity ClassDecl where-    applyFixities fixs (ClsDecl l decl) = liftM (ClsDecl l) $ applyFixities fixs decl-    applyFixities _ cdecl = return cdecl--instance AppFixity InstDecl where-    applyFixities fixs (InsDecl l decl) = liftM (InsDecl l) $ applyFixities fixs decl-    applyFixities _ idecl = return idecl--instance AppFixity Match where-    applyFixities fixs match = case match of-        Match l n ps rhs bs -> liftM3 (Match l n) (mapM (fix bs) ps) (fix bs rhs) (mapM (fix bs) bs)-        InfixMatch l a n ps rhs bs -> liftM4 (flip (InfixMatch l) n) (fix bs a) (mapM (fix bs) ps) (fix bs rhs) (mapM (fix bs) bs)-      where fix bs x = applyFixities fixs' x-             where fixs' = fixs ++ maybe [] getBindFixities bs--instance AppFixity Rhs where-    applyFixities fixs rhs = case rhs of-        UnGuardedRhs l e      -> liftM (UnGuardedRhs l) $ fix e-        GuardedRhss l grhss   -> liftM (GuardedRhss l) $ mapM fix grhss-      where fix x = applyFixities fixs x--instance AppFixity GuardedRhs where-    applyFixities fixs (GuardedRhs l stmts e) = liftM2 (GuardedRhs l) (mapM fix stmts) $ fix e-      where fix x = applyFixities fixs x--instance AppFixity PatField where-    applyFixities fixs (PFieldPat l n p) = liftM (PFieldPat l n) $ applyFixities fixs p-    applyFixities _ pf = return pf--instance AppFixity RPat where-    applyFixities fixs rp' = case rp' of-        RPOp l rp op          -> liftM (flip (RPOp l) op) $ fix rp-        RPEither l a b        -> liftM2 (RPEither l) (fix a) (fix b)-        RPSeq l rps           -> liftM (RPSeq l) $ mapM fix rps-        RPGuard l p stmts     -> liftM2 (RPGuard l) (fix p) $ mapM fix stmts-        RPCAs l n rp          -> liftM (RPCAs l n) $ fix rp-        RPAs l n rp           -> liftM (RPAs l n) $ fix rp-        RPParen l rp          -> liftM (RPParen l) $ fix rp-        RPPat l p             -> liftM (RPPat l) $ fix p-      where fix x = applyFixities fixs x--instance AppFixity PXAttr where-    applyFixities fixs (PXAttr l n p) = liftM (PXAttr l n) $ applyFixities fixs p--instance AppFixity Stmt where-    applyFixities fixs stmt = case stmt of-        Generator l p e       -> liftM2 (Generator l) (fix p) (fix e)-        Qualifier l e         -> liftM (Qualifier l) $ fix e-        LetStmt l bs          -> liftM (LetStmt l) $ fix bs    -- special behavior-        RecStmt l stmts       -> liftM (RecStmt l) $ mapM fix stmts-      where fix x = applyFixities fixs x--instance AppFixity Binds where-    applyFixities fixs bs = case bs of-        BDecls l decls        -> liftM (BDecls l) $ appFixDecls Nothing fixs decls  -- special behavior-        IPBinds l ips         -> liftM (IPBinds l) $ mapM fix ips-      where fix x = applyFixities fixs x---instance AppFixity IPBind where-    applyFixities fixs (IPBind l n e) = liftM (IPBind l n) $ applyFixities fixs e--instance AppFixity FieldUpdate where-    applyFixities fixs (FieldUpdate l n e) = liftM (FieldUpdate l n) $ applyFixities fixs e-    applyFixities _ fup = return fup--instance AppFixity Alt where-    applyFixities fixs (Alt l p galts bs) = liftM3 (Alt l) (fix p) (fix galts) (mapM fix bs)-      where fix x = applyFixities fixs x--instance AppFixity QualStmt where-    applyFixities fixs qstmt = case qstmt of-        QualStmt     l s      -> liftM (QualStmt l) $ fix s-        ThenTrans    l e      -> liftM (ThenTrans l) $ fix e-        ThenBy       l e1 e2  -> liftM2 (ThenBy l) (fix e1) (fix e2)-        GroupBy      l e      -> liftM (GroupBy l) (fix e)-        GroupUsing   l e      -> liftM (GroupUsing l) (fix e)-        GroupByUsing l e1 e2  -> liftM2 (GroupByUsing l) (fix e1) (fix e2)-      where fix x = applyFixities fixs x--instance AppFixity Bracket where-    applyFixities fixs br = case br of-        ExpBracket l e    -> liftM (ExpBracket l) $ fix e-        PatBracket l p    -> liftM (PatBracket l) $ fix p-        DeclBracket l ds  -> liftM (DeclBracket l) $ mapM fix ds-        _                 -> return br-      where fix x = applyFixities fixs x--instance AppFixity Splice where-    applyFixities fixs (ParenSplice l e) = liftM (ParenSplice l) $ applyFixities fixs e-    applyFixities _ s = return s--instance AppFixity XAttr where-    applyFixities fixs (XAttr l n e) = liftM (XAttr l n) $ applyFixities fixs e----- the boring boilerplate stuff for expressions too--- Recursively fixes the "leaves" of the infix chains,--- without yet touching the chain itself. We assume all chains are--- left-associate to begin with.-leafFix :: Monad m => [Fixity] -> Exp SrcSpanInfo -> m (Exp SrcSpanInfo)-leafFix fixs e' = case e' of-    InfixApp l e1 op e2       -> liftM2 (flip (InfixApp l) op) (leafFix fixs e1) (fix e2)-    App l e1 e2               -> liftM2 (App l) (fix e1) (fix e2)-    NegApp l e                -> liftM (NegApp l) $ fix e-    Lambda l pats e           -> liftM2 (Lambda l) (mapM fix pats) $ fix e-    Let l bs e                ->-        let extraFix x = applyFixities (fixs ++ getBindFixities bs) x-         in liftM2 (Let l) (extraFix bs) $ extraFix e-    If l e a b                -> liftM3 (If l) (fix e) (fix a) (fix b)-    MultiIf l alts            -> liftM (MultiIf l) (mapM fix alts)-    Case l e alts             -> liftM2 (Case l) (fix e) $ mapM fix alts-    Do l stmts                -> liftM (Do l) $ mapM fix stmts-    MDo l stmts               -> liftM (MDo l) $ mapM fix stmts-    Tuple l bx exps           -> liftM (Tuple l bx) $ mapM fix exps-    List l exps               -> liftM (List l) $ mapM fix  exps-    Paren l e                 -> liftM (Paren l) $ fix e-    LeftSection l e op        -> liftM (flip (LeftSection l) op) (fix e)-    RightSection l op e       -> liftM (RightSection l op) $ fix e-    RecConstr l n fups        -> liftM (RecConstr l n) $ mapM fix fups-    RecUpdate l e fups        -> liftM2 (RecUpdate l) (fix e) $ mapM fix fups-    EnumFrom l e              -> liftM (EnumFrom l) $ fix e-    EnumFromTo l e1 e2        -> liftM2 (EnumFromTo l) (fix e1) (fix e2)-    EnumFromThen l e1 e2      -> liftM2 (EnumFromThen l) (fix e1) (fix e2)-    EnumFromThenTo l e1 e2 e3 -> liftM3 (EnumFromThenTo l) (fix e1) (fix e2) (fix e3)-    ListComp l e quals        -> liftM2 (ListComp l) (fix e) $ mapM fix quals-    ParComp  l e qualss       -> liftM2 (ParComp l) (fix e) $ mapM (mapM fix) qualss-    ExpTypeSig l e t          -> liftM (flip (ExpTypeSig l) t) (fix e)-    BracketExp l b            -> liftM (BracketExp l) $ fix b-    SpliceExp l s             -> liftM (SpliceExp l) $ fix s-    XTag l n ats mexp cs      -> liftM3 (XTag l n) (mapM fix ats) (mapM fix mexp) (mapM fix cs)-    XETag l n ats mexp        -> liftM2 (XETag l n) (mapM fix ats) (mapM fix mexp)-    XExpTag l e               -> liftM (XExpTag l) $ fix e-    XChildTag l cs            -> liftM (XChildTag l) $ mapM fix cs-    Proc l p e                -> liftM2 (Proc l) (fix p) (fix e)-    LeftArrApp l e1 e2        -> liftM2 (LeftArrApp l) (fix e1) (fix e2)-    RightArrApp l e1 e2       -> liftM2 (RightArrApp l) (fix e1) (fix e2)-    LeftArrHighApp l e1 e2    -> liftM2 (LeftArrHighApp l) (fix e1) (fix e2)-    RightArrHighApp l e1 e2   -> liftM2 (RightArrHighApp l) (fix e1) (fix e2)-    CorePragma l s e          -> liftM (CorePragma l s) (fix e)-    SCCPragma l s e           -> liftM (SCCPragma l s) (fix e)-    GenPragma l s ab cd e     -> liftM (GenPragma l s ab cd) (fix e)-    LCase l alts              -> liftM (LCase l) $ mapM fix alts--    _                         -> return e'-  where-    fix x = applyFixities fixs x--leafFixP :: Monad m => [Fixity] -> Pat SrcSpanInfo -> m (Pat SrcSpanInfo)-leafFixP fixs p' = case p' of-        PInfixApp l p1 op p2    -> liftM2 (flip (PInfixApp l) op) (leafFixP fixs p1) (fix p2)-        PApp l n ps             -> liftM (PApp l n) $ mapM fix ps-        PTuple l bx ps          -> liftM (PTuple l bx) $ mapM fix ps-        PList l ps              -> liftM (PList l) $ mapM fix ps-        PParen l p              -> liftM (PParen l) $ fix p-        PRec l n pfs            -> liftM (PRec l n) $ mapM fix pfs-        PAsPat l n p            -> liftM (PAsPat l n) $ fix p-        PIrrPat l p             -> liftM (PIrrPat l) $ fix p-        PatTypeSig l p t        -> liftM (flip (PatTypeSig l) t) (fix p)-        PViewPat l e p          -> liftM2 (PViewPat l) (fix e) (fix p)-        PRPat l rps             -> liftM (PRPat l) $ mapM fix rps-        PXTag l n ats mp ps     -> liftM3 (PXTag l n) (mapM fix ats) (mapM fix mp) (mapM fix ps)-        PXETag l n ats mp       -> liftM2 (PXETag l n) (mapM fix ats) (mapM fix mp)-        PXPatTag l p            -> liftM (PXPatTag l) $ fix p-        PXRPats l rps           -> liftM (PXRPats l) $ mapM fix rps-        PBangPat l p            -> liftM (PBangPat l) $ fix p-        _                       -> return p'-      where fix x = applyFixities fixs x
− src/Language/Haskell/Exts/Annotated/Parser.hs
@@ -1,257 +0,0 @@-{-# LANGUAGE CPP, DeriveDataTypeable, FlexibleInstances, DeriveFunctor #-}-{-# OPTIONS_GHC -fno-warn-orphans #-}--------------------------------------------------------------------------------- |--- Module      :  Language.Haskell.Exts.Annotated.Parser--- Copyright   :  (c) Niklas Broberg 2004-2009---                (c) Michael Sloan 2013--- License     :  BSD-style (see the file LICENSE.txt)------ Maintainer  :  Niklas Broberg, d00nibro@chalmers.se--- Stability   :  stable--- Portability :  portable------ Annotated parser for Haskell with extensions.----------------------------------------------------------------------------------module Language.Haskell.Exts.Annotated.Parser-    (-    -- * General parsing-      Parseable(parse, parseWithMode, parseWithComments)-    -- * Parsing of specific AST elements-    -- ** Modules-    , parseModule, parseModuleWithMode, parseModuleWithComments-    -- ** Expressions-    , parseExp, parseExpWithMode, parseExpWithComments-    -- ** Statements-    , parseStmt, parseStmtWithMode, parseStmtWithComments-    -- ** Patterns-    , parsePat, parsePatWithMode, parsePatWithComments-    -- ** Declarations-    , parseDecl, parseDeclWithMode, parseDeclWithComments-    -- ** Types-    , parseType, parseTypeWithMode, parseTypeWithComments-    -- ** Imports-    , parseImportDecl, parseImportDeclWithMode, parseImportDeclWithComments-    -- * Non-greedy parsers-    , NonGreedy(..)-    , ListOf(..), unListOf-    -- ** Module head parsers-    , getTopPragmas-    , PragmasAndModuleName(..)-    , PragmasAndModuleHead(..)-    , ModuleHeadAndImports(..)-    ) where--import Data.Data hiding (Fixity)-import Language.Haskell.Exts.Annotated.Fixity-import Language.Haskell.Exts.Annotated.Syntax-import Language.Haskell.Exts.Comments-import Language.Haskell.Exts.InternalParser-import Language.Haskell.Exts.ParseMonad-import Language.Haskell.Exts.SrcLoc--instance Parseable (Decl   SrcSpanInfo) where parser = normalParser mparseDecl-instance Parseable (Exp    SrcSpanInfo) where parser = normalParser mparseExp-instance Parseable (Module SrcSpanInfo) where parser = normalParser mparseModule-instance Parseable (Pat    SrcSpanInfo) where parser = normalParser mparsePat-instance Parseable (Stmt   SrcSpanInfo) where parser = normalParser mparseStmt-instance Parseable (Type   SrcSpanInfo) where parser = normalParserNoFixity mparseType-instance Parseable (ImportDecl SrcSpanInfo) where parser = normalParserNoFixity mparseImportDecl--normalParser :: AppFixity a => P (a SrcSpanInfo) -> Maybe [Fixity] -> P (a SrcSpanInfo)-normalParser p Nothing = p-normalParser p (Just fixs) = p >>= \ast -> applyFixities fixs ast `atSrcLoc` noLoc--normalParserNoFixity :: P (a SrcSpanInfo) -> Maybe [Fixity] -> P (a SrcSpanInfo)-normalParserNoFixity p _ = p---- Type-specific functions---- | Parse of a string, which should contain a complete Haskell module, using 'defaultParseMode'.-parseModule :: String -> ParseResult (Module SrcSpanInfo)-parseModule = parse---- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode'.-parseModuleWithMode :: ParseMode -> String -> ParseResult (Module SrcSpanInfo)-parseModuleWithMode = parseWithMode---- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.-parseModuleWithComments :: ParseMode -> String -> ParseResult (Module SrcSpanInfo, [Comment])-parseModuleWithComments = parseWithComments---- | Parse of a string containing a Haskell expression, using 'defaultParseMode'.-parseExp :: String -> ParseResult (Exp SrcSpanInfo)-parseExp = parse---- | Parse of a string containing a Haskell expression, using an explicit 'ParseMode'.-parseExpWithMode :: ParseMode -> String -> ParseResult (Exp SrcSpanInfo)-parseExpWithMode = parseWithMode---- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.-parseExpWithComments :: ParseMode -> String -> ParseResult (Exp SrcSpanInfo, [Comment])-parseExpWithComments = parseWithComments---- | Parse of a string containing a Haskell pattern, using 'defaultParseMode'.-parsePat :: String -> ParseResult (Pat SrcSpanInfo)-parsePat = parse---- | Parse of a string containing a Haskell pattern, using an explicit 'ParseMode'.-parsePatWithMode :: ParseMode -> String -> ParseResult (Pat SrcSpanInfo)-parsePatWithMode = parseWithMode---- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.-parsePatWithComments :: ParseMode -> String -> ParseResult (Pat SrcSpanInfo, [Comment])-parsePatWithComments = parseWithComments---- | Parse of a string containing a Haskell top-level declaration, using 'defaultParseMode'.-parseDecl :: String -> ParseResult (Decl SrcSpanInfo)-parseDecl = parse---- | Parse of a string containing a Haskell top-level declaration, using an explicit 'ParseMode'.-parseDeclWithMode :: ParseMode -> String -> ParseResult (Decl SrcSpanInfo)-parseDeclWithMode = parseWithMode---- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.-parseDeclWithComments :: ParseMode -> String -> ParseResult (Decl SrcSpanInfo, [Comment])-parseDeclWithComments = parseWithComments---- | Parse of a string containing a Haskell type, using 'defaultParseMode'.-parseType :: String -> ParseResult (Type SrcSpanInfo)-parseType = parse---- | Parse of a string containing a Haskell type, using an explicit 'ParseMode'.-parseTypeWithMode :: ParseMode -> String -> ParseResult (Type SrcSpanInfo)-parseTypeWithMode = parseWithMode---- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.-parseTypeWithComments :: ParseMode -> String -> ParseResult (Type SrcSpanInfo, [Comment])-parseTypeWithComments = parseWithComments---- | Parse of a string containing a Haskell statement, using 'defaultParseMode'.-parseStmt :: String -> ParseResult (Stmt SrcSpanInfo)-parseStmt = parse---- | Parse of a string containing a Haskell type, using an explicit 'ParseMode'.-parseStmtWithMode :: ParseMode -> String -> ParseResult (Stmt SrcSpanInfo)-parseStmtWithMode = parseWithMode---- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.-parseStmtWithComments :: ParseMode -> String -> ParseResult (Stmt SrcSpanInfo, [Comment])-parseStmtWithComments = parseWithComments---- | Parse of a string containing a Haskell statement, using 'defaultParseMode'.-parseImportDecl :: String -> ParseResult (ImportDecl SrcSpanInfo)-parseImportDecl = parse---- | Parse of a string containing a Haskell type, using an explicit 'ParseMode'.-parseImportDeclWithMode :: ParseMode -> String -> ParseResult (ImportDecl SrcSpanInfo)-parseImportDeclWithMode = parseWithMode---- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.-parseImportDeclWithComments :: ParseMode -> String -> ParseResult (ImportDecl SrcSpanInfo, [Comment])-parseImportDeclWithComments = parseWithComments---- Non-greedy parsers (should use ng- prefixed parses exported by InternalParser)---- | Non-greedy parse of a string starting with a series of top-level option pragmas.-getTopPragmas :: String -> ParseResult [ModulePragma SrcSpanInfo]-getTopPragmas = fmap (unListOf . unNonGreedy) . parse--instance Parseable (NonGreedy (ListOf (ModulePragma SrcSpanInfo))) where-  parser = nglistParserNoFixity ngparseModulePragmas--nglistParserNoFixity :: P ([a SrcSpanInfo], [SrcSpan], SrcSpanInfo) -> Maybe [Fixity] -> P (NonGreedy (ListOf (a SrcSpanInfo)))-nglistParserNoFixity f = fmap (NonGreedy . toListOf) . normalParserNoFixity f---- | Type intended to be used with 'Parseable', with instances that implement a---   non-greedy parse of the module name, including top-level pragmas.  This---   means that a parse error that comes after the module header won't be---   returned. If the 'Maybe' value is 'Nothing', then this means that there was---   no module header.-data PragmasAndModuleName l = PragmasAndModuleName l-    [ModulePragma l]-    (Maybe (ModuleName l))-  deriving (Eq,Ord,Show,Typeable,Data)--instance Parseable (NonGreedy (PragmasAndModuleName SrcSpanInfo)) where-    parser _ = do-        ((pragmas, pss, pl), mn) <- ngparsePragmasAndModuleName-        let l = combSpanMaybe (pl <** pss) (fmap ann mn)-        return $ NonGreedy $ PragmasAndModuleName l pragmas mn----   Type intended to be used with 'Parseable', with instances that---   implement a non-greedy parse of the module name, including---   top-level pragmas.  This means that a parse error that comes---   after the module header won't be returned. If the 'Maybe' value---   is 'Nothing', this means that there was no module head.------   Note that the 'ParseMode' matters for this due to the 'MagicHash'---   changing the lexing of identifiers to include \"#\".-data PragmasAndModuleHead l = PragmasAndModuleHead l-    [ModulePragma l]-    (Maybe (ModuleHead l))-  deriving (Eq,Ord,Show,Typeable,Data)--instance Parseable (NonGreedy (PragmasAndModuleHead SrcSpanInfo)) where-    parser _ = do-        ((pragmas, pss, pl), mh) <- ngparsePragmasAndModuleHead-        let l = combSpanMaybe (pl <** pss) (fmap ann mh)-        return $ NonGreedy $ PragmasAndModuleHead l pragmas mh----   Type intended to be used with 'Parseable', with instances that---   implement a non-greedy parse of the module head, including---   top-level pragmas, module name, export list, and import---   list. This means that if a parse error that comes after the---   imports won't be returned.  If the 'Maybe' value is 'Nothing',---   this means that there was no module head.------   Note that the 'ParseMode' matters for this due to the 'MagicHash'---   changing the lexing of identifiers to include \"#\".-data ModuleHeadAndImports l = ModuleHeadAndImports l-    [ModulePragma l]-    (Maybe (ModuleHead l))-    [ImportDecl l]-  deriving (Eq,Ord,Show,Typeable,Data)--instance Parseable (NonGreedy (ModuleHeadAndImports SrcSpanInfo)) where-    parser _ = do-        ((pragmas, pss, pl), mh, mimps) <- ngparseModuleHeadAndImports-        let l = (pl <** pss) `combSpanMaybe`-                (fmap ann mh) `combSpanMaybe`-                (fmap (\(_, iss, il) -> il <** iss) mimps)-            imps = maybe [] (\(x, _, _) -> x) mimps-        return $ NonGreedy $ ModuleHeadAndImports l pragmas mh imps---- | Instances of 'Parseable' for @NonGreedy a@ will only consume the input---   until @a@ is fully parsed.  This means that parse errors that come later---   in the input will be ignored.  It's also more efficient, as it's fully lazy---   in the remainder of the input:------   >>> parse (unlines ("module A where" : "main =" : repeat "blah")) :: ParseResult PragmasAndModuleHead---   ParseOk (NonGreedy {unNonGreedy = PragmasAndModuleHead [] (ModuleName "A",Nothing,Nothing)})------   (this example uses the simplified AST)-newtype NonGreedy a = NonGreedy { unNonGreedy :: a }-  deriving (Eq,Ord,Show,Typeable,Data)--instance Functor NonGreedy where-    fmap f (NonGreedy x) = NonGreedy (f x)---- | @ListOf a@ stores lists of the AST type @a@, along with a 'SrcSpanInfo',---   in order to provide 'Parseable' instances for lists.  These instances are---   provided when the type is used as a list in the syntax, and the same---   delimiters are used in all of its usages. Some exceptions are made:-data ListOf a = ListOf SrcSpanInfo [a]-  deriving (Eq,Ord,Show,Typeable,Data,Functor)--unListOf :: ListOf a -> [a]-unListOf (ListOf _ xs) = xs---- It's safe to forget about the previous SrcSpanInfo 'srcInfoPoints',--- as long as they are created with (presently) are all created with--- 'noInfoSpan' ('nIS'), '(<^^>)', or '(<++>)', all of which have--- empty 'srcInfoPoints'. Ideally, the parsers would return better--- types, but this works.-toListOf :: ([a], [SrcSpan], SrcSpanInfo) -> ListOf a-toListOf (xs, ss, l) = ListOf (infoSpan (srcInfoSpan l) ss) xs
− src/Language/Haskell/Exts/Annotated/Simplify.hs
@@ -1,614 +0,0 @@--------------------------------------------------------------------------------- |--- Module      :  Language.Haskell.Exts.Annotated.Simplify--- Copyright   :  (c) Niklas Broberg 2009--- License     :  BSD-style (see the file LICENSE.txt)------ Maintainer  :  Niklas Broberg, d00nibro@chalmers.se--- Stability   :  experimental--- Portability :  portable------ This module contains code for translating from the annotated--- complex AST in Language.Haskell.Exts.Annotated.Syntax--- to the simpler, sparsely annotated AST in Language.Haskell.Exts.Syntax.------ A function @sXYZ@ translates an annotated AST node of type @XYZ l@ into--- a simple AST node of type @XYZ@. I would have prefered to use a MPTC--- with an fd/type family to get a single exported function name, but--- I wish to stay Haskell 2010 compliant. Let's hope for Haskell 2011.----------------------------------------------------------------------------------module Language.Haskell.Exts.Annotated.Simplify where--import Language.Haskell.Exts.Annotated.Syntax-import qualified Language.Haskell.Exts.Syntax as S--import Language.Haskell.Exts.SrcLoc hiding (loc)--import Data.Maybe (fromMaybe)---- | Translate an annotated AST node representing a Haskell module, into---   a simpler version that retains (almost) only abstract information.---   In particular, XML and hybrid XML pages enabled by the XmlSyntax extension---   are translated into standard Haskell modules with a @page@ function.-sModule :: SrcInfo loc => Module loc -> S.Module-sModule md = case md of-    Module l mmh oss ids ds ->-        let (mn, mwt, mes) = sModuleHead mmh-         in S.Module (getPointLoc l) mn (map sModulePragma oss) mwt mes (map sImportDecl ids) (map sDecl ds)-    XmlPage l mn oss xn attrs mat es   ->-        let loc = getPointLoc l-         in S.Module loc (sModuleName mn) (map sModulePragma oss)-                      Nothing-                      (Just [S.EVar $ S.UnQual $ S.Ident "page"])-                        []-                        [pageFun loc $ S.XTag loc (sXName xn) (map sXAttr attrs) (fmap sExp mat) (map sExp es)]-    XmlHybrid l mmh oss ids ds xn attrs mat es  ->-        let loc1 = getPointLoc l-            loc2 = getPointLoc (ann xn)-            (mn, mwt, mes) = sModuleHead mmh-         in S.Module loc1 mn (map sModulePragma oss) mwt mes (map sImportDecl ids)-                (map sDecl ds ++ [pageFun loc2 $ S.XTag loc2 (sXName xn) (map sXAttr attrs) (fmap sExp mat) (map sExp es)])-  where pageFun :: SrcLoc -> S.Exp -> S.Decl-        pageFun loc e = S.PatBind loc namePat rhs Nothing-            where namePat = S.PVar $ S.Ident "page"-                  rhs = S.UnGuardedRhs e----- | Translate an annotated AST node representing a Haskell declaration---   into a simpler version. Note that in the simpler version, all declaration---   nodes are still annotated by 'SrcLoc's.-sDecl :: SrcInfo loc => Decl loc -> S.Decl-sDecl decl = case decl of-     TypeDecl     l dh t        ->-        let (n, tvs) = sDeclHead dh-         in S.TypeDecl (getPointLoc l) n tvs (sType t)-     TypeFamDecl  l dh mk       ->-        let (n, tvs) = sDeclHead dh-         in S.TypeFamDecl (getPointLoc l) n tvs (fmap sKind mk)-     ClosedTypeFamDecl  l dh mk eqs ->-        let (n, tvs) = sDeclHead dh-         in S.ClosedTypeFamDecl (getPointLoc l) n tvs (fmap sKind mk) (map sTypeEqn eqs)-     DataDecl     l dn mctxt dh constrs mder    ->-        let (n, tvs) = sDeclHead dh-         in S.DataDecl (getPointLoc l) (sDataOrNew dn) (maybe [] sContext mctxt) n tvs (map sQualConDecl constrs) (maybe [] sDeriving mder)-     GDataDecl    l dn mctxt dh mk gds mder     ->-        let (n, tvs) = sDeclHead dh-         in S.GDataDecl (getPointLoc l) (sDataOrNew dn) (maybe [] sContext mctxt) n tvs (fmap sKind mk) (map sGadtDecl gds) (maybe [] sDeriving mder)-     DataFamDecl  l mctxt dh mk ->-        let (n, tvs) = sDeclHead dh-         in S.DataFamDecl (getPointLoc l) (maybe [] sContext mctxt) n tvs (fmap sKind mk)-     TypeInsDecl  l t1 t2       -> S.TypeInsDecl (getPointLoc l) (sType t1) (sType t2)-     DataInsDecl  l dn t constrs mder           ->-        S.DataInsDecl (getPointLoc l) (sDataOrNew dn) (sType t) (map sQualConDecl constrs) (maybe [] sDeriving mder)-     GDataInsDecl l dn t mk gds mder            ->-        S.GDataInsDecl (getPointLoc l) (sDataOrNew dn) (sType t) (fmap sKind mk) (map sGadtDecl gds) (maybe [] sDeriving mder)-     ClassDecl    l mctxt dh fds mcds           ->-        let (n, tvs) = sDeclHead dh-         in S.ClassDecl (getPointLoc l) (maybe [] sContext mctxt) n tvs (map sFunDep fds) (maybe [] (map sClassDecl) mcds)-     InstDecl     l olp ih mids               ->-        let (tvs, cxt, (qn, ts)) = sInstRule ih-         in S.InstDecl (getPointLoc l) (fmap sOverlap olp) tvs cxt qn ts (maybe [] (map sInstDecl) mids)-     DerivDecl    l olp ih    ->-        let (tvs, cxt, (qn, ts)) = sInstRule ih-         in S.DerivDecl (getPointLoc l) (fmap sOverlap olp) tvs cxt qn ts-     InfixDecl    l ass prec ops    -> S.InfixDecl (getPointLoc l) (sAssoc ass) (fromMaybe 9 prec) (map sOp ops)-     DefaultDecl  l ts          -> S.DefaultDecl (getPointLoc l) (map sType ts)-     SpliceDecl   l sp          -> S.SpliceDecl (getPointLoc l) (sExp sp)-     TypeSig      l ns t        -> S.TypeSig (getPointLoc l) (map sName ns) (sType t)-     PatSynSig    l n mtvs c1 c2 t ->-        S.PatSynSig (getPointLoc l) (sName n) (fmap (map sTyVarBind) mtvs) (maybe [] sContext c1) (maybe [] sContext c2) (sType t)-     FunBind      _ ms          -> S.FunBind (map sMatch ms)-     PatBind      l p rhs mbs    ->-        S.PatBind (getPointLoc l) (sPat p) (sRhs rhs) (sBinds `fmap` mbs)-     ForImp       l cc msaf mstr n t    ->-        S.ForImp (getPointLoc l) (sCallConv cc) (maybe (S.PlaySafe False) sSafety msaf) (fromMaybe "" mstr) (sName n) (sType t)-     ForExp       l cc      mstr n t    ->-        S.ForExp (getPointLoc l) (sCallConv cc) (fromMaybe "" mstr) (sName n) (sType t)-     RulePragmaDecl   l rs      -> S.RulePragmaDecl (getPointLoc l) (map sRule rs)-     DeprPragmaDecl   l nsstrs  -> S.DeprPragmaDecl (getPointLoc l) (map (\(ns, str) -> (map sName ns, str)) nsstrs)-     WarnPragmaDecl   l nsstrs  -> S.WarnPragmaDecl (getPointLoc l) (map (\(ns, str) -> (map sName ns, str)) nsstrs)-     InlineSig        l b mact qn   -> S.InlineSig (getPointLoc l) b (maybe S.AlwaysActive sActivation mact) (sQName qn)-     InlineConlikeSig l   mact qn   -> S.InlineConlikeSig (getPointLoc l) (maybe S.AlwaysActive sActivation mact) (sQName qn)-     SpecSig          l   mact qn ts   -> S.SpecSig (getPointLoc l) (maybe S.AlwaysActive sActivation mact) (sQName qn) (map sType ts)-     SpecInlineSig    l b mact qn ts    ->-        S.SpecInlineSig (getPointLoc l) b (maybe S.AlwaysActive sActivation mact) (sQName qn) (map sType ts)-     InstSig          l ih    ->-        let (tvs, cxt, (qn, ts)) = sInstRule ih-         in S.InstSig (getPointLoc l) tvs cxt qn ts-     AnnPragma        l ann'        ->-        S.AnnPragma (getPointLoc l) (sAnnotation ann')-     MinimalPragma    l b           ->-        S.MinimalPragma (getPointLoc l) (fmap sBooleanFormula b)-     RoleAnnotDecl    l qn rs        ->-      S.RoleAnnotDecl (getPointLoc l) (sQName qn) (map sRole rs)-     PatSyn l p r t -> S.PatSyn (getPointLoc l) (sPat p) (sPat r) (sPatSyn t)--sPatSyn :: SrcInfo l => PatternSynDirection l -> S.PatternSynDirection-sPatSyn p = case p of-      Unidirectional             -> S.Unidirectional-      ImplicitBidirectional      -> S.ImplicitBidirectional-      ExplicitBidirectional _ ms -> S.ExplicitBidirectional (map sDecl ms)--sTypeEqn :: SrcInfo l => TypeEqn l -> S.TypeEqn-sTypeEqn (TypeEqn _ a b) = S.TypeEqn (sType a) (sType b)--sAnnotation :: SrcInfo loc => Annotation loc -> S.Annotation-sAnnotation ann' = case ann' of-    Ann       _ n e   -> S.Ann     (sName n) (sExp e)-    TypeAnn   _ n e   -> S.TypeAnn (sName n) (sExp e)-    ModuleAnn _   e   -> S.ModuleAnn         (sExp e)--sBooleanFormula :: SrcInfo loc => BooleanFormula loc -> S.BooleanFormula-sBooleanFormula b' = case b' of-    VarFormula _ n   -> S.VarFormula (sName n)-    AndFormula _ ns  -> S.AndFormula $ map sBooleanFormula ns-    OrFormula _  ns  -> S.OrFormula $ map sBooleanFormula ns-    ParenFormula _ b -> S.ParenFormula (sBooleanFormula b)--sRole :: Role l -> S.Role-sRole r =-  case r of-    Nominal _          -> S.Nominal-    Representational _ -> S.Representational-    Phantom _          -> S.Phantom-    RoleWildcard _     -> S.RoleWildcard--sModuleName :: ModuleName l -> S.ModuleName-sModuleName (ModuleName _ str)  = S.ModuleName str--sSpecialCon :: SpecialCon l -> S.SpecialCon-sSpecialCon sc = case sc of-    UnitCon _           -> S.UnitCon-    ListCon _           -> S.ListCon-    FunCon  _           -> S.FunCon-    TupleCon _ b k      -> S.TupleCon b k-    Cons _              -> S.Cons-    UnboxedSingleCon _  -> S.UnboxedSingleCon--sQName :: QName l -> S.QName-sQName qn = case qn of-    Qual    _ mn n  -> S.Qual (sModuleName mn) (sName n)-    UnQual  _    n  -> S.UnQual (sName n)-    Special _ sc    -> S.Special (sSpecialCon sc)--sName :: Name l -> S.Name-sName (Ident _ str) = S.Ident str-sName (Symbol _ str) = S.Symbol str--sIPName :: IPName l -> S.IPName-sIPName (IPDup _ str) = S.IPDup str-sIPName (IPLin _ str) = S.IPLin str--sQOp :: QOp l -> S.QOp-sQOp (QVarOp _ qn) = S.QVarOp (sQName qn)-sQOp (QConOp _ qn) = S.QConOp (sQName qn)--sOp :: Op l -> S.Op-sOp (VarOp _ n) = S.VarOp (sName n)-sOp (ConOp _ n) = S.ConOp (sName n)--sCName :: CName l -> S.CName-sCName (VarName _ n) = S.VarName (sName n)-sCName (ConName _ n) = S.ConName (sName n)--sModuleHead :: Maybe (ModuleHead l) -> (S.ModuleName, Maybe S.WarningText, Maybe [S.ExportSpec])-sModuleHead mmh = case mmh of-    Nothing -> (S.main_mod, Nothing, Just [S.EVar (S.UnQual S.main_name)])-    Just (ModuleHead _ mn mwt mel) -> (sModuleName mn, fmap sWarningText mwt, fmap sExportSpecList mel)--sExportSpecList :: ExportSpecList l -> [S.ExportSpec]-sExportSpecList (ExportSpecList _ ess) = map sExportSpec ess--sExportSpec :: ExportSpec l -> S.ExportSpec-sExportSpec es = case es of-    EVar _ qn           -> S.EVar (sQName qn)-    EAbs _ n qn         -> S.EAbs (sNamespace n)(sQName qn)-    EThingAll _ qn      -> S.EThingAll (sQName qn)-    EThingWith _ qn cns -> S.EThingWith (sQName qn) (map sCName cns)-    EModuleContents _ mn    -> S.EModuleContents (sModuleName mn)--sImportDecl :: SrcInfo loc => ImportDecl loc -> S.ImportDecl-sImportDecl (ImportDecl l mn qu src safe mpkg as misl) =-    S.ImportDecl (getPointLoc l) (sModuleName mn) qu src safe mpkg (fmap sModuleName as) (fmap sImportSpecList misl)--sImportSpecList :: ImportSpecList l -> (Bool, [S.ImportSpec])-sImportSpecList (ImportSpecList _ b iss) = (b, map sImportSpec iss)--sNamespace :: Namespace l -> S.Namespace-sNamespace n = case n of-                NoNamespace _   -> S.NoNamespace-                TypeNamespace _ -> S.TypeNamespace-                PatternNamespace _ -> S.PatternNamespace--sImportSpec :: ImportSpec l -> S.ImportSpec-sImportSpec is = case is of-    IVar _ n            -> S.IVar (sName n)-    IAbs _ ns n         -> S.IAbs (sNamespace ns) (sName n)-    IThingAll _ n       -> S.IThingAll (sName n)-    IThingWith _ n cns  -> S.IThingWith (sName n) (map sCName cns)--sAssoc :: Assoc l -> S.Assoc-sAssoc a = case a of-    AssocNone  _ -> S.AssocNone-    AssocLeft  _ -> S.AssocLeft-    AssocRight _ -> S.AssocRight--sDeclHead :: DeclHead l -> (S.Name, [S.TyVarBind])-sDeclHead = go []-  where go ts dh' = case dh' of-                        DHead _ n           -> (sName n, ts)-                        DHInfix _ tva n     -> (sName n, sTyVarBind tva:ts)-                        DHParen _ dh        -> (n, ts1 ++ ts)-                          where (n, ts1) = sDeclHead dh-                        DHApp _ dh t        -> go (sTyVarBind t:ts) dh--sInstRule :: SrcInfo l => InstRule l -> ([S.TyVarBind], [S.Asst], (S.QName, [S.Type]))-sInstRule ih' = case ih' of-                    IRule _ mtvs mctxt qn   -> (tvs, cxt, sInstHead qn)-                        where cxt = maybe [] sContext mctxt-                              tvs = maybe [] (map sTyVarBind) mtvs-                    IParen _ ir             -> sInstRule ir--sInstHead :: SrcInfo l => InstHead l -> (S.QName, [S.Type])-sInstHead = go []-    where go ts' d' = case d' of-                        IHCon _ qn         -> (sQName qn, ts')-                        IHInfix _ ta qn    -> (sQName qn, sType ta:ts')-                        IHParen _ ih       -> (n, ts1 ++ ts')-                          where (n, ts1) = sInstHead ih-                        IHApp _ ih t       -> go (sType t:ts') ih--sDataOrNew :: DataOrNew l -> S.DataOrNew-sDataOrNew (DataType _) = S.DataType-sDataOrNew (NewType _) = S.NewType--sDeriving :: SrcInfo l => Deriving l -> [(S.QName, [S.Type])]-sDeriving (Deriving _ irs) = map (\ir -> let (_, _, ret) = sInstRule ir in ret) irs--sBinds :: SrcInfo loc => Binds loc -> S.Binds-sBinds bs = case bs of-    BDecls  _ decls     -> S.BDecls (map sDecl decls)-    IPBinds _ ipbds     -> S.IPBinds (map sIPBind ipbds)--sIPBind :: SrcInfo loc => IPBind loc -> S.IPBind-sIPBind (IPBind l ipn e) = S.IPBind (getPointLoc l) (sIPName ipn) (sExp e)--sMatch :: SrcInfo loc => Match loc -> S.Match-sMatch (Match l n ps rhs mwhere) =-    S.Match (getPointLoc l) (sName n) (map sPat ps) Nothing (sRhs rhs) (sBinds `fmap` mwhere)-sMatch (InfixMatch l pa n pbs rhs mwhere) =-    S.Match (getPointLoc l) (sName n) (map sPat (pa:pbs)) Nothing (sRhs rhs) (sBinds `fmap` mwhere)--sQualConDecl :: SrcInfo loc => QualConDecl loc -> S.QualConDecl-sQualConDecl (QualConDecl l mtvs mctxt cd) =-    S.QualConDecl (getPointLoc l) (maybe [] (map sTyVarBind) mtvs) (maybe [] sContext mctxt) (sConDecl cd)--sConDecl :: SrcInfo l => ConDecl l -> S.ConDecl-sConDecl cd = case cd of-    ConDecl _ n bts     -> S.ConDecl (sName n) (map sType bts)-    InfixConDecl _ bta n btb -> S.InfixConDecl (sType bta) (sName n) (sType btb)-    RecDecl _ n fds -> S.RecDecl (sName n) (map sFieldDecl fds)--sFieldDecl :: SrcInfo l => FieldDecl l -> ([S.Name], S.Type)-sFieldDecl (FieldDecl _ ns bt) = (map sName ns, sType bt)--sGadtDecl :: SrcInfo loc => GadtDecl loc -> S.GadtDecl-sGadtDecl (GadtDecl l n mn t) = S.GadtDecl (getPointLoc l) (sName n) (maybe [] sRecFields mn) (sType t)--sClassDecl :: SrcInfo loc => ClassDecl loc -> S.ClassDecl-sClassDecl cd = case cd of-    ClsDecl _ d  -> S.ClsDecl (sDecl d)-    ClsDataFam l mctxt dh mk    ->-        let (n, tvs) = sDeclHead dh-         in S.ClsDataFam (getPointLoc l) (maybe [] sContext mctxt) n tvs (fmap sKind mk)-    ClsTyFam l dh mk    ->-        let (n, tvs) = sDeclHead dh-         in S.ClsTyFam (getPointLoc l) n tvs (fmap sKind mk)-    ClsTyDef l t1 t2    ->-        S.ClsTyDef (getPointLoc l) (sType t1) (sType t2)-    ClsDefSig l n t ->-        S.ClsDefSig (getPointLoc l) (sName n) (sType t)--sRecFields :: SrcInfo l => [FieldDecl l] -> [([S.Name], S.Type)]-sRecFields = map sFieldDecl--sInstDecl :: SrcInfo loc => InstDecl loc -> S.InstDecl-sInstDecl id' = case id' of-    InsDecl   _ d   -> S.InsDecl (sDecl d)-    InsType   l t1 t2   -> S.InsType (getPointLoc l) (sType t1) (sType t2)-    InsData   l dn t constrs mder   ->-        S.InsData (getPointLoc l) (sDataOrNew dn) (sType t) (map sQualConDecl constrs) (maybe [] sDeriving mder)-    InsGData  l dn t mk gds mder    ->-        S.InsGData (getPointLoc l) (sDataOrNew dn) (sType t) (fmap sKind mk) (map sGadtDecl gds) (maybe [] sDeriving mder)---    InsInline l b mact qn   -> S.InsInline (getPointLoc l) b (maybe S.AlwaysActive sActivation mact) (sQName qn)--sBangType :: SrcInfo l => BangType l -> S.BangType-sBangType bt = case bt of-    BangedTy   _  -> S.BangedTy-    UnpackedTy _  -> S.UnpackedTy--sRhs :: SrcInfo loc => Rhs loc -> S.Rhs-sRhs (UnGuardedRhs _ e) = S.UnGuardedRhs (sExp e)-sRhs (GuardedRhss _ grhss) = S.GuardedRhss (map sGuardedRhs grhss)--sGuardedRhs :: SrcInfo loc => GuardedRhs loc -> S.GuardedRhs-sGuardedRhs (GuardedRhs l ss e) = S.GuardedRhs (getPointLoc l) (map sStmt ss) (sExp e)--sType :: SrcInfo l => Type l -> S.Type-sType t' = case t' of-    TyForall _ mtvs mctxt t     -> S.TyForall (fmap (map sTyVarBind) mtvs) (maybe [] sContext mctxt) (sType t)-    TyFun _ t1 t2               -> S.TyFun (sType t1) (sType t2)-    TyTuple _ bx ts             -> S.TyTuple bx (map sType ts)-    TyList _ t                  -> S.TyList (sType t)-    TyParArray _ t              -> S.TyParArray (sType t)-    TyApp _ t1 t2               -> S.TyApp (sType t1) (sType t2)-    TyVar _ n                   -> S.TyVar (sName n)-    TyCon _ qn                  -> S.TyCon (sQName qn)-    TyParen _ t                 -> S.TyParen (sType t)-    TyInfix _ ta qn tb          -> S.TyInfix (sType ta) (sQName qn) (sType tb)-    TyKind _ t k                -> S.TyKind (sType t) (sKind k)-    TyPromoted _ t              -> S.TyPromoted (sPromoted t)-    TyEquals _ t1 t2            -> S.TyEquals (sType t1) (sType t2)-    TySplice _ s                -> S.TySplice (sSplice s)-    TyBang _ b t                -> S.TyBang (sBangType b) (sType t)-    TyWildCard _ mn             -> S.TyWildCard (sName `fmap` mn)--sPromoted :: SrcInfo l => Promoted l -> S.Promoted-sPromoted p = case p of-    PromotedInteger _ n _ -> S.PromotedInteger n-    PromotedString _ s _ -> S.PromotedString s-    PromotedCon _ b qn -> S.PromotedCon b (sQName qn)-    PromotedList _ b ps -> S.PromotedList b (map sType ps)-    PromotedTuple _ ps -> S.PromotedTuple (map sType ps)-    PromotedUnit _ -> S.PromotedUnit---sTyVarBind :: TyVarBind l -> S.TyVarBind-sTyVarBind (KindedVar _ n k) = S.KindedVar (sName n) (sKind k)-sTyVarBind (UnkindedVar _ n) = S.UnkindedVar (sName n)--sKind :: Kind l -> S.Kind-sKind k' = case k' of-    KindStar  _     -> S.KindStar-    KindFn _ k1 k2  -> S.KindFn (sKind k1) (sKind k2)-    KindParen _ k   -> S.KindParen (sKind k)-    KindVar _ n     -> S.KindVar (sQName n)-    KindApp _ k1 k2 -> S.KindApp (sKind k1) (sKind k2)-    KindTuple _ ks  -> S.KindTuple (map sKind ks)-    KindList  _ ks  -> S.KindList  (sKind ks)--sFunDep :: FunDep l -> S.FunDep-sFunDep (FunDep _ as bs) = S.FunDep (map sName as) (map sName bs)--sContext :: SrcInfo l => Context l -> S.Context-sContext ctxt = case ctxt of-    CxSingle _ asst     -> [sAsst asst]-    CxTuple  _ assts    -> map sAsst assts-    CxEmpty  _          -> []--sAsst :: SrcInfo l => Asst l -> S.Asst-sAsst asst = case asst of-    ClassA _ qn ts      -> S.ClassA (sQName qn) (map sType ts)-    AppA _ n ns         -> S.AppA (sName n) (map sType ns)-    InfixA _ ta qn tb   -> S.InfixA (sType ta) (sQName qn) (sType tb)-    IParam _ ipn t      -> S.IParam (sIPName ipn) (sType t)-    EqualP _ t1 t2      -> S.EqualP (sType t1) (sType t2)-    ParenA _ a          -> S.ParenA (sAsst a)-    WildCardA _ mn      -> S.WildCardA (sName `fmap` mn)--sLiteral :: Literal l -> S.Literal-sLiteral lit = case lit of-    Char       _ c _ -> S.Char c-    String     _ s _ -> S.String s-    Int        _ i _ -> S.Int i-    Frac       _ r _ -> S.Frac r-    PrimInt    _ i _ -> S.PrimInt i-    PrimWord   _ i _ -> S.PrimWord i-    PrimFloat  _ r _ -> S.PrimFloat r-    PrimDouble _ r _ -> S.PrimDouble r-    PrimChar   _ c _ -> S.PrimChar c-    PrimString _ s _ -> S.PrimString s--sSign :: Sign l -> S.Sign-sSign sg = case sg of-    Signless _ -> S.Signless-    Negative _ -> S.Negative--sExp :: SrcInfo loc => Exp loc -> S.Exp-sExp e' = case e' of-    Var _ qn            -> S.Var (sQName qn)-    IPVar _ ipn         -> S.IPVar (sIPName ipn)-    Con _ qn            -> S.Con (sQName qn)-    Lit _ lit           -> S.Lit (sLiteral lit)-    InfixApp _ e1 op e2 -> S.InfixApp (sExp e1) (sQOp op) (sExp e2)-    App _ e1 e2         -> S.App (sExp e1) (sExp e2)-    NegApp _ e          -> S.NegApp (sExp e)-    Lambda l ps e       -> S.Lambda (getPointLoc l) (map sPat ps) (sExp e)-    Let _ bs e          -> S.Let (sBinds bs) (sExp e)-    If _ e1 e2 e3       -> S.If (sExp e1) (sExp e2) (sExp e3)-    MultiIf _ alts      -> S.MultiIf (map sGuardedRhs alts)-    Case _ e alts       -> S.Case (sExp e) (map sAlt alts)-    Do _ ss             -> S.Do (map sStmt ss)-    MDo _ ss            -> S.MDo (map sStmt ss)-    Tuple _ bx es       -> S.Tuple bx (map sExp es)-    TupleSection _ bx mes -> S.TupleSection bx (map (fmap sExp) mes)-    List _ es           -> S.List (map sExp es)-    ParArray _ es       -> S.ParArray (map sExp es)-    Paren _ e           -> S.Paren (sExp e)-    LeftSection _ e op  -> S.LeftSection (sExp e) (sQOp op)-    RightSection _ op e -> S.RightSection (sQOp op) (sExp e)-    RecConstr _ qn fups -> S.RecConstr (sQName qn) (map sFieldUpdate fups)-    RecUpdate _ e fups  -> S.RecUpdate (sExp e) (map sFieldUpdate fups)-    EnumFrom _ e        -> S.EnumFrom (sExp e)-    EnumFromTo _ e1 e2  -> S.EnumFromTo (sExp e1) (sExp e2)-    EnumFromThen _ e1 e2    -> S.EnumFromThen (sExp e1) (sExp e2)-    EnumFromThenTo _ e1 e2 e3   -> S.EnumFromThenTo (sExp e1) (sExp e2) (sExp e3)-    ParArrayFromTo _ e1 e2 -> S.ParArrayFromTo (sExp e1) (sExp e2)-    ParArrayFromThenTo _ e1 e2 e3 -> S.ParArrayFromThenTo (sExp e1) (sExp e2) (sExp e3)-    ListComp _ e qss    -> S.ListComp (sExp e) (map sQualStmt qss)-    ParComp  _ e qsss   -> S.ParComp (sExp e) (map (map sQualStmt) qsss)-    ParArrayComp  _ e qsss -> S.ParArrayComp (sExp e) (map (map sQualStmt) qsss)-    ExpTypeSig l e t    -> S.ExpTypeSig (getPointLoc l) (sExp e) (sType t)-    VarQuote _ qn       -> S.VarQuote (sQName qn)-    TypQuote _ qn       -> S.TypQuote (sQName qn)-    BracketExp _ br     -> S.BracketExp (sBracket br)-    SpliceExp _ sp      -> S.SpliceExp (sSplice sp)-    QuasiQuote _ nm qt  -> S.QuasiQuote nm qt-    XTag l xn attrs mat es  -> S.XTag  (getPointLoc l) (sXName xn) (map sXAttr attrs) (fmap sExp mat) (map sExp es)-    XETag l xn attrs mat    -> S.XETag (getPointLoc l) (sXName xn) (map sXAttr attrs) (fmap sExp mat)-    XPcdata _ str       -> S.XPcdata str-    XExpTag _ e         -> S.XExpTag (sExp e)-    XChildTag l es      -> S.XChildTag (getPointLoc l) (map sExp es)-    CorePragma _ str e  -> S.CorePragma str (sExp e)-    SCCPragma  _ str e  -> S.SCCPragma  str (sExp e)-    GenPragma  _ str i12 i34 e  -> S.GenPragma str i12 i34 (sExp e)-    Proc            l p  e  -> S.Proc (getPointLoc l) (sPat p) (sExp e)-    LeftArrApp      _ e1 e2 -> S.LeftArrApp (sExp e1) (sExp e2)-    RightArrApp     _ e1 e2 -> S.RightArrApp (sExp e1) (sExp e2)-    LeftArrHighApp  _ e1 e2 -> S.LeftArrHighApp (sExp e1) (sExp e2)-    RightArrHighApp _ e1 e2 -> S.RightArrHighApp (sExp e1) (sExp e2)-    LCase _ alts -> S.LCase (map sAlt alts)-    ExprHole _              -> S.ExprHole---sXName :: XName l -> S.XName-sXName (XName _ str) = S.XName str-sXName (XDomName _ dom str) = S.XDomName dom str--sXAttr :: SrcInfo loc => XAttr loc -> S.XAttr-sXAttr (XAttr _ xn e) = S.XAttr (sXName xn) (sExp e)--sBracket:: SrcInfo loc => Bracket loc -> S.Bracket-sBracket br = case br of-    ExpBracket _ e  -> S.ExpBracket (sExp e)-    PatBracket _ p  -> S.PatBracket (sPat p)-    TypeBracket _ t -> S.TypeBracket (sType t)-    DeclBracket _ ds -> S.DeclBracket (map sDecl ds)--sSplice :: SrcInfo loc => Splice loc -> S.Splice-sSplice (IdSplice _ str) = S.IdSplice str-sSplice (ParenSplice _ e) = S.ParenSplice (sExp e)--sSafety :: Safety l -> S.Safety-sSafety (PlayRisky _) = S.PlayRisky-sSafety (PlaySafe _ b) = S.PlaySafe b-sSafety (PlayInterruptible _) = S.PlayInterruptible--sCallConv :: CallConv l -> S.CallConv-sCallConv (StdCall    _) = S.StdCall-sCallConv (CCall      _) = S.CCall-sCallConv (CPlusPlus  _) = S.CPlusPlus-sCallConv (DotNet     _) = S.DotNet-sCallConv (Jvm        _) = S.Jvm-sCallConv (Js         _) = S.Js-sCallConv (JavaScript _) = S.JavaScript-sCallConv (CApi       _) = S.CApi--sModulePragma :: SrcInfo loc => ModulePragma loc -> S.ModulePragma-sModulePragma pr = case pr of-    LanguagePragma   l ns   -> S.LanguagePragma (getPointLoc l) (map sName ns)-    OptionsPragma    l mt str -> S.OptionsPragma (getPointLoc l) mt str-    AnnModulePragma  l ann' -> S.AnnModulePragma (getPointLoc l) (sAnnotation ann')--sOverlap :: SrcInfo loc => Overlap loc -> S.Overlap-sOverlap o' = case o' of-    NoOverlap _   -> S.NoOverlap-    Overlap _     -> S.Overlap-    Incoherent _  -> S.Incoherent--sActivation :: Activation l -> S.Activation-sActivation act = case act of-    ActiveFrom   _ k    -> S.ActiveFrom k-    ActiveUntil  _ k    -> S.ActiveUntil k--sRule :: SrcInfo loc => Rule loc -> S.Rule-sRule (Rule _ str mact mrvs e1 e2) =-    S.Rule str (maybe S.AlwaysActive sActivation mact) (fmap (map sRuleVar) mrvs) (sExp e1) (sExp e2)--sRuleVar :: SrcInfo l => RuleVar l -> S.RuleVar-sRuleVar (RuleVar _ n) = S.RuleVar (sName n)-sRuleVar (TypedRuleVar _ n t) = S.TypedRuleVar (sName n) (sType t)--sWarningText :: WarningText l -> S.WarningText-sWarningText (DeprText _ str) = S.DeprText str-sWarningText (WarnText _ str) = S.WarnText str--sPat :: SrcInfo loc => Pat loc -> S.Pat-sPat pat = case pat of-    PVar _ n            -> S.PVar (sName n)-    PLit _ sg lit       -> S.PLit (sSign sg) (sLiteral lit)-    PNPlusK _ n k       -> S.PNPlusK (sName n) k-    PInfixApp _ pa qn pb -> S.PInfixApp (sPat pa) (sQName qn) (sPat pb)-    PApp _ qn ps        -> S.PApp (sQName qn) (map sPat ps)-    PTuple _ bx ps      -> S.PTuple bx (map sPat ps)-    PList _ ps          -> S.PList (map sPat ps)-    PParen _ p          -> S.PParen (sPat p)-    PRec _ qn pfs       -> S.PRec (sQName qn) (map sPatField pfs)-    PAsPat _ n p        -> S.PAsPat (sName n) (sPat p)-    PWildCard _         -> S.PWildCard-    PIrrPat _ p         -> S.PIrrPat (sPat p)-    PatTypeSig l p t    -> S.PatTypeSig (getPointLoc l) (sPat p) (sType t)-    PViewPat _ e p      -> S.PViewPat (sExp e) (sPat p)-    PRPat _ rps         -> S.PRPat (map sRPat rps)-    PXTag l xn attrs mat ps -> S.PXTag (getPointLoc l) (sXName xn) (map sPXAttr attrs) (fmap sPat mat) (map sPat ps)-    PXETag l xn attrs mat   -> S.PXETag (getPointLoc l) (sXName xn) (map sPXAttr attrs) (fmap sPat mat)-    PXPcdata _ str      -> S.PXPcdata str-    PXPatTag _ p        -> S.PXPatTag (sPat p)-    PXRPats  _ rps      -> S.PXRPats (map sRPat rps)-    PQuasiQuote _ nm qt -> S.PQuasiQuote nm qt-    PBangPat _ p        -> S.PBangPat (sPat p)--sPXAttr :: SrcInfo loc => PXAttr loc -> S.PXAttr-sPXAttr (PXAttr _ xn p) = S.PXAttr (sXName xn) (sPat p)--sRPatOp :: RPatOp l -> S.RPatOp-sRPatOp rpop = case rpop of-    RPStar  _ -> S.RPStar-    RPStarG _ -> S.RPStarG-    RPPlus  _ -> S.RPPlus-    RPPlusG _ -> S.RPPlusG-    RPOpt   _ -> S.RPOpt-    RPOptG  _ -> S.RPOptG--sRPat :: SrcInfo loc => RPat loc -> S.RPat-sRPat rp' = case rp' of-    RPOp _ rp rop       -> S.RPOp (sRPat rp) (sRPatOp rop)-    RPEither _ rp1 rp2  -> S.RPEither (sRPat rp1) (sRPat rp2)-    RPSeq _ rps         -> S.RPSeq (map sRPat rps)-    RPGuard _ p ss      -> S.RPGuard (sPat p) (map sStmt ss)-    RPCAs _ n rp        -> S.RPCAs (sName n) (sRPat rp)-    RPAs _ n rp         -> S.RPAs (sName n) (sRPat rp)-    RPParen _ rp        -> S.RPParen (sRPat rp)-    RPPat _ p           -> S.RPPat (sPat p)--sPatField :: SrcInfo loc => PatField loc -> S.PatField-sPatField pf = case pf of-    PFieldPat _ qn p    -> S.PFieldPat (sQName qn) (sPat p)-    PFieldPun _ qn      -> S.PFieldPun (sQName qn)-    PFieldWildcard _    -> S.PFieldWildcard--sStmt :: SrcInfo loc => Stmt loc -> S.Stmt-sStmt stmt = case stmt of-    Generator l p e     -> S.Generator (getPointLoc l) (sPat p) (sExp e)-    Qualifier _ e       -> S.Qualifier (sExp e)-    LetStmt _ bs        -> S.LetStmt (sBinds bs)-    RecStmt _ ss        -> S.RecStmt (map sStmt ss)--sQualStmt :: SrcInfo loc => QualStmt loc -> S.QualStmt-sQualStmt qs = case qs of-    QualStmt     _ stmt     -> S.QualStmt (sStmt stmt)-    ThenTrans    _ e        -> S.ThenTrans (sExp e)-    ThenBy       _ e1 e2    -> S.ThenBy (sExp e1) (sExp e2)-    GroupBy      _ e        -> S.GroupBy (sExp e)-    GroupUsing   _ e        -> S.GroupUsing (sExp e)-    GroupByUsing _ e1 e2    -> S.GroupByUsing (sExp e1) (sExp e2)--sFieldUpdate :: SrcInfo loc => FieldUpdate loc -> S.FieldUpdate-sFieldUpdate fu = case fu of-    FieldUpdate _ qn e      -> S.FieldUpdate (sQName qn) (sExp e)-    FieldPun _ qn           -> S.FieldPun (sQName qn)-    FieldWildcard _         -> S.FieldWildcard--sAlt :: SrcInfo loc => Alt loc -> S.Alt-sAlt (Alt l p galts mbs) = S.Alt (getPointLoc l) (sPat p) (sRhs galts) (sBinds `fmap` mbs)
− src/Language/Haskell/Exts/Annotated/Syntax.hs
@@ -1,1835 +0,0 @@-{-# LANGUAGE DeriveDataTypeable, DeriveFoldable, DeriveTraversable, DeriveFunctor, DeriveGeneric #-}--------------------------------------------------------------------------------- |--- Module      :  Language.Haskell.Exts.Annotated.Syntax--- Copyright   :  (c) Niklas Broberg 2004-2009,---                (c) The GHC Team, 1997-2000--- License     :  BSD-style (see the file LICENSE.txt)------ Maintainer  :  Niklas Broberg, d00nibro@chalmers.se--- Stability   :  stable--- Portability :  portable------ A suite of datatypes describing the (semi-concrete) abstract syntax of Haskell 98--- <http://www.haskell.org/onlinereport/> plus registered extensions, including:------   * multi-parameter type classes with functional dependencies (MultiParamTypeClasses, FunctionalDependencies)------   * parameters of type class assertions are unrestricted (FlexibleContexts)------   * 'forall' types as universal and existential quantification (RankNTypes, ExistentialQuantification, etc)------   * pattern guards (PatternGuards)------   * implicit parameters (ImplicitParameters)------   * generalised algebraic data types (GADTs)------   * template haskell (TemplateHaskell)------   * empty data type declarations (EmptyDataDecls)------   * unboxed tuples (UnboxedTuples)------   * regular patterns (RegularPatterns)------   * HSP-style XML expressions and patterns (XmlSyntax)------ All nodes in the syntax tree are annotated with something of a user-definable data type.--- When parsing, this annotation will contain information about the source location that the--- particular node comes from.-----------------------------------------------------------------------------------module Language.Haskell.Exts.Annotated.Syntax (-    -- * Modules-    Module(..), ModuleHead(..), WarningText(..), ExportSpecList(..), ExportSpec(..),-    ImportDecl(..), ImportSpecList(..), ImportSpec(..), Assoc(..), Namespace(..),-    -- * Declarations-    Decl(..), DeclHead(..), InstRule(..), InstHead(..), Binds(..), IPBind(..), PatternSynDirection(..),-    -- ** Type classes and instances-    ClassDecl(..), InstDecl(..), Deriving(..),-    -- ** Data type declarations-    DataOrNew(..), ConDecl(..), FieldDecl(..), QualConDecl(..), GadtDecl(..), BangType(..),-    -- ** Function bindings-    Match(..), Rhs(..), GuardedRhs(..),-    -- * Class Assertions and Contexts-    Context(..), FunDep(..), Asst(..),-    -- * Types-    Type(..), Boxed(..), Kind(..), TyVarBind(..), Promoted(..),-    TypeEqn (..),-    -- * Expressions-    Exp(..), Stmt(..), QualStmt(..), FieldUpdate(..),-    Alt(..), XAttr(..),-    -- * Patterns-    Pat(..), PatField(..), PXAttr(..), RPat(..), RPatOp(..),-    -- * Literals-    Literal(..), Sign(..),-    -- * Variables, Constructors and Operators-    ModuleName(..), QName(..), Name(..), QOp(..), Op(..),-    SpecialCon(..), CName(..), IPName(..), XName(..), Role(..),--    -- * Template Haskell-    Bracket(..), Splice(..),--    -- * FFI-    Safety(..), CallConv(..),--    -- * Pragmas-    ModulePragma(..), Tool(..), Overlap(..),-    Rule(..), RuleVar(..), Activation(..),-    Annotation(..), BooleanFormula(..),--    -- * Builtin names--    -- ** Modules-    prelude_mod, main_mod,-    -- ** Main function of a program-    main_name,-    -- ** Constructors-    unit_con_name, tuple_con_name, list_cons_name, unboxed_singleton_con_name,-    unit_con, tuple_con, unboxed_singleton_con,-    -- ** Special identifiers-    as_name, qualified_name, hiding_name, minus_name, bang_name, dot_name, star_name,-    export_name, safe_name, unsafe_name, interruptible_name, threadsafe_name,-    stdcall_name, ccall_name, cplusplus_name, dotnet_name, jvm_name, js_name,-    javascript_name, capi_name, forall_name, family_name,-    -- ** Type constructors-    unit_tycon_name, fun_tycon_name, list_tycon_name, tuple_tycon_name, unboxed_singleton_tycon_name,-    unit_tycon, fun_tycon, list_tycon, tuple_tycon, unboxed_singleton_tycon,--    -- * Source coordinates-    -- SrcLoc(..),--    -- * Annotated trees-    Annotated(..), (=~=),-  ) where--import Prelude hiding (id)--import Data.Data-import GHC.Generics (Generic)-import Data.Foldable (Foldable)-import Data.Traversable (Traversable)---- | The name of a Haskell module.-data ModuleName l = ModuleName l String-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Constructors with special syntax.--- These names are never qualified, and always refer to builtin type or--- data constructors.-data SpecialCon l-    = UnitCon l             -- ^ unit type and data constructor @()@-    | ListCon l             -- ^ list type constructor @[]@-    | FunCon  l             -- ^ function type constructor @->@-    | TupleCon l Boxed Int  -- ^ /n/-ary tuple type and data-                            --   constructors @(,)@ etc, possibly boxed @(\#,\#)@-    | Cons l                -- ^ list data constructor @(:)@-    | UnboxedSingleCon l    -- ^ unboxed singleton tuple constructor @(\# \#)@-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | This type is used to represent qualified variables, and also--- qualified constructors.-data QName l-    = Qual    l (ModuleName l) (Name l) -- ^ name qualified with a module name-    | UnQual  l                (Name l) -- ^ unqualified local name-    | Special l (SpecialCon l)          -- ^ built-in constructor with special syntax-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | This type is used to represent variables, and also constructors.-data Name l-    = Ident  l String   -- ^ /varid/ or /conid/.-    | Symbol l String   -- ^ /varsym/ or /consym/-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | An implicit parameter name.-data IPName l-    = IPDup l String -- ^ ?/ident/, non-linear implicit parameter-    | IPLin l String -- ^ %/ident/, linear implicit parameter-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Possibly qualified infix operators (/qop/), appearing in expressions.-data QOp l-    = QVarOp l (QName l) -- ^ variable operator (/qvarop/)-    | QConOp l (QName l) -- ^ constructor operator (/qconop/)-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Operators appearing in @infix@ declarations are never qualified.-data Op l-    = VarOp l (Name l)    -- ^ variable operator (/varop/)-    | ConOp l (Name l)    -- ^ constructor operator (/conop/)-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A name (/cname/) of a component of a class or data type in an @import@--- or export specification.-data CName l-    = VarName l (Name l) -- ^ name of a method or field-    | ConName l (Name l) -- ^ name of a data constructor-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A complete Haskell source module.-data Module l-    = Module l (Maybe (ModuleHead l)) [ModulePragma l] [ImportDecl l] [Decl l]-    -- ^ an ordinary Haskell module-    | XmlPage l (ModuleName l) [ModulePragma l] (XName l) [XAttr l] (Maybe (Exp l)) [Exp l]-    -- ^ a module consisting of a single XML document. The ModuleName never appears in the source-    --   but is needed for semantic purposes, it will be the same as the file name.-    | XmlHybrid l (Maybe (ModuleHead l)) [ModulePragma l] [ImportDecl l] [Decl l]-                (XName l) [XAttr l] (Maybe (Exp l)) [Exp l]-    -- ^ a hybrid module combining an XML document with an ordinary module-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | The head of a module, including the name and export specification.-data ModuleHead l = ModuleHead l (ModuleName l) (Maybe (WarningText l)) (Maybe (ExportSpecList l))-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | An explicit export specification.-data ExportSpecList l-    = ExportSpecList l [ExportSpec l]-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | An item in a module's export specification.-data ExportSpec l-     = EVar l (QName l)                 -- ^ variable.-     | EAbs l (Namespace l) (QName l)   -- ^ @T@:-                                        --   a class or datatype exported abstractly,-                                        --   or a type synonym.-     | EThingAll l (QName l)            -- ^ @T(..)@:-                                        --   a class exported with all of its methods, or-                                        --   a datatype exported with all of its constructors.-     | EThingWith l (QName l) [CName l] -- ^ @T(C_1,...,C_n)@:-                                        --   a class exported with some of its methods, or-                                        --   a datatype exported with some of its constructors.-     | EModuleContents l (ModuleName l) -- ^ @module M@:-                                        --   re-export a module.-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Namespaces for imports/exports.-data Namespace l = NoNamespace l | TypeNamespace l | PatternNamespace l-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | An import declaration.-data ImportDecl l = ImportDecl-    { importAnn :: l                   -- ^ annotation, used by parser for position of the @import@ keyword.-    , importModule :: ModuleName l     -- ^ name of the module imported.-    , importQualified :: Bool          -- ^ imported @qualified@?-    , importSrc :: Bool                -- ^ imported with @{-\# SOURCE \#-}@?-    , importSafe :: Bool               -- ^ Import @safe@?-    , importPkg :: Maybe String        -- ^ imported with explicit package name-    , importAs :: Maybe (ModuleName l) -- ^ optional alias name in an @as@ clause.-    , importSpecs :: Maybe (ImportSpecList l)-            -- ^ optional list of import specifications.-    }-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | An explicit import specification list.-data ImportSpecList l-    = ImportSpecList l Bool [ImportSpec l]-            -- A list of import specifications.-            -- The 'Bool' is 'True' if the names are excluded-            -- by @hiding@.-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | An import specification, representing a single explicit item imported---   (or hidden) from a module.-data ImportSpec l-     = IVar l (Name l)                  -- ^ variable-     | IAbs l (Namespace l) (Name l)    -- ^ @T@:-                                        --   the name of a class, datatype or type synonym.-     | IThingAll l (Name l)             -- ^ @T(..)@:-                                        --   a class imported with all of its methods, or-                                        --   a datatype imported with all of its constructors.-     | IThingWith l (Name l) [CName l]  -- ^ @T(C_1,...,C_n)@:-                                        --   a class imported with some of its methods, or-                                        --   a datatype imported with some of its constructors.-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Associativity of an operator.-data Assoc l-     = AssocNone  l -- ^ non-associative operator (declared with @infix@)-     | AssocLeft  l -- ^ left-associative operator (declared with @infixl@).-     | AssocRight l -- ^ right-associative operator (declared with @infixr@)-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A top-level declaration.-data Decl l-     = TypeDecl     l (DeclHead l) (Type l)-     -- ^ A type declaration-     | TypeFamDecl  l (DeclHead l) (Maybe (Kind l))-     -- ^ A type family declaration-     | ClosedTypeFamDecl  l (DeclHead l) (Maybe (Kind l))  [TypeEqn l]-     -- ^ A closed type family declaration-     | DataDecl     l (DataOrNew l) (Maybe (Context l)) (DeclHead l)                  [QualConDecl l] (Maybe (Deriving l))-     -- ^ A data OR newtype declaration-     | GDataDecl    l (DataOrNew l) (Maybe (Context l)) (DeclHead l) (Maybe (Kind l)) [GadtDecl l]    (Maybe (Deriving l))-     -- ^ A data OR newtype declaration, GADT style-     | DataFamDecl  l {-data-}      (Maybe (Context l)) (DeclHead l) (Maybe (Kind l))-     -- ^ A data family declaration-     | TypeInsDecl  l (Type l) (Type l)-     -- ^ A type family instance declaration-     | DataInsDecl  l (DataOrNew l) (Type l)                  [QualConDecl l] (Maybe (Deriving l))-     -- ^ A data family instance declaration-     | GDataInsDecl l (DataOrNew l) (Type l) (Maybe (Kind l)) [GadtDecl l]    (Maybe (Deriving l))-     -- ^ A data family instance declaration, GADT style-     | ClassDecl    l (Maybe (Context l)) (DeclHead l) [FunDep l] (Maybe [ClassDecl l])-     -- ^ A declaration of a type class-     | InstDecl     l (Maybe (Overlap l)) (InstRule l) (Maybe [InstDecl l])-     -- ^ An declaration of a type class instance-     | DerivDecl    l (Maybe (Overlap l)) (InstRule l)-     -- ^ A standalone deriving declaration-     | InfixDecl    l (Assoc l) (Maybe Int) [Op l]-     -- ^ A declaration of operator fixity-     | DefaultDecl  l [Type l]-     -- ^ A declaration of default types-     | SpliceDecl   l (Exp l)-     -- ^ A Template Haskell splicing declaration-     | TypeSig      l [Name l] (Type l)-     -- ^ A type signature declaration-     | PatSynSig    l (Name l) (Maybe [TyVarBind l]) (Maybe (Context l)) (Maybe (Context l)) (Type l)-     -- ^ A pattern synonym signature declation-     | FunBind      l [Match l]-     -- ^ A set of function binding clauses-     | PatBind      l (Pat l) (Rhs l) {-where-} (Maybe (Binds l))-     -- ^ A pattern binding-     | PatSyn l (Pat l) (Pat l) (PatternSynDirection l)-     -- ^ A pattern synonym binding-     | ForImp       l (CallConv l) (Maybe (Safety l)) (Maybe String) (Name l) (Type l)-     -- ^ A foreign import declaration-     | ForExp       l (CallConv l)                    (Maybe String) (Name l) (Type l)-     -- ^ A foreign export declaration-     | RulePragmaDecl   l [Rule l]-     -- ^ A RULES pragma-     | DeprPragmaDecl   l [([Name l], String)]-     -- ^ A DEPRECATED pragma-     | WarnPragmaDecl   l [([Name l], String)]-     -- ^ A WARNING pragma-     | InlineSig        l Bool (Maybe (Activation l)) (QName l)-     -- ^ An INLINE pragma-     | InlineConlikeSig l      (Maybe (Activation l)) (QName l)-     -- ^ An INLINE CONLIKE pragma-     | SpecSig          l      (Maybe (Activation l)) (QName l) [Type l]-     -- ^ A SPECIALISE pragma-     | SpecInlineSig    l Bool (Maybe (Activation l)) (QName l) [Type l]-     -- ^ A SPECIALISE INLINE pragma-     | InstSig          l      (InstRule l)-     -- ^ A SPECIALISE instance pragma-     | AnnPragma        l (Annotation l)-     -- ^ An ANN pragma-     | MinimalPragma    l (Maybe (BooleanFormula l))-     -- ^ A MINIMAL pragma-     | RoleAnnotDecl    l (QName l) [Role l]-     -- ^ A role annotation-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)--data  PatternSynDirection l =-      Unidirectional -- ^ A unidirectional pattern synonym with "<-"-    | ImplicitBidirectional  -- ^ A bidirectional pattern synonym with "="-    | ExplicitBidirectional l [Decl l]  -- ^ A birectional pattern synonym with the construction specified.-    deriving (Eq, Ord, Show, Data, Typeable, Foldable, Traversable, Functor, Generic)---- | A type equation as found in closed type families.-data TypeEqn l = TypeEqn l (Type l) (Type l) deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | An annotation through an ANN pragma.-data Annotation l-    = Ann       l (Name l)  (Exp l)-    -- ^ An annotation for a declared name.-    | TypeAnn   l (Name l)  (Exp l)-    -- ^ An annotation for a declared type.-    | ModuleAnn l           (Exp l)-    -- ^ An annotation for the defining module.-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A boolean formula for MINIMAL pragmas.-data BooleanFormula l-    = VarFormula l (Name l)              -- ^ A variable.-    | AndFormula l [BooleanFormula l]    -- ^ And boolean formulas.-    | OrFormula l [BooleanFormula l]     -- ^ Or boolean formulas.-    | ParenFormula l (BooleanFormula l)  -- ^ Parenthesized boolean formulas.-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)--data Role l-  = Nominal l-  | Representational l-  | Phantom l-  | RoleWildcard l-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A flag stating whether a declaration is a data or newtype declaration.-data DataOrNew l = DataType l | NewType l-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | The head of a type or class declaration, which consists of the type--- or class name applied to some type variables------ @class C a b@ is represented as------ >DHApp--- >   ()--- >   (DHApp--- >      () (DHead () (Ident () "C")) (UnkindedVar () (Ident () "a")))--- >   (UnkindedVar () (Ident () "b"))------ (where the annotation type @l@ is instantiated with @()@)------ @class (a :< b) c@ is represented as------ >DHApp--- >   ()--- >   (DHParen--- >      ()--- >      (DHApp--- >         ()--- >         (DHInfix () (UnkindedVar () (Ident () "a")) (Symbol () ":<"))--- >         (UnkindedVar () (Ident () "b"))))--- >   (UnkindedVar () (Ident () "c"))-data DeclHead l-    = DHead l (Name l) -- ^ type or class name-    | DHInfix l (TyVarBind l) (Name l) -- ^ infix application of the type/class name to the left operand-    | DHParen l (DeclHead l) -- ^ parenthesized declaration head-    | DHApp   l (DeclHead l) (TyVarBind l) -- ^ application to one more type variable-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | The instance declaration rule, which is, roughly, the part of the instance declaration before the @where@ keyword.------ Example: @instance Ord a => Ord (Maybe a)@ is represented as------ >IRule--- >   ()--- >   Nothing--- >   (Just--- >      (CxSingle--- >         ()--- >         (ClassA--- >            () (UnQual () (Ident () "Ord")) [ TyVar () (Ident () "a") ])))--- >   (IHApp--- >      ()--- >      (IHCon () (UnQual () (Ident () "Ord")))--- >      (TyParen--- >         ()--- >         (TyApp--- >            ()--- >            (TyCon () (UnQual () (Ident () "Maybe")))--- >            (TyVar () (Ident () "a")))))------ An optional explicit forall after @instance@ is supported:--- @instance forall a . Ord a => Ord (Maybe a) where@ becomes------ >IRule--- >   ()--- >   (Just [ UnkindedVar () (Ident () "a") ])--- >   ...-data InstRule l-    = IRule l (Maybe [TyVarBind l]) (Maybe (Context l)) (InstHead l)-    | IParen l (InstRule l)-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- See bugs #7 and #31 for more details and use cases for the rationale--- of the split. DeclOrInstHead should be used by DeclHead as the name implies.---- | The instance head. The split between rule/head allow us to represent--- @instance (Bounded a => Bounded [a]) where@ faithfully.------ The structure of 'InstHead' follows one of 'DeclHead'.------ For example, @instance C (Maybe a) Int where@ is represented as------ >IHApp--- >   ()--- >   (IHApp--- >      ()--- >      (IHCon () (UnQual () (Ident () "C")))--- >      (TyParen--- >         ()--- >         (TyApp--- >            ()--- >            (TyCon () (UnQual () (Ident () "Maybe")))--- >            (TyVar () (Ident () "a")))))--- >   (TyCon () (UnQual () (Ident () "Int")))))-data InstHead l-    = IHCon l (QName l) -- ^ type or class name-    | IHInfix l (Type l) (QName l) -- ^ infix application of the type/class name to the left operand-    | IHParen l (InstHead l) -- ^ parenthesized instance head-    | IHApp   l (InstHead l) (Type l) -- ^ application to one more type-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A deriving clause following a data type declaration.-data Deriving l = Deriving l [InstRule l]-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A binding group inside a @let@ or @where@ clause.-data Binds l-    = BDecls  l [Decl l]     -- ^ An ordinary binding group-    | IPBinds l [IPBind l]   -- ^ A binding group for implicit parameters-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A binding of an implicit parameter.-data IPBind l = IPBind l (IPName l) (Exp l)-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Clauses of a function binding.-data Match l-     = Match l      (Name l) [Pat l]         (Rhs l) {-where-} (Maybe (Binds l))-        -- ^ A clause defined with prefix notation, i.e. the function name-        --  followed by its argument patterns, the right-hand side and an-        --  optional where clause.-     | InfixMatch l (Pat l) (Name l) [Pat l] (Rhs l) {-where-} (Maybe (Binds l))-        -- ^ A clause defined with infix notation, i.e. first its first argument-        --  pattern, then the function name, then its following argument(s),-        --  the right-hand side and an optional where clause.-        --  Note that there can be more than two arguments to a function declared-        --  infix, hence the list of pattern arguments.-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A single constructor declaration within a data type declaration,---   which may have an existential quantification binding.-data QualConDecl l-    = QualConDecl l-        {-forall-} (Maybe [TyVarBind l]) {- . -} (Maybe (Context l))-        {- => -} (ConDecl l)-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Declaration of an ordinary data constructor.-data ConDecl l-     = ConDecl l (Name l) [Type l]-                -- ^ ordinary data constructor-     | InfixConDecl l (Type l) (Name l) (Type l)-                -- ^ infix data constructor-     | RecDecl l (Name l) [FieldDecl l]-                -- ^ record constructor-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Declaration of a (list of) named field(s).-data FieldDecl l = FieldDecl l [Name l] (Type l)-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)----- | A single constructor declaration in a GADT data type declaration.------ If the GADT is declared using the record syntax, e.g.------ >data Ty where--- >  TCon :: { field1 :: Int, field2 :: Bool } -> Ty------ then the fields are stored as a list of 'FieldDecl's, and the final type--- (@Ty@ in the above example) is stored in the last 'Type' field.------ If the GADT is declared using the ordinary syntax, e.g.------ >data Ty where--- >  TCon :: Int -> Bool -> Ty------ then @'Maybe' ['FieldDecl' l]@ is 'Nothing', and the whole constructor's--- type (such as @Int -> Bool -> Ty@) is stored in the last 'Type' field.-data GadtDecl l-    = GadtDecl l (Name l) (Maybe [FieldDecl l]) (Type l)-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Declarations inside a class declaration.-data ClassDecl l-    = ClsDecl    l (Decl l)-            -- ^ ordinary declaration-    | ClsDataFam l (Maybe (Context l)) (DeclHead l) (Maybe (Kind l))-            -- ^ declaration of an associated data type-    | ClsTyFam   l                     (DeclHead l) (Maybe (Kind l))-            -- ^ declaration of an associated type synonym-    | ClsTyDef   l (Type l) (Type l)-            -- ^ default choice for an associated type synonym-    | ClsDefSig  l (Name l) (Type l)-            -- ^ default signature-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Declarations inside an instance declaration.-data InstDecl l-    = InsDecl   l (Decl l)-            -- ^ ordinary declaration-    | InsType   l (Type l) (Type l)-            -- ^ an associated type definition-    | InsData   l (DataOrNew l) (Type l) [QualConDecl l] (Maybe (Deriving l))-            -- ^ an associated data type implementation-    | InsGData  l (DataOrNew l) (Type l) (Maybe (Kind l)) [GadtDecl l] (Maybe (Deriving l))-            -- ^ an associated data type implemented using GADT style-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | The type of a constructor argument or field, optionally including---   a strictness annotation.-data BangType l-     = BangedTy   l -- ^ strict component, marked with \"@!@\"-     | UnpackedTy l -- ^ unboxed component, marked with an UNPACK pragma-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | The right hand side of a function binding, pattern binding, or a case---   alternative.-data Rhs l-     = UnGuardedRhs l (Exp l) -- ^ unguarded right hand side (/exp/)-     | GuardedRhss  l [GuardedRhs l]-                -- ^ guarded right hand side (/gdrhs/)-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A guarded right hand side @|@ /stmts/ @=@ /exp/, or @|@ /stmts/ @->@ /exp/---   for case alternatives.---   The guard is a series of statements when using pattern guards,---   otherwise it will be a single qualifier expression.-data GuardedRhs l-     = GuardedRhs l [Stmt l] (Exp l)-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A type qualified with a context.---   An unqualified type has an empty context.-data Type l-     = TyForall l-        (Maybe [TyVarBind l])-        (Maybe (Context l))-        (Type l)                                -- ^ qualified type-     | TyFun   l (Type l) (Type l)              -- ^ function type-     | TyTuple l Boxed [Type l]                 -- ^ tuple type, possibly boxed-     | TyList  l (Type l)                       -- ^ list syntax, e.g. [a], as opposed to [] a-     | TyParArray  l (Type l)                   -- ^ parallel array syntax, e.g. [:a:]-     | TyApp   l (Type l) (Type l)              -- ^ application of a type constructor-     | TyVar   l (Name l)                       -- ^ type variable-     | TyCon   l (QName l)                      -- ^ named type or type constructor-     | TyParen l (Type l)                       -- ^ type surrounded by parentheses-     | TyInfix l (Type l) (QName l) (Type l)    -- ^ infix type constructor-     | TyKind  l (Type l) (Kind l)              -- ^ type with explicit kind signature-     | TyPromoted l (Promoted l)                -- ^ @'K@, a promoted data type (-XDataKinds).-     | TyEquals l (Type l) (Type l)             -- ^ type equality predicate enabled by ConstraintKinds-     | TySplice l (Splice l)                    -- ^ template haskell splice type-     | TyBang l (BangType l) (Type l)           -- ^ Strict type marked with \"@!@\" or type marked with UNPACK pragma.-     | TyWildCard l (Maybe (Name l))            -- ^ Either an anonymous of named type wildcard-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Bools here are True if there was a leading quote which may be--- left out. For example @'[k1,k2]@ means the same thing as @[k1,k2]@.-data Promoted l-        = PromotedInteger l Integer String -- ^ parsed value and raw string-        | PromotedString l String String -- ^ parsed value and raw string-        | PromotedCon l Bool (QName l)-        | PromotedList l Bool [Type l]-        | PromotedTuple l [Type l]-        | PromotedUnit l-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Flag denoting whether a tuple is boxed or unboxed.-data Boxed = Boxed | Unboxed-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A type variable declaration, optionally with an explicit kind annotation.-data TyVarBind l-    = KindedVar   l (Name l) (Kind l)  -- ^ variable binding with kind annotation-    | UnkindedVar l (Name l)           -- ^ ordinary variable binding-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | An explicit kind annotation.-data Kind l-    = KindStar  l                    -- ^ @*@, the kind of types-    | KindFn    l (Kind l) (Kind l)  -- ^ @->@, the kind of a type constructor-    | KindParen l (Kind l)           -- ^ a parenthesised kind-    | KindVar   l (QName l)          -- ^ @k@, a kind variable (-XPolyKinds)-    | KindApp   l (Kind l) (Kind l)  -- ^ @k1 k2@-    | KindTuple l [Kind l]           -- ^ @'(k1,k2,k3)@, a promoted tuple-    | KindList  l (Kind l)           -- ^ @'[k1]@, a promoted list literal-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)----- | A functional dependency, given on the form---   l1 l2 ... ln -> r2 r3 .. rn-data FunDep l-    = FunDep l [Name l] [Name l]-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A context is a set of assertions-data Context l-    = CxSingle l (Asst l)-    | CxTuple  l [Asst l]-    | CxEmpty  l-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Class assertions.---   In Haskell 98, the argument would be a /tyvar/, but this definition---   allows multiple parameters, and allows them to be /type/s.---   Also extended with support for implicit parameters and equality constraints.-data Asst l-        = ClassA l (QName l) [Type l]           -- ^ ordinary class assertion-        | AppA l (Name l) [Type l]              -- ^ constraint kind assertion, @Dict :: cxt a => Dict cxt@-        | InfixA l (Type l) (QName l) (Type l)  -- ^ class assertion where the class name is given infix-        | IParam l (IPName l) (Type l)          -- ^ implicit parameter assertion-        | EqualP l (Type l) (Type l)            -- ^ type equality constraint-        | ParenA l (Asst l)                     -- ^ parenthesised class assertion-        | WildCardA l (Maybe (Name l))          -- ^ Context Wildcard-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | /literal/--- Values of this type hold the abstract value of the literal, along with the--- precise string representation used.  For example, @10@, @0o12@ and @0xa@--- have the same value representation, but each carry a different string representation.-data Literal l-    = Char       l Char     String     -- ^ character literal-    | String     l String   String     -- ^ string literal-    | Int        l Integer  String     -- ^ integer literal-    | Frac       l Rational String     -- ^ floating point literal-    | PrimInt    l Integer  String     -- ^ unboxed integer literal-    | PrimWord   l Integer  String     -- ^ unboxed word literal-    | PrimFloat  l Rational String     -- ^ unboxed float literal-    | PrimDouble l Rational String     -- ^ unboxed double literal-    | PrimChar   l Char     String     -- ^ unboxed character literal-    | PrimString l String   String     -- ^ unboxed string literal-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | An indication whether a literal pattern has been negated or not.-data Sign l-    = Signless l-    | Negative l-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Haskell expressions.-data Exp l-    = Var l (QName l)                       -- ^ variable-    | IPVar l (IPName l)                    -- ^ implicit parameter variable-    | Con l (QName l)                       -- ^ data constructor-    | Lit l (Literal l)                     -- ^ literal constant-    | InfixApp l (Exp l) (QOp l) (Exp l)    -- ^ infix application-    | App l (Exp l) (Exp l)                 -- ^ ordinary application-    | NegApp l (Exp l)                      -- ^ negation expression @-/exp/@ (unary minus)-    | Lambda l [Pat l] (Exp l)              -- ^ lambda expression-    | Let l (Binds l) (Exp l)               -- ^ local declarations with @let@ ... @in@ ...-    | If l (Exp l) (Exp l) (Exp l)          -- ^ @if@ /exp/ @then@ /exp/ @else@ /exp/-    | MultiIf l [GuardedRhs l]              -- ^ @if@ @|@ /stmts/ @->@ /exp/ ...-    | Case l (Exp l) [Alt l]                -- ^ @case@ /exp/ @of@ /alts/-    | Do l [Stmt l]                         -- ^ @do@-expression:-                                            --   the last statement in the list-                                            --   should be an expression.-    | MDo l [Stmt l]                        -- ^ @mdo@-expression-    | Tuple l Boxed [Exp l]                 -- ^ tuple expression-    | TupleSection l Boxed [Maybe (Exp l)]  -- ^ tuple section expression, e.g. @(,,3)@-    | List l [Exp l]                        -- ^ list expression-    | ParArray l [Exp l]                    -- ^ parallel array expression-    | Paren l (Exp l)                       -- ^ parenthesised expression-    | LeftSection l (Exp l) (QOp l)         -- ^ left section @(@/exp/ /qop/@)@-    | RightSection l (QOp l) (Exp l)        -- ^ right section @(@/qop/ /exp/@)@-    | RecConstr l (QName l) [FieldUpdate l] -- ^ record construction expression-    | RecUpdate l (Exp l)   [FieldUpdate l] -- ^ record update expression-    | EnumFrom l (Exp l)                    -- ^ unbounded arithmetic sequence,-                                            --   incrementing by 1: @[from ..]@-    | EnumFromTo l (Exp l) (Exp l)          -- ^ bounded arithmetic sequence,-                                            --   incrementing by 1 @[from .. to]@-    | EnumFromThen l (Exp l) (Exp l)        -- ^ unbounded arithmetic sequence,-                                            --   with first two elements given @[from, then ..]@-    | EnumFromThenTo l (Exp l) (Exp l) (Exp l)-                                            -- ^ bounded arithmetic sequence,-                                            --   with first two elements given @[from, then .. to]@-    | ParArrayFromTo l (Exp l) (Exp l)      -- ^ Parallel array bounded arithmetic sequence,-                                            --   incrementing by 1 @[:from .. to:]@-    | ParArrayFromThenTo l (Exp l) (Exp l) (Exp l)-                                            -- ^ bounded arithmetic sequence,-                                            --   with first two elements given @[:from, then .. to:]@-    | ListComp l (Exp l) [QualStmt l]       -- ^ ordinary list comprehension-    | ParComp  l (Exp l) [[QualStmt l]]     -- ^ parallel list comprehension-    | ParArrayComp  l (Exp l) [[QualStmt l]] -- ^ parallel array comprehension-    | ExpTypeSig l (Exp l) (Type l)         -- ^ expression with explicit type signature--    | VarQuote l (QName l)                  -- ^ @'x@ for template haskell reifying of expressions-    | TypQuote l (QName l)                  -- ^ @''T@ for template haskell reifying of types-    | BracketExp l (Bracket l)              -- ^ template haskell bracket expression-    | SpliceExp l (Splice l)                -- ^ template haskell splice expression-    | QuasiQuote l String String            -- ^ quasi-quotaion: @[$/name/| /string/ |]@---- Hsx-    | XTag l (XName l) [XAttr l] (Maybe (Exp l)) [Exp l]-                                            -- ^ xml element, with attributes and children-    | XETag l (XName l) [XAttr l] (Maybe (Exp l))-                                            -- ^ empty xml element, with attributes-    | XPcdata l String                      -- ^ PCDATA child element-    | XExpTag l (Exp l)                     -- ^ escaped haskell expression inside xml-    | XChildTag l [Exp l]                   -- ^ children of an xml element----- Pragmas-    | CorePragma l      String (Exp l)      -- ^ CORE pragma-    | SCCPragma  l      String (Exp l)      -- ^ SCC pragma-    | GenPragma  l      String (Int, Int) (Int, Int) (Exp l)-                                            -- ^ GENERATED pragma---- Arrows-    | Proc            l (Pat l) (Exp l)     -- ^ arrows proc: @proc@ /pat/ @->@ /exp/-    | LeftArrApp      l (Exp l) (Exp l)     -- ^ arrow application (from left): /exp/ @-<@ /exp/-    | RightArrApp     l (Exp l) (Exp l)     -- ^ arrow application (from right): /exp/ @>-@ /exp/-    | LeftArrHighApp  l (Exp l) (Exp l)     -- ^ higher-order arrow application (from left): /exp/ @-<<@ /exp/-    | RightArrHighApp l (Exp l) (Exp l)     -- ^ higher-order arrow application (from right): /exp/ @>>-@ /exp/---- LambdaCase-    | LCase l [Alt l]                       -- ^ @\case@ /alts/---- Holes-    | ExprHole l                            -- ^ Expression hole-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | The name of an xml element or attribute,---   possibly qualified with a namespace.-data XName l-    = XName l String              -- <name ...-    | XDomName l String String    -- <dom:name ...-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | An xml attribute, which is a name-expression pair.-data XAttr l = XAttr l (XName l) (Exp l)-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A template haskell bracket expression.-data Bracket l-    = ExpBracket l (Exp l)        -- ^ expression bracket: @[| ... |]@-    | PatBracket l (Pat l)        -- ^ pattern bracket: @[p| ... |]@-    | TypeBracket l (Type l)      -- ^ type bracket: @[t| ... |]@-    | DeclBracket l [Decl l]      -- ^ declaration bracket: @[d| ... |]@-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A template haskell splice expression-data Splice l-    = IdSplice l String           -- ^ variable splice: @$var@-    | ParenSplice l (Exp l)       -- ^ parenthesised expression splice: @$(/exp/)@-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | The safety of a foreign function call.-data Safety l-    = PlayRisky l         -- ^ unsafe-    | PlaySafe l Bool     -- ^ safe ('False') or threadsafe ('True')-    | PlayInterruptible l -- ^ interruptible-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | The calling convention of a foreign function call.-data CallConv l-    = StdCall l-    | CCall l-    | CPlusPlus l-    | DotNet l-    | Jvm l-    | Js l-    | JavaScript l-    | CApi l-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A top level options pragma, preceding the module header.-data ModulePragma l-    = LanguagePragma   l [Name l]  -- ^ LANGUAGE pragma-    | OptionsPragma    l (Maybe Tool) String-                        -- ^ OPTIONS pragma, possibly qualified with a tool, e.g. OPTIONS_GHC-    | AnnModulePragma  l (Annotation l)-                        -- ^ ANN pragma with module scope-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Recognised tools for OPTIONS pragmas.-data Tool = GHC | HUGS | NHC98 | YHC | HADDOCK | UnknownTool String-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | Recognised overlaps for overlap pragmas.-data Overlap l-    = NoOverlap l   -- ^ NO_OVERLAP pragma-    | Overlap l     -- ^ OVERLAP pragma-    | Incoherent l  -- ^ INCOHERENT pragma-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Activation clause of a RULES pragma.-data Activation l-    = ActiveFrom   l Int-    | ActiveUntil  l Int-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | The body of a RULES pragma.-data Rule l-    = Rule l String (Maybe (Activation l)) (Maybe [RuleVar l]) (Exp l) (Exp l)-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Variables used in a RULES pragma, optionally annotated with types-data RuleVar l-    = RuleVar l (Name l)-    | TypedRuleVar l (Name l) (Type l)-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Warning text to optionally use in the module header of e.g.---   a deprecated module.-data WarningText l-    = DeprText l String-    | WarnText l String-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)----- | A pattern, to be matched against a value.-data Pat l-    = PVar l (Name l)                       -- ^ variable-    | PLit l (Sign l) (Literal l)           -- ^ literal constant-    | PNPlusK l (Name l) Integer            -- ^ n+k pattern-    | PInfixApp l (Pat l) (QName l) (Pat l) -- ^ pattern with an infix data constructor-    | PApp l (QName l) [Pat l]              -- ^ data constructor and argument patterns-    | PTuple l Boxed [Pat l]                -- ^ tuple pattern-    | PList l [Pat l]                       -- ^ list pattern-    | PParen l (Pat l)                      -- ^ parenthesized pattern-    | PRec l (QName l) [PatField l]         -- ^ labelled pattern, record style-    | PAsPat l (Name l) (Pat l)             -- ^ @\@@-pattern-    | PWildCard l                           -- ^ wildcard pattern: @_@-    | PIrrPat l (Pat l)                     -- ^ irrefutable pattern: @~/pat/@-    | PatTypeSig l (Pat l) (Type l)         -- ^ pattern with type signature-    | PViewPat l (Exp l) (Pat l)            -- ^ view patterns of the form @(/exp/ -> /pat/)@-    | PRPat l [RPat l]                      -- ^ regular list pattern-    | PXTag l (XName l) [PXAttr l] (Maybe (Pat l)) [Pat l]-                                            -- ^ XML element pattern-    | PXETag l (XName l) [PXAttr l] (Maybe (Pat l))-                                            -- ^ XML singleton element pattern-    | PXPcdata l String                     -- ^ XML PCDATA pattern-    | PXPatTag l (Pat l)                    -- ^ XML embedded pattern-    | PXRPats  l [RPat l]                   -- ^ XML regular list pattern-    | PQuasiQuote l String String           -- ^ quasi quote pattern: @[$/name/| /string/ |]@-    | PBangPat l (Pat l)                    -- ^ strict (bang) pattern: @f !x = ...@-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | An XML attribute in a pattern.-data PXAttr l = PXAttr l (XName l) (Pat l)-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A regular pattern operator.-data RPatOp l-    = RPStar  l  -- ^ @*@ = 0 or more-    | RPStarG l  -- ^ @*!@ = 0 or more, greedy-    | RPPlus  l  -- ^ @+@ = 1 or more-    | RPPlusG l  -- ^ @+!@ = 1 or more, greedy-    | RPOpt   l  -- ^ @?@ = 0 or 1-    | RPOptG  l  -- ^ @?!@ = 0 or 1, greedy-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | An entity in a regular pattern.-data RPat l-    = RPOp l (RPat l) (RPatOp l)   -- ^ operator pattern, e.g. pat*-    | RPEither l (RPat l) (RPat l) -- ^ choice pattern, e.g. (1 | 2)-    | RPSeq l [RPat l]             -- ^ sequence pattern, e.g. (| 1, 2, 3 |)-    | RPGuard l (Pat l) [Stmt l]   -- ^ guarded pattern, e.g. (| p | p < 3 |)-    | RPCAs l (Name l) (RPat l)    -- ^ non-linear variable binding, e.g. (foo\@:(1 | 2))*-    | RPAs l (Name l) (RPat l)     -- ^ linear variable binding, e.g. foo\@(1 | 2)-    | RPParen l (RPat l)           -- ^ parenthesised pattern, e.g. (2*)-    | RPPat l (Pat l)              -- ^ an ordinary pattern-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | An /fpat/ in a labeled record pattern.-data PatField l-    = PFieldPat l (QName l) (Pat l)     -- ^ ordinary label-pattern pair-    | PFieldPun l (QName l)             -- ^ record field pun-    | PFieldWildcard l                  -- ^ record field wildcard-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A statement, representing both a /stmt/ in a @do@-expression,---   an ordinary /qual/ in a list comprehension, as well as a /stmt/---   in a pattern guard.-data Stmt l-    = Generator l (Pat l) (Exp l)-                            -- ^ a generator: /pat/ @<-@ /exp/-    | Qualifier l (Exp l)   -- ^ an /exp/ by itself: in a @do@-expression,-                            --   an action whose result is discarded;-                            --   in a list comprehension and pattern guard,-                            --   a guard expression-    | LetStmt l (Binds l)   -- ^ local bindings-    | RecStmt l [Stmt l]    -- ^ a recursive binding group for arrows-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A general /transqual/ in a list comprehension,---   which could potentially be a transform of the kind---   enabled by TransformListComp.-data QualStmt l-    = QualStmt     l (Stmt l)         -- ^ an ordinary statement-    | ThenTrans    l (Exp l)          -- ^ @then@ /exp/-    | ThenBy       l (Exp l) (Exp l)  -- ^ @then@ /exp/ @by@ /exp/-    | GroupBy      l (Exp l)          -- ^ @then@ @group@ @by@ /exp/-    | GroupUsing   l (Exp l)          -- ^ @then@ @group@ @using@ /exp/-    | GroupByUsing l (Exp l) (Exp l)  -- ^ @then@ @group@ @by@ /exp/ @using@ /exp/-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | An /fbind/ in a labeled construction or update expression.-data FieldUpdate l-    = FieldUpdate l (QName l) (Exp l)    -- ^ ordinary label-expresion pair-    | FieldPun l (QName l)               -- ^ record field pun-    | FieldWildcard l                    -- ^ record field wildcard-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | An /alt/ alternative in a @case@ expression.-data Alt l-    = Alt l (Pat l) (Rhs l) (Maybe (Binds l))-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---------------------------------------------------------------------------------- Builtin names.--prelude_mod, main_mod :: l -> ModuleName l-prelude_mod l = ModuleName l "Prelude"-main_mod    l = ModuleName l "Main"--main_name :: l -> Name l-main_name l = Ident l "main"--unit_con_name :: l -> QName l-unit_con_name l = Special l (UnitCon l)--tuple_con_name :: l -> Boxed -> Int -> QName l-tuple_con_name l b i = Special l (TupleCon l b (i+1))--list_cons_name :: l -> QName l-list_cons_name l = Special l (Cons l)--unboxed_singleton_con_name :: l -> QName l-unboxed_singleton_con_name l = Special l (UnboxedSingleCon l)--unit_con :: l -> Exp l-unit_con l = Con l $ unit_con_name l--tuple_con :: l -> Boxed -> Int -> Exp l-tuple_con l b i = Con l (tuple_con_name l b i)--unboxed_singleton_con :: l -> Exp l-unboxed_singleton_con l = Con l (unboxed_singleton_con_name l)--as_name, qualified_name, hiding_name, minus_name, bang_name, dot_name, star_name :: l -> Name l-as_name        l = Ident  l "as"-qualified_name l = Ident  l "qualified"-hiding_name    l = Ident  l "hiding"-minus_name     l = Symbol l "-"-bang_name      l = Symbol l "!"-dot_name       l = Symbol l "."-star_name      l = Symbol l "*"--export_name, safe_name, unsafe_name, interruptible_name, threadsafe_name,-  stdcall_name, ccall_name, cplusplus_name, dotnet_name,-  jvm_name, js_name, javascript_name, capi_name, forall_name,-  family_name :: l -> Name l-export_name     l = Ident l "export"-safe_name       l = Ident l "safe"-unsafe_name     l = Ident l "unsafe"-interruptible_name l = Ident l "interruptible"-threadsafe_name l = Ident l "threadsafe"-stdcall_name    l = Ident l "stdcall"-ccall_name      l = Ident l "ccall"-cplusplus_name  l = Ident l "cplusplus"-dotnet_name     l = Ident l "dotnet"-jvm_name        l = Ident l "jvm"-js_name         l = Ident l "js"-javascript_name l = Ident l "javascript"-capi_name       l = Ident l "capi"-forall_name     l = Ident l "forall"-family_name     l = Ident l "family"--unit_tycon_name, fun_tycon_name, list_tycon_name, unboxed_singleton_tycon_name :: l -> QName l-unit_tycon_name l = unit_con_name l-fun_tycon_name  l = Special l (FunCon l)-list_tycon_name l = Special l (ListCon l)-unboxed_singleton_tycon_name l = Special l (UnboxedSingleCon l)--tuple_tycon_name :: l -> Boxed -> Int -> QName l-tuple_tycon_name l b i = tuple_con_name l b i--unit_tycon, fun_tycon, list_tycon, unboxed_singleton_tycon :: l -> Type l-unit_tycon l = TyCon l $ unit_tycon_name l-fun_tycon  l = TyCon l $ fun_tycon_name  l-list_tycon l = TyCon l $ list_tycon_name l-unboxed_singleton_tycon l = TyCon l $ unboxed_singleton_tycon_name l--tuple_tycon :: l -> Boxed -> Int -> Type l-tuple_tycon l b i = TyCon l (tuple_tycon_name l b i)---------------------------------------------------------------------------------- AST traversal, boiler-plate style---- | Test if two AST elements are equal modulo annotations.-(=~=) :: (Annotated a, Eq (a ())) => a l1 -> a l2 -> Bool-a =~= b = fmap (const ()) a == fmap (const ()) b---------------------------------------------------------------------------------- Reading annotations---- | AST nodes are annotated, and this class allows manipulation of the annotations.-class Functor ast => Annotated ast where-    -- | Retrieve the annotation of an AST node.-    ann :: ast l -> l-    -- | Change the annotation of an AST node. Note that only the annotation of-    --   the node itself is affected, and not the annotations of any child nodes.-    --   if all nodes in the AST tree are to be affected, use 'fmap'.-    amap :: (l -> l) -> ast l -> ast l--instance Annotated ModuleName where-    ann (ModuleName l _) = l-    amap f (ModuleName l n) = ModuleName (f l) n--instance Annotated SpecialCon where-    ann sc = case sc of-        UnitCon l   -> l-        ListCon l   -> l-        FunCon  l   -> l-        TupleCon l _ _  -> l-        Cons l      -> l-        UnboxedSingleCon l  -> l-    amap = fmap--instance Annotated QName where-    ann qn = case qn of-        Qual    l _ _  -> l-        UnQual  l   _  -> l-        Special l _    -> l-    amap f qn = case qn of-        Qual    l mn n  -> Qual    (f l) mn n-        UnQual  l    n  -> UnQual  (f l)    n-        Special l sc    -> Special (f l) sc--instance Annotated Name where-    ann (Ident  l _) = l-    ann (Symbol l _) = l-    amap = fmap--instance Annotated IPName where-    ann (IPDup l _) = l-    ann (IPLin l _) = l-    amap = fmap--instance Annotated QOp where-    ann (QVarOp l _) = l-    ann (QConOp l _) = l-    amap f (QVarOp l qn) = QVarOp (f l) qn-    amap f (QConOp l qn) = QConOp (f l) qn--instance Annotated Op where-    ann (VarOp l _) = l-    ann (ConOp l _) = l-    amap f (VarOp l n) = VarOp (f l) n-    amap f (ConOp l n) = ConOp (f l) n--instance Annotated CName where-    ann (VarName l _) = l-    ann (ConName l _) = l-    amap f (VarName l n) = VarName (f l) n-    amap f (ConName l n) = ConName (f l) n--instance Annotated Module where-    ann (Module l _ _ _ _)            = l-    ann (XmlPage l _ _ _ _ _ _)       = l-    ann (XmlHybrid l _ _ _ _ _ _ _ _) = l--    amap f (Module l mmh ops iss dcls) =-        Module (f l) mmh ops iss dcls-    amap f (XmlPage l mn os xn xas me es) =-        XmlPage (f l) mn os xn xas me es-    amap f (XmlHybrid l mmh ops iss dcls xn xas me es) =-        XmlHybrid (f l) mmh ops iss dcls xn xas me es--instance Annotated ModuleHead where-    ann (ModuleHead l _ _ _)         = l-    amap f (ModuleHead l n mwt mesl) = ModuleHead (f l) n mwt mesl--instance Annotated ExportSpecList where-    ann (ExportSpecList l _)      = l-    amap f (ExportSpecList l ess) = ExportSpecList (f l) ess--instance Annotated ExportSpec where-    ann es = case es of-        EVar l _            -> l-        EAbs l _ _          -> l-        EThingAll l _       -> l-        EThingWith l _ _    -> l-        EModuleContents l _ -> l-    amap f es = case es of-        EVar l qn     -> EVar (f l) qn-        EAbs l n qn       -> EAbs (f l) n qn-        EThingAll l qn  -> EThingAll (f l) qn-        EThingWith l qn cns -> EThingWith (f l) qn cns-        EModuleContents l mn    -> EModuleContents (f l) mn--instance Annotated Namespace where-    ann es = case es of-        NoNamespace l   -> l-        TypeNamespace l -> l-        PatternNamespace l -> l-    amap f es = case es of-        NoNamespace l   -> NoNamespace (f l)-        TypeNamespace l -> TypeNamespace (f l)-        PatternNamespace l -> PatternNamespace (f l)--instance Annotated ImportDecl where-    ann (ImportDecl l _ _ _ _ _ _ _) = l-    amap f (ImportDecl l mn qual src safe pkg mmn mis) =-        ImportDecl (f l) mn qual src safe pkg mmn mis--instance Annotated ImportSpecList where-    ann (ImportSpecList l _ _)      = l-    amap f (ImportSpecList l b iss) = ImportSpecList (f l) b iss--instance Annotated ImportSpec where-    ann is = case is of-        IVar l _         -> l-        IAbs l _ _       -> l-        IThingAll l _    -> l-        IThingWith l _ _ -> l-    amap f is = case is of-        IVar l n        -> IVar (f l) n-        IAbs l ns n     -> IAbs (f l) ns n-        IThingAll l n   -> IThingAll (f l) n-        IThingWith l n cns  -> IThingWith (f l) n cns--instance Annotated Assoc where-    ann (AssocNone  l) = l-    ann (AssocLeft  l) = l-    ann (AssocRight l) = l-    amap = fmap--instance Annotated Deriving where-    ann (Deriving l _)      = l-    amap f (Deriving l ihs) = Deriving (f l) ihs--instance Annotated TypeEqn where-    ann (TypeEqn l _ _) = l-    amap f (TypeEqn l a b) = TypeEqn (f l) a b--instance Annotated Decl where-    ann decl = case decl of-        TypeDecl     l _ _              -> l-        TypeFamDecl  l _ _              -> l-        ClosedTypeFamDecl  l _ _ _      -> l-        DataDecl     l _ _ _ _ _        -> l-        GDataDecl    l _ _ _ _ _ _      -> l-        DataFamDecl  l    _ _ _         -> l-        TypeInsDecl  l _  _             -> l-        DataInsDecl  l _ _ _ _          -> l-        GDataInsDecl l _ _ _ _ _        -> l-        ClassDecl    l _ _ _ _          -> l-        InstDecl     l _ _ _            -> l-        DerivDecl    l _ _              -> l-        InfixDecl    l _ _ _            -> l-        DefaultDecl  l _                -> l-        SpliceDecl   l _                -> l-        TypeSig      l _ _              -> l-        PatSynSig    l _ _ _ _ _        -> l-        FunBind      l _                -> l-        PatBind      l _ _ _            -> l-        ForImp       l _ _ _ _ _        -> l-        ForExp       l _ _ _ _          -> l-        RulePragmaDecl   l _            -> l-        DeprPragmaDecl   l _            -> l-        WarnPragmaDecl   l _            -> l-        InlineSig        l _ _ _        -> l-        InlineConlikeSig l   _ _        -> l-        SpecSig          l   _ _ _      -> l-        SpecInlineSig    l _ _ _ _      -> l-        InstSig          l _            -> l-        AnnPragma        l _            -> l-        MinimalPragma    l _            -> l-        RoleAnnotDecl    l _ _          -> l-        PatSyn           l _ _ _        -> l-    amap f decl = case decl of-        TypeDecl     l dh t      -> TypeDecl    (f l) dh t-        TypeFamDecl  l dh mk     -> TypeFamDecl (f l) dh mk-        ClosedTypeFamDecl  l dh mk eqns  -> ClosedTypeFamDecl (f l) dh mk eqns-        DataDecl     l dn mcx dh cds ders ->-            DataDecl (f l) dn mcx dh cds ders-        GDataDecl    l dn mcx dh mk gds ders ->-            GDataDecl (f l) dn mcx dh mk gds ders-        DataFamDecl  l mcx dh mk         -> DataFamDecl (f l) mcx dh mk-        TypeInsDecl  l t1 t2             -> TypeInsDecl (f l) t1 t2-        DataInsDecl  l dn t cds ders     -> DataInsDecl (f l) dn t cds ders-        GDataInsDecl l dn t mk gds ders  -> GDataInsDecl (f l) dn t mk gds ders-        ClassDecl    l mcx dh fds cds    -> ClassDecl (f l) mcx dh fds cds-        InstDecl     l mo ih ids         -> InstDecl (f l) mo ih ids-        DerivDecl    l mo ih             -> DerivDecl (f l) mo ih-        InfixDecl    l a k ops           -> InfixDecl (f l) a k ops-        DefaultDecl  l ts                -> DefaultDecl (f l) ts-        SpliceDecl   l sp                -> SpliceDecl (f l) sp-        TypeSig      l ns t              -> TypeSig (f l) ns t-        PatSynSig    l n dh c1 c2 t      -> PatSynSig (f l) n dh c1 c2 t-        FunBind      l ms                -> FunBind (f l) ms-        PatBind      l p rhs bs          -> PatBind (f l) p rhs bs-        ForImp       l cc msf s n t      -> ForImp (f l) cc msf s n t-        ForExp       l cc     s n t      -> ForExp (f l) cc     s n t-        RulePragmaDecl   l rs            -> RulePragmaDecl (f l) rs-        DeprPragmaDecl   l nss           -> DeprPragmaDecl (f l) nss-        WarnPragmaDecl   l nss           -> WarnPragmaDecl (f l) nss-        InlineSig        l b act qn      -> InlineSig (f l) b act qn-        InlineConlikeSig l   act qn      -> InlineConlikeSig (f l) act qn-        SpecSig          l   act qn ts   -> SpecSig       (f l)   act qn ts-        SpecInlineSig    l b act qn ts   -> SpecInlineSig (f l) b act qn ts-        InstSig          l ih            -> InstSig (f l) ih-        AnnPragma        l ann'          -> AnnPragma (f l) ann'-        MinimalPragma    l b             -> MinimalPragma (f l) b-        RoleAnnotDecl    l t rs          -> RoleAnnotDecl (f l) t rs-        PatSyn           l p r d         -> PatSyn (f l) p r d--instance Annotated Role where-    ann r = case r of-      RoleWildcard l -> l-      Representational l -> l-      Phantom l -> l-      Nominal l -> l-    amap f r = case r of-      RoleWildcard l -> RoleWildcard (f l)-      Representational l -> Representational (f l)-      Phantom l -> Phantom (f l)-      Nominal l -> Nominal (f l)--instance Annotated Annotation where-    ann (Ann     l _ _) = l-    ann (TypeAnn l _ _) = l-    ann (ModuleAnn l _) = l-    amap f (Ann     l n e) = Ann     (f l) n e-    amap f (TypeAnn l n e) = TypeAnn (f l) n e-    amap f (ModuleAnn l e) = ModuleAnn (f l) e--instance Annotated BooleanFormula where-    ann (VarFormula l _)   = l-    ann (AndFormula l _)   = l-    ann (OrFormula l _)    = l-    ann (ParenFormula l _) = l-    amap f (VarFormula l n)   = VarFormula (f l) n-    amap f (AndFormula l bs)  = AndFormula (f l) bs-    amap f (OrFormula l bs)   = OrFormula (f l) bs-    amap f (ParenFormula l b) = ParenFormula (f l) b--instance Annotated DataOrNew where-    ann (DataType l) = l-    ann (NewType  l) = l-    amap = fmap--instance Annotated DeclHead where-    ann (DHead l _)              = l-    ann (DHInfix l _ _)          = l-    ann (DHParen l _)            = l-    ann (DHApp l _ _)            = l-    amap f (DHead l n)           = DHead (f l) n-    amap f (DHInfix l tva n)     = DHInfix (f l) tva n-    amap f (DHParen l dh)        = DHParen (f l) dh-    amap f (DHApp l dh t)        = DHApp (f l) dh t--instance Annotated InstRule where-    ann (IRule l _ _ _)         = l-    ann (IParen l _)            = l-    amap f (IRule l mtv cxt qn) = IRule (f l) mtv cxt qn-    amap f (IParen l ih)        = IParen (f l) ih--instance Annotated InstHead where-    ann (IHCon l _)              = l-    ann (IHInfix l _ _)          = l-    ann (IHParen l _)            = l-    ann (IHApp l _ _)            = l-    amap f (IHCon l n)           = IHCon (f l) n-    amap f (IHInfix l tva n)     = IHInfix (f l) tva n-    amap f (IHParen l dh)        = IHParen (f l) dh-    amap f (IHApp l dh t)        = IHApp (f l) dh t--instance Annotated Binds where-    ann (BDecls  l _) = l-    ann (IPBinds l _) = l-    amap f (BDecls  l decls) = BDecls (f l) decls-    amap f (IPBinds l ibs)   = IPBinds (f l) ibs--instance Annotated IPBind where-    ann (IPBind l _ _) = l-    amap f (IPBind l ipn e) = IPBind (f l) ipn e--instance Annotated Match where-    ann (Match l _ _ _ _)        = l-    ann (InfixMatch l _ _ _ _ _) = l-    amap f (Match l n ps rhs bs) = Match (f l) n ps rhs bs-    amap f (InfixMatch l a n b rhs bs) = InfixMatch (f l) a n b rhs bs--instance Annotated QualConDecl where-    ann (QualConDecl l _ _ _) = l-    amap f (QualConDecl l tvs cx cd) = QualConDecl (f l) tvs cx cd--instance Annotated ConDecl where-    ann (ConDecl l _ _)        = l-    ann (InfixConDecl l _ _ _) = l-    ann (RecDecl l _ _)        = l-    amap f (ConDecl l n bts) = ConDecl (f l) n bts-    amap f (InfixConDecl l ta n tb) = InfixConDecl (f l) ta n tb-    amap f (RecDecl l n fds) = RecDecl (f l) n fds--instance Annotated FieldDecl where-    ann (FieldDecl l _ _) = l-    amap f (FieldDecl l ns t) = FieldDecl (f l) ns t--instance Annotated GadtDecl where-    ann (GadtDecl l _  _ _) = l-    amap f (GadtDecl l n t1 t2) = GadtDecl (f l) n t1 t2--instance Annotated ClassDecl where-    ann (ClsDecl    l _)      = l-    ann (ClsDataFam l _ _ _)  = l-    ann (ClsTyFam   l    _ _) = l-    ann (ClsTyDef   l _ _)    = l-    ann (ClsDefSig  l _ _)    = l-    amap f (ClsDecl    l d) = ClsDecl (f l) d-    amap f (ClsDataFam l mcx dh mk) = ClsDataFam (f l) mcx dh mk-    amap f (ClsTyFam   l     dh mk) = ClsTyFam   (f l)     dh mk-    amap f (ClsTyDef   l t1 t2) = ClsTyDef (f l) t1 t2-    amap f (ClsDefSig  l n t) = ClsDefSig (f l) n t--instance Annotated InstDecl where-    ann id = case id of-        InsDecl   l _            -> l-        InsType   l _ _          -> l-        InsData   l _ _  _ _     -> l-        InsGData  l _ _ _ _ _    -> l---        InsInline l _ _ _    -> l-    amap f id = case id of-        InsDecl   l d           -> InsDecl (f l) d-        InsType   l t1 t2       -> InsType (f l) t1 t2-        InsData   l dn t    cds ders -> InsData  (f l) dn t    cds ders-        InsGData  l dn t mk gds ders -> InsGData (f l) dn t mk gds ders---        InsInline l b act qn    -> InsInline (f l) b act qn--instance Annotated BangType where-     ann (BangedTy   l)    = l-     ann (UnpackedTy l)    = l-     amap f (BangedTy   l) = BangedTy (f l)-     amap f (UnpackedTy l) = UnpackedTy (f l)--instance Annotated Rhs where-     ann (UnGuardedRhs l _) = l-     ann (GuardedRhss  l _) = l-     amap f (UnGuardedRhs l e)     = UnGuardedRhs (f l) e-     amap f (GuardedRhss  l grhss) = GuardedRhss  (f l) grhss--instance Annotated GuardedRhs where-     ann (GuardedRhs l _ _) = l-     amap f (GuardedRhs l ss e) = GuardedRhs (f l) ss e--instance Annotated Type where-    ann t = case t of-      TyForall l _ _ _              -> l-      TyFun   l _ _                 -> l-      TyTuple l _ _                 -> l-      TyList  l _                   -> l-      TyParArray  l _               -> l-      TyApp   l _ _                 -> l-      TyVar   l _                   -> l-      TyCon   l _                   -> l-      TyParen l _                   -> l-      TyInfix l _ _ _               -> l-      TyKind  l _ _                 -> l-      TyPromoted l   _              -> l-      TyEquals l _ _                -> l-      TySplice l _                  -> l-      TyBang l _ _                  -> l-      TyWildCard l _                -> l-    amap f t1 = case t1 of-      TyForall l mtvs mcx t         -> TyForall (f l) mtvs mcx t-      TyFun   l t1' t2              -> TyFun (f l) t1' t2-      TyTuple l b ts                -> TyTuple (f l) b ts-      TyList  l t                   -> TyList (f l) t-      TyParArray  l t               -> TyParArray (f l) t-      TyApp   l t1' t2              -> TyApp (f l) t1' t2-      TyVar   l n                   -> TyVar (f l) n-      TyCon   l qn                  -> TyCon (f l) qn-      TyParen l t                   -> TyParen (f l) t-      TyInfix l ta qn tb            -> TyInfix (f l) ta qn tb-      TyKind  l t k                 -> TyKind (f l) t k-      TyPromoted l   p              -> TyPromoted (f l)   p-      TyEquals l a b                -> TyEquals (f l) a b-      TySplice l s                  -> TySplice (f l) s-      TyBang l b t                  -> TyBang (f l) b t-      TyWildCard l n                -> TyWildCard (f l) n--instance Annotated TyVarBind where-    ann (KindedVar   l _ _) = l-    ann (UnkindedVar l _)   = l-    amap f (KindedVar   l n k) = KindedVar   (f l) n k-    amap f (UnkindedVar l n)   = UnkindedVar (f l) n--instance Annotated Kind where-    ann (KindStar l) = l-    ann (KindFn   l _ _) = l-    ann (KindParen l _)  = l-    ann (KindVar l _)    = l-    ann (KindApp l _ _)  = l-    ann (KindTuple l _)  = l-    ann (KindList  l _)  = l-    amap f (KindStar l) = KindStar (f l)-    amap f (KindFn   l k1 k2) = KindFn (f l) k1 k2-    amap f (KindParen l k) = KindParen (f l) k-    amap f (KindVar l n) = KindVar (f l) n-    amap f (KindApp l k1 k2) = KindApp (f l) k1 k2-    amap f (KindTuple l ks) = KindTuple (f l) ks-    amap f (KindList  l ks) = KindList  (f l) ks--instance Annotated FunDep where-    ann (FunDep l _ _) = l-    amap f (FunDep l ns1 ns2) = FunDep (f l) ns1 ns2--instance Annotated Context where-    ann (CxSingle l _) = l-    ann (CxTuple  l _) = l-    ann (CxEmpty  l)   = l-    amap f (CxSingle l asst ) = CxSingle (f l) asst-    amap f (CxTuple  l assts) = CxTuple  (f l) assts-    amap f (CxEmpty l) = CxEmpty (f l)--instance Annotated Asst where-    ann asst = case asst of-        ClassA l _ _     -> l-        AppA l _ _       -> l-        InfixA l _ _ _   -> l-        IParam l _ _     -> l-        EqualP l _ _     -> l-        ParenA l _       -> l-        WildCardA l _    -> l-    amap f asst = case asst of-        ClassA l qn ts      -> ClassA (f l) qn ts-        AppA   l n ns       -> AppA   (f l) n ns-        InfixA l ta qn tb   -> InfixA (f l) ta qn tb-        IParam l ipn t      -> IParam (f l) ipn t-        EqualP l t1 t2      -> EqualP (f l) t1 t2-        ParenA l a          -> ParenA (f l) a-        WildCardA l mn      -> WildCardA (f l) mn--instance Annotated Literal where-    ann lit = case lit of-        Char    l _    _  -> l-        String  l _    _  -> l-        Int     l _    _  -> l-        Frac    l _    _  -> l-        PrimInt    l _ _  -> l-        PrimWord   l _ _  -> l-        PrimFloat  l _ _  -> l-        PrimDouble l _ _  -> l-        PrimChar   l _ _  -> l-        PrimString l _ _  -> l-    amap = fmap--instance Annotated Sign where-    ann sg = case sg of-        Signless l -> l-        Negative l -> l-    amap = fmap--instance Annotated Exp where-    ann e = case e of-        Var l _                -> l-        IPVar l _              -> l-        Con l _                -> l-        Lit l _                -> l-        InfixApp l _ _ _       -> l-        App l _ _              -> l-        NegApp l _             -> l-        Lambda l _ _           -> l-        Let l _ _              -> l-        If l _ _ _             -> l-        MultiIf l _            -> l-        Case l _ _             -> l-        Do l _                 -> l-        MDo l _                -> l-        Tuple l _ _            -> l-        TupleSection l _ _     -> l-        List l _               -> l-        ParArray l _           -> l-        Paren l _              -> l-        LeftSection l _ _      -> l-        RightSection l _ _     -> l-        RecConstr l _ _        -> l-        RecUpdate l _ _        -> l-        EnumFrom l _           -> l-        EnumFromTo l _ _       -> l-        EnumFromThen l _ _     -> l-        EnumFromThenTo l _ _ _ -> l-        ParArrayFromTo l _ _   -> l-        ParArrayFromThenTo l _ _ _ -> l-        ListComp l _ _         -> l-        ParComp  l _ _         -> l-        ParArrayComp  l _ _    -> l-        ExpTypeSig l _ _       -> l-        VarQuote l _           -> l-        TypQuote l _           -> l-        BracketExp l _         -> l-        SpliceExp l _          -> l-        QuasiQuote l _ _       -> l--        XTag  l _ _ _ _        -> l-        XETag l _ _ _          -> l-        XPcdata l _            -> l-        XExpTag l _            -> l-        XChildTag l _          -> l--        CorePragma l _ _       -> l-        SCCPragma  l _ _       -> l-        GenPragma  l _ _ _ _   -> l--        Proc            l _ _  -> l-        LeftArrApp      l _ _  -> l-        RightArrApp     l _ _  -> l-        LeftArrHighApp  l _ _  -> l-        RightArrHighApp l _ _  -> l--        LCase l _              -> l-        ExprHole l             -> l--    amap f e1 = case e1 of-        Var l qn        -> Var (f l) qn-        IPVar l ipn     -> IPVar (f l) ipn-        Con l qn        -> Con (f l) qn-        Lit l lit       -> Lit (f l) lit-        InfixApp l e1' qop e2    -> InfixApp (f l) e1' qop e2-        App l e1' e2    -> App (f l) e1' e2-        NegApp l e      -> NegApp (f l) e-        Lambda l ps e   -> Lambda (f l) ps e-        Let l bs e      -> Let (f l) bs e-        If l ec et ee   -> If (f l) ec et ee-        Case l e alts   -> Case (f l) e alts-        Do l ss         -> Do (f l) ss-        MDo l ss        -> MDo (f l) ss-        Tuple l bx es   -> Tuple (f l) bx es-        TupleSection l bx mes -> TupleSection (f l) bx mes-        List l es       -> List (f l) es-        ParArray l es   -> ParArray (f l) es-        Paren l e       -> Paren (f l) e-        LeftSection l e qop     -> LeftSection (f l) e qop-        RightSection l qop e    -> RightSection (f l) qop e-        RecConstr l qn fups     -> RecConstr (f l) qn fups-        RecUpdate l e  fups     -> RecUpdate (f l) e  fups-        EnumFrom l e            -> EnumFrom (f l) e-        EnumFromTo l ef et      -> EnumFromTo (f l) ef et-        EnumFromThen l ef et    -> EnumFromThen (f l) ef et-        EnumFromThenTo l ef eth eto -> EnumFromThenTo (f l) ef eth eto-        ParArrayFromTo l ef et  -> ParArrayFromTo (f l) ef et-        ParArrayFromThenTo l ef eth eto -> ParArrayFromThenTo (f l) ef eth eto-        ListComp l e qss        -> ListComp (f l) e qss-        ParComp  l e qsss       -> ParComp  (f l) e qsss-        ParArrayComp  l e qsss  -> ParArrayComp  (f l) e qsss-        ExpTypeSig l e t        -> ExpTypeSig (f l) e t-        VarQuote l qn           -> VarQuote (f l) qn-        TypQuote l qn           -> TypQuote (f l) qn-        BracketExp l br         -> BracketExp (f l) br-        SpliceExp l sp          -> SpliceExp (f l) sp-        QuasiQuote l sn se      -> QuasiQuote (f l) sn se--        XTag  l xn xas me es     -> XTag  (f l) xn xas me es-        XETag l xn xas me        -> XETag (f l) xn xas me-        XPcdata l s              -> XPcdata (f l) s-        XExpTag l e              -> XExpTag (f l) e-        XChildTag l es           -> XChildTag (f l) es--        CorePragma l s e   -> CorePragma (f l) s e-        SCCPragma  l s e   -> SCCPragma (f l) s e-        GenPragma  l s n12 n34 e -> GenPragma (f l) s n12 n34 e--        Proc            l p e  -> Proc (f l) p e-        LeftArrApp      l e1' e2 -> LeftArrApp      (f l) e1' e2-        RightArrApp     l e1' e2 -> RightArrApp     (f l) e1' e2-        LeftArrHighApp  l e1' e2 -> LeftArrHighApp  (f l) e1' e2-        RightArrHighApp l e1' e2 -> RightArrHighApp (f l) e1' e2--        LCase l alts -> LCase (f l) alts-        MultiIf l alts -> MultiIf (f l) alts-        ExprHole l      -> ExprHole (f l)---instance Annotated XName where-    ann (XName l _)      = l-    ann (XDomName l _ _) = l-    amap = fmap--instance Annotated XAttr where-    ann (XAttr l _ _) = l-    amap f (XAttr l xn e) = XAttr (f l) xn e--instance Annotated Bracket where-    ann (ExpBracket l _)  = l-    ann (PatBracket l _)  = l-    ann (TypeBracket l _) = l-    ann (DeclBracket l _) = l-    amap f (ExpBracket l e) = ExpBracket (f l) e-    amap f (PatBracket l p) = PatBracket (f l) p-    amap f (TypeBracket l t) = TypeBracket (f l) t-    amap f (DeclBracket l ds) = DeclBracket (f l) ds--instance Annotated Splice where-    ann (IdSplice l _)    = l-    ann (ParenSplice l _) = l-    amap f (IdSplice l s) = IdSplice (f l) s-    amap f (ParenSplice l e) = ParenSplice (f l) e--instance Annotated Safety where-    ann (PlayRisky l) = l-    ann (PlaySafe l _) = l-    ann (PlayInterruptible l) = l-    amap = fmap--instance Annotated CallConv where-    ann (StdCall l) = l-    ann (CCall l) = l-    ann (CPlusPlus l) = l-    ann (DotNet l) = l-    ann (Jvm l) = l-    ann (Js l) = l-    ann (JavaScript l) = l-    ann (CApi l) = l-    amap = fmap--instance Annotated ModulePragma where-    ann (LanguagePragma   l _)   = l-    ann (OptionsPragma    l _ _) = l-    ann (AnnModulePragma  l _)   = l-    amap f (LanguagePragma   l ns) = LanguagePragma (f l) ns-    amap f (AnnModulePragma  l a) = AnnModulePragma (f l) a-    amap f p = fmap f p--instance Annotated Overlap where-    ann (NoOverlap l)  = l-    ann (Overlap l)    = l-    ann (Incoherent l) = l-    amap = fmap--instance Annotated Activation where-    ann (ActiveFrom   l _) = l-    ann (ActiveUntil  l _) = l-    amap = fmap--instance Annotated Rule where-    ann (Rule l _ _ _ _ _) = l-    amap f (Rule l s act mrvs e1 e2) = Rule (f l) s act mrvs e1 e2--instance Annotated RuleVar where-    ann (RuleVar l _)        = l-    ann (TypedRuleVar l _ _) = l-    amap f (RuleVar l n) = RuleVar (f l) n-    amap f (TypedRuleVar l n t) = TypedRuleVar (f l) n t--instance Annotated WarningText where-    ann (DeprText l _) = l-    ann (WarnText l _) = l-    amap = fmap--instance Annotated Pat where-    ann p = case p of-      PVar l _          -> l-      PLit l _ _        -> l-      PNPlusK l _ _     -> l-      PInfixApp l _ _ _ -> l-      PApp l _ _        -> l-      PTuple l _ _      -> l-      PList l _         -> l-      PParen l _        -> l-      PRec l _ _        -> l-      PAsPat l _ _      -> l-      PWildCard l       -> l-      PIrrPat l _       -> l-      PatTypeSig l _ _  -> l-      PViewPat l _ _    -> l-      PRPat l _         -> l-      PXTag l _ _ _ _   -> l-      PXETag l _ _ _    -> l-      PXPcdata l _      -> l-      PXPatTag l _      -> l-      PXRPats  l _      -> l-      PQuasiQuote l _ _ -> l-      PBangPat l _      -> l-    amap f p1 = case p1 of-      PVar l n          -> PVar (f l) n-      PLit l sg lit     -> PLit (f l) sg lit-      PNPlusK l n k     -> PNPlusK (f l) n k-      PInfixApp l pa qn pb  -> PInfixApp (f l) pa qn pb-      PApp l qn ps      -> PApp (f l) qn ps-      PTuple l bx ps    -> PTuple (f l) bx ps-      PList l ps        -> PList (f l) ps-      PParen l p        -> PParen (f l) p-      PRec l qn pfs     -> PRec (f l) qn pfs-      PAsPat l n p      -> PAsPat (f l) n p-      PWildCard l       -> PWildCard (f l)-      PIrrPat l p       -> PIrrPat (f l) p-      PatTypeSig l p t  -> PatTypeSig (f l) p t-      PViewPat l e p    -> PViewPat (f l) e p-      PRPat l rps       -> PRPat (f l) rps-      PXTag l xn pxas mp ps -> PXTag  (f l) xn pxas mp ps-      PXETag l xn pxas mp   -> PXETag (f l) xn pxas mp-      PXPcdata l s      -> PXPcdata (f l) s-      PXPatTag l p      -> PXPatTag (f l) p-      PXRPats  l rps    -> PXRPats  (f l) rps-      PQuasiQuote l sn st   -> PQuasiQuote (f l) sn st-      PBangPat l p          -> PBangPat (f l) p--instance Annotated PXAttr where-    ann (PXAttr l _ _) = l-    amap f (PXAttr l xn p) = PXAttr (f l) xn p--instance Annotated RPatOp where-    ann (RPStar  l) = l-    ann (RPStarG l) = l-    ann (RPPlus  l) = l-    ann (RPPlusG l) = l-    ann (RPOpt   l) = l-    ann (RPOptG  l) = l-    amap = fmap--instance Annotated RPat where-    ann rp = case rp of-      RPOp l _ _            -> l-      RPEither l _ _        -> l-      RPSeq l _             -> l-      RPGuard l _ _         -> l-      RPCAs l _ _           -> l-      RPAs l _ _            -> l-      RPParen l _           -> l-      RPPat l _             -> l-    amap f rp1 = case rp1 of-      RPOp l rp rop         -> RPOp (f l) rp rop-      RPEither l rp1' rp2   -> RPEither (f l) rp1' rp2-      RPSeq l rps           -> RPSeq (f l) rps-      RPGuard l p ss        -> RPGuard (f l) p ss-      RPCAs l n rp          -> RPCAs (f l) n rp-      RPAs l n rp           -> RPAs (f l) n rp-      RPParen l rp          -> RPParen (f l) rp-      RPPat l p             -> RPPat (f l) p--instance Annotated PatField where-    ann (PFieldPat l _ _)  = l-    ann (PFieldPun l _)    = l-    ann (PFieldWildcard l) = l-    amap f (PFieldPat l qn p) = PFieldPat (f l) qn p-    amap f (PFieldPun l n) = PFieldPun (f l) n-    amap f (PFieldWildcard l) = PFieldWildcard (f l)--instance Annotated Stmt where-    ann (Generator l _ _) = l-    ann (Qualifier l _)   = l-    ann (LetStmt l _)     = l-    ann (RecStmt l _)     = l-    amap f (Generator l p e) = Generator (f l) p e-    amap f (Qualifier l e)   = Qualifier (f l) e-    amap f (LetStmt l bs)    = LetStmt (f l) bs-    amap f (RecStmt l ss)    = RecStmt (f l) ss--instance Annotated QualStmt where-    ann (QualStmt     l _)   = l-    ann (ThenTrans    l _)   = l-    ann (ThenBy       l _ _) = l-    ann (GroupBy      l _)   = l-    ann (GroupUsing   l _)   = l-    ann (GroupByUsing l _ _) = l-    amap f (QualStmt     l s) = QualStmt (f l) s-    amap f (ThenTrans    l e) = ThenTrans (f l) e-    amap f (ThenBy       l e1 e2) = ThenBy (f l) e1 e2-    amap f (GroupBy      l e) = GroupBy (f l) e-    amap f (GroupUsing   l e) = GroupUsing (f l) e-    amap f (GroupByUsing l e1 e2) = GroupByUsing (f l) e1 e2--instance Annotated FieldUpdate where-    ann (FieldUpdate l _ _)  = l-    ann (FieldPun l _)       = l-    ann (FieldWildcard l)    = l-    amap f (FieldUpdate l qn e) = FieldUpdate (f l) qn e-    amap f (FieldPun l n)       = FieldPun (f l) n-    amap f (FieldWildcard l)    = FieldWildcard (f l)--instance Annotated Alt where-    ann (Alt l _ _ _) = l-    amap f (Alt l p gs bs) = Alt (f l) p gs bs--instance Annotated Promoted where-    ann (PromotedInteger l _ _) = l-    ann (PromotedString l _ _)  = l-    ann (PromotedCon l _ _)     = l-    ann (PromotedList l _ _)    = l-    ann (PromotedTuple l _)     = l-    ann (PromotedUnit l)        = l-    amap f (PromotedInteger l int raw) = PromotedInteger (f l) int raw-    amap f (PromotedString l str raw) = PromotedString (f l) str raw-    amap f (PromotedCon l b qn)   = PromotedCon (f l) b qn-    amap f (PromotedList l b ps)  = PromotedList  (f l) b ps-    amap f (PromotedTuple l ps) = PromotedTuple (f l) ps-    amap f (PromotedUnit l)     = PromotedUnit (f l)
src/Language/Haskell/Exts/Build.hs view
@@ -1,3 +1,5 @@+{-# LANGUAGE Safe #-}+ ----------------------------------------------------------------------------- -- | -- Module      :  Language.Haskell.Exts.Build@@ -20,54 +22,54 @@ module Language.Haskell.Exts.Build (      -- * Syntax building functions-    name,       -- :: String -> Name-    sym,        -- :: String -> Name-    var,        -- :: Name -> Exp-    op,         -- :: Name -> QOp-    qvar,       -- :: Module -> Name -> Exp-    pvar,       -- :: Name -> Pat-    app,        -- :: Exp -> Exp -> Exp-    infixApp,   -- :: Exp -> QOp -> Exp -> Exp-    appFun,     -- :: Exp -> [Exp] -> Exp-    pApp,       -- :: Name -> [Pat] -> Pat-    tuple,      -- :: [Exp] -> Exp-    pTuple,     -- :: [Pat] -> Pat-    varTuple,   -- :: [Name] -> Exp-    pvarTuple,  -- :: [Name] -> Pat-    function,   -- :: String -> Exp-    strE,       -- :: String -> Exp-    charE,      -- :: Char -> Exp-    intE,       -- :: Integer -> Exp-    strP,       -- :: String -> Pat-    charP,      -- :: Char -> Pat-    intP,       -- :: Integer -> Pat-    doE,        -- :: [Stmt] -> Exp-    lamE,       -- :: SrcLoc -> [Pat] -> Exp -> Exp-    letE,       -- :: [Decl] -> Exp -> Exp-    caseE,      -- :: Exp -> [Alt] -> Exp-    alt,        -- :: SrcLoc -> Pat -> Exp -> Alt-    altGW,      -- :: SrcLoc -> Pat -> [Stmt] -> Exp -> Binds -> Alt-    listE,      -- :: [Exp] -> Exp-    eList,      -- :: Exp-    peList,     -- :: Pat-    paren,      -- :: Exp -> Exp-    pParen,     -- :: Pat -> Pat-    qualStmt,   -- :: Exp -> Stmt-    genStmt,    -- :: SrcLoc -> Pat -> Exp -> Stmt+    name,       -- :: String -> Name ()+    sym,        -- :: String -> Name ()+    var,        -- :: Name () -> Exp ()+    op,         -- :: Name () -> QOp+    qvar,       -- :: Module -> Name () -> Exp ()+    pvar,       -- :: Name () -> Pat ()+    app,        -- :: Exp () -> Exp () -> Exp ()+    infixApp,   -- :: Exp () -> QOp -> Exp () -> Exp ()+    appFun,     -- :: Exp () -> [Exp] -> Exp ()+    pApp,       -- :: Name () -> [Pat] -> Pat ()+    tuple,      -- :: [Exp] -> Exp ()+    pTuple,     -- :: [Pat] -> Pat ()+    varTuple,   -- :: [Name] -> Exp ()+    pvarTuple,  -- :: [Name] -> Pat ()+    function,   -- :: String -> Exp ()+    strE,       -- :: String -> Exp ()+    charE,      -- :: Char -> Exp ()+    intE,       -- :: Integer -> Exp ()+    strP,       -- :: String -> Pat ()+    charP,      -- :: Char -> Pat ()+    intP,       -- :: Integer -> Pat ()+    doE,        -- :: [Stmt] -> Exp ()+    lamE,       -- :: SrcLoc -> [Pat] -> Exp () -> Exp ()+    letE,       -- :: [Decl] -> Exp () -> Exp ()+    caseE,      -- :: Exp () -> [Alt] -> Exp ()+    alt,        -- :: SrcLoc -> Pat () -> Exp () -> Alt+    altGW,      -- :: SrcLoc -> Pat () -> [Stmt] -> Exp () -> Binds -> Alt+    listE,      -- :: [Exp] -> Exp ()+    eList,      -- :: Exp ()+    peList,     -- :: Pat ()+    paren,      -- :: Exp () -> Exp ()+    pParen,     -- :: Pat () -> Pat ()+    qualStmt,   -- :: Exp () -> Stmt+    genStmt,    -- :: SrcLoc -> Pat () -> Exp () -> Stmt     letStmt,    -- :: [Decl] -> Stmt     binds,      -- :: [Decl] -> Binds     noBinds,    -- :: Binds-    wildcard,   -- :: Pat+    wildcard,   -- :: Pat ()     genNames,   -- :: String -> Int -> [Name]      -- * More advanced building-    sfun,           -- :: SrcLoc -> Name -> [Name] -> Rhs -> Binds -> Decl-    simpleFun,      -- :: SrcLoc -> Name -> Name -> Exp -> Decl-    patBind,        -- :: SrcLoc -> Pat -> Exp -> Decl-    patBindWhere,   -- :: SrcLoc -> Pat -> Exp -> [Decl] -> Decl-    nameBind,       -- :: SrcLoc -> Name -> Exp -> Decl-    metaFunction,   -- :: String -> [Exp] -> Exp-    metaConPat      -- :: String -> [Pat] -> Pat+    sfun,           -- :: SrcLoc -> Name () -> [Name] -> Rhs -> Binds -> Decl ()+    simpleFun,      -- :: SrcLoc -> Name () -> Name () -> Exp () -> Decl ()+    patBind,        -- :: SrcLoc -> Pat () -> Exp () -> Decl ()+    patBindWhere,   -- :: SrcLoc -> Pat () -> Exp () -> [Decl] -> Decl ()+    nameBind,       -- :: SrcLoc -> Name () -> Exp () -> Decl ()+    metaFunction,   -- :: String -> [Exp] -> Exp ()+    metaConPat      -- :: String -> [Pat] -> Pat ()   ) where  import Language.Haskell.Exts.Syntax@@ -77,214 +79,216 @@  -- | An identifier with the given string as its name. --   The string should be a valid Haskell identifier.-name :: String -> Name-name = Ident+name :: String -> Name ()+name = Ident ()  -- | A symbol identifier. The string should be a valid --   Haskell symbol identifier.-sym :: String -> Name-sym = Symbol+sym :: String -> Name ()+sym = Symbol ()  -- | A local variable as expression.-var :: Name -> Exp-var = Var . UnQual+var :: Name () -> Exp ()+var = Var () . UnQual ()  -- | Use the given identifier as an operator.-op :: Name -> QOp-op = QVarOp . UnQual+op :: Name () -> QOp ()+op = QVarOp () . UnQual ()  -- | A qualified variable as expression.-qvar :: ModuleName -> Name -> Exp-qvar m n = Var $ Qual m n+qvar :: ModuleName () -> Name () -> Exp ()+qvar m n = Var () $ Qual () m n  -- | A pattern variable.-pvar :: Name -> Pat-pvar = PVar+pvar :: Name () -> Pat ()+pvar = PVar ()  -- | Application of expressions by juxtaposition.-app :: Exp -> Exp -> Exp-app = App+app :: Exp () -> Exp () -> Exp ()+app = App ()  -- | Apply an operator infix.-infixApp :: Exp -> QOp -> Exp -> Exp-infixApp = InfixApp+infixApp :: Exp () -> QOp () -> Exp () -> Exp ()+infixApp = InfixApp ()  -- | Apply a function to a list of arguments.-appFun :: Exp -> [Exp] -> Exp+appFun :: Exp () -> [Exp ()] -> Exp () appFun f [] = f appFun f (a:as) = appFun (app f a) as  -- | A constructor pattern, with argument patterns.-pApp :: Name -> [Pat] -> Pat-pApp n ps = PApp (UnQual n) ps+pApp :: Name () -> [Pat ()] -> Pat ()+pApp n ps = PApp () (UnQual () n) ps  -- | A tuple expression.-tuple :: [Exp] -> Exp-tuple = Tuple Boxed+tuple :: [Exp ()] -> Exp ()+tuple = Tuple () Boxed  -- | A tuple pattern.-pTuple :: [Pat] -> Pat-pTuple = PTuple Boxed+pTuple :: [Pat ()] -> Pat ()+pTuple = PTuple () Boxed  -- | A tuple expression consisting of variables only.-varTuple :: [Name] -> Exp+varTuple :: [Name ()] -> Exp () varTuple ns = tuple $ map var ns  -- | A tuple pattern consisting of variables only.-pvarTuple :: [Name] -> Pat+pvarTuple :: [Name ()] -> Pat () pvarTuple ns = pTuple $ map pvar ns  -- | A function with a given name.-function :: String -> Exp-function = var . Ident+function :: String -> Exp ()+function = var . Ident ()  -- | A literal string expression.-strE :: String -> Exp-strE = Lit . String+strE :: String -> Exp ()+strE s = Lit () (String () s s)  -- | A literal character expression.-charE :: Char -> Exp-charE = Lit . Char+charE :: Char -> Exp ()+charE c = Lit () (Char () c [c])  -- | A literal integer expression.-intE :: Integer -> Exp-intE = Lit . Int+intE :: Integer -> Exp ()+intE n = Lit () (Int () n (show n))  -- | A literal string pattern.-strP :: String -> Pat-strP = PLit Signless . String+strP :: String -> Pat ()+strP s = PLit () (Signless ()) (String () s s)  -- | A literal character pattern.-charP :: Char -> Pat-charP = PLit Signless . Char+charP :: Char -> Pat ()+charP x = PLit () (Signless ()) (Char () x [x])  -- | A literal integer pattern.-intP :: Integer -> Pat-intP x = PLit (if x >= 0 then Signless else Negative) . Int . abs $ x+intP :: Integer -> Pat ()+intP x = PLit ()+          (if x >= 0 then Signless () else Negative ())+          (Int () (abs x) (show x))  -- | A do block formed by the given statements. --   The last statement in the list should be --   a 'Qualifier' expression.-doE :: [Stmt] -> Exp-doE = Do+doE :: [Stmt ()] -> Exp ()+doE = Do ()  -- | Lambda abstraction, given a list of argument --   patterns and an expression body.-lamE :: SrcLoc -> [Pat] -> Exp -> Exp-lamE = Lambda+lamE :: [Pat ()] -> Exp () -> Exp ()+lamE = Lambda ()  -- | A @let@ ... @in@ block.-letE :: [Decl] -> Exp -> Exp-letE ds e = Let (binds ds) e+letE :: [Decl ()] -> Exp () -> Exp ()+letE ds e = Let () (binds ds) e  -- | A @case@ expression.-caseE :: Exp -> [Alt] -> Exp-caseE = Case+caseE :: Exp () -> [Alt ()] -> Exp ()+caseE = Case ()  -- | An unguarded alternative in a @case@ expression.-alt :: SrcLoc -> Pat -> Exp -> Alt-alt s p e = Alt s p (unGAlt e) noBinds+alt :: Pat () -> Exp () -> Alt ()+alt p e = Alt () p (unGAlt e) noBinds  -- | An alternative with a single guard in a @case@ expression.-altGW :: SrcLoc -> Pat -> [Stmt] -> Exp -> Binds -> Alt-altGW s p gs e w = Alt s p (gAlt s gs e) (Just w)+altGW :: Pat () -> [Stmt ()] -> Exp () -> Binds () -> Alt ()+altGW p gs e w = Alt () p (gAlt gs e) (Just w)  -- | An unguarded righthand side of a @case@ alternative.-unGAlt :: Exp -> Rhs-unGAlt = UnGuardedRhs+unGAlt :: Exp () -> Rhs ()+unGAlt = UnGuardedRhs ()  -- | An list of guarded righthand sides for a @case@ alternative.-gAlts :: SrcLoc -> [([Stmt],Exp)] -> Rhs-gAlts s as = GuardedRhss $ map (\(gs,e) -> GuardedRhs s gs e) as+gAlts :: [([Stmt ()],Exp ())] -> Rhs ()+gAlts as = GuardedRhss () $ map (\(gs,e) -> GuardedRhs () gs e) as  -- | A single guarded righthand side for a @case@ alternative.-gAlt :: SrcLoc -> [Stmt] -> Exp -> Rhs-gAlt s gs e = gAlts s [(gs,e)]+gAlt :: [Stmt ()] -> Exp () -> Rhs ()+gAlt gs e = gAlts [(gs,e)]  -- | A list expression.-listE :: [Exp] -> Exp-listE = List+listE :: [Exp ()] -> Exp ()+listE = List ()  -- | The empty list expression.-eList :: Exp-eList = List []+eList :: Exp ()+eList = List () []  -- | The empty list pattern.-peList :: Pat-peList = PList []+peList :: Pat ()+peList = PList () []  -- | Put parentheses around an expression.-paren :: Exp -> Exp-paren = Paren+paren :: Exp () -> Exp ()+paren = Paren ()  -- | Put parentheses around a pattern.-pParen :: Pat -> Pat-pParen = PParen+pParen :: Pat () -> Pat ()+pParen = PParen ()  -- | A qualifier expression statement.-qualStmt :: Exp -> Stmt-qualStmt = Qualifier+qualStmt :: Exp () -> Stmt ()+qualStmt = Qualifier ()  -- | A generator statement: /pat/ @<-@ /exp/-genStmt :: SrcLoc -> Pat -> Exp -> Stmt-genStmt = Generator+genStmt :: Pat () -> Exp () -> Stmt ()+genStmt = Generator ()  -- | A @let@ binding group as a statement.-letStmt :: [Decl] -> Stmt-letStmt ds = LetStmt $ binds ds+letStmt :: [Decl ()] -> Stmt ()+letStmt ds = LetStmt () $ binds ds  -- | Hoist a set of declarations to a binding group.-binds :: [Decl] -> Binds-binds = BDecls+binds :: [Decl ()] -> Binds ()+binds = BDecls ()  -- | An empty binding group.-noBinds :: Maybe Binds+noBinds :: Maybe (Binds ()) noBinds = Nothing  -- | The wildcard pattern: @_@-wildcard :: Pat-wildcard = PWildCard+wildcard :: Pat ()+wildcard = PWildCard ()  -- | Generate k names by appending numbers 1 through k to a given string.-genNames :: String -> Int -> [Name]-genNames s k = [ Ident $ s ++ show i | i <- [1..k] ]+genNames :: String -> Int -> [Name ()]+genNames s k = [ Ident () $ s ++ show i | i <- [1..k] ]  ------------------------------------------------------------------------------- -- Some more specialised help functions  -- | A function with a single clause-sfun :: SrcLoc -> Name -> [Name] -> Rhs -> Maybe Binds -> Decl-sfun s f pvs rhs bs = FunBind [Match s f (map pvar pvs) Nothing rhs bs]+sfun :: Name () -> [Name ()] -> (Rhs ()) -> Maybe (Binds ()) -> Decl ()+sfun f pvs rhs bs = FunBind () [Match () f (map pvar pvs) rhs bs]  -- | A function with a single clause, a single argument, no guards -- and no where declarations-simpleFun :: SrcLoc -> Name -> Name -> Exp -> Decl-simpleFun s f a e = let rhs = UnGuardedRhs e-             in sfun s f [a] rhs noBinds+simpleFun :: Name () -> Name () -> Exp () -> Decl ()+simpleFun f a e = let rhs = UnGuardedRhs () e+             in sfun f [a] rhs noBinds  -- | A pattern bind where the pattern is a variable, and where -- there are no guards and no 'where' clause.-patBind :: SrcLoc -> Pat -> Exp -> Decl-patBind s p e = let rhs = UnGuardedRhs e-         in PatBind s p rhs noBinds+patBind :: Pat () -> Exp () -> Decl ()+patBind p e = let rhs = UnGuardedRhs () e+         in PatBind () p rhs noBinds  -- | A pattern bind where the pattern is a variable, and where -- there are no guards, but with a 'where' clause.-patBindWhere :: SrcLoc -> Pat -> Exp -> [Decl] -> Decl-patBindWhere s p e ds = let rhs = UnGuardedRhs e-             in PatBind s p rhs (if null ds then Nothing else Just (binds ds))+patBindWhere :: Pat () -> Exp () -> [Decl ()] -> Decl ()+patBindWhere p e ds = let rhs = UnGuardedRhs () e+             in PatBind () p rhs (if null ds then Nothing else Just (binds ds))  -- | Bind an identifier to an expression.-nameBind :: SrcLoc -> Name -> Exp -> Decl-nameBind s n e = patBind s (pvar n) e+nameBind :: Name () -> Exp () -> Decl ()+nameBind n e = patBind (pvar n) e  -- | Apply function of a given name to a list of arguments.-metaFunction :: String -> [Exp] -> Exp+metaFunction :: String -> [Exp ()] -> Exp () metaFunction s' es' = mf s' (reverse es')   where mf s []     = var $ name s         mf s (e:es) = app (mf s es) e  -- | Apply a constructor of a given name to a list of pattern --   arguments, forming a constructor pattern.-metaConPat :: String -> [Pat] -> Pat+metaConPat :: String -> [Pat ()] -> Pat () metaConPat s ps = pApp (name s) ps
src/Language/Haskell/Exts/Comments.hs view
@@ -1,9 +1,54 @@-{-# LANGUAGE DeriveDataTypeable #-}-module Language.Haskell.Exts.Comments where+{-# LANGUAGE DeriveDataTypeable, Safe #-} +-----------------------------------------------------------------------------+-- |+-- Module      :  Language.Haskell.Exts.Comments+-- Copyright   :  (c) JP Moresmau 2015+-- License     :  BSD-style (see the file LICENSE.txt)+--+-- Maintainer  :  Niklas Broberg, d00nibro@chalmers.se+-- Stability   :  experimental+-- Portability :  portable+--+-- This module processes comments along with an annotated AST,+-- to be able to associate Haddock comments with the actual item+-- they refer to.+--+-- Example:+--+-- @+-- let+--  parse1Result :: ParseResult (Module SrcSpanInfo,[Comment])+--  parse1Result =+--    parseFileContentsWithComments+--     (defaultParseMode { parseFilename = file })+--      contents+--  withC :: ParseResult (Module (SrcSpanInfo,[Comment]))+--  withC = case parse1Result of+--            ParseOk res         -> ParseOk $ associateHaddock res+--            ParseFailed sloc msg -> ParseFailed sloc msg+-- @+--+-- In this code sample, parse1Result is what you get when you parse a file:+-- a 'Module' annotated wth 'SrcSpanInfo', and a list of comments+-- After passing the result to 'associateHaddock', you get a 'Module'+-- annotated with both a 'SrcSpanInfo' and the list of 'Comment' related to the+-- specific AST node.+--+-----------------------------------------------------------------------------+module Language.Haskell.Exts.Comments+    ( associateHaddock+    , Comment(..), UnknownPragma(..)+    ) where++import Language.Haskell.Exts.Syntax import Language.Haskell.Exts.SrcLoc++import Data.Char (isSpace)+import Data.Traversable import Data.Data + -- | A Haskell comment. The 'Bool' is 'True' if the comment is multi-line, i.e. @{- -}@. data Comment = Comment Bool SrcSpan String   deriving (Eq,Show,Typeable,Data)@@ -11,3 +56,134 @@ -- | An unknown pragma. data UnknownPragma = UnknownPragma SrcSpan String   deriving (Eq,Show,Typeable,Data)+++-- | Associates an AST with Source Span Information+-- with relevant Haddock comments+associateHaddock+  ::(Annotated ast,Traversable ast)+  => (ast SrcSpanInfo,[Comment])+  -> ast (SrcSpanInfo,[Comment])+associateHaddock (ast,[]) = fmap (\src->(src,[])) ast+associateHaddock (ast,comments) =+  let+    (ca,assocs1) = mapAccumL associate1 (newAccumulator comments) ast+  in snd $ mapAccumL merge (lastPost ca) assocs1+++-- | Merge existing association with post comment associations+merge+  :: [(SrcSpanInfo,[Comment])]+  -> (SrcSpanInfo,[Comment])+  -> ([(SrcSpanInfo,[Comment])], (SrcSpanInfo,[Comment]))+merge [] ret = ([],ret)+merge (x:xs) (src,cmts) =+  if fst x == src+    then (xs,(src,cmts ++ snd x))+    else (x:xs,(src,cmts))+++-- | Ensure that if file ends with comment we process it+lastPost :: CommentAccumulator -> [(SrcSpanInfo, [Comment])]+lastPost (CommentAccumulator (Post cmt : rest) past assocs) =+  let (toMerge, _) = span isNone rest+      psrc = matchPreviousSrc past+  in (assocs ++ [(psrc, cmt : map hcComment toMerge)])+lastPost (CommentAccumulator _ _ assocs) = assocs+++-- | Accumulate comments mappings, either directly with the source+-- or in another association list for later processing+associate1+  :: CommentAccumulator+  -> SrcSpanInfo+  -> (CommentAccumulator,(SrcSpanInfo,[Comment]))+associate1 ca@(CommentAccumulator [] _ _) src = (ca,(src,[]))+associate1 (CommentAccumulator (hc@(Pre cmt):rest) _ assocs) src =+  if isBefore hc src+    then+      let (toMerge,next) = getToMerge src rest+          newAssoc = (src,cmt : map hcComment toMerge)+      in (CommentAccumulator next [] assocs,newAssoc)+    else (CommentAccumulator (hc:rest) [] assocs,(src,[]))+associate1 (CommentAccumulator (hc@(Post cmt):rest) past assocs) src =+  if isBefore hc src+    then+      let (toMerge,next) = getToMerge src rest+          newAssocs =+            if null past+              then assocs+              else assocs++[(matchPreviousSrc past,cmt : map hcComment toMerge)]+      in associate1 (CommentAccumulator next [] newAssocs) src+    else (CommentAccumulator (hc:rest) (src:past) assocs,(src,[]))+associate1 (CommentAccumulator (_:rest) past assocs) src =+  (CommentAccumulator rest (src:past) assocs,(src,[]))+++-- | The comment accumulator+data CommentAccumulator = CommentAccumulator+  [HaddockComment]          -- The Haddock comments to process+  [SrcSpanInfo]             -- The past src infos to resolve post comments+  [(SrcSpanInfo,[Comment])] -- The additional associations between src and comments+++-- | Create a new accumulator+newAccumulator :: [Comment] -> CommentAccumulator+newAccumulator comments = CommentAccumulator (commentsToHaddock comments) [] []++-- | Get comments to merge+getToMerge+  :: SrcSpanInfo                         -- ^ Stop before src+  -> [HaddockComment]                    -- ^ All remaining comments+  -> ([HaddockComment],[HaddockComment]) -- ^ Comments to merge, left overs+getToMerge src = span (\hc-> isNone hc && isBefore hc src)+++-- | Get the biggest src that ends where the first one does+matchPreviousSrc :: [SrcSpanInfo] -> SrcSpanInfo+matchPreviousSrc [] =+  error "Language.Haskell.Exts.Annotated.Comments.matchPreviousSrc: empty list"+matchPreviousSrc srcs =+  let end = srcSpanEnd $ srcInfoSpan $ head srcs+  in last $ filter ((end ==) . srcSpanEnd . srcInfoSpan) srcs++-- | Is a Haddock comment before a given location+isBefore :: HaddockComment -> SrcSpanInfo -> Bool+isBefore hc src=+  let+    (Comment _ csrc _) = hcComment hc+  in csrc < srcInfoSpan src++-- | Represents a Haddock Comment+data HaddockComment =+  -- | Comment before declaration+  Pre+   {+     hcComment::Comment+   }+  -- | Comment after declaration+  | Post  {+     hcComment::Comment+    }+  -- | Non Haddock comment+  | None  {+     hcComment::Comment+    }++-- | Is a comment not haddock?+isNone :: HaddockComment -> Bool+isNone (None _) = True+isNone _ = False+++-- | Comments to Haddock Comments+commentsToHaddock :: [Comment] -> [HaddockComment]+commentsToHaddock = map commentToHaddock++-- | Comment to Haddock Comment+commentToHaddock :: Comment -> HaddockComment+commentToHaddock c@(Comment _ _ txt) =+  case dropWhile isSpace txt of+    ('|':_) -> Pre c+    ('^':_) -> Post c+    _       -> None c
+ src/Language/Haskell/Exts/ExactPrint.hs view
@@ -0,0 +1,2219 @@+{-# LANGUAGE CPP, DeriveFunctor, Safe #-}++-----------------------------------------------------------------------------+-- |+-- Module      :  Language.Haskell.Exts.Annotated.ExactPrint+-- Copyright   :  (c) Niklas Broberg 2009+-- License     :  BSD-style (see the file LICENSE.txt)+--+-- Maintainer  :  Niklas Broberg, d00nibro@chalmers.se+-- Stability   :  stable+-- Portability :  portable+--+-- Exact-printer for Haskell abstract syntax. The input is a (semi-concrete)+-- abstract syntax tree, annotated with exact source information to enable+-- printing the tree exactly as it was parsed.+--+-----------------------------------------------------------------------------+module Language.Haskell.Exts.ExactPrint+        ( exactPrint+        , ExactP+        ) where++import Language.Haskell.Exts.Syntax+import Language.Haskell.Exts.SrcLoc+import Language.Haskell.Exts.Comments++import Control.Monad (when, liftM, ap, unless)+import qualified Control.Monad.Fail as Fail+#if __GLASGOW_HASKELL__ < 710+import Control.Applicative (Applicative(..))+#endif+import Control.Arrow ((***), (&&&))+import Prelude hiding (exp)+import Data.List (intersperse)++------------------------------------------------------+-- The EP monad and basic combinators++type Pos = (Int,Int)++pos :: (SrcInfo loc) => loc -> Pos+pos ss = (startLine ss, startColumn ss)++newtype EP x = EP (Pos -> [Comment] -> (x, Pos, [Comment], ShowS))++instance Functor EP where+  fmap = liftM++instance Applicative EP where+  pure x = EP $ \l cs -> (x, l, cs, id)+  (<*>) = ap++instance Monad EP where++  EP m >>= k = EP $ \l0 c0 -> let+        (a, l1, c1, s1) = m l0 c0+        EP f = k a+        (b, l2, c2, s2) = f l1 c1+    in (b, l2, c2, s1 . s2)++instance Fail.MonadFail EP where+  fail = error++runEP :: EP () -> [Comment] -> String+runEP (EP f) cs = let (_,_,_,s) = f (1,1) cs in s ""++getPos :: EP Pos+getPos = EP (\l cs -> (l,l,cs,id))++setPos :: Pos -> EP ()+setPos l = EP (\_ cs -> ((),l,cs,id))++printString :: String -> EP ()+printString str =+  EP (\(l,c) cs -> let (l', c') = foldl go (l, c) str+                       go (cl, _) '\n' = (cl + 1, 1)+                       go (cl, cc) _    = (cl, cc + 1)+                   in ((), (l', c'), cs, showString str))+++getComment :: EP (Maybe Comment)+getComment = EP $ \l cs ->+    let x = case cs of+             c:_ -> Just c+             _   -> Nothing+     in (x, l, cs, id)++dropComment :: EP ()+dropComment = EP $ \l cs ->+    let cs' = case cs of+               (_:cs1) -> cs1+               _       -> cs+     in ((), l, cs', id)++newLine :: EP ()+newLine = do+    (l,_) <- getPos+    printString "\n"+    setPos (l+1,1)++padUntil :: Pos -> EP ()+padUntil (l,c) = do+    (l1,c1) <- getPos+    case  {- trace (show ((l,c), (l1,c1))) -} () of+     _ {-()-} | l1 >= l && c1 <= c -> printString $ replicate (c - c1) ' '+              | l1 < l             -> newLine >> padUntil (l,c)+              | otherwise          -> return ()+++mPrintComments :: Pos -> EP ()+mPrintComments p = do+    mc <- getComment+    case mc of+     Nothing -> return ()+     Just (Comment multi s str) ->+        when (pos s < p) $ do+            dropComment+            padUntil (pos s)+            printComment multi str+            setPos (srcSpanEndLine s, srcSpanEndColumn s)+            mPrintComments p++printComment :: Bool -> String -> EP ()+printComment b str+    | b         = printString $ "{-" ++ str ++ "-}"+    | otherwise = printString $ "--" ++ str++printWhitespace :: Pos -> EP ()+printWhitespace p = mPrintComments p >> padUntil p++printStringAt :: Pos -> String -> EP ()+printStringAt p str = printWhitespace p >> printString str++errorEP :: String -> EP a+errorEP = fail++------------------------------------------------------------------------------+-- Printing of source elements++-- | Print an AST exactly as specified by the annotations on the nodes in the tree.+exactPrint :: (ExactP ast) => ast SrcSpanInfo -> [Comment] -> String+exactPrint ast = runEP (exactPC ast)++exactPC :: (ExactP ast) => ast SrcSpanInfo -> EP ()+exactPC ast = let p = pos (ann ast) in mPrintComments p >> padUntil p >> exactP ast++printSeq :: [(Pos, EP ())] -> EP ()+printSeq [] = return ()+printSeq ((p,pr):xs) = printWhitespace p >> pr >> printSeq xs++printStrs :: SrcInfo loc => [(loc, String)] -> EP ()+printStrs = printSeq . map (pos *** printString)++printPoints :: SrcSpanInfo -> [String] -> EP ()+printPoints l = printStrs . zip (srcInfoPoints l)++printInterleaved, printInterleaved' :: (ExactP ast, SrcInfo loc) => [(loc, String)] -> [ast SrcSpanInfo] -> EP ()+printInterleaved sistrs asts = printSeq $+    interleave (map (pos *** printString ) sistrs)+               (map (pos . ann &&& exactP) asts)++printInterleaved' sistrs (a:asts) = exactPC a >> printInterleaved sistrs asts+printInterleaved' _ _ = internalError "printInterleaved'"++printStreams :: [(Pos, EP ())] -> [(Pos, EP ())] -> EP ()+printStreams [] ys = printSeq ys+printStreams xs [] = printSeq xs+printStreams (x@(p1,ep1):xs) (y@(p2,ep2):ys)+    | p1 <= p2 = printWhitespace p1 >> ep1 >> printStreams xs (y:ys)+    | otherwise = printWhitespace p2 >> ep2 >> printStreams (x:xs) ys+++interleave :: [a] -> [a] -> [a]+interleave [] ys = ys+interleave xs [] = xs+interleave (x:xs) (y:ys) = x:y: interleave xs ys++maybeEP :: (a -> EP ()) -> Maybe a -> EP ()+maybeEP = maybe (return ())++bracketList :: (ExactP ast) => (String, String, String) -> [SrcSpan] -> [ast SrcSpanInfo] -> EP ()+bracketList (a,b,c) poss asts = printInterleaved (pList poss (a,b,c)) asts++pList :: [a] -> (b, b, b) -> [(a, b)]+pList (p:ps) (a,b,c) = (p,a) : pList' ps (b,c)+pList _ _ = internalError "pList"+pList' :: [a] -> (b, b) -> [(a, b)]+pList' [] _ = []+pList' [p] (_,c) = [(p,c)]+pList' (p:ps) (b,c) = (p, b) : pList' ps (b,c)++parenList, squareList, squareColonList, curlyList, parenHashList,+  unboxedSumTypeList :: (ExactP ast) => [SrcSpan] -> [ast SrcSpanInfo] -> EP ()+parenList = bracketList ("(",",",")")+squareList = bracketList ("[",",","]")+squareColonList = bracketList ("[:",",",":]")+curlyList = bracketList ("{",",","}")+parenHashList = bracketList ("(#",",","#)")+unboxedSumTypeList = bracketList ("(#", "|", "#)")++layoutList :: (ExactP ast) => [SrcSpan] -> [ast SrcSpanInfo] -> EP ()+layoutList poss asts = printStreams+        (map (pos *** printString) $ lList poss)+        (map (pos . ann &&& exactP) asts)++lList :: [SrcSpan] -> [(SrcSpan, String)]+lList (p:ps) = (if isNullSpan p then (p,"") else (p,"{")) : lList' ps+lList _ = internalError "lList"+lList' :: [SrcSpan] -> [(SrcSpan, String)]+lList' [] = []+lList' [p] = [if isNullSpan p then (p,"") else (p,"}")]+lList' (p:ps) = (if isNullSpan p then (p,"") else (p,";")) : lList' ps++printSemi :: SrcSpan -> EP ()+printSemi p = do+  printWhitespace (pos p)+  unless (isNullSpan p) $ printString ";"+++--------------------------------------------------+-- Exact printing++class Annotated ast => ExactP ast where+  exactP :: ast SrcSpanInfo -> EP ()++instance ExactP Literal where+  exactP lit = case lit of+    Char       _ _ rw -> printString ('\'':rw ++ "\'")+    String     _ _ rw -> printString ('\"':rw ++ "\"")+    Int        _ _ rw -> printString rw+    Frac       _ _ rw -> printString rw+    PrimInt    _ _ rw -> printString (rw ++ "#" )+    PrimWord   _ _ rw -> printString (rw ++ "##")+    PrimFloat  _ _ rw -> printString (rw ++ "#" )+    PrimDouble _ _ rw -> printString (rw ++ "##")+    PrimChar   _ _ rw -> printString ('\'':rw ++ "\'#" )+    PrimString _ _ rw -> printString ('\"':rw ++ "\"#" )++instance ExactP Sign where+  exactP sg = case sg of+    Signless _ -> return ()+    Negative l -> printStringAt (pos l) "-"++instance ExactP ModuleName where+  exactP (ModuleName _ str) = printString str++instance ExactP SpecialCon where+  exactP sc = case sc of+    UnitCon l   -> printPoints l ["(",")"]+    ListCon l   -> printPoints l ["[","]"]+    FunCon  l   -> case srcInfoPoints l of+                    [_,b,_] -> printStringAt (pos b) "->"+                    _ -> errorEP "ExactP: SpecialCon is given wrong number of srcInfoPoints"+    TupleCon l b n -> printPoints l $+        case b of+         Unboxed -> "(#": replicate (n-1) "," ++ ["#)"]+         _       -> "(" : replicate (n-1) "," ++ [")"]+    Cons _      -> printString ":"+    UnboxedSingleCon l -> printPoints l ["(#","#)"]+    ExprHole l -> printStringAt (pos l) "_"++isSymbolName :: Name l -> Bool+isSymbolName (Symbol _ _) = True+isSymbolName _            = False++isSymbolQName :: QName l -> Bool+isSymbolQName (UnQual _ n)         = isSymbolName n+isSymbolQName (Qual _ _ n)         = isSymbolName n+isSymbolQName (Special _ Cons{})   = True+isSymbolQName (Special _ FunCon{}) = True+isSymbolQName _                    = False++instance ExactP QName where+  exactP qn+    | isSymbolQName qn =+        case srcInfoPoints (ann qn) of+         [_,b,c] -> do+            printString "("+            printWhitespace (pos b)+            epQName qn+            printStringAt (pos c) ")"+         _ -> errorEP "ExactP: QName is given wrong number of srcInfoPoints"+    | otherwise = epQName qn++epQName :: QName SrcSpanInfo -> EP ()+epQName qn = case qn of+    Qual    _ mn n  -> exactP mn >> printString "." >> exactP n+    UnQual  _    n  -> exactP n+    Special _ sc    -> exactP sc++epInfixQName :: QName SrcSpanInfo -> EP ()+epInfixQName qn+    | isSymbolQName qn = printWhitespace (pos (ann qn)) >> epQName qn+    | otherwise =+        case srcInfoPoints (ann qn) of+         [a,b,c] -> do+            printStringAt (pos a) "`"+            printWhitespace (pos b)+            epQName qn+            printStringAt (pos c) "`"+         _ -> errorEP "ExactP: QName (epInfixName) is given wrong number of srcInfoPoints"++instance ExactP Name where+  exactP n = case n of+    Ident  _ str    -> printString str+    Symbol l str    ->+        case srcInfoPoints l of+         [_,b,c] -> do+            printString "("+            printWhitespace (pos b)+            printString str+            printStringAt (pos c) ")"+         [] -> printString str+         _ -> errorEP "ExactP: Name is given wrong number of srcInfoPoints"++epInfixName :: Name SrcSpanInfo -> EP ()+epInfixName n+    | isSymbolName n = printWhitespace (pos (ann n)) >> exactP n+    | otherwise =+        case srcInfoPoints (ann n) of+         [a,b,c] -> do+            printStringAt (pos a) "`"+            printWhitespace (pos b)+            exactP n+            printStringAt (pos c) "`"+         _ -> errorEP "ExactP: Name (epInfixName) is given wrong number of srcInfoPoints"++instance ExactP IPName where+  exactP ipn = case ipn of+    IPDup _ str -> printString $ '?':str+    IPLin _ str -> printString $ '%':str++instance ExactP QOp where+  exactP qop = case qop of+    QVarOp _ qn -> epInfixQName qn+    QConOp _ qn -> epInfixQName qn++instance ExactP Op where+  exactP op = case op of+    VarOp _ n -> epInfixName n+    ConOp _ n -> epInfixName n++++instance ExactP CName where+  exactP cn = case cn of+    VarName _ n -> exactP n+    ConName _ n -> exactP n++instance ExactP Namespace where+  exactP ns = case ns of+     NoNamespace _   -> return ()+     TypeNamespace l -> printStringAt (pos l) "type"+     PatternNamespace l -> printStringAt (pos l) "pattern"++instance ExactP ExportSpec where+  exactP espec = case espec of+     EVar _ qn    -> exactPC qn+     EAbs _ ns qn -> exactP ns >> exactPC qn+     EThingWith l wc qn cns    ->+         let names = case wc of+                        NoWildcard {} -> cns+                        EWildcard wcl n  ->+                          let (before,after) = splitAt n cns+                              wildcardName = VarName wcl (Ident wcl "..")+                          in before ++ [wildcardName] ++ after+             k = length (srcInfoPoints l)+         in exactP qn >> printInterleaved (zip (srcInfoPoints l) $ "(":replicate (k-2) "," ++ [")"]) names+     EModuleContents _ mn -> printString "module" >> exactPC mn++instance ExactP ExportSpecList where+  exactP (ExportSpecList l ess) =+    let k = length (srcInfoPoints l)+     in printInterleaved (zip (srcInfoPoints l) $ "(": replicate (k-2) "," ++ [")"]) ess++instance ExactP ImportSpecList where+  exactP (ImportSpecList l hid ispecs) = do+    let pts = srcInfoPoints l+    pts1 <- if hid then do+             let (x:pts') = pts+             printStringAt (pos x) "hiding"+             return pts'+            else return pts+    let k = length pts1+    printInterleaved (zip pts1 $ "(": replicate (k-2) "," ++ [")"]) ispecs++instance ExactP ImportSpec where+  exactP ispec = case ispec of+    IVar _ qn       -> exactPC qn+    IAbs _ ns n     -> exactP ns >> exactPC n+    IThingAll l n   -> exactP n >> printPoints l ["(","..",")"]+    IThingWith l n cns    ->+        let k = length (srcInfoPoints l)+         in exactP n >> printInterleaved (zip (srcInfoPoints l) $ "(":replicate (k-2) "," ++ [")"]) cns++instance ExactP ImportDecl where+  exactP (ImportDecl l mn qf src safe mpkg mas mispecs) = do+    printString "import"+    case srcInfoPoints l of+     (_:pts) -> do+        pts1 <- if src then+                 case pts of+                  x:y:pts' -> do+                     printStringAt (pos x) "{-# SOURCE"+                     printStringAt (pos y) "#-}"+                     return pts'+                  _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"+                else return pts+        pts2 <- if safe then+                 case pts1 of+                  x:pts' -> do+                     printStringAt (pos x) "safe"+                     return pts'+                  _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"+                else return pts1++        -- Try to determine if qualified is post-positioned only if we have enough points+        let isPostQual = (qf && not (null pts2)) && safeIsPostQualified pts2++        pts3 <- if qf && not isPostQual then+                  case pts2 of+                   x:pts' -> do+                     printStringAt (pos x) "qualified"+                     return pts'+                   _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"+                else return pts2++        pts4 <- case mpkg of+                Just pkg ->+                  case pts3 of+                   x:pts' -> do+                      printStringAt (pos x) $ show pkg+                      return pts'+                   _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"+                _ -> return pts3++        exactPC mn++        -- Only try post-qualified if we determined it's actually post-qualified+        pts5 <- if qf && isPostQual then+                 case pts4 of+                  x:pts' -> do+                     printStringAt (pos x) "qualified"+                     return pts'+                  _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"+                else return pts4++        _ <- case mas of+               Just as ->+                 case pts5 of+                   x:pts' -> do+                     printStringAt (pos x) "as"+                     exactPC as+                     return pts'+                   _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"+               _ -> return pts5++        case mispecs of+         Nothing -> return ()+         Just ispecs -> exactPC ispecs+     _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"+    where safeIsPostQualified pts =+            case pts of+              (p:_) ->+                let modSpan = srcInfoSpan (ann mn)+                    -- Only consider it post-qualified if we have valid spans to compare+                in ((isValidSpan modSpan && isValidSpan p) &&+                    (srcSpanEnd modSpan <= srcSpanStart p))+              _ -> False+            where+              isValidSpan s =+                srcSpanStartLine s > 0 && srcSpanEndLine s > 0 &&+                srcSpanStartColumn s >= 0 && srcSpanEndColumn s >= 0++instance ExactP Module where+  exactP mdl = case mdl of+    Module l mmh oss ids decls -> do+        let (oPts, pts) = splitAt (max (length oss + 1) 2) (srcInfoPoints l)+        layoutList oPts oss+        maybeEP exactPC mmh+        printStreams (map (pos *** printString) $ lList pts)+                     (map (pos . ann &&& exactPC) ids ++ map (pos . ann &&& exactPC) (sepFunBinds decls))+    XmlPage l _mn oss xn attrs mat es  -> do+        let (oPts, pPts) = splitAt (max (length oss + 1) 2) $ srcInfoPoints l+        case pPts of+         [a,b,c,d,e] -> do+            layoutList oPts oss+            printStringAt (pos a) "<"+            exactPC xn+            mapM_ exactPC attrs+            maybeEP exactPC mat+            printStringAt (pos b) ">"+            mapM_ exactPC es+            printStringAt (pos c) "</"+            printWhitespace (pos d)+            exactP xn+            printStringAt (pos e) ">"+         _ -> errorEP "ExactP: Module: XmlPage is given wrong number of srcInfoPoints"+    XmlHybrid l mmh oss ids decls xn attrs mat es -> do+        let (oPts, pts) = splitAt (max (length oss + 1) 2) (srcInfoPoints l)+        layoutList oPts oss+        maybeEP exactPC mmh+        let (dPts, pPts) = splitAt (length pts - 5) pts+        case pPts of+         [a,b,c,d,e] -> do+            printStreams (map (\(p,s) -> (pos p, printString s)) $ lList dPts)+                         (map (\i -> (pos $ ann i, exactPC i)) ids ++ map (\d' -> (pos $ ann d', exactPC d')) (sepFunBinds decls))++            printStringAt (pos a) "<"+            exactPC xn+            mapM_ exactPC attrs+            maybeEP exactPC mat+            printStringAt (pos b) ">"+            mapM_ exactPC es+            printStringAt (pos c) "</"+            printWhitespace (pos d)+            exactP xn+            printStringAt (pos e) ">"+         _ -> errorEP "ExactP: Module: XmlHybrid is given wrong number of srcInfoPoints"++instance ExactP ModuleHead where+  exactP (ModuleHead l mn mwt mess) =+    case srcInfoPoints l of+     [a,b] -> do+        printStringAt (pos a) "module"+        exactPC mn+        maybeEP exactPC mwt+        maybeEP exactPC mess+        printStringAt (pos b) "where"+     _ -> errorEP "ExactP: ModuleHead is given wrong number of srcInfoPoints"++instance ExactP ModulePragma where+  exactP op = case op of+    LanguagePragma   l ns       ->+        let pts = srcInfoPoints l+            k = length ns - 1 -- number of commas+            m = length pts - k - 2 -- number of virtual semis, likely 0+         in printInterleaved (zip pts ("{-# LANGUAGE":replicate k "," ++ replicate m "" ++ ["#-}"])) ns+    OptionsPragma    l mt str   ->+        let k = length (srcInfoPoints l)+            -- We strip out a leading space in the lexer unless the pragma+            -- starts with a newline.+            addSpace xs@('\n':_) = xs+            addSpace xs = ' ':xs+            opstr = "{-# OPTIONS" ++ case mt of { Just t -> "_" ++ show t ; _ -> "" } ++ addSpace str+         in printPoints l $ opstr : replicate (k-2) "" ++ ["#-}"]+    AnnModulePragma  l ann'      ->+        case srcInfoPoints l of+         [_,b] -> do+            printString "{-# ANN"+            exactPC ann'+            printStringAt (pos b) "#-}"+         _ -> errorEP "ExactP: ModulePragma: AnnPragma is given wrong number of srcInfoPoints"++instance ExactP WarningText where+    exactP (DeprText l str) = printPoints l ["{-# DEPRECATED", str, "#-}"]+    exactP (WarnText l str) = printPoints l ["{-# WARNING",    str, "#-}"]++instance ExactP Assoc where+  exactP a = case a of+    AssocNone  _ -> printString "infix"+    AssocLeft  _ -> printString "infixl"+    AssocRight _ -> printString "infixr"++instance ExactP DataOrNew where+  exactP (DataType _) = printString "data"+  exactP (NewType  _) = printString "newtype"++instance ExactP TypeEqn where+  exactP (TypeEqn l t1 t2) =+    case srcInfoPoints l of+      [a] -> do+         exactPC t1+         printStringAt (pos a) "="+         exactPC t2+      _ -> errorEP "ExactP: TypeEqn is given wrong number of srcInfoPoints"++instance ExactP InjectivityInfo where+  exactP (InjectivityInfo l to from) =+    case srcInfoPoints l of+      a:b:_ -> do+        printStringAt (pos a) "|"+        exactPC to+        printStringAt (pos b) "->"+        mapM_ exactPC from+      _ -> errorEP "ExactP: InjectivityInfo given wrong number of srcInfoPoints"++instance ExactP ResultSig where+  exactP (KindSig l k) =+    case srcInfoPoints l of+      a:_ -> do+        printStringAt (pos a) "::"+        exactPC k+      _ -> errorEP "ExactP: ResultSig given wrong number of srcInfoPoints"+  exactP (TyVarSig l tv) =+    case srcInfoPoints l of+      a:_ -> do+        printStringAt (pos a) "="+        exactPC tv+      _ -> errorEP "ExactP: ResultSig given wrong number of srcInfoPoints"+++instance ExactP Decl where+  exactP decl = case decl of+    TypeDecl     l dh t      ->+        case srcInfoPoints l of+         [a,b] -> do+            printStringAt (pos a) "type"+            exactPC dh+            printStringAt (pos b) "="+            exactPC t+         _ -> errorEP "ExactP: Decl: TypeDecl is given wrong number of srcInfoPoints"+    TypeFamDecl  l dh mk mi   ->+        case srcInfoPoints l of+         a:b:_ -> do+            printStringAt (pos a) "type"+            printStringAt (pos b) "family"+            exactPC dh+            maybeEP exactPC mk+            maybeEP exactPC mi+         _ -> errorEP "ExactP: Decl: TypeFamDecl is given wrong number of srcInfoPoints"+    ClosedTypeFamDecl  l dh mk mi eqns ->+        case srcInfoPoints l of+         a:b:c:_ -> do+            printStringAt (pos a) "type"+            printStringAt (pos b) "family"+            exactPC dh+            maybeEP exactPC mk+            maybeEP exactPC mi+            printStringAt (pos c) "where"+            mapM_ exactP eqns+         _ -> errorEP "ExactP: Decl: ClosedTypeFamDecl is given wrong number of srcInfoPoints"+    DataDecl     l dn mctxt dh constrs mder -> do+        exactP dn+        maybeEP exactPC mctxt+        exactPC dh+        -- the next line works for empty data types since the srcInfoPoints will be empty then+        printInterleaved (zip (srcInfoPoints l) ("=": repeat "|")) constrs+        mapM_ exactPC mder+    GDataDecl    l dn mctxt dh mk gds mder -> do+        let pts = srcInfoPoints l+        exactP dn+        maybeEP exactPC mctxt+        exactPC dh+        pts1 <- case mk of+                Nothing -> return pts+                Just kd -> case pts of+                            p:pts' -> do+                               printStringAt (pos p) "::"+                               exactPC kd+                               return pts'+                            _ -> errorEP "ExactP: Decl: GDataDecl is given too few srcInfoPoints"+        case pts1 of+         x:pts' -> do+            printStringAt (pos x) "where"+            layoutList pts' gds+            mapM_ exactPC mder+         _ -> errorEP "ExactP: Decl: GDataDecl is given too few srcInfoPoints"+    DataFamDecl  l mctxt dh mk -> do+        printString "data"+        maybeEP exactPC mctxt+        exactPC dh+        maybeEP (\kd -> printStringAt (pos (head (srcInfoPoints l))) "::" >> exactPC kd) mk+    TypeInsDecl  l t1 t2 ->+        case srcInfoPoints l of+         [_,b,c] -> do+            printString "type"+            printStringAt (pos b) "instance"+            exactPC t1+            printStringAt (pos c) "="+            exactPC t2+         _ -> errorEP "ExactP: Decl: TypeInsDecl is given wrong number of srcInfoPoints"+    DataInsDecl  l dn t constrs mder    ->+        case srcInfoPoints l of+         p:pts -> do+            exactP dn+            printStringAt (pos p) "instance"+            exactPC t+            printInterleaved (zip pts ("=": repeat "|")) constrs+            mapM_ exactPC mder+         _ -> errorEP "ExactP: Decl: DataInsDecl is given too few srcInfoPoints"+    GDataInsDecl l dn t mk gds mder     ->+        case srcInfoPoints l of+         p:pts -> do+            exactP dn+            printStringAt (pos p) "instance"+            exactPC t+            pts1 <- case mk of+                    Nothing -> return pts+                    Just kd -> case pts of+                                p':pts' -> do+                                    printStringAt (pos p') "::"+                                    exactPC kd+                                    return pts'+                                _ -> errorEP "ExactP: Decl: GDataInsDecl is given too few srcInfoPoints"+            case pts1 of+             x:pts' -> do+                printStringAt (pos x) "where"+                layoutList pts' gds+                mapM_ exactPC mder+             _ -> errorEP "ExactP: Decl: GDataInsDecl is given too few srcInfoPoints"+         _ -> errorEP "ExactP: Decl: GDataInsDecl is given too few srcInfoPoints"+    ClassDecl    l mctxt dh fds mcds    ->+        case srcInfoPoints l of+         _:pts -> do+            printString "class"+            maybeEP exactPC mctxt+            exactPC dh+            _ <- case fds of+                    [] -> return pts+                    _  -> do+                      let (pts1, pts2) = splitAt (length fds) pts+                      printInterleaved (zip pts1 ("|":repeat ",")) fds+                      return pts2+            maybeEP (\cds ->+                case pts of+                 p:pts' -> do+                    printStringAt (pos p) "where"+                    layoutList pts' $ sepClassFunBinds cds+                 _ -> errorEP "ExactP: Decl: ClassDecl is given too few srcInfoPoints"+                ) mcds+         _ -> errorEP "ExactP: Decl: ClassDecl is given too few srcInfoPoints"+    InstDecl     l movlp ih mids        ->+        case srcInfoPoints l of+         _:pts -> do+            printString "instance"+            maybeEP exactPC movlp+            exactPC ih+            maybeEP (\ids -> do+                let (p:pts') = pts+                printStringAt (pos p) "where"+                layoutList pts' $ sepInstFunBinds ids+                ) mids+         _ -> errorEP "ExactP: Decl: InstDecl is given too few srcInfoPoints"+    DerivDecl    l mds movlp ih             ->+        case srcInfoPoints l of+         [_,b] -> do+            printString "deriving"+            maybeEP exactPC mds+            printStringAt (pos b) "instance"+            maybeEP exactPC movlp+            exactPC ih+         _ -> errorEP "ExactP: Decl: DerivDecl is given wrong number of srcInfoPoints"+    InfixDecl    l assoc mprec ops      -> do+        let pts = srcInfoPoints l+        exactP assoc+        pts1 <- case mprec of+                Nothing -> return pts+                Just prec ->+                    case pts of+                     p:pts' -> do+                        printStringAt (pos p) (show prec)+                        return pts'+                     _ -> errorEP "ExactP: Decl: InfixDecl is given too few srcInfoPoints"+        printInterleaved' (zip pts1 (repeat ",")) ops+    DefaultDecl  l ts   ->+        case srcInfoPoints l of+         _:pts -> do+            printString "default"+            printInterleaved (zip (init pts) ("(":repeat ",")) ts+            printStringAt (pos (last pts)) ")"+         _ -> errorEP "ExactP: Decl: DefaultDecl is given too few srcInfoPoints"+    SpliceDecl   _ spl  -> exactP spl+    TSpliceDecl  _ spl  -> exactP spl+    TypeSig      l ns t -> do+        let pts = srcInfoPoints l+        printInterleaved' (zip pts (replicate (length pts - 1) "," ++ ["::"])) ns+        exactPC t+    PatSynSig l ns dh c1 _ c2 t -> do+        let (pat:pts) = srcInfoPoints l+        printStringAt (pos pat) "pattern"+        printInterleaved' (zip pts (replicate (length ns - 1) "," ++ ["::"])) ns+        case dh of+          Nothing -> return ()+          Just tvs ->+            -- (length ns - 1) commas + 1 for "::"+            case drop (length ns) pts of+              (a:b:_) -> do+                    printStringAt (pos a) "forall"+                    mapM_ exactPC tvs+                    printStringAt (pos b) "."+              _ -> errorEP ("ExactP: Decl: PatSynSig: Forall: is given too few srcInfoPoints" ++ show pts ++ show (drop (length ns + 1) pts))+        maybeEP exactPC c1+        maybeEP exactPC c2+        exactPC t+    FunBind      _ ms   -> mapM_ exactPC ms+    PatBind      l p rhs mbs -> do+        let pts = srcInfoPoints l+        exactP p+        exactPC rhs+        maybeEP (\bs -> printStringAt (pos (head pts)) "where" >> exactPC bs) mbs+    PatSyn l lhs rhs dir ->+      case srcInfoPoints l of+        [pat,sepPos] -> do+          let sep = case dir of+                      ImplicitBidirectional     -> "="+                      ExplicitBidirectional _ _ -> "<-"+                      Unidirectional            -> "<-"+          printStringAt (pos pat) "pattern"+          exactPC lhs+          printStringAt (pos sepPos) sep+          exactPC rhs+          case dir of+            ExplicitBidirectional bl ds -> do+              case srcInfoPoints bl of+                (w:pts) -> do+                  printStringAt (pos w) "where"+                  layoutList pts ds+                _ -> errorEP "ExactP: Decl: PaySyn: ExplicitBidirectional is given too few srcInfoPoints"+            _ -> return ()+        _ -> errorEP "ExactP: Decl: PatSyn is given too few srcInfoPoints"+    ForImp       l cc msf mstr n t   ->+        case srcInfoPoints l of+         _:b:pts -> do+            printString "foreign"+            printStringAt (pos b) "import"+            exactPC cc+            maybeEP exactPC msf+            pts1 <- case mstr of+                      Nothing -> return pts+                      Just str -> case pts of+                                   x:pts' -> do+                                      printStringAt (pos x) (show str)+                                      return pts'+                                   _ -> errorEP "ExactP: Decl: ForImp is given too few srcInfoPoints"+            case pts1 of+             y:_ -> do+                exactPC n+                printStringAt (pos y) "::"+                exactPC t+             _ -> errorEP "ExactP: Decl: ForImp is given too few srcInfoPoints"+         _ -> errorEP "ExactP: Decl: ForImp is given too few srcInfoPoints"+    ForExp       l cc mstr n t      ->+        case srcInfoPoints l of+         _:b:pts -> do+            printString "foreign"+            printStringAt (pos b) "export"+            exactPC cc+            pts1 <- case mstr of+                      Nothing -> return pts+                      Just str -> case pts of+                                   x:pts' -> do+                                      printStringAt (pos x) (show str)+                                      return pts'+                                   _ -> errorEP "ExactP: Decl: ForExp is given too few srcInfoPoints"+            case pts1 of+             y:_ -> do+                exactPC n+                printStringAt (pos y) "::"+                exactPC t+             _ -> errorEP "ExactP: Decl: ForExp is given too few srcInfoPoints"+         _ -> errorEP "ExactP: Decl: ForExp is given too few srcInfoPoints"+    RulePragmaDecl   l rs   ->+        case srcInfoPoints l of+         [_,b] -> do+            printString "{-# RULES"+            mapM_ exactPC rs+            printStringAt (pos b) "#-}"+         _ -> errorEP "ExactP: Decl: RulePragmaDecl is given too few srcInfoPoints"+    DeprPragmaDecl   l nstrs ->+        case srcInfoPoints l of+         _:pts -> do+            printString "{-# DEPRECATED"+            printWarndeprs (map pos (init pts)) nstrs+            printStringAt (pos (last pts)) "#-}"+         _ -> errorEP "ExactP: Decl: DeprPragmaDecl is given too few srcInfoPoints"+    WarnPragmaDecl   l nstrs ->+        case srcInfoPoints l of+         _:pts -> do+            printString "{-# WARNING"+            printWarndeprs (map pos (init pts)) nstrs+            printStringAt (pos (last pts)) "#-}"+         _ -> errorEP "ExactP: Decl: WarnPragmaDecl is given too few srcInfoPoints"+    InlineSig        l inl mact qn    ->+        case srcInfoPoints l of+         [_,b] -> do+            printString $ if inl then "{-# INLINE" else "{-# NOINLINE"+            maybeEP exactPC mact+            exactPC qn+            printStringAt (pos b) "#-}"+         _ -> errorEP "ExactP: Decl: InlineSig is given wrong number of srcInfoPoints"+    InlineConlikeSig l mact qn    ->+        case srcInfoPoints l of+         [_,b] -> do+            printString "{-# INLINE CONLIKE"+            maybeEP exactPC mact+            exactPC qn+            printStringAt (pos b) "#-}"+         _ -> errorEP "ExactP: Decl: InlineConlikeSig is given wrong number of srcInfoPoints"+    SpecSig          l mact qn ts ->+        case srcInfoPoints l of+         _:pts -> do+            printString "{-# SPECIALISE"+            maybeEP exactPC mact+            exactPC qn+            printInterleaved (zip pts ("::" : replicate (length pts - 2) "," ++ ["#-}"])) ts+         _ -> errorEP "ExactP: Decl: SpecSig is given too few srcInfoPoints"+    SpecInlineSig    l b mact qn ts ->+        case srcInfoPoints l of+         _:pts -> do+            printString $ "{-# SPECIALISE " ++ if b then "INLINE" else "NOINLINE"+            maybeEP exactPC mact+            exactPC qn+            printInterleaved (zip pts ("::" : replicate (length pts - 2) "," ++ ["#-}"])) ts+         _ -> errorEP "ExactP: Decl: SpecInlineSig is given too few srcInfoPoints"+    InstSig          l ih     ->+        case srcInfoPoints l of+         [_,b,c] -> do+            printString "{-# SPECIALISE"+            printStringAt (pos b) "instance"+            exactPC ih+            printStringAt (pos c) "#-}"+         _ -> errorEP "ExactP: Decl: InstSig is given wrong number of srcInfoPoints"+    AnnPragma       l ann'       ->+        case srcInfoPoints l of+         [_,b] -> do+            printString "{-# ANN"+            exactPC ann'+            printStringAt (pos b) "#-}"+         _ -> errorEP "ExactP: Decl: AnnPragma is given wrong number of srcInfoPoints"+    MinimalPragma       l b      ->+        case srcInfoPoints l of+         [_,b'] -> do+            printString "{-# MINIMAL"+            maybeEP exactPC b+            printStringAt (pos b') "#-}"+         _ -> errorEP "ExactP: Decl: MinimalPragma is given wrong number of srcInfoPoints"+    RoleAnnotDecl l ty roles ->+      case srcInfoPoints l of+         (t:r:_) -> do+            printStringAt (pos t)  "type"+            printStringAt (pos r)  "role"+            exactPC ty+            mapM_ exactPC roles+         _ -> errorEP "ExactP: Decl: RoleAnnotDecl is given wrong number of srcInfoPoints"+    CompletePragma l cls opt_ts ->+      case srcInfoPoints l of+        (t:rs) -> do+          let (cls_s, rs') = splitAt (length cls - 1) rs+          printStringAt (pos t)"{-# COMPLETE"+          printInterleaved' (zip cls_s (repeat ",")) cls+          case (rs', opt_ts) of+             ((opt_dcolon: end:_), Just tc) -> do+                printStringAt (pos opt_dcolon) "::"+                exactPC tc+                printStringAt (pos end) "#-}"+             ([end], Nothing) -> printStringAt (pos end) "#-}"+             _ -> errorEP "ExactP: Decl: CompletePragma is given wrong number of srcInfoPoints"+        _ -> errorEP "ExactP: Decl: CompletePragma is given wrong number of srcInfoPoints"+++instance ExactP Role where+  exactP r =+    case r of+      RoleWildcard l     -> printStringAt (pos l) "_"+      Representational l -> printStringAt (pos l) "representational"+      Phantom l          -> printStringAt (pos l) "phantom"+      Nominal l          -> printStringAt (pos l) "nominal"+++instance ExactP Annotation where+    exactP ann' = case ann' of+        Ann     _ n e   -> do+            exactP n+            exactPC e+        TypeAnn _ n e   -> do+            printString "type"+            exactPC n+            exactPC e+        ModuleAnn _ e   -> do+            printString "module"+            exactPC e++instance ExactP BooleanFormula where+    exactP b' = case b' of+        VarFormula _ n -> exactPC n+        AndFormula l bs ->+         let pts = srcInfoPoints l+         in printStreams (zip (map pos pts) (repeat $ printString ",")) (map (pos . ann &&& exactPC) bs)+        OrFormula l bs   ->+         let pts = srcInfoPoints l+         in printStreams (zip (map pos pts) (repeat $ printString "|")) (map (pos . ann &&& exactPC) bs)+        ParenFormula l b   ->+            case srcInfoPoints l of+                [a'',b''] -> printStringAt (pos a'') "(" >> exactPC b >> printStringAt (pos b'') ")"+                _ -> errorEP "ExactP: BooleanFormula: ParenFormula is given wrong number of srcInfoPoints"++printWarndeprs :: [Pos] -> [([Name SrcSpanInfo], String)] -> EP ()+printWarndeprs _ [] = return ()+printWarndeprs ps' ((ns',str'):nsts') = printWd ps' ns' str' nsts'+  where printWd :: [Pos] -> [Name SrcSpanInfo] -> String -> [([Name SrcSpanInfo], String)] -> EP ()+        printWd (p:ps) []  str nsts = printStringAt p (show str) >> printWarndeprs ps nsts+        printWd ps     [n] str nsts = exactPC n >> printWd ps [] str nsts+        printWd (p:ps) (n:ns) str nsts = exactPC n >> printStringAt p "," >> printWd ps ns str nsts+        printWd _ _ _ _ = internalError "printWd"+++sepFunBinds :: [Decl SrcSpanInfo] -> [Decl SrcSpanInfo]+sepFunBinds [] = []+sepFunBinds (FunBind _ ms:ds) = map (\m -> FunBind (ann m) [m]) ms ++ sepFunBinds ds+sepFunBinds (d:ds) = d : sepFunBinds ds++sepClassFunBinds :: [ClassDecl SrcSpanInfo] -> [ClassDecl SrcSpanInfo]+sepClassFunBinds [] = []+sepClassFunBinds (ClsDecl _ (FunBind _ ms):ds) = map (\m -> ClsDecl (ann m) $ FunBind (ann m) [m]) ms ++ sepClassFunBinds ds+sepClassFunBinds (d:ds) = d : sepClassFunBinds ds++sepInstFunBinds :: [InstDecl SrcSpanInfo] -> [InstDecl SrcSpanInfo]+sepInstFunBinds [] = []+sepInstFunBinds (InsDecl _ (FunBind _ ms):ds) = map (\m -> InsDecl (ann m) $ FunBind (ann m) [m]) ms ++ sepInstFunBinds ds+sepInstFunBinds (d:ds) = d : sepInstFunBinds ds++instance ExactP DeclHead where+  exactP dh' = case dh' of+    DHead _ n           -> exactP n+    DHInfix _ tva n     -> exactP tva >> epInfixName n+    DHParen l dh        ->+        case srcInfoPoints l of+         [_,b] -> printString "(" >> exactPC dh >> printStringAt (pos b) ")"+         _ -> errorEP "ExactP: DeclHead: DeclParen is given wrong number of srcInfoPoints"+    DHApp   _ dh t      -> exactP dh >> exactPC t++instance ExactP InstRule where+  exactP ih' = case ih' of+    IRule l mtvs mctxt qn    -> do+        let pts = srcInfoPoints l+        _ <- case mtvs of+                Nothing -> return pts+                Just tvs ->+                    case pts of+                     [a,b] -> do+                        printStringAt (pos a) "forall"+                        mapM_ exactPC tvs+                        printStringAt (pos b) "."+                        return pts+                     _ -> errorEP "ExactP: InstRule: IRule is given too few srcInfoPoints"+        maybeEP exactPC mctxt+        exactPC qn+    IParen l ih        ->+        case srcInfoPoints l of+         [a,b] -> printStringAt (pos a) "(" >> exactPC ih >> printStringAt (pos b) ")"+         _ -> errorEP "ExactP: InstRule: IParen is given wrong number of srcInfoPoints"++instance ExactP InstHead where+   exactP doih' = case doih' of+    IHCon _ qn      -> exactPC qn+    IHInfix _ ta qn -> exactPC ta >> epInfixQName qn+    IHParen l doih  ->+        case srcInfoPoints l of+         [a,b] -> printStringAt (pos a) "(" >> exactPC doih >> printStringAt (pos b) ")"+         _ -> errorEP "ExactP: OrInstHead: IHParen is given wrong number of srcInfoPoints"+    IHApp _ doih t  -> exactPC doih >> exactPC t++instance ExactP TyVarBind where+  exactP (KindedVar   l n k) =+        case srcInfoPoints l of+         [_,b,c] -> do+            printString "("+            exactPC n+            printStringAt (pos b) "::"+            exactPC k+            printStringAt (pos c) ")"+         _ -> errorEP "ExactP: TyVarBind: KindedVar is given wrong number of srcInfoPoints"+  exactP (UnkindedVar l n) =+        case srcInfoPoints l of+                 [a,_,c] -> do+                    printStringAt (pos a) "("+                    exactPC n+                    printStringAt (pos c) ")"+                 [] -> exactPC n+                 _ -> errorEP "ExactP: TyVarBind: UnkindedVar is given wrong number of srcInfoPoints"++instance ExactP Type where+  exactP t' = case t' of+    TyForall l mtvs mctxt t -> do+        let pts = srcInfoPoints l+        _ <- case mtvs of+                Nothing -> return pts+                Just tvs ->+                    case pts of+                     _:b:pts' -> do+                        printString "forall"+                        mapM_ exactPC tvs+                        printStringAt (pos b) "."+                        return pts'+                     _ -> errorEP "ExactP: Type: TyForall is given too few srcInfoPoints"+        maybeEP exactPC mctxt+        exactPC t+    TyStar  _ -> printString "*"+    TyFun   l t1 t2 ->+        case srcInfoPoints l of+         [a] -> do+            exactP t1+            printStringAt (pos a) "->"+            exactPC t2+         _ -> errorEP "ExactP: Type: TyFun is given wrong number of srcInfoPoints"+    TyTuple l bx ts ->+        case bx of+          Boxed   -> parenList (srcInfoPoints l) ts+          Unboxed -> parenHashList (srcInfoPoints l) ts+    TyUnboxedSum l es ->+      unboxedSumTypeList (srcInfoPoints l) es+    TyList  l t     ->+        case srcInfoPoints l of+         [_,b] -> do+            printString "["+            exactPC t+            printStringAt (pos b) "]"+         _ -> errorEP "ExactP: Type: TyList is given wrong number of srcInfoPoints"+    TyParArray l t     ->+        case srcInfoPoints l of+         [_,b] -> do+            printString "[:"+            exactPC t+            printStringAt (pos b) ":]"+         _ -> errorEP "ExactP: Type: TyParArray is given wrong number of srcInfoPoints"+    TyApp   _ t1 t2 -> exactP t1 >> exactPC t2+    TyVar   _ n     -> exactP n+    TyCon   _ qn    -> exactP qn+    TyParen l t     ->+        case srcInfoPoints l of+         [_,b] -> do+            printString "("+            exactPC t+            printStringAt (pos b) ")"+         _ -> errorEP "ExactP: Type: TyParen is given wrong number of srcInfoPoints"+    TyInfix _ t1 qn t2 -> exactP t1 >> exactP qn >> exactPC t2+    TyKind  l t kd ->+        case srcInfoPoints l of+         [_,b,c] -> do+            printString "("+            exactPC t+            printStringAt (pos b) "::"+            exactPC kd+            printStringAt (pos c) ")"+         _ -> errorEP "ExactP: Type: TyKind is given wrong number of srcInfoPoints"+    TyPromoted _ p -> exactPC p+    TyEquals l t0 t1 -> case srcInfoPoints l of+                          a:_ -> exactPC t0 >> printStringAt (pos a) "~" >> exactPC t1+                          _   -> errorEP "ExactP: Type: TyEquals is given wrong number of srcInfoPoints"++    TySplice _ sp  -> exactP sp+    TyBang _ b u t -> exactPC u >> exactPC b >> exactPC t+    TyWildCard _ mn      -> printString "_" >> maybeEP exactPC mn+    TyQuasiQuote _ name qt    -> do+        let qtLines = lines qt+        printString $ "[" ++ name ++ "|"+        sequence_ (intersperse newLine $ map printString qtLines)+        printString "|]"++instance ExactP MaybePromotedName where+  exactP (PromotedName l qn)  = case srcInfoPoints l of+    [a] -> printStringAt (pos a) "'" >> epInfixQName qn+    _ -> errorEP "ExactP: MaybePromotedName: PromotedName given wrong number of args"+  exactP (UnpromotedName _ qn) = epInfixQName qn++instance ExactP Promoted where+  exactP (PromotedInteger _ _ rw) = printString rw+  exactP (PromotedString _ _ rw)  = printString ('\"':rw ++ "\"")+  exactP (PromotedCon l True qn)  = case srcInfoPoints l of+    [a] -> printStringAt (pos a) "'" >> epQName qn+    _ -> errorEP "ExactP: Promoted: PromotedCon is given wrong number of srcInfoPoints"+  exactP (PromotedCon _ False qn) = epQName qn+  exactP (PromotedList l b pl) =+    let o | b = "'[" | otherwise = "["+        e = "]"+        pts = srcInfoPoints l+    in printInterleaved (zip pts (o: replicate (length pts - 2) "," ++ [e])) pl+  exactP (PromotedTuple l pl) =+    let o = "'("+        e = ")"+        pts = srcInfoPoints l+    in printInterleaved (zip pts (o: replicate (length pts - 2) "," ++ [e])) pl+  exactP (PromotedUnit l) = case srcInfoPoints l of+    [_,b] -> do+        printString "("+        printStringAt (pos b) ")"+    _ -> errorEP "ExactP: Promoted: PromotedUnit is given wrong number of srcInfoPoints"+++instance ExactP Context where+  exactP ctxt = do+    printContext ctxt+    printStringAt (pos . last . srcInfoPoints . ann $ ctxt) "=>"++printContext :: Context SrcSpanInfo -> EP ()+printContext ctxt = do+    let l = ann ctxt+        pts = init $ srcInfoPoints l+    case ctxt of+     CxSingle _ asst -> exactP asst+     CxEmpty _ ->+        case pts of+         [a,b] -> do+            printStringAt (pos a) "("+            printStringAt (pos b) ")"+         _ -> errorEP "ExactP: Context: CxEmpty is given wrong number of srcInfoPoints"+     CxTuple _ assts -> parenList pts assts+++instance ExactP Asst where+  exactP asst = case asst of+    TypeA _ t -> exactP t+    IParam l ipn t    ->+        case srcInfoPoints l of+         [a] -> do+            exactP ipn+            printStringAt (pos a) "::"+            exactPC t+         _ -> errorEP "ExactP: Asst: IParam is given wrong number of srcInfoPoints"+    ParenA l asst' ->+        case take 2 $ srcInfoPoints l of+         [a,b] -> do+            printStringAt (pos a) "("+            exactPC asst'+            printStringAt (pos b) ")"+         _ -> errorEP "ExactP: Asst: ParenA is given wrong number of srcInfoPoints"++instance ExactP Deriving where+  exactP (Deriving l mds ihs) =+    case srcInfoPoints l of+     _:pts -> do+        printString "deriving"+        maybeEP exactPC mds+        case pts of+         [] -> exactPC $ head ihs+         _  -> parenList pts ihs+     _ -> errorEP "ExactP: Deriving is given too few srcInfoPoints"++instance ExactP DerivStrategy where+  exactP (DerivStock _) =+    printString "stock"+  exactP (DerivAnyclass _) =+    printString "anyclass"+  exactP (DerivNewtype _) =+    printString "newtype"+  exactP (DerivVia _ ty) = do+    printString "via"+    exactP ty++instance ExactP ClassDecl where+  exactP cdecl = case cdecl of+    ClsDecl    _ d -> exactP d+    ClsDataFam l mctxt dh mk ->+        case srcInfoPoints l of+         _:pts -> do+            printString "data"+            maybeEP exactPC mctxt+            exactPC dh+            maybeEP (\kd -> printStringAt (pos (head pts)) "::" >> exactPC kd) mk+         _ -> errorEP "ExactP: ClassDecl: ClsDataFam is given too few srcInfoPoints"+    ClsTyFam   l dh mk mi ->+        case srcInfoPoints l of+         _:_ -> do+            printString "type"+            exactPC dh+            maybeEP exactPC mk+            maybeEP exactPC mi+         _ -> errorEP "ExactP: ClassDecl: ClsTyFam is given too few srcInfoPoints"+    ClsTyDef   l t1 ->+        case srcInfoPoints l of+         _:b:_ -> do -- 3 sourceInfoPoints implies parsed as "type instance"+            printString "type"+            printStringAt (pos b) "instance"+            exactPC t1+         _:_ -> do+            printString "type"+            exactPC t1+         _ -> errorEP "ExactP: ClassDecl: ClsTyDef is given too few srcInfoPoints"+    ClsDefSig  l n t    ->+        case srcInfoPoints l of+         _:b:_ -> do+            printString "default"+            exactPC n+            printStringAt (pos b) "::"+            exactPC t+         _ -> errorEP "ExactP: ClassDecl: ClsDefSig is given too few srcInfoPoints"+++instance ExactP InstDecl where+  exactP idecl = case idecl of+    InsDecl   _ d -> exactP d+    InsType   l t1 t2 ->+        case srcInfoPoints l of+         [_,b] -> do+            printString "type"+            exactPC t1+            printStringAt (pos b) "="+            exactPC t2+         _ -> internalError "InstDecl -> InsType"+    InsData   l dn t constrs mder -> do+        exactP dn+        exactPC t+        printInterleaved (zip (srcInfoPoints l) ("=": repeat "|")) constrs+        mapM_ exactPC mder+    InsGData  l dn t mk gds mder  -> do+        let pts = srcInfoPoints l+        exactP dn+        exactPC t+        pts1 <- case mk of+                Nothing -> return pts+                Just kd -> case pts of+                            p:pts' -> do+                                printStringAt (pos p) "::"+                                exactPC kd+                                return pts'+                            _ -> errorEP "ExactP: InstDecl: InsGData is given too few srcInfoPoints"+        case pts1 of+         x:_ -> do+            printStringAt (pos x) "where"+            mapM_ exactPC gds+            mapM_ exactPC mder+         _ -> errorEP "ExactP: InstDecl: InsGData is given too few srcInfoPoints"+--  InsInline l inl mact qn   -> do+--        case srcInfoPoints l of+--         [a,b] -> do+--            printString $ if inl then "{-# INLINE" else "{-# NOINLINE"+--            maybeEP exactPC mact+--            exactPC qn+--            printStringAt (pos b) "#-}"+--         _ -> errorEP "ExactP: InstDecl: InsInline is given wrong number of srcInfoPoints"++instance ExactP FunDep where+  exactP (FunDep l nxs nys) =+    case srcInfoPoints l of+     [a] -> do+        mapM_ exactPC nxs+        printStringAt (pos a) "->"+        mapM_ exactPC nys+     _ -> errorEP "ExactP: FunDep is given wrong number of srcInfoPoints"++instance ExactP QualConDecl where+  exactP (QualConDecl l mtvs mctxt cd) = do+        let pts = srcInfoPoints l+        _ <- case mtvs of+                Nothing -> return pts+                Just tvs ->+                    case pts of+                     _:b:pts' -> do+                        printString "forall"+                        mapM_ exactPC tvs+                        printStringAt (pos b) "."+                        return pts'+                     _ -> errorEP "ExactP: QualConDecl is given wrong number of srcInfoPoints"+        maybeEP exactPC mctxt+        exactPC cd++instance ExactP ConDecl where+  exactP cd = case cd of+    ConDecl _ n bts -> exactP n >> mapM_ exactPC bts+    InfixConDecl _ bta n btb -> exactP bta >> epInfixName n >> exactP btb+    RecDecl l n fds -> exactP n >> curlyList (srcInfoPoints l) fds++instance ExactP GadtDecl where+  exactP (GadtDecl l n _mtvs mctxt ns' t) =+    case ns' of+        Nothing ->+            case srcInfoPoints l of+                [a] -> do+                    exactP n+                    printStringAt (pos a) "::"+                    exactPC t+                _ -> errorEP "ExactP: GadtDecl is given wrong number of srcInfoPoints"+        Just ts ->+            case srcInfoPoints l of+                (a:b:c:d:rest) -> do+                    exactPC n+                    printStringAt (pos a) "::"+                    maybeEP exactPC mctxt+                    printStringAt (pos b) "{"+                    printInterleaved' (zip rest (repeat ",")) ts+                    printStringAt (pos c) "}"+                    printStringAt (pos d) "->"+                    exactPC t+                _ -> errorEP "ExactP: GadtDecl is given wrong number of srcInfoPoints"++instance ExactP BangType where+  exactP bt = case bt of+    BangedTy   l  -> printStringAt (pos l) "!"+    LazyTy l -> printStringAt (pos l) "~"+    _ -> return ()++instance ExactP Unpackedness where+  exactP bt = case bt of+    Unpack l  ->+      case srcInfoPoints l of+       [a,b] -> do+          printStringAt (pos a) "{-# UNPACK"+          printStringAt (pos b) "#-}"+       _ -> errorEP "ExactP: Unpackedness: Unpack is given wrong number of srcInfoPoints"+    NoUnpack l  ->+      case srcInfoPoints l of+       [a,b] -> do+          printStringAt (pos a) "{-# NOUNPACK"+          printStringAt (pos b) "#-}"+       _ -> errorEP "ExactP: Unpackedness: NoUnpack is given wrong number of srcInfoPoints"+    NoUnpackPragma {} -> return ()++instance ExactP Splice where+  exactP (IdSplice _ str) = printString $ '$':str+  exactP (TIdSplice _ str) = printString $ "$$" ++ str+  exactP (ParenSplice l e) = printParen "ParenSplice" "$(" l e+  exactP (TParenSplice l e) = printParen "TParenSplice" "$$(" l e++printParen :: ExactP ast => String -> String -> SrcSpanInfo -> ast SrcSpanInfo -> EP ()+printParen con paren l e =+    case srcInfoPoints l of+     [_,b] -> do+        printString paren+        exactPC e+        printStringAt (pos b) ")"+     _ -> errorEP $ "ExactP: Splice: " ++ con ++ " is given wrong number of srcInfoPoints"++instance ExactP Exp where+  exactP exp = case exp of+    Var _ qn        -> exactP qn+    OverloadedLabel _ qn -> printString ('#':qn)+    IPVar _ ipn     -> exactP ipn+    Con _ qn        -> exactP qn+    Lit _ lit       -> exactP lit+    InfixApp _ e1 op e2 -> exactP e1 >> exactPC op >> exactPC e2+    App _ e1 e2     -> exactP e1 >> exactPC e2+    NegApp _ e      -> printString "-" >> exactPC e+    Lambda l ps e   ->+        case srcInfoPoints l of+         [_,b] -> do+            printString "\\"+            mapM_ exactPC ps+            printStringAt (pos b) "->"+            exactPC e+         _ -> errorEP "ExactP: Exp: Lambda is given wrong number of srcInfoPoints"+    Let l bs e      ->+        case srcInfoPoints l of+         [_,b] -> do+            printString "let"+            exactPC bs+            printStringAt (pos b) "in"+            exactPC e+         _ -> errorEP "ExactP: Exp: Let is given wrong number of srcInfoPoints"+    If l ec et ee   -> -- traceShow (srcInfoPoints l) $ do+        -- First we need to sort out if there are any optional+        -- semicolons hiding among the srcInfoPoints.+        case srcInfoPoints l of+         (_:b:c:rest) -> do+            let (mpSemi1,pThen,rest2) =+                           if snd (spanSize b) == 4 -- this is "then", not a semi+                            then (Nothing, b, c:rest)+                            else (Just b, c, rest)+            case rest2 of+              (c':rest3) -> do+                let (mpSemi2,rest4) = if snd (spanSize c') == 4 -- this is "else", not a semi+                                       then (Nothing, rest2)+                                       else (Just c', rest3)+                case rest4 of+                  [pElse] -> do+                    -- real work starts here:+                    printString "if"+                    exactPC ec+                    maybeEP printSemi  mpSemi1+                    printStringAt (pos pThen) "then"+                    exactPC et+                    maybeEP printSemi mpSemi2+                    printStringAt (pos pElse) "else"+                    exactPC ee+                  [] -> errorEP "ExactP: Exp: If is given too few srcInfoPoints"+                  _  -> errorEP "ExactP: Exp: If is given too many srcInfoPoints"+              _ -> errorEP "ExactP: Exp: If is given too few srcInfoPoints"++         _ -> errorEP "ExactP: Exp: If is given too few srcInfoPoints"+    MultiIf l alts ->+        case srcInfoPoints l of+          _:pts -> do+            printString "if"+            layoutList pts (map GuardedAlt alts)+          _ -> internalError "Exp -> MultiIf"+    Case l e alts   ->+        case srcInfoPoints l of+         _:b:pts -> do+            printString "case"+            exactPC e+            printStringAt (pos b) "of"+            layoutList pts alts+         _ -> errorEP "ExactP: Exp: Case is given too few srcInfoPoints"+    Do l stmts      ->+        case srcInfoPoints l of+         _:pts -> do+            printString "do"+            layoutList pts stmts+         _ -> errorEP "ExactP: Exp: Do is given too few srcInfoPoints"+    MDo l stmts     ->+        case srcInfoPoints l of+         _:pts -> do+            printString "mdo"+            layoutList pts stmts+         _ -> errorEP "ExactP: Exp: Mdo is given wrong number of srcInfoPoints"+    Tuple l bx es   ->+        case bx of+          Boxed   -> parenList (srcInfoPoints l) es+          Unboxed -> parenHashList (srcInfoPoints l) es+    UnboxedSum l b a es -> do+        unboxedSumEP l b a es+    TupleSection l bx mexps -> do+        let pts = srcInfoPoints l+            (o, e) = case bx of Boxed -> ("(", ")"); Unboxed -> ("(#", "#)")+        printSeq $ interleave (zip (map pos $ init pts) (map printString (o: repeat ",")) ++ [(pos $ last pts, printString e)])+                              (map (maybe (0,0) (pos . ann) &&& maybeEP exactPC) mexps)+    List l es               -> squareList (srcInfoPoints l) es+    ParArray l es           -> squareColonList (srcInfoPoints l) es+    Paren l p               -> parenList (srcInfoPoints l) [p]+    LeftSection l e qop     ->+        case srcInfoPoints l of+         [_,b] -> do+            printString "("+            exactPC e+            exactPC qop+            printStringAt (pos b) ")"+         _ -> errorEP "ExactP: Exp: LeftSection is given wrong number of srcInfoPoints"+    RightSection l qop e    ->+        case srcInfoPoints l of+         [_,b] -> do+            printString "("+            exactPC qop+            exactPC e+            printStringAt (pos b) ")"+         _ -> errorEP "ExactP: Exp: RightSection is given wrong number of srcInfoPoints"+    RecConstr l qn fups     -> do+        let pts = srcInfoPoints l+        exactP qn+        curlyList pts fups+    RecUpdate l e fups      -> do+        let pts = srcInfoPoints l+        exactP e+        curlyList pts fups+    EnumFrom l e            ->+        case srcInfoPoints l of+         [_,b,c] -> do+            printString "["+            exactPC e+            printStringAt (pos b) ".."+            printStringAt (pos c) "]"+         _ -> errorEP "ExactP: Exp: EnumFrom is given wrong number of srcInfoPoints"+    EnumFromTo l e1 e2      ->+        case srcInfoPoints l of+         [_,b,c] -> do+            printString "["+            exactPC e1+            printStringAt (pos b) ".."+            exactPC e2+            printStringAt (pos c) "]"+         _ -> errorEP "ExactP: Exp: EnumFromTo is given wrong number of srcInfoPoints"+    EnumFromThen l e1 e2    ->+        case srcInfoPoints l of+         [_,b,c,d] -> do+            printString "["+            exactPC e1+            printStringAt (pos b) ","+            exactPC e2+            printStringAt (pos c) ".."+            printStringAt (pos d) "]"+         _ -> errorEP "ExactP: Exp: EnumFromThen is given wrong number of srcInfoPoints"+    EnumFromThenTo l e1 e2 e3   ->+        case srcInfoPoints l of+         [_,b,c,d] -> do+            printString "["+            exactPC e1+            printStringAt (pos b) ","+            exactPC e2+            printStringAt (pos c) ".."+            exactPC e3+            printStringAt (pos d) "]"+         _ -> errorEP "ExactP: Exp: EnumFromToThen is given wrong number of srcInfoPoints"+    ParArrayFromTo l e1 e2      ->+        case srcInfoPoints l of+         [_,b,c] -> do+            printString "[:"+            exactPC e1+            printStringAt (pos b) ".."+            exactPC e2+            printStringAt (pos c) ":]"+         _ -> errorEP "ExactP: Exp: ParArrayFromTo is given wrong number of srcInfoPoints"+    ParArrayFromThenTo l e1 e2 e3   ->+        case srcInfoPoints l of+         [_,b,c,d] -> do+            printString "[:"+            exactPC e1+            printStringAt (pos b) ","+            exactPC e2+            printStringAt (pos c) ".."+            exactPC e3+            printStringAt (pos d) ":]"+         _ -> errorEP "ExactP: Exp: ParArrayFromToThen is given wrong number of srcInfoPoints"+    ListComp l e qss            ->+        case srcInfoPoints l of+         _:pts -> do+            printString "["+            exactPC e+            bracketList ("|",",","]") pts qss+         _ -> errorEP "ExactP: Exp: ListComp is given too few srcInfoPoints"+    ParComp  l e qsss           ->+        case srcInfoPoints l of+         _:pts -> do+            let (strs, qss) = unzip $ pairUp qsss+            printString "["+            exactPC e+            printInterleaved (zip pts (strs ++ ["]"])) qss+         _ -> errorEP "ExactP: Exp: ParComp is given wrong number of srcInfoPoints"+      where pairUp [] = []+            pairUp ((a:as):xs) = ("|", a) : zip (repeat ",") as ++ pairUp xs+            pairUp _ = internalError "Exp -> ParComp -> pairUp"+    ParArrayComp  l e qsss           ->+        case srcInfoPoints l of+         _:pts -> do+            let (strs, qss) = unzip $ pairUp qsss+            printString "[:"+            exactPC e+            printInterleaved (zip pts (strs ++ [":]"])) qss+         _ -> errorEP "ExactP: Exp: ParArrayComp is given wrong number of srcInfoPoints"+      where pairUp [] = []+            pairUp ((a:as):xs) = ("|", a) : zip (repeat "|") as ++ pairUp xs+            pairUp _ = internalError "Exp -> ParArrayComp -> pairUp"++    ExpTypeSig l e t    ->+        case srcInfoPoints l of+         [a] -> do+            exactP e+            printStringAt (pos a) "::"+            exactPC t+         _ -> errorEP "ExactP: Exp: ExpTypeSig is given wrong number of srcInfoPoints"+    VarQuote _ qn   -> do+      printString "'"+      exactPC qn+    TypQuote _ qn -> do+      printString "''"+      exactPC qn+    BracketExp _ br -> exactP br+    SpliceExp _ sp  -> exactP sp+    QuasiQuote _ name qt    -> do+        let qtLines = lines qt+        printString $ "[" ++ name ++ "|"+        sequence_ (intersperse newLine $ map printString qtLines)+        printString "|]"+    XTag l xn attrs mat es  ->+        case srcInfoPoints l of+         [_,b,c,d,e] -> do+            printString "<"+            exactPC xn+            mapM_ exactPC attrs+            maybeEP exactPC mat+            printStringAt (pos b) ">"+            mapM_ exactPC es+            printStringAt (pos c) "</"+            printWhitespace (pos d)+            exactP xn+            printStringAt (pos e) ">"+         -- TODO: Fugly hack/duplication, should be refactored+         -- For the case when there's an optional semicolon+         [_,b,semi,c,d,e] -> do+            printString "<"+            exactPC xn+            mapM_ exactPC attrs+            maybeEP exactPC mat+            printStringAt (pos b) ">"+            mapM_ exactPC es+            printSemi semi+            printStringAt (pos c) "</"+            printWhitespace (pos d)+            exactP xn+            printStringAt (pos e) ">"+         _ -> errorEP "ExactP: Exp: XTag is given wrong number of srcInfoPoints"+    XETag l xn attrs mat    ->+        case srcInfoPoints l of+         [_,b] -> do+            printString "<"+            exactPC xn+            mapM_ exactPC attrs+            maybeEP exactPC mat+            printStringAt (pos b) "/>"+         _ -> errorEP "ExactP: Exp: XETag is given wrong number of srcInfoPoints"+    XPcdata _ str   -> do+        let strLines = lines str+        sequence_ (intersperse newLine $ map printString strLines)+    XExpTag l e     ->+        case srcInfoPoints l of+         [_,b] -> do+            printString "<%"+            exactPC e+            printStringAt (pos b) "%>"+         _ -> errorEP "ExactP: Exp: XExpTag is given wrong number of srcInfoPoints"+    XChildTag l es  ->+        case srcInfoPoints l of+         [_,b,c] -> do+            printString "<%>"+            mapM_ exactPC es+            printStringAt (pos b) "</"+            printStringAt (pos c) "%>"+         -- Ugly duplication for when there's an optional semi+         [_,semi,b,c] -> do+            printString "<%>"+            mapM_ exactPC es+            printSemi semi+            printStringAt (pos b) "</"+            printStringAt (pos c) "%>"+         _ -> errorEP "ExactP: Exp: XChildTag is given wrong number of srcInfoPoints"+    CorePragma l      str e         ->+        case srcInfoPoints l of+         [_,b] -> do+            printString $ "{-# CORE " ++ show str+            printStringAt (pos b) "#-}"+            exactPC e+         _ -> errorEP "ExactP: Exp: CorePragma is given wrong number of srcInfoPoints"+    SCCPragma  l      str e         ->+        case srcInfoPoints l of+         [_,b] -> do+            printString $ "{-# SCC " ++ show str+            printStringAt (pos b) "#-}"+            exactPC e+         _ -> errorEP "ExactP: Exp: SCCPragma is given wrong number of srcInfoPoints"+    GenPragma  l      str (i1,i2) (i3,i4) e -> do+        printStrs $ zip (srcInfoPoints l) ["{-# GENERATED", show str, show i1, ":", show i2, "-", show i3, ":", show i4, "#-}"]+        exactPC e+    Proc            l p e   ->+        case srcInfoPoints l of+         [_,b] -> do+            printString "proc"+            exactPC p+            printStringAt (pos b) "->"+            exactPC e+         _ -> errorEP "ExactP: Exp: Proc is given wrong number of srcInfoPoints"+    LeftArrApp      l e1 e2 ->+        case srcInfoPoints l of+         [a] -> do+            exactP e1+            printStringAt (pos a) "-<"+            exactPC e2+         _ -> errorEP "ExactP: Exp: LeftArrApp is given wrong number of srcInfoPoints"+    RightArrApp     l e1 e2 ->+        case srcInfoPoints l of+         [a] -> do+            exactP e1+            printStringAt (pos a) ">-"+            exactPC e2+         _ -> errorEP "ExactP: Exp: RightArrApp is given wrong number of srcInfoPoints"+    LeftArrHighApp  l e1 e2 ->+        case srcInfoPoints l of+         [a] -> do+            exactP e1+            printStringAt (pos a) "-<<"+            exactPC e2+         _ -> errorEP "ExactP: Exp: LeftArrHighApp is given wrong number of srcInfoPoints"+    RightArrHighApp l e1 e2 ->+        case srcInfoPoints l of+         [a] -> do+            exactP e1+            printStringAt (pos a) ">>-"+            exactPC e2+         _ -> errorEP "ExactP: Exp: RightArrHighApp is given wrong number of srcInfoPoints"++    ArrOp l e -> case srcInfoPoints l of+      [a, b] -> do+        printStringAt (pos a) "(|"+        exactPC e+        printStringAt (pos b) "|)"+      _ -> errorEP "ExactP: Exp: ArrOp is given wrong number of srcInfoPoints"++    LCase l alts   ->+        case srcInfoPoints l of+         _:b:pts -> do+            printString "\\"+            printStringAt (pos b) "case"+            layoutList pts alts+         _ -> errorEP "ExactP: Exp: LCase is given wrong number of srcInfoPoints"+    TypeApp _ ty -> printString "@" >> exactP ty++unboxedSumEP :: ExactP e => SrcSpanInfo -> Int -> Int -> e SrcSpanInfo -> EP ()+unboxedSumEP l b _a es = do+        let (opt:pts) = srcInfoPoints l+            (o, e) = ("(#", "#)")+            bars = zip (map pos (init pts)) (map printString (repeat "|"))+            open = (pos opt, printString o)+            close = (pos (last pts), printString e)+            fs = take b bars+            as = drop b bars+        printSeq $ open : fs ++ [((0, 0), exactPC es)] ++ as ++ [close]++instance ExactP FieldUpdate where+  exactP fup = case fup of+    FieldUpdate l qn e  ->+      case srcInfoPoints l of+       [a] -> do+          exactP qn+          printStringAt (pos a) "="+          exactPC e+       _ -> errorEP "ExactP: FieldUpdate is given wrong number of srcInfoPoints"+    FieldPun _ n    -> exactP n+    FieldWildcard _ -> printString ".."++instance ExactP Stmt where+  exactP stmt = case stmt of+    Generator l p e ->+      case srcInfoPoints l of+       [a] -> do+          exactP p+          printStringAt (pos a) "<-"+          exactPC e+       _ -> errorEP "ExactP: Stmt: Generator is given wrong number of srcInfoPoints"+    Qualifier _ e -> exactP e+    LetStmt _ bds   -> do+      printString "let"+      exactPC bds+    RecStmt l ss    ->+      case srcInfoPoints l of+       _:pts -> do+          printString "rec"+          layoutList pts ss+       _ -> errorEP "ExactP: Stmt: RecStmt is given too few srcInfoPoints"++instance ExactP QualStmt where+  exactP qstmt = case qstmt of+    QualStmt     _ stmt -> exactP stmt+    ThenTrans    _ e    -> printString "then" >> exactPC e+    ThenBy      l e1 e2 ->+        case srcInfoPoints l of+         [_,b] -> do+            printString "then"+            exactPC e1+            printStringAt (pos b) "by"+            exactPC e2+         _ -> errorEP "ExactP: QualStmt: ThenBy is given wrong number of srcInfoPoints"+    GroupBy      l e        -> do+        printStrs $ zip (srcInfoPoints l) ["then","group","by"]+        exactPC e+    GroupUsing   l e        -> do+        printStrs $ zip (srcInfoPoints l) ["then","group","using"]+        exactPC e+    GroupByUsing l e1 e2    -> do+        let pts = srcInfoPoints l+        printStrs $ zip (init pts) ["then","group","by"]+        exactPC e1+        printStringAt (pos (last pts)) "using"+        exactPC e2++instance ExactP Bracket where+  exactP br = case br of+    ExpBracket l e  -> printBracket "ExpBracket" "[|" "|]" l e+    TExpBracket l e -> printBracket "TExpBracket" "[||" "||]" l e+    PatBracket l p  -> printBracket "PatBracket" "[p|" "|]" l p+    TypeBracket l t -> printBracket "TypeBracket" "[t|" "|]" l t+    DeclBracket l ds ->+        case srcInfoPoints l of+         pts@(_:_) -> do+            printString "[d|"+            layoutList (init pts) (sepFunBinds ds)+            printStringAt (pos (last pts)) "|]"+         _ -> errorEP "ExactP: Bracket: DeclBracket is given too few srcInfoPoints"++printBracket :: ExactP ast => String -> String -> String -> SrcSpanInfo -> ast SrcSpanInfo -> EP ()+printBracket con oBracket cBracket l c =+  case srcInfoPoints l of+    [_,b] -> do+      printString oBracket+      exactPC c+      printStringAt (pos b) cBracket+    _ -> errorEP $ "ExactP: Bracket: " ++ con ++ " is given wrong number of srcInfoPoints"++instance ExactP XAttr where+  exactP (XAttr l xn e) =+    case srcInfoPoints l of+     [a] -> do+        exactP xn+        printStringAt (pos a) "="+        exactPC e+     _ -> errorEP "ExactP: XAttr is given wrong number of srcInfoPoints"++instance ExactP Alt where+  exactP (Alt l p galts mbs) = do+    exactP p+    exactPC (GuardedAlts galts)+    maybeEP (\bs -> printStringAt (pos (head (srcInfoPoints l))) "where" >> exactPC bs) mbs++instance ExactP Match where+  exactP (Match l n ps rhs mbinds) = do+    let pts = srcInfoPoints l+        len = length pts+        pars = len `div` 2+        (oPars,cParsWh) = splitAt pars pts+        (cPars,_) = splitAt pars cParsWh    -- _§ is either singleton or empty+    printStrs (zip oPars (repeat "("))+    exactPC n+    printStreams (zip (map pos cPars) (repeat $ printString ")")) (map (pos . ann &&& exactPC) ps)+    exactPC rhs+    maybeEP (\bds -> printStringAt (pos (head pts)) "where" >> exactPC bds) mbinds+  exactP (InfixMatch l a n bs rhs mbinds) = do+    let pts = srcInfoPoints l+        len = length pts+        pars = len `div` 2+        (oPars,cParsWh) = splitAt pars pts+        (cPars,whPt) = splitAt pars cParsWh    -- whPt is either singleton or empty+    printStrs (zip oPars (repeat "("))+    exactPC a+    epInfixName n+    printInterleaved' (zip cPars (repeat ")")) bs+    exactPC rhs+    maybeEP (\bds -> printStringAt (pos (head whPt)) "where" >> exactPC bds) mbinds++instance ExactP Rhs where+  exactP (UnGuardedRhs _ e) = printString "=" >> exactPC e+  exactP (GuardedRhss  _ grhss) = mapM_ exactPC grhss++instance ExactP GuardedRhs where+  exactP (GuardedRhs l ss e) =+    case srcInfoPoints l of+     _:pts -> do+        printString "|"+        printInterleaved' (zip (init pts) (repeat ",") ++ [(last pts, "=")]) ss+        exactPC e+     _ -> errorEP "ExactP: GuardedRhs is given wrong number of srcInfoPoints"++newtype GuardedAlts l = GuardedAlts (Rhs l)+    deriving (Functor, Show)+instance Annotated GuardedAlts where+    amap f (GuardedAlts v) = GuardedAlts (amap f v)+    ann (GuardedAlts v) = ann v++newtype GuardedAlt l = GuardedAlt (GuardedRhs l)+    deriving (Functor, Show)+instance Annotated GuardedAlt where+    amap f (GuardedAlt v) = GuardedAlt (amap f v)+    ann (GuardedAlt v) = ann v++instance ExactP GuardedAlts where+  exactP (GuardedAlts (UnGuardedRhs _ e)) = printString "->" >> exactPC e+  exactP (GuardedAlts (GuardedRhss  _ grhss)) = mapM_ (exactPC . GuardedAlt) grhss++instance ExactP GuardedAlt where+  exactP (GuardedAlt (GuardedRhs l ss e)) =+    case srcInfoPoints l of+     _:pts -> do+        printString "|"+        printInterleaved' (zip (init pts) (repeat ",") ++ [(last pts, "->")]) ss+        exactPC e+     _ -> errorEP "ExactP: GuardedAlt is given wrong number of srcInfoPoints"++instance ExactP Pat where+  exactP pat = case pat of+    PVar l n    -> exactPC (fmap (const l) n)+    PLit _ sg lit -> exactPC sg >> exactPC lit+    PNPlusK l n k   ->+        case srcInfoPoints l of+         [a,b] -> do+            exactP n+            printStringAt (pos a) "+"+            printStringAt (pos b) (show k)+         _ -> errorEP "ExactP: Pat: PNPlusK is given wrong number of srcInfoPoints"+    PInfixApp _ pa qn pb -> exactP pa >> epInfixQName qn >> exactPC pb+    PApp _ qn ps    -> exactP qn >> mapM_ exactPC ps+    PTuple l bx ps ->+        case bx of+          Boxed   -> parenList (srcInfoPoints l) ps+          Unboxed -> parenHashList (srcInfoPoints l) ps+    PUnboxedSum l before after e ->+      unboxedSumEP l before after e+    PList l ps  -> squareList (srcInfoPoints l) ps+    PParen l p  -> parenList (srcInfoPoints l) [p]+    PRec l qn pfs   -> exactP qn >> curlyList (srcInfoPoints l) pfs+    PAsPat l n p    ->+        case srcInfoPoints l of+         [a] -> do+            exactP n+            printStringAt (pos a) "@"+            exactPC p+         _ -> errorEP "ExactP: Pat: PAsPat is given wrong number of srcInfoPoints"+    PWildCard _ -> printString "_"+    PIrrPat _ p -> printString "~" >> exactPC p+    PatTypeSig l p t ->+        case srcInfoPoints l of+         [a] -> do+            exactP p+            printStringAt (pos a) "::"+            exactPC t+         _ -> errorEP "ExactP: Pat: PatTypeSig is given wrong number of srcInfoPoints"+    PViewPat l e p ->+        case srcInfoPoints l of+         [a] -> do+            exactP e+            printStringAt (pos a) "->"+            exactPC p+         _ -> errorEP "ExactP: Pat: PViewPat is given wrong number of srcInfoPoints"+    PRPat l rps -> squareList (srcInfoPoints l) rps+    PXTag l xn attrs mat ps ->+        case srcInfoPoints l of+         [_,b,c,d,e] -> do+            printString "<"+            exactPC xn+            mapM_ exactPC attrs+            maybeEP exactPC mat+            printStringAt (pos b) ">"+            mapM_ exactPC ps+            printStringAt (pos c) "</"+            printWhitespace (pos d)+            exactP xn+            printStringAt (pos e) ">"+         -- Optional semi+         [_,b,semi,c,d,e] -> do+            printString "<"+            exactPC xn+            mapM_ exactPC attrs+            maybeEP exactPC mat+            printStringAt (pos b) ">"+            mapM_ exactPC ps+            printSemi semi+            printStringAt (pos c) "</"+            printWhitespace (pos d)+            exactP xn+            printStringAt (pos e) ">"+         _ -> errorEP "ExactP: Pat: PXTag is given wrong number of srcInfoPoints"+    PXETag l xn attrs mat ->+        case srcInfoPoints l of+         [_,b] -> do+            printString "<"+            exactPC xn+            mapM_ exactPC attrs+            maybeEP exactPC mat+            printStringAt (pos b) "/>"+         _ -> errorEP "ExactP: Pat: PXETag is given wrong number of srcInfoPoints"+    PXPcdata _ str -> printString str+    PXPatTag l p   ->+        case srcInfoPoints l of+         [_,_] -> do+            printString "<%"+            exactPC p+            printString "%>"+         _ -> errorEP "ExactP: Pat: PXPatTag is given wrong number of srcInfoPoints"+    PXRPats  l rps  -> bracketList ("<[",",","]>") (srcInfoPoints l) rps+    PSplice _ sp  -> exactP sp+    PQuasiQuote _ name qt   -> printString $ "[$" ++ name ++ "|" ++ qt ++ "]"+    PBangPat _ p    -> printString "!" >> exactPC p++instance ExactP PatField where+  exactP pf = case pf of+    PFieldPat l qn p        ->+        case srcInfoPoints l of+         [a] -> do+            exactP qn+            printStringAt (pos a) "="+            exactPC p+         _ -> errorEP "ExactP: PatField: PFieldPat is given wrong number of srcInfoPoints"+    PFieldPun _ n   -> exactP n+    PFieldWildcard _ -> printString ".."++instance ExactP RPat where+  exactP rpat = case rpat of+    RPOp _ rp op    -> exactP rp >> exactPC op+    RPEither l r1 r2 ->+      case srcInfoPoints l of+       [a] -> do+          exactP r1+          printStringAt (pos a) "|"+          exactPC r2+       _ -> errorEP "ExactP: RPat: RPEither is given wrong number of srcInfoPoints"+    RPSeq l rps -> bracketList ("(|",",","|)") (srcInfoPoints l) rps+    RPGuard l p stmts   ->+      case srcInfoPoints l of+       _:pts -> do+          printString "(|"+          exactPC p+          bracketList ("|",",","|)") pts stmts+       _ -> errorEP "ExactP: RPat: RPGuard is given wrong number of srcInfoPoints"+    RPCAs l n rp    ->+      case srcInfoPoints l of+       [a] -> do+          exactP n+          printStringAt (pos a) "@:"+          exactPC rp+       _ -> errorEP "ExactP: RPat: RPCAs is given wrong number of srcInfoPoints"+    RPAs l n rp     ->+      case srcInfoPoints l of+       [a] -> do+          exactP n+          printStringAt (pos a) "@"+          exactPC rp+       _ -> errorEP "ExactP: RPat: RPAs is given wrong number of srcInfoPoints"+    RPParen l rp    -> parenList (srcInfoPoints l) [rp]+    RPPat _ p   -> exactP p++instance ExactP RPatOp where+  exactP rop = printString $ case rop of+    RPStar  _  -> "*"+    RPStarG _  -> "*!"+    RPPlus  _  -> "+"+    RPPlusG _  -> "+!"+    RPOpt   _  -> "?"+    RPOptG  _  -> "?!"++instance ExactP PXAttr where+  exactP (PXAttr l xn p) =+    case srcInfoPoints l of+     [a] -> do+        exactP xn+        printStringAt (pos a) "="+        exactPC p+     _ -> errorEP "ExactP: PXAttr is given wrong number of srcInfoPoints"++instance ExactP XName where+  exactP xn = case xn of+    XName _ name -> printString name+    XDomName l dom name ->+        case srcInfoPoints l of+         [_,b,c] -> do+            printString dom+            printStringAt (pos b) ":"+            printStringAt (pos c) name+         _ -> errorEP "ExactP: XName: XDomName is given wrong number of srcInfoPoints"++instance ExactP Binds where+  exactP (BDecls  l ds)  = layoutList (srcInfoPoints l) (sepFunBinds ds)+  exactP (IPBinds l ips) = layoutList (srcInfoPoints l) ips++instance ExactP CallConv where+  exactP (StdCall    _) = printString "stdcall"+  exactP (CCall      _) = printString "ccall"+  exactP (CPlusPlus  _) = printString "cplusplus"+  exactP (DotNet     _) = printString "dotnet"+  exactP (Jvm        _) = printString "jvm"+  exactP (Js         _) = printString "js"+  exactP (JavaScript _) = printString "javascript"+  exactP (CApi       _) = printString "capi"++instance ExactP Safety where+  exactP (PlayRisky _) = printString "unsafe"+  exactP (PlaySafe _ b) = printString $ if b then "threadsafe" else "safe"+  exactP (PlayInterruptible _) = printString "interruptible"++instance ExactP Rule where+  exactP (Rule l str mact mrvs e1 e2) =+    case srcInfoPoints l of+     _:pts -> do+        printString (show str)+        maybeEP exactP mact+        pts1 <- case mrvs of+                Nothing -> return pts+                Just rvs ->+                    case pts of+                     a':b:pts' -> do+                        printStringAt (pos a') "forall"+                        mapM_ exactPC rvs+                        printStringAt (pos b) "."+                        return pts'+                     _ -> errorEP "ExactP: Rule is given too few srcInfoPoints"+        case pts1 of+         [x] -> do+            exactPC e1+            printStringAt (pos x) "="+            exactPC e2+         _ -> errorEP "ExactP: Rule is given wrong number of srcInfoPoints"+     _ -> errorEP "ExactP: Rule is given too few srcInfoPoints"++instance ExactP RuleVar where+  exactP (TypedRuleVar l n t) =+        case srcInfoPoints l of+         [_,b,c] -> do+            printString "("+            exactPC n+            printStringAt (pos b) "::"+            exactPC t+            printStringAt (pos c) ")"+         _ -> errorEP "ExactP: RuleVar: TypedRuleVar is given wrong number of srcInfoPoints"+  exactP (RuleVar _ n) = exactP n++instance ExactP Overlap where+  exactP (NoOverlap _) =+    printString "{-# NO_OVERLAP #-}"+  exactP (Overlap _) =+    printString "{-# OVERLAP #-}"+  exactP (Overlaps _) =+    printString "{-# OVERLAPS #-}"+  exactP (Overlapping _) =+    printString "{-# OVERLAPPING #-}"+  exactP (Overlappable _) =+    printString "{-# OVERLAPPABLE #-}"+  exactP (Incoherent _) =+    printString "{-# INCOHERENT #-}"++instance ExactP Activation where+  exactP (ActiveFrom   l i) =+    printPoints l ["[", show i, "]"]+  exactP (ActiveUntil  l i) =+    printPoints l ["[", "~", show i, "]"]++instance ExactP FieldDecl where+  exactP (FieldDecl l ns bt) = do+    let pts = srcInfoPoints l+    printInterleaved' (zip (init pts) (repeat ",") ++ [(last pts, "::")]) ns+    exactPC bt++instance ExactP IPBind where+  exactP (IPBind l ipn e) =+    case srcInfoPoints l of+     [a] -> do+        exactP ipn+        printStringAt (pos a) "="+        exactPC e+     _ -> errorEP "ExactP: IPBind is given wrong number of srcInfoPoints"++-- Hopefully, this will never fire.+-- If it does, hopefully by that time https://github.com/sol/rewrite-with-location+-- will be implemented.+-- If not, then removing all calls to internalError should give a better+-- idea where the error comes from.+-- So far, it's necessary to eliminate non-exhaustive patterns warnings.+-- We don't want to turn them off, as we want unhandled AST nodes to be+-- reported.+internalError :: String -> a+internalError loc' = error $ unlines+    [ "haskell-src-exts: ExactPrint: internal error (non-exhaustive pattern)"+    , "Location: " ++ loc'+    , "This is either caused by supplying incorrect location information or by"+    , "a bug in haskell-src-exts. If this happens on an unmodified AST obtained"+    , "by the haskell-src-exts Parser it is a bug, please it report it at"+    , "https://github.com/haskell-suite/haskell-src-exts"]
src/Language/Haskell/Exts/ExtScheme.hs view
@@ -1,4 +1,6 @@+{-# LANGUAGE Safe #-} {-# OPTIONS_HADDOCK hide #-}+ ----------------------------------------------------------------------------- -- | -- Module      :  Language.Haskell.Exts.ExtScheme
src/Language/Haskell/Exts/Extension.hs view
@@ -1,4 +1,5 @@-{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE CPP, DeriveDataTypeable, Safe #-}+ ----------------------------------------------------------------------------- -- | -- Module      :  Language.Haskell.Exts.Extension@@ -39,7 +40,11 @@      ) where +#if __GLASGOW_HASKELL__ < 710 import Control.Applicative ((<$>), (<|>))+#else+import Control.Applicative ((<|>))+#endif import Data.Array (Array, accumArray, bounds, Ix(inRange), (!)) import Data.List (nub) import Data.Maybe (fromMaybe)@@ -148,13 +153,12 @@   -- | [GHC &#xa7; 7.6.3.5] Allow type signatures in instances.   | InstanceSigs -  -- | [GHC &#xa7; 7.3.8] Allows recursive bindings in @do@ blocks,-  -- using the @rec@ keyword.+  -- | [GHC &#xa7; 7.3.8] Deprecated in GHC.  Allows recursive+  -- bindings in @do@ blocks, using the @rec@ keyword.   | DoRec -  -- | [GHC &#xa7; 7.3.8.2] Deprecated in GHC.  Allows recursive bindings-  -- using @mdo@, a variant of @do@.  @DoRec@ provides a different,-  -- preferred syntax.+  -- | [GHC &#xa7; 7.3.8.2] Allows recursive bindings using @mdo@, a+  -- variant of @do@, and @rec@.   | RecursiveDo    -- | [GHC &#xa7; 7.3.9] Provide syntax for writing list@@ -265,6 +269,9 @@   -- @deriving@ for any class with an instance for the underlying type.   | GeneralizedNewtypeDeriving +  -- | [GHC &#xa7; 9.6.10] Allow use of any typeclass in deriving clauses.+  | DeriveAnyClass+   -- | [Hugs &#xa7; 7.1] Enable the \"Trex\" extensible records system.   | ExtensibleRecords @@ -368,8 +375,13 @@   -- > import "network" Network.Socket   | PackageImports +  | ImportQualifiedPost+   | LambdaCase +  -- | [GHC &#xa7; 7.3.20] Allow case expressions with no alternatives.+  | EmptyCase+   -- | [GHC &#xa7; 7.8.6] Deprecated in GHC 6.12 and will be removed in   -- GHC 7.  Allow a type variable to be instantiated at a   -- polymorphic type.@@ -460,6 +472,10 @@   -- foreign function interface.   | CApiFFI +  -- | GHCJS FFI extension with convenient import patterns,+  -- asynchronous FFI and a JSVal FFI type+  | JavaScriptFFI+   -- | [GHC &#xa7; 7.3.27] Enable explicit namespaces in import/export.   | ExplicitNamespaces @@ -519,6 +535,33 @@   -- start with an underscore as wildcards. For example, `foo :: _x` is   -- equivalent to `foo :: _`.   | NamedWildCards++  | TypeApplications++  | TypeFamilyDependencies++  | OverloadedLabels++  -- | Allow multiple @deriving@ clauses, each optionally qualified with a+  -- /strategy/.+  | DerivingStrategies++  | UnboxedSums++  | TypeInType++  | Strict++  | StrictData++  -- | Enable deriving instances via types of the same runtime representation.+  -- Implies 'DerivingStrategies'.+  | DerivingVia++  | QuantifiedConstraints++  | BlockArguments+   deriving (Show, Read, Eq, Ord, Enum, Bounded, Data, Typeable)  -- | Certain extensions imply other extensions, and this function@@ -553,9 +596,13 @@                     ExistentialQuantification -> [ExplicitForAll]                     ImpredicativeTypes   -> [ExplicitForAll]                     PolyKinds           -> [KindSignatures]+                    TypeFamilyDependencies -> [TypeFamilies]+                    TypeInType          -> [PolyKinds, DataKinds, KindSignatures]+                    TypeOperators       -> [ExplicitNamespaces]                     -- Deprecations                     RecordPuns          -> [NamedFieldPuns]                     PatternSignatures   -> [ScopedTypeVariables]+                    DerivingVia         -> [DerivingStrategies]                     _                   -> []  -- | The list of extensions enabled by@@ -701,4 +748,3 @@           go acc (EnableExtension  x : exts) = go (x : acc)           exts           -- We just throw away UnknownExtensions           go acc (_ : exts) = go acc exts-
src/Language/Haskell/Exts/Fixity.hs view
@@ -1,4 +1,5 @@-{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE CPP, DeriveDataTypeable, Safe #-}+ ----------------------------------------------------------------------------- -- | -- Module      :  Language.Haskell.Exts.Fixity@@ -28,23 +29,29 @@     --   /varid/ operators, and /varsym/ operators written as is.     , infix_, infixl_, infixr_     -- ** Collections of fixities-    , preludeFixities, baseFixities, prefixMinusFixity+    , preludeFixities, baseFixities      -- * Applying fixities to an AST     , AppFixity(..)     ) where  import Language.Haskell.Exts.Syntax+import Language.Haskell.Exts.SrcLoc -import Control.Monad (when, (<=<), liftM, liftM2, liftM3)+import Control.Monad (when, (<=<), liftM, liftM2, liftM3, liftM4)+import qualified Control.Monad.Fail as Fail import Data.Traversable (mapM)-import Prelude hiding (mapM)-import Data.Data hiding (Fixity) import Data.Maybe (fromMaybe)+import Data.Typeable+import Data.Data hiding (Fixity)+#if __GLASGOW_HASKELL__ < 710+import Control.Applicative ((<$))+#endif+import Prelude hiding (mapM)  -- | Operator fixities are represented by their associativity --   (left, right or none) and their precedence (0-9).-data Fixity = Fixity Assoc Int QName+data Fixity = Fixity (Assoc ()) Int (QName ())   deriving (Eq,Ord,Show,Typeable,Data)  -- | All AST elements that may include expressions which in turn may@@ -53,75 +60,81 @@   -- | Tweak any expressions in the element to account for the   --   fixities given. Assumes that all operator expressions are   --   fully left associative chains to begin with.-  applyFixities :: Monad m => [Fixity] -- ^ The fixities to account for.-                    -> ast  -- ^ The element to tweak.-                    -> m ast  -- ^ The same element, but with operator expressions updated, or a failure.+  applyFixities :: Fail.MonadFail m => [Fixity]  -- ^ The fixities to account for.+                    -> ast SrcSpanInfo           -- ^ The element to tweak.+                    -> m (ast SrcSpanInfo)       -- ^ The same element, but with operator expressions updated, or a failure. +assocNone, assocLeft, assocRight :: Assoc ()+assocNone = AssocNone ()+assocLeft = AssocLeft ()+assocRight = AssocRight ()  instance AppFixity Exp where   applyFixities fixs' = infFix fixs' <=< leafFix fixs'     where -- This is the real meat case. We can assume a left-associative list to begin with.-          infFix fixs (InfixApp a op2 z) = do+          infFix fixs (InfixApp l2 a op2 z) = do               e <- infFix fixs a               let fixup (a1,p1) (a2,p2) y pre = do-                      when (p1 == p2 && (a1 /= a2 || a1 == AssocNone)) -- Ambiguous infix expression!+                      when (p1 == p2 && (a1 /= a2 || a1 == assocNone)) -- Ambiguous infix expression!                            $ fail "Ambiguous infix expression"-                      if p1 > p2 || p1 == p2 && (a1 == AssocLeft || a2 == AssocNone) -- Already right order-                       then return $ InfixApp e op2 z-                       else liftM pre (infFix fixs $ InfixApp y op2 z)+                      if p1 > p2 || p1 == p2 && (a1 == assocLeft || a2 == assocNone) -- Already right order+                       then return $ InfixApp l2 e op2 z+                       else liftM pre (infFix fixs $ InfixApp (ann y <++> ann z) y op2 z)               case e of-               InfixApp x op1 y -> fixup (askFixity fixs op1) (askFixity fixs op2) y (InfixApp x op1)-               NegApp         y -> fixup prefixMinusFixity    (askFixity fixs op2) y  NegApp-               _  -> return $ InfixApp e op2 z+               InfixApp _ x op1 y -> fixup (askFixity fixs op1) (askFixity fixs op2) y (InfixApp l2 x op1)+               NegApp   _       y -> fixup prefixMinusFixity    (askFixity fixs op2) y (NegApp l2)+               _  -> return $ InfixApp l2 e op2 z            infFix _ e = return e +--ambOps l = ParseFailed (getPointLoc l) $ "Ambiguous infix expression"+ instance AppFixity Pat where   applyFixities fixs' = infFix fixs' <=< leafFixP fixs'-    where -- Same for patterns-          infFix fixs (PInfixApp a op2 z) = do+    where -- This is the real meat case. We can assume a left-associative list to begin with.+          infFix fixs (PInfixApp l2 a op2 z) = do               p <- infFix fixs a               let fixup (a1,p1) (a2,p2) y pre = do-                      when (p1 == p2 && (a1 /= a2 || a1 == AssocNone )) -- Ambiguous infix expression!+                      when (p1 == p2 && (a1 /= a2 || a1 == assocNone )) -- Ambiguous infix expression!                            $ fail "Ambiguous infix expression"-                      if p1 > p2 || p1 == p2 && (a1 == AssocLeft || a2 == AssocNone) -- Already right order-                       then return $ PInfixApp p op2 z-                       else liftM pre (infFix fixs $ PInfixApp y op2 z)+                      if p1 > p2 || p1 == p2 && (a1 == assocLeft || a2 == assocNone) -- Already right order+                       then return $ PInfixApp l2 p op2 z+                       else liftM pre (infFix fixs $ PInfixApp (ann y <++> ann z) y op2 z)               case p of-               PInfixApp x op1 y -> fixup (askFixityP fixs op1) (askFixityP fixs op2) y (PInfixApp x op1)-               _  -> return $ PInfixApp p op2 z+               PInfixApp _ x op1 y -> fixup (askFixityP fixs op1) (askFixityP fixs op2) y (PInfixApp l2 x op1)+               _  -> return $ PInfixApp l2 p op2 z            infFix _ p = return p - -- Internal: lookup associativity and precedence of an operator-askFixity :: [Fixity] -> QOp -> (Assoc, Int)-askFixity xs k = askFix xs (f k) -- undefined -- \k -> askFixityP xs (f k) -- lookupWithDefault (AssocLeft, 9) (f k) mp+askFixity :: [Fixity] -> QOp l -> (Assoc (), Int)+askFixity xs k = askFix xs (f (() <$ k))     where-        f (QVarOp x) = g x-        f (QConOp x) = g x+        f (QVarOp _ x) = g x+        f (QConOp _ x) = g x -        g (Special Cons) = UnQual (Symbol ":")-        g x              = x+        g (Special _ (Cons _)) = UnQual () (Symbol () ":")+        g x                  = x  -- Same using patterns-askFixityP :: [Fixity] -> QName -> (Assoc, Int)-askFixityP xs qn = askFix xs (g qn)+askFixityP :: [Fixity] -> QName l -> (Assoc (), Int)+askFixityP xs qn = askFix xs (g (() <$ qn))     where-        g (Special Cons) = UnQual (Symbol ":")-        g x              = x+        g (Special _ (Cons _)) = UnQual () (Symbol () ":")+        g x                  = x -askFix :: [Fixity] -> QName -> (Assoc, Int)-askFix xs = \k -> lookupWithDefault (AssocLeft, 9) k mp+askFix :: [Fixity] -> QName l -> (Assoc (), Int)+askFix xs = \k -> lookupWithDefault (assocLeft, 9) (() <$ k) mp     where-        lookupWithDefault def k mp1 = fromMaybe def $ lookup k mp1+        lookupWithDefault def k mp' = fromMaybe def $ lookup k mp'          mp = [(x,(a,p)) | Fixity a p x <- xs]  + -- | Built-in fixity for prefix minus-prefixMinusFixity :: (Assoc, Int)-prefixMinusFixity = (AssocLeft, 6)+prefixMinusFixity :: (Assoc (), Int)+prefixMinusFixity = (AssocLeft (), 6)  -- | All fixities defined in the Prelude. preludeFixities :: [Fixity]@@ -129,10 +142,11 @@     [infixr_ 9  ["."]     ,infixl_ 9  ["!!"]     ,infixr_ 8  ["^","^^","**"]-    ,infixl_ 7  ["*","/","`quot`","`rem`","`div`","`mod`",":%","%"]+    ,infixl_ 7  ["*","/","`quot`","`rem`","`div`","`mod`"]     ,infixl_ 6  ["+","-"]     ,infixr_ 5  [":","++"]     ,infix_  4  ["==","/=","<","<=",">=",">","`elem`","`notElem`"]+    ,infixl_ 4  ["<$>","<$","<*>","<*","*>"]     ,infixr_ 3  ["&&"]     ,infixr_ 2  ["||"]     ,infixl_ 1  [">>",">>="]@@ -148,257 +162,289 @@ baseFixities :: [Fixity] baseFixities = preludeFixities ++ concat     [infixl_ 9 ["!","//","!:"]+    ,infixr_ 9 ["`Compose`"]     ,infixl_ 8 ["`shift`","`rotate`","`shiftL`","`shiftR`","`rotateL`","`rotateR`"]-    ,infixl_ 7 [".&."]+    ,infixl_ 7 [".&.","%"]+    ,infixr_ 6 ["<>"]     ,infixl_ 6 ["`xor`"]     ,infix_  6 [":+"]     ,infixl_ 5 [".|."]-    ,infixr_ 5 ["+:+","<++","<+>"] -- fixity conflict for +++ between ReadP and Arrow+    ,infixr_ 5 ["+:+","<++","<+>","<|"] -- fixity conflict for +++ between ReadP and Arrow     ,infix_  5 ["\\\\"]-    ,infixl_ 4 ["<$>","<$","<*>","<*","*>","<**>"]-    ,infix_  4 ["`elemP`","`notElemP`"]+    ,infixl_ 4 ["<**>","$>","<$","<$!>"]+    ,infix_  4 ["`elemP`","`notElemP`",":~:",":~~:"]     ,infixl_ 3 ["<|>"]     ,infixr_ 3 ["&&&","***"]     ,infixr_ 2 ["+++","|||"]     ,infixr_ 1 ["<=<",">=>",">>>","<<<","^<<","<<^","^>>",">>^"]+    ,infixl_ 1 ["&"]     ,infixl_ 0 ["`on`"]     ,infixr_ 0 ["`par`","`pseq`"]     ]  infixr_, infixl_, infix_ :: Int -> [String] -> [Fixity]-infixr_ = fixity AssocRight-infixl_ = fixity AssocLeft-infix_  = fixity AssocNone+infixr_ = fixity  assocRight+infixl_ = fixity  assocLeft+infix_  = fixity  assocNone  -- Internal: help function for the above definitions.-fixity :: Assoc -> Int -> [String] -> [Fixity]+fixity :: Assoc () -> Int -> [String] -> [Fixity] fixity a p = map (Fixity a p . op)     where-        op ('`':xs) = UnQual $ Ident $ init xs-        op xs = UnQual $ Symbol xs+        op ('`':xs) = UnQual () $ Ident () $ init xs+        op xs = UnQual () $ Symbol () xs      ++ ------------------------------------------------------------------- -- Boilerplate - yuck!! Everything below here is internal stuff  instance AppFixity Module where-    applyFixities fixs (Module loc n prs mwt ext imp decls) =-        liftM (Module loc n prs mwt ext imp) $ appFixDecls fixs decls+    applyFixities fixs (Module l mmh prs imp decls) =+        liftM (Module l mmh prs imp) $ appFixDecls mmn fixs decls+      where mmn = getMmn mmh+            getMmn (Just (ModuleHead _ n _ _)) = Just n+            getMmn _ = Nothing+    applyFixities fixs (XmlPage l mn os xn xas mexp cs) =+        liftM3 (XmlPage l mn os xn) (fix xas) (fix mexp) (fix cs)+      where fix xs = mapM (applyFixities fixs) xs+    applyFixities fixs (XmlHybrid l mmh prs imp decls xn xas mexp cs) =+        liftM4 (flip (XmlHybrid l mmh prs imp) xn) (appFixDecls mmn fixs decls)+                (fixe xas) (fixe mexp) (fixe cs)+      where mmn = getMmn mmh+            getMmn (Just (ModuleHead _ n _ _)) = Just n+            getMmn _ = Nothing+            fixe xs = let extraFixs = getFixities mmn decls+                       in mapM (applyFixities (fixs++extraFixs)) xs  instance AppFixity Decl where     applyFixities fixs decl = case decl of-        ClassDecl loc ctxt n vars deps cdecls   -> liftM (ClassDecl loc ctxt n vars deps) $ mapM fix cdecls-        InstDecl loc olp tvs ctxt n ts idecls   -> liftM (InstDecl loc olp tvs ctxt n ts) $ mapM fix idecls-        SpliceDecl loc spl      -> liftM (SpliceDecl loc) $ fix spl-        FunBind matches         -> liftM FunBind $ mapM fix matches-        PatBind loc p rhs bs    ->-          let extraFix x = applyFixities (fixs ++ maybe [] getBindFixities bs) x-           in liftM3 (PatBind loc) (extraFix p) (extraFix rhs) (return $ maybe Nothing extraFix bs)-        AnnPragma loc ann       -> liftM (AnnPragma loc) $ fix ann+        ClassDecl l ctxt dh deps cdecls   -> liftM (ClassDecl l ctxt dh deps) $ mapM (mapM fix) cdecls+        InstDecl  l olp ih idecls         -> liftM (InstDecl  l olp ih)  $ mapM (mapM fix) idecls+        SpliceDecl l spl        -> liftM (SpliceDecl l) $ fix spl+        FunBind l matches       -> liftM (FunBind l) $ mapM fix matches+        PatBind l p rhs bs      ->+         let extraFix x = applyFixities (fixs ++ maybe [] getBindFixities bs) x+          in liftM3 (PatBind l) (extraFix p) (extraFix rhs) (mapM extraFix bs)+        AnnPragma l ann'         -> liftM (AnnPragma l) $ fix ann'+        PatSyn l p1 p2 dir -> liftM (PatSyn l p1 p2) (fix dir)         _                       -> return decl       where fix x = applyFixities fixs x -appFixDecls :: Monad m => [Fixity] -> [Decl] -> m [Decl]-appFixDecls fixs decls =-    let extraFixs = getFixities decls+instance AppFixity PatternSynDirection where+  applyFixities fixs dir = case dir of+    ExplicitBidirectional l ds -> liftM (ExplicitBidirectional l) (mapM fix ds)+    _ -> return dir+    where fix x = applyFixities fixs x++appFixDecls :: Fail.MonadFail m => Maybe (ModuleName SrcSpanInfo) -> [Fixity] -> [Decl SrcSpanInfo] -> m [Decl SrcSpanInfo]+appFixDecls mmdl fixs decls =+    let extraFixs = getFixities mmdl decls      in mapM (applyFixities (fixs++extraFixs)) decls -getFixities :: [Decl] -> [Fixity]-getFixities = concatMap getFixity-  where getFixity (InfixDecl _ a p ops)     = map (Fixity a p . g) ops-        getFixity (ClassDecl _ _ _ _ _ cds) = concatMap getClassFixity cds-        getFixity _ = []-        g (VarOp x) = UnQual x-        g (ConOp x) = UnQual x-        getClassFixity (ClsDecl d) = getFixities [d]-        getClassFixity _           = []+getFixities :: Maybe (ModuleName l) -> [Decl l] -> [Fixity]+getFixities mmdl = concatMap (getFixity mmdl) -getBindFixities :: Binds -> [Fixity]+getFixity :: Maybe (ModuleName l) -> Decl l -> [Fixity]+getFixity mmdl d =+  case d of+    InfixDecl _ a mp ops  -> let p = fromMaybe 9 mp+                              in map (Fixity (scrub a) p) (concatMap g (map scrub ops))+    ClassDecl _ _ _ _ cds -> maybe [] (concatMap getClassFixity) cds+    _ -> []+  where g (VarOp _ x) = f x+        g (ConOp _ x) = f x+        f x = case mmdl of+              Nothing -> [UnQual () x]+              Just m  -> [Qual () (scrub m) x, UnQual () x]+        getClassFixity (ClsDecl _ cd) = getFixity mmdl cd+        getClassFixity _              = []++scrub :: Functor f => f a -> f ()+scrub f = () <$ f++getBindFixities :: Binds l -> [Fixity] getBindFixities bs = case bs of-                        BDecls ds -> getFixities ds-                        _         -> []+                        BDecls _ ds -> getFixities Nothing ds+                        _           -> []  instance AppFixity Annotation where-    applyFixities fixs ann = case ann of-        Ann     n e   -> liftM (Ann n) $ fix e-        TypeAnn n e   -> liftM (TypeAnn n) $ fix e-        ModuleAnn e   -> liftM ModuleAnn $ fix e+    applyFixities fixs ann' = case ann' of+        Ann     l n e   -> liftM (Ann l n) $ fix e+        TypeAnn l n e   -> liftM (TypeAnn l n) $ fix e+        ModuleAnn l e   -> liftM (ModuleAnn l) $ fix e       where fix x = applyFixities fixs x  instance AppFixity ClassDecl where-    applyFixities fixs (ClsDecl decl) = liftM ClsDecl $ applyFixities fixs decl+    applyFixities fixs (ClsDecl l decl) = liftM (ClsDecl l) $ applyFixities fixs decl     applyFixities _ cdecl = return cdecl  instance AppFixity InstDecl where-    applyFixities fixs (InsDecl decl) = liftM InsDecl $ applyFixities fixs decl+    applyFixities fixs (InsDecl l decl) = liftM (InsDecl l) $ applyFixities fixs decl     applyFixities _ idecl = return idecl  instance AppFixity Match where-    applyFixities fixs (Match loc n ps mt rhs bs) =-      liftM3 (flip (Match loc n) mt) (mapM fix ps) (fix rhs)-                                     (return $ maybe Nothing fix bs)-      where fix x = applyFixities fixs' x-            fixs' = fixs ++ maybe [] getBindFixities bs+    applyFixities fixs match = case match of+        Match l n ps rhs bs -> liftM3 (Match l n) (mapM (fix bs) ps) (fix bs rhs) (mapM (fix bs) bs)+        InfixMatch l a n ps rhs bs -> liftM4 (flip (InfixMatch l) n) (fix bs a) (mapM (fix bs) ps) (fix bs rhs) (mapM (fix bs) bs)+      where fix bs x = applyFixities fixs' x+             where fixs' = fixs ++ maybe [] getBindFixities bs  instance AppFixity Rhs where     applyFixities fixs rhs = case rhs of-        UnGuardedRhs e      -> liftM UnGuardedRhs $ fix e-        GuardedRhss grhss   -> liftM GuardedRhss $ mapM fix grhss+        UnGuardedRhs l e      -> liftM (UnGuardedRhs l) $ fix e+        GuardedRhss l grhss   -> liftM (GuardedRhss l) $ mapM fix grhss       where fix x = applyFixities fixs x  instance AppFixity GuardedRhs where-    applyFixities fixs (GuardedRhs loc stmts e) = liftM2 (GuardedRhs loc) (mapM fix stmts) $ fix e+    applyFixities fixs (GuardedRhs l stmts e) = liftM2 (GuardedRhs l) (mapM fix stmts) $ fix e       where fix x = applyFixities fixs x  instance AppFixity PatField where-    applyFixities fixs (PFieldPat n p) = liftM (PFieldPat n) $ applyFixities fixs p+    applyFixities fixs (PFieldPat l n p) = liftM (PFieldPat l n) $ applyFixities fixs p     applyFixities _ pf = return pf  instance AppFixity RPat where     applyFixities fixs rp' = case rp' of-        RPOp rp op          -> liftM (flip RPOp op) (fix rp)-        RPEither a b        -> liftM2 RPEither (fix a) (fix b)-        RPSeq rps           -> liftM RPSeq $ mapM fix rps-        RPGuard p stmts     -> liftM2 RPGuard (fix p) $ mapM fix stmts-        RPCAs n rp          -> liftM (RPCAs n) $ fix rp-        RPAs n rp           -> liftM (RPAs n) $ fix rp-        RPParen rp          -> liftM RPParen $ fix rp-        RPPat p             -> liftM RPPat $ fix p+        RPOp l rp op          -> liftM (flip (RPOp l) op) $ fix rp+        RPEither l a b        -> liftM2 (RPEither l) (fix a) (fix b)+        RPSeq l rps           -> liftM (RPSeq l) $ mapM fix rps+        RPGuard l p stmts     -> liftM2 (RPGuard l) (fix p) $ mapM fix stmts+        RPCAs l n rp          -> liftM (RPCAs l n) $ fix rp+        RPAs l n rp           -> liftM (RPAs l n) $ fix rp+        RPParen l rp          -> liftM (RPParen l) $ fix rp+        RPPat l p             -> liftM (RPPat l) $ fix p       where fix x = applyFixities fixs x  instance AppFixity PXAttr where-    applyFixities fixs (PXAttr n p) = liftM (PXAttr n) $ applyFixities fixs p+    applyFixities fixs (PXAttr l n p) = liftM (PXAttr l n) $ applyFixities fixs p  instance AppFixity Stmt where     applyFixities fixs stmt = case stmt of-        Generator loc p e   -> liftM2 (Generator loc) (fix p) (fix e)-        Qualifier e         -> liftM Qualifier $ fix e-        LetStmt bs          -> liftM LetStmt $ fix bs    -- special behavior-        RecStmt stmts       -> liftM RecStmt $ mapM fix stmts+        Generator l p e       -> liftM2 (Generator l) (fix p) (fix e)+        Qualifier l e         -> liftM (Qualifier l) $ fix e+        LetStmt l bs          -> liftM (LetStmt l) $ fix bs    -- special behavior+        RecStmt l stmts       -> liftM (RecStmt l) $ mapM fix stmts       where fix x = applyFixities fixs x  instance AppFixity Binds where     applyFixities fixs bs = case bs of-        BDecls decls        -> liftM BDecls $ appFixDecls fixs decls  -- special behavior-        IPBinds ips         -> liftM IPBinds $ mapM fix ips+        BDecls l decls        -> liftM (BDecls l) $ appFixDecls Nothing fixs decls  -- special behavior+        IPBinds l ips         -> liftM (IPBinds l) $ mapM fix ips       where fix x = applyFixities fixs x   instance AppFixity IPBind where-    applyFixities fixs (IPBind loc n e) = liftM (IPBind loc n) $ applyFixities fixs e+    applyFixities fixs (IPBind l n e) = liftM (IPBind l n) $ applyFixities fixs e  instance AppFixity FieldUpdate where-    applyFixities fixs (FieldUpdate n e) = liftM (FieldUpdate n) $ applyFixities fixs e+    applyFixities fixs (FieldUpdate l n e) = liftM (FieldUpdate l n) $ applyFixities fixs e     applyFixities _ fup = return fup  instance AppFixity Alt where-    applyFixities fixs (Alt loc p galts bs) =-      liftM3 (Alt loc) (fix p) (fix galts) (return $ maybe Nothing fix bs)+    applyFixities fixs (Alt l p galts bs) = liftM3 (Alt l) (fix p) (fix galts) (mapM fix bs)       where fix x = applyFixities fixs x  instance AppFixity QualStmt where     applyFixities fixs qstmt = case qstmt of-        QualStmt     s      -> liftM QualStmt $ fix s-        ThenTrans    e      -> liftM ThenTrans $ fix e-        ThenBy       e1 e2  -> liftM2 ThenBy (fix e1) (fix e2)-        GroupBy      e      -> liftM GroupBy (fix e)-        GroupUsing   e      -> liftM GroupUsing (fix e)-        GroupByUsing e1 e2  -> liftM2 GroupByUsing (fix e1) (fix e2)+        QualStmt     l s      -> liftM (QualStmt l) $ fix s+        ThenTrans    l e      -> liftM (ThenTrans l) $ fix e+        ThenBy       l e1 e2  -> liftM2 (ThenBy l) (fix e1) (fix e2)+        GroupBy      l e      -> liftM (GroupBy l) (fix e)+        GroupUsing   l e      -> liftM (GroupUsing l) (fix e)+        GroupByUsing l e1 e2  -> liftM2 (GroupByUsing l) (fix e1) (fix e2)       where fix x = applyFixities fixs x  instance AppFixity Bracket where     applyFixities fixs br = case br of-        ExpBracket e    -> liftM ExpBracket $ fix e-        PatBracket p    -> liftM PatBracket $ fix p-        DeclBracket ds  -> liftM DeclBracket $ mapM fix ds-        _               -> return br+        ExpBracket l e    -> liftM (ExpBracket l) $ fix e+        PatBracket l p    -> liftM (PatBracket l) $ fix p+        DeclBracket l ds  -> liftM (DeclBracket l) $ mapM fix ds+        _                 -> return br       where fix x = applyFixities fixs x  instance AppFixity Splice where-    applyFixities fixs (ParenSplice e) = liftM ParenSplice $ applyFixities fixs e+    applyFixities fixs (ParenSplice l e) = liftM (ParenSplice l) $ applyFixities fixs e     applyFixities _ s = return s  instance AppFixity XAttr where-    applyFixities fixs (XAttr n e) = liftM (XAttr n) $ applyFixities fixs e+    applyFixities fixs (XAttr l n e) = liftM (XAttr l n) $ applyFixities fixs e   -- the boring boilerplate stuff for expressions too -- Recursively fixes the "leaves" of the infix chains, -- without yet touching the chain itself. We assume all chains are -- left-associate to begin with.-leafFix :: Monad m => [Fixity] -> Exp -> m Exp+leafFix :: Fail.MonadFail m => [Fixity] -> Exp SrcSpanInfo -> m (Exp SrcSpanInfo) leafFix fixs e' = case e' of-    InfixApp e1 op e2       -> liftM2 (flip InfixApp op) (leafFix fixs e1) (fix e2)-    App e1 e2               -> liftM2 App (fix e1) (fix e2)-    NegApp e                -> liftM NegApp $ fix e-    Lambda loc pats e       -> liftM2 (Lambda loc) (mapM fix pats) $ fix e-    Let bs e                ->-       let extraFix x = applyFixities (fixs++getBindFixities bs) x-        in liftM2 Let (extraFix bs) $ extraFix e-    If e a b                -> liftM3 If (fix e) (fix a) (fix b)-    MultiIf alts            -> liftM MultiIf (mapM fix alts)-    Case e alts             -> liftM2 Case (fix e) $ mapM fix alts-    Do stmts                -> liftM Do $ mapM fix stmts-    MDo stmts               -> liftM MDo $ mapM fix stmts-    Tuple bx exps           -> liftM (Tuple bx) $ mapM fix exps-    List exps               -> liftM List $ mapM fix  exps-    ParArray exps           -> liftM ParArray $ mapM fix exps-    Paren e                 -> liftM Paren $ fix e-    LeftSection e op        -> liftM (flip LeftSection op) (fix e)-    RightSection op e       -> liftM (RightSection op) $ fix e-    RecConstr n fups        -> liftM (RecConstr n) $ mapM fix fups-    RecUpdate e fups        -> liftM2 RecUpdate (fix e) $ mapM fix fups-    EnumFrom e              -> liftM EnumFrom $ fix e-    EnumFromTo e1 e2        -> liftM2 EnumFromTo (fix e1) (fix e2)-    EnumFromThen e1 e2      -> liftM2 EnumFromThen (fix e1) (fix e2)-    EnumFromThenTo e1 e2 e3 -> liftM3 EnumFromThenTo (fix e1) (fix e2) (fix e3)-    ParArrayFromTo e1 e2     -> liftM2 ParArrayFromTo (fix e1) (fix e2)-    ParArrayFromThenTo e1 e2 e3 -> liftM3 ParArrayFromThenTo (fix e1) (fix e2) (fix e3)-    ListComp e quals        -> liftM2 ListComp (fix e) $ mapM fix quals-    ParComp  e qualss       -> liftM2 ParComp (fix e) $ mapM (mapM fix) qualss-    ParArrayComp  e qualss  -> liftM2 ParArrayComp (fix e) $ mapM (mapM fix) qualss-    ExpTypeSig loc e t      -> liftM (flip (ExpTypeSig loc) t) (fix e)-    BracketExp b            -> liftM BracketExp $ fix b-    SpliceExp s             -> liftM SpliceExp $ fix s-    XTag loc n ats mexp cs  -> liftM3 (XTag loc n) (mapM fix ats) (mapM fix mexp) (mapM fix cs)-    XETag loc n ats mexp    -> liftM2 (XETag loc n) (mapM fix ats) (mapM fix mexp)-    XExpTag e               -> liftM XExpTag $ fix e-    XChildTag loc cs        -> liftM (XChildTag loc) $ mapM fix cs-    Proc loc p e            -> liftM2 (Proc loc) (fix p) (fix e)-    LeftArrApp e1 e2        -> liftM2 LeftArrApp (fix e1) (fix e2)-    RightArrApp e1 e2       -> liftM2 RightArrApp (fix e1) (fix e2)-    LeftArrHighApp e1 e2    -> liftM2 LeftArrHighApp (fix e1) (fix e2)-    RightArrHighApp e1 e2   -> liftM2 RightArrHighApp (fix e1) (fix e2)-    CorePragma s e          -> liftM (CorePragma s) (fix e)-    SCCPragma s e           -> liftM (SCCPragma s) (fix e)-    GenPragma s ab cd e     -> liftM (GenPragma s ab cd) (fix e)-    LCase alts              -> liftM LCase $ mapM fix alts+    InfixApp l e1 op e2       -> liftM2 (flip (InfixApp l) op) (leafFix fixs e1) (fix e2)+    App l e1 e2               -> liftM2 (App l) (fix e1) (fix e2)+    NegApp l e                -> liftM (NegApp l) $ fix e+    Lambda l pats e           -> liftM2 (Lambda l) (mapM fix pats) $ fix e+    Let l bs e                ->+        let extraFix x = applyFixities (fixs ++ getBindFixities bs) x+         in liftM2 (Let l) (extraFix bs) $ extraFix e+    If l e a b                -> liftM3 (If l) (fix e) (fix a) (fix b)+    MultiIf l alts            -> liftM (MultiIf l) (mapM fix alts)+    Case l e alts             -> liftM2 (Case l) (fix e) $ mapM fix alts+    Do l stmts                -> liftM (Do l) $ mapM fix stmts+    MDo l stmts               -> liftM (MDo l) $ mapM fix stmts+    Tuple l bx exps           -> liftM (Tuple l bx) $ mapM fix exps+    List l exps               -> liftM (List l) $ mapM fix  exps+    Paren l e                 -> liftM (Paren l) $ fix e+    LeftSection l e op        -> liftM (flip (LeftSection l) op) (fix e)+    RightSection l op e       -> liftM (RightSection l op) $ fix e+    RecConstr l n fups        -> liftM (RecConstr l n) $ mapM fix fups+    RecUpdate l e fups        -> liftM2 (RecUpdate l) (fix e) $ mapM fix fups+    EnumFrom l e              -> liftM (EnumFrom l) $ fix e+    EnumFromTo l e1 e2        -> liftM2 (EnumFromTo l) (fix e1) (fix e2)+    EnumFromThen l e1 e2      -> liftM2 (EnumFromThen l) (fix e1) (fix e2)+    EnumFromThenTo l e1 e2 e3 -> liftM3 (EnumFromThenTo l) (fix e1) (fix e2) (fix e3)+    ListComp l e quals        -> liftM2 (ListComp l) (fix e) $ mapM fix quals+    ParComp  l e qualss       -> liftM2 (ParComp l) (fix e) $ mapM (mapM fix) qualss+    ExpTypeSig l e t          -> liftM (flip (ExpTypeSig l) t) (fix e)+    BracketExp l b            -> liftM (BracketExp l) $ fix b+    SpliceExp l s             -> liftM (SpliceExp l) $ fix s+    XTag l n ats mexp cs      -> liftM3 (XTag l n) (mapM fix ats) (mapM fix mexp) (mapM fix cs)+    XETag l n ats mexp        -> liftM2 (XETag l n) (mapM fix ats) (mapM fix mexp)+    XExpTag l e               -> liftM (XExpTag l) $ fix e+    XChildTag l cs            -> liftM (XChildTag l) $ mapM fix cs+    Proc l p e                -> liftM2 (Proc l) (fix p) (fix e)+    LeftArrApp l e1 e2        -> liftM2 (LeftArrApp l) (fix e1) (fix e2)+    RightArrApp l e1 e2       -> liftM2 (RightArrApp l) (fix e1) (fix e2)+    LeftArrHighApp l e1 e2    -> liftM2 (LeftArrHighApp l) (fix e1) (fix e2)+    RightArrHighApp l e1 e2   -> liftM2 (RightArrHighApp l) (fix e1) (fix e2)+    CorePragma l s e          -> liftM (CorePragma l s) (fix e)+    SCCPragma l s e           -> liftM (SCCPragma l s) (fix e)+    GenPragma l s ab cd e     -> liftM (GenPragma l s ab cd) (fix e)+    LCase l alts              -> liftM (LCase l) $ mapM fix alts -    _                       -> return e'+    _                         -> return e'   where     fix x = applyFixities fixs x -leafFixP :: Monad m => [Fixity] -> Pat -> m Pat+leafFixP :: Fail.MonadFail m => [Fixity] -> Pat SrcSpanInfo -> m (Pat SrcSpanInfo) leafFixP fixs p' = case p' of-        PInfixApp p1 op p2    -> liftM2 (flip PInfixApp op) (leafFixP fixs p1) (fix p2)-        PApp n ps             -> liftM (PApp n) $ mapM fix ps-        PTuple bx ps          -> liftM (PTuple bx) $ mapM fix ps-        PList ps              -> liftM PList $ mapM fix ps-        PParen p              -> liftM PParen $ fix p-        PRec n pfs            -> liftM (PRec n) $ mapM fix pfs-        PAsPat n p            -> liftM (PAsPat n) $ fix p-        PIrrPat p             -> liftM PIrrPat $ fix p-        PatTypeSig loc p t    -> liftM (flip (PatTypeSig loc) t) (fix p)-        PViewPat e p          -> liftM2 PViewPat (fix e) (fix p)-        PRPat rps             -> liftM PRPat $ mapM fix rps-        PXTag loc n ats mp ps -> liftM3 (PXTag loc n) (mapM fix ats) (mapM fix mp) (mapM fix ps)-        PXETag loc n ats mp   -> liftM2 (PXETag loc n) (mapM fix ats) (mapM fix mp)-        PXPatTag p            -> liftM PXPatTag $ fix p-        PXRPats rps           -> liftM PXRPats $ mapM fix rps-        PBangPat p            -> liftM PBangPat $ fix p-        _                     -> return p'+        PInfixApp l p1 op p2    -> liftM2 (flip (PInfixApp l) op) (leafFixP fixs p1) (fix p2)+        PApp l n ps             -> liftM (PApp l n) $ mapM fix ps+        PTuple l bx ps          -> liftM (PTuple l bx) $ mapM fix ps+        PList l ps              -> liftM (PList l) $ mapM fix ps+        PParen l p              -> liftM (PParen l) $ fix p+        PRec l n pfs            -> liftM (PRec l n) $ mapM fix pfs+        PAsPat l n p            -> liftM (PAsPat l n) $ fix p+        PIrrPat l p             -> liftM (PIrrPat l) $ fix p+        PatTypeSig l p t        -> liftM (flip (PatTypeSig l) t) (fix p)+        PViewPat l e p          -> liftM2 (PViewPat l) (fix e) (fix p)+        PRPat l rps             -> liftM (PRPat l) $ mapM fix rps+        PXTag l n ats mp ps     -> liftM3 (PXTag l n) (mapM fix ats) (mapM fix mp) (mapM fix ps)+        PXETag l n ats mp       -> liftM2 (PXETag l n) (mapM fix ats) (mapM fix mp)+        PXPatTag l p            -> liftM (PXPatTag l) $ fix p+        PXRPats l rps           -> liftM (PXRPats l) $ mapM fix rps+        PBangPat l p            -> liftM (PBangPat l) $ fix p+        _                       -> return p'       where fix x = applyFixities fixs x
src/Language/Haskell/Exts/InternalLexer.hs view
@@ -1,4 +1,7 @@+{-# LANGUAGE Safe #-}+{-# LANGUAGE BangPatterns #-} {-# OPTIONS_HADDOCK hide #-}+ ----------------------------------------------------------------------------- -- | -- Module      :  Language.Haskell.Exts.Annotated.InternalLexer@@ -36,6 +39,7 @@  data Token         = VarId String+        | LabelVarId String         | QVarId (String,String)         | IDupVarId (String)        -- duplicable implicit parameter         | ILinVarId (String)        -- linear implicit parameter@@ -88,6 +92,7 @@         | LeftArrow         | RightArrow         | At+        | TApp -- '@' but have to check for preceeding whitespace         | Tilde         | DoubleArrow         | Minus@@ -97,15 +102,21 @@         | RightArrowTail        -- >-         | LeftDblArrowTail      -- -<<         | RightDblArrowTail     -- >>-+        | OpenArrowBracket      -- (|+        | CloseArrowBracket     -- |)  -- Template Haskell         | THExpQuote            -- [| or [e|+        | THTExpQuote           -- [|| or [e||         | THPatQuote            -- [p|         | THDecQuote            -- [d|         | THTypQuote            -- [t|         | THCloseQuote          -- |]+        | THTCloseQuote         -- ||]         | THIdEscape (String)   -- dollar x         | THParenEscape         -- dollar (+        | THTIdEscape String    -- dollar dollar x+        | THTParenEscape        -- double dollar (         | THVarQuote            -- 'x (but without the x)         | THTyQuote             -- ''T (but without the T)         | THQuasiQuote (String,String)  -- [$...|...]@@ -142,6 +153,7 @@         | GENERATED         | CORE         | UNPACK+        | NOUNPACK         | OPTIONS (Maybe String,String) --        | CFILES  String --        | INCLUDE String@@ -150,7 +162,11 @@         | MINIMAL         | NO_OVERLAP         | OVERLAP+        | OVERLAPPING+        | OVERLAPPABLE+        | OVERLAPS         | INCOHERENT+        | COMPLETE  -- Reserved Ids @@ -188,6 +204,9 @@         | KW_Where         | KW_Qualified         | KW_Pattern+        | KW_Stock+        | KW_Anyclass+        | KW_Via                  -- FFI         | KW_Foreign@@ -286,6 +305,9 @@  ( "where",     (KW_Where,      Nothing) ),  ( "role",      (KW_Role,       Just (Any [RoleAnnotations]))),  ( "pattern",   (KW_Pattern,    Just (Any [PatternSynonyms]))),+ ( "stock",     (KW_Stock,      Just (Any [DerivingStrategies]))),+ ( "anyclass",  (KW_Anyclass,   Just (Any [DerivingStrategies]))),+ ( "via",       (KW_Via,        Just (Any [DerivingVia]))),  -- FFI  ( "foreign",   (KW_Foreign,    Just (Any [ForeignFunctionInterface])) )@@ -330,11 +352,16 @@  ( "generated",         GENERATED       ),  ( "core",              CORE            ),  ( "unpack",            UNPACK          ),+ ( "nounpack",          NOUNPACK        ),  ( "language",          LANGUAGE        ),  ( "minimal",           MINIMAL         ),  ( "no_overlap",        NO_OVERLAP      ),  ( "overlap",           OVERLAP         ),+ ( "overlaps",          OVERLAPS        ),+ ( "overlapping",       OVERLAPPING     ),+ ( "overlappable",      OVERLAPPABLE    ),  ( "incoherent",        INCOHERENT      ),+ ( "complete",          COMPLETE      ),  ( "options",           OPTIONS undefined ) -- we'll tweak it before use - promise! -- ( "cfiles",            CFILES  undefined ), -- same here... -- ( "include",           INCLUDE undefined )  -- ...and here!@@ -347,6 +374,17 @@  isPragmaChar c = isAlphaNum c || c == '_' +isIdentStart :: Char -> Bool+isIdentStart c = isAlpha c && not (isUpper c) || c == '_'+++-- Used in the lexing of type applications+-- Why is it like this? I don't know exactly but this is how it is in+-- GHC's parser.+-- Symbol `:` is added so that `@:` is lexed as `VarSym "@:"`. See Issue #326+isOpSymbol :: Char -> Bool+isOpSymbol c = c `elem` ":!#$%&*+./<=>?@\\^|-~"+ -- | Checks whether the character would be legal in some position of a qvar. --   Means that '..' and "AAA" will pass the test. isPossiblyQvar :: Char -> Bool@@ -641,31 +679,39 @@                         return (con (n, '0':c:str))          -- implicit parameters-        '?':c:_ | isLower c && ImplicitParams `elem` exts -> do+        '?':c:_ | isIdentStart c && ImplicitParams `elem` exts -> do                         discard 1                         id <- lexWhile isIdent                         return $ IDupVarId id -        '%':c:_ | isLower c && ImplicitParams `elem` exts -> do+        '%':c:_ | isIdentStart c && ImplicitParams `elem` exts -> do                         discard 1                         id <- lexWhile isIdent                         return $ ILinVarId id         -- end implicit parameters          -- harp---        '(':'|':c:_  | isHSymbol c -> discard 1 >> return LeftParen         '(':'|':c:_ | RegularPatterns `elem` exts && not (isHSymbol c) ->-                     do discard 2-                        return RPGuardOpen-        '|':')':_ | RegularPatterns `elem` exts ->-                     do discard 2-                        return RPGuardClose+                        discard 2 >> return RPGuardOpen+                    | Arrows `elem` exts && not (isHSymbol c) ->+                        discard 2 >> return OpenArrowBracket+        '|':')':_ | RegularPatterns `elem` exts -> discard 2 >> return RPGuardClose+                  | Arrows `elem` exts -> discard 2 >> return CloseArrowBracket         {- This is handled by the reserved_ops above.         '@':':':_ | RegularPatterns `elem` exts ->                      do discard 2                         return RPCAt -} +         -- template haskell+        '[':'|':'|':_ | TemplateHaskell `elem` exts -> do+                discard 3+                return THTExpQuote++        '[':'e':'|':'|':_ | TemplateHaskell `elem` exts -> do+                discard 4+                return THTExpQuote+         '[':'|':_ | TemplateHaskell `elem` exts -> do                 discard 2                 return THExpQuote@@ -682,25 +728,35 @@                     | c == 't' && TemplateHaskell `elem` exts -> do                         discard 3                         return THTypQuote-        '[':'$':c:_ | isLower c && QuasiQuotes `elem` exts ->+        '[':'$':c:_ | isIdentStart c && QuasiQuotes `elem` exts ->                         discard 2 >> lexQuasiQuote c -        '[':c:s' | isLower c && QuasiQuotes `elem` exts && case dropWhile isIdent s' of { '|':_ -> True;_->False} ->+        '[':c:s' | isIdentStart c && QuasiQuotes `elem` exts && case dropWhile isIdent s' of { '|':_ -> True;_->False} ->                         discard 1 >> lexQuasiQuote c                  | isUpper c && QuasiQuotes `elem` exts && case dropWhile isPossiblyQvar s' of { '|':_ -> True;_->False} ->                         discard 1 >> lexQuasiQuote c +        '|':'|':']':_ | TemplateHaskell `elem` exts -> do+                        discard 3+                        return THTCloseQuote         '|':']':_ | TemplateHaskell `elem` exts -> do                         discard 2                         return THCloseQuote -        '$':c:_ | isLower c && TemplateHaskell `elem` exts -> do+        '$':c1:c2:_ | isIdentStart c1 && TemplateHaskell `elem` exts -> do                         discard 1                         id <- lexWhile isIdent                         return $ THIdEscape id-                | c == '(' && TemplateHaskell `elem` exts -> do+                    | c1 == '(' && TemplateHaskell `elem` exts -> do                         discard 2                         return THParenEscape+                    | c1 == '$' && isIdentStart c2 && TemplateHaskell `elem` exts -> do+                        discard 2+                        id <- lexWhile isIdent+                        return $ THTIdEscape id+                    | c1 == '$' && c2 == '(' && TemplateHaskell `elem` exts -> do+                        discard 3+                        return THTParenEscape         -- end template haskell          -- hsx@@ -718,9 +774,9 @@                         return XStdTagOpen         -- end hsx -        '(':'#':c:_ | UnboxedTuples `elem` exts && not (isHSymbol c) -> discard 2 >> return LeftHashParen+        '(':'#':c:_ | unboxed exts && not (isHSymbol c) -> discard 2 >> return LeftHashParen -        '#':')':_ | UnboxedTuples `elem` exts -> discard 2 >> return RightHashParen+        '#':')':_   | unboxed exts -> discard 2 >> return RightHashParen          -- pragmas @@ -734,11 +790,28 @@          ':':']':_ | ParallelArrays `elem` exts -> discard 2 >> return ParArrayRightSquare +        -- Lexed seperately to deal with visible type applciation++        '@':c:_ | TypeApplications `elem` exts+                   -- Operator starting with an '@'+                   && not (isOpSymbol c) -> do+                                                lc <- getLastChar+                                                if isIdent lc+                                                  then discard 1 >> return At+                                                  else discard 1 >> return TApp++        '#':c:_ | OverloadedLabels `elem` exts+                   && isIdentStart c -> do+                                                  discard 1+                                                  [ident] <- lexIdents+                                                  return $ LabelVarId ident++         c:_ | isDigit c -> lexDecimalOrFloat              | isUpper c -> lexConIdOrQual "" -            | isLower c || c == '_' -> do+            | isIdentStart c -> do                     idents <- lexIdents                     case idents of                      [ident] -> case lookup ident (reserved_ids ++ special_varids) of@@ -801,8 +874,8 @@                         idents <- lexIdents                         return $ ident : idents                  '#':_ | MagicHash `elem` exts -> do-                        discard 1-                        return [ident ++ "#"]+                        hashes <- lexWhile (== '#')+                        return [ident ++ hashes]                  _ -> return [ident]              lexQuasiQuote :: Char -> Lex a Token@@ -813,7 +886,7 @@                 body <- lexQQBody                 return $ THQuasiQuote (ident, body)                   where lexQuoter-                         | isLower c = lexWhile isIdent+                         | isIdentStart c = lexWhile isIdent                          | otherwise = do                             qualThing <- lexConIdOrQual ""                             case qualThing of@@ -849,6 +922,9 @@                           rest <- lexQQBody                           return (str++rest) +unboxed :: [KnownExtension] -> Bool+unboxed exts = UnboxedSums `elem` exts || UnboxedTuples `elem` exts+ -- Underscores are used in some pragmas. Options pragmas are a special case -- with our representation: the thing after the underscore is a parameter. -- Strip off the parameters to option pragmas by hand here, everything else@@ -1007,7 +1083,7 @@         exts <- getExtensionsL         case rest of           '.':c:_-             | isLower c || c == '_' -> do  -- qualified varid?+             | isIdentStart c -> do  -- qualified varid?                     discard 1                     ident <- lexWhile isIdent                     s <- getInput@@ -1071,23 +1147,23 @@   lexString :: Lex a Token-lexString = loop ("","")+lexString = loop [] []     where-    loop (s,raw) = do+    loop !s !raw = do         r <- getInput         exts <- getExtensionsL         case r of             '\\':'&':_ -> do                     discard 2-                    loop (s, '&':'\\':raw)+                    loop s ('&':'\\':raw)             '\\':c:_ | isSpace c -> do                         discard 1                         wcs <- lexWhiteChars                         matchChar '\\' "Illegal character in string gap"-                        loop (s, '\\':reverse wcs ++ '\\':raw)+                        loop s ('\\':revAppend wcs ('\\':raw))                      | otherwise -> do                         (ce, str) <- lexEscape-                        loop (ce:s, reverse str ++ '\\':raw)+                        loop (ce `seq` ce : s) (revAppend str ('\\':raw))             '"':'#':_ | MagicHash `elem` exts -> do                         discard 2                         return (StringHash (reverse s, reverse raw))@@ -1096,9 +1172,13 @@                 return (StringTok (reverse s, reverse raw))             c:_ | c /= '\n' -> do                 discard 1-                loop (c:s, c:raw)+                loop (c:s) (c:raw)             _ ->   fail "Improperly terminated string" +    revAppend :: [a] -> [a] -> [a]+    revAppend []     ys = ys+    revAppend (x:xs) ys = revAppend xs (x:ys)+     lexWhiteChars :: Lex a String     lexWhiteChars = do         s <- getInput@@ -1229,8 +1309,10 @@  -- Stolen from Hugs's Prelude parseInteger :: Integer -> String -> Integer-parseInteger radix ds =-    foldl1 (\n d -> n * radix + d) (map (toInteger . digitToInt) ds)+parseInteger radix = go 0+  where+    go !acc []     = acc+    go !acc (d:ds) = go (acc * radix + toInteger (digitToInt d)) ds  flagKW :: Token -> Lex a () flagKW t =@@ -1247,6 +1329,7 @@ showToken :: Token -> String showToken t = case t of   VarId s           -> s+  LabelVarId s      -> '#':s   QVarId (q,s)      -> q ++ '.':s   IDupVarId s       -> '?':s   ILinVarId s       -> '%':s@@ -1293,6 +1376,7 @@   LeftArrow         -> "<-"   RightArrow        -> "->"   At                -> "@"+  TApp              -> "@"   Tilde             -> "~"   DoubleArrow       -> "=>"   Minus             -> "-"@@ -1302,13 +1386,19 @@   RightArrowTail    -> ">-"   LeftDblArrowTail  -> "-<<"   RightDblArrowTail -> ">>-"+  OpenArrowBracket  -> "(|"+  CloseArrowBracket -> "|)"   THExpQuote        -> "[|"+  THTExpQuote       -> "[||"   THPatQuote        -> "[p|"   THDecQuote        -> "[d|"   THTypQuote        -> "[t|"   THCloseQuote      -> "|]"+  THTCloseQuote     -> "||]"   THIdEscape s      -> '$':s   THParenEscape     -> "$("+  THTIdEscape s     -> "$$" ++ s+  THTParenEscape    -> "$$("   THVarQuote        -> "'"   THTyQuote         -> "''"   THQuasiQuote (n,q) -> "[$" ++ n ++ "|" ++ q ++ "]"@@ -1337,6 +1427,7 @@   GENERATED         -> "{-# GENERATED"   CORE              -> "{-# CORE"   UNPACK            -> "{-# UNPACK"+  NOUNPACK          -> "{-# NOUNPACK"   OPTIONS (mt,_)    -> "{-# OPTIONS" ++ maybe "" (':':) mt ++ " ..." --  CFILES  s         -> "{-# CFILES ..." --  INCLUDE s         -> "{-# INCLUDE ..."@@ -1345,7 +1436,11 @@   MINIMAL           -> "{-# MINIMAL"   NO_OVERLAP        -> "{-# NO_OVERLAP"   OVERLAP           -> "{-# OVERLAP"+  OVERLAPPING       -> "{-# OVERLAPPING"+  OVERLAPPABLE      -> "{-# OVERLAPPABLE"+  OVERLAPS          -> "{-# OVERLAPS"   INCOHERENT        -> "{-# INCOHERENT"+  COMPLETE          -> "{-# COMPLETE"   KW_As         -> "as"   KW_By         -> "by"   KW_Case       -> "case"@@ -1395,5 +1490,8 @@   KW_CApi       -> "capi"   KW_Role       -> "role"   KW_Pattern    -> "pattern"+  KW_Stock      -> "stock"+  KW_Anyclass   -> "anyclass"+  KW_Via        -> "via"    EOF           -> "EOF"
src/Language/Haskell/Exts/InternalParser.ly view
@@ -1,5 +1,7 @@ > {+> {-# LANGUAGE CPP #-} > {-# OPTIONS_HADDOCK hide #-}+>  > ----------------------------------------------------------------------------- > -- | > -- Module      :  Language.Haskell.Exts.Annotated.Parser@@ -28,18 +30,21 @@ >               ngparsePragmasAndModuleName >               ) where >-> import Language.Haskell.Exts.Annotated.Syntax hiding ( Type(..), Exp(..), Asst(..), XAttr(..), FieldUpdate(..) )-> import Language.Haskell.Exts.Annotated.Syntax ( Type, Exp, Asst )+> import Language.Haskell.Exts.Syntax hiding ( Type(..), Exp(..), Asst(..), XAttr(..), FieldUpdate(..) )+> import Language.Haskell.Exts.Syntax ( Type, Exp, Asst ) > import Language.Haskell.Exts.ParseMonad > import Language.Haskell.Exts.InternalLexer > import Language.Haskell.Exts.ParseUtils-> import Language.Haskell.Exts.Annotated.Fixity+> import Language.Haskell.Exts.Fixity > import Language.Haskell.Exts.SrcLoc > import Language.Haskell.Exts.Extension  > import Control.Monad ( liftM, (<=<), when ) > import Control.Applicative ( (<$>) ) > import Data.Maybe+> #if MIN_VERSION_base(4,11,0)+> import Prelude hiding ((<>))+> #endif import Debug.Trace (trace)  > }@@ -90,18 +95,19 @@         might be the start of the declaration with the activation being         empty. Resolving with shift means the declaration cannot start with '['. -1 for ambiguity in '{-# RULES "name" forall = ... #-}' 	[State 544]-	since 'forall' is a valid variable name, we don't know whether-	to treat a forall on the input as the beginning of a quantifier-	or the beginning of the rule itself.  Resolving to shift means-	it's always treated as a quantifier, hence the above is disallowed.-	This saves explicitly defining a grammar for the rule lhs that-	doesn't include 'forall'.+1 for ambiguity in '{-# RULES "name" forall = ... #-}'  [State 544]+        since 'forall' is a valid variable name, we don't know whether+        to treat a forall on the input as the beginning of a quantifier+        or the beginning of the rule itself.  Resolving to shift means+        it's always treated as a quantifier, hence the above is disallowed.+        This saves explicitly defining a grammar for the rule lhs that+        doesn't include 'forall'.  -----------------------------------------------------------------------------  > %token >       VARID    { Loc _ (VarId _) }       -- 1+>       LABELVARID { Loc _ (LabelVarId _) } >       QVARID   { Loc _ (QVarId _) } >       IDUPID   { Loc _ (IDupVarId _) }       -- duplicable implicit parameter ?x >       ILINID   { Loc _ (ILinVarId _) }       -- linear implicit parameter %x@@ -154,6 +160,7 @@ >       '<-'    { Loc $$ LeftArrow } >       '->'    { Loc $$ RightArrow } >       '@'     { Loc $$ At }+>       TYPEAPP { Loc $$ TApp } >       '~'     { Loc $$ Tilde } >       '=>'    { Loc $$ DoubleArrow } >       '-'     { Loc $$ Minus }@@ -166,22 +173,28 @@ >       '>-'    { Loc $$ RightArrowTail } >       '-<<'   { Loc $$ LeftDblArrowTail } >       '>>-'   { Loc $$ RightDblArrowTail }+>       '(|'    { Loc $$ OpenArrowBracket }+>       '|)'    { Loc $$ CloseArrowBracket }  Harp ->       '(|'    { Loc $$ RPGuardOpen }->       '|)'    { Loc $$ RPGuardClose }+>       '(/'    { Loc $$ RPGuardOpen }+>       '/)'    { Loc $$ RPGuardClose } >       '@:'    { Loc $$ RPCAt }  Template Haskell  >       IDSPLICE        { Loc _ (THIdEscape _) }   -- $x+>       TIDSPLICE       { Loc _ (THTIdEscape _) }  -- $$x >       '$('            { Loc $$ THParenEscape } -- 60+>       '$$('           { Loc $$ THTParenEscape } >       '[|'            { Loc $$ THExpQuote }+>       '[||'           { Loc $$ THTExpQuote } >       '[p|'           { Loc $$ THPatQuote } >       '[t|'           { Loc $$ THTypQuote } >       '[d|'           { Loc $$ THDecQuote } >       '|]'            { Loc $$ THCloseQuote }+>       '||]'           { Loc $$ THTCloseQuote } >       VARQUOTE        { Loc $$ THVarQuote }      -- 'x >       TYPQUOTE        { Loc $$ THTyQuote }       -- ''T >       QUASIQUOTE      { Loc _ (THQuasiQuote _) }@@ -252,6 +265,9 @@ >       'qualified'     { Loc $$ KW_Qualified } >       'role'          { Loc $$ KW_Role } >       'pattern'       { Loc $$ KW_Pattern }+>       'stock'         { Loc $$ KW_Stock }    -- for DerivingStrategies extension+>       'anyclass'      { Loc $$ KW_Anyclass } -- for DerivingStrategies extension+>       'via'           { Loc $$ KW_Via }      -- for DerivingStrategies extension  Pragmas @@ -267,6 +283,7 @@ >       '{-# DEPRECATED'        { Loc $$ DEPRECATED } >       '{-# WARNING'           { Loc $$ WARNING } >       '{-# UNPACK'            { Loc $$ UNPACK }+>       '{-# NOUNPACK'          { Loc $$ NOUNPACK } >       '{-# OPTIONS'           { Loc _ (OPTIONS _) }        '{-# CFILES'            { Loc _ (CFILES  _) }        '{-# INCLUDE'           { Loc _ (INCLUDE _) }@@ -275,10 +292,17 @@ >       '{-# MINIMAL'           { Loc $$ MINIMAL } >       '{-# NO_OVERLAP'        { Loc $$ NO_OVERLAP } >       '{-# OVERLAP'           { Loc $$ OVERLAP }+>       '{-# OVERLAPS'          { Loc $$ OVERLAPS }+>       '{-# OVERLAPPING'       { Loc $$ OVERLAPPING }+>       '{-# OVERLAPPABLE'      { Loc $$ OVERLAPPABLE } >       '{-# INCOHERENT'        { Loc $$ INCOHERENT }+>       '{-# COMPLETE'          { Loc $$ COMPLETE } >       '#-}'                   { Loc $$ PragmaEnd }      -- 139 +Utility +>       NEVER                   { Loc $$@SrcSpan{srcSpanStartLine= -1} _ } -- never-matching terminal of type SrcSpan+ > %monad { P } > %lexer { lexer } { Loc _ EOF } > %error { parseError }@@ -294,7 +318,7 @@ > %partial ngparsePragmasAndModuleHead moduletophead > %partial ngparsePragmasAndModuleName moduletopname > %tokentype { Loc Token }-> %expect 8+> %expect 13 > %%  -----------------------------------------------------------------------------@@ -414,18 +438,25 @@ >       |  'type' qcname                          {% do { checkEnabled ExplicitNamespaces; >                                                       return (EAbs (nIS $1 <++> ann $2 <** [$1, srcInfoSpan (ann $2)]) (TypeNamespace (nIS $1 <** [$1])) $2) } } >       |  qtyconorcls                          { EAbs (ann $1) (NoNamespace (ann $1)) $1 }->       |  qtyconorcls '(' '..' ')'             { EThingAll  (ann $1 <++> nIS $4 <** [$2,$3,$4]) $1 }->       |  qtyconorcls '(' ')'                  { EThingWith (ann $1 <++> nIS $3 <** [$2,$3])    $1 [] }->       |  qtyconorcls '(' cnames ')'           { EThingWith (ann $1 <++> nIS $4 <** ($2:reverse (snd $3) ++ [$4])) $1 (reverse (fst $3)) }+>       |  qtyconorcls '(' ')'                  { EThingWith (ann $1 <++> nIS $3 <** [$2,$3])    (NoWildcard noSrcSpan) $1 [] }+>       |  qtyconorcls '(' export_names ')'     {% mkEThingWith (ann $1 <++> nIS $4 <** ($2:reverse (snd $3) ++ [$4])) $1 (reverse $ fst $3) } >       |  'module' modid                       { EModuleContents (nIS $1 <++> ann $2 <** [$1]) $2 } >       |  'pattern' qcon                       {%  do { checkEnabled PatternSynonyms; >                                                       return $ EAbs (nIS $1 <++> (ann $2) <** [$1]) >                                                                  (PatternNamespace (nIS $1)) $2 }} +> export_names :: { ([Either S (CName L)],[S]) }+>       :  export_names ',' cname_w_wildcard          { ($3 : fst $1, $2 : snd $1) }+>       |  cname_w_wildcard                     { ([$1],[])  }++> cname_w_wildcard :: { Either S (CName L) }+>       :  '..'                                 { Left $1 }+>       |  cname                                { Right $1 }+ > > qcname :: { QName L } >        : qvar                                 { $1 }->        | qconid                               { $1 }+>        | qcon                                 { $1 }  ----------------------------------------------------------------------------- Import Declarations@@ -435,10 +466,10 @@ >       | impdecl                               { ([$1],[]) }  > impdecl :: { ImportDecl L }->       : 'import' optsrc optsafe optqualified maybepkg modid maybeas maybeimpspec->                               { let { (mmn,ss,ml) = $7 ;->                                       l = nIS $1 <++> ann $6 <+?> ml <+?> (fmap ann) $8 <** ($1:snd $2 ++ snd $3 ++ snd $4 ++ snd $5 ++ ss)}->                                  in ImportDecl l $6 (fst $4) (fst $2) (fst $3) (fst $5) mmn $8 }+>       : 'import' optsrc optsafe optqualified maybepkg modid optqualified_post maybeas maybeimpspec+>                               { let { (mmn,ss,ml) = $8 ;+>                                       l = nIS $1 <++> ann $6 <+?> ml <+?> (fmap ann) $9 <** ($1:snd $2 ++ snd $3 ++ snd $4 ++ snd $5 ++ snd $7 ++ ss)}+>                                  in ImportDecl l $6 (fst $4 || fst $7) (fst $2) (fst $3) (fst $5) mmn $9 }  > optsrc :: { (Bool,[S]) } >       : '{-# SOURCE' '#-}'                    { (True,[$1,$2]) }@@ -453,6 +484,11 @@ >       : 'qualified'                           { (True,[$1]) } >       | {- empty -}                           { (False, []) } +> optqualified_post :: { (Bool,[S]) }+>       : 'qualified'                           {% do { checkEnabled ImportQualifiedPost;+>                                                       return (True,[$1]) } }+>       | {- empty -}                           { (False, []) }+ Requires the PackageImports extension enabled. > maybepkg :: { (Maybe String,[S]) } >       : STRING                                {% do { checkEnabled PackageImports ;@@ -493,10 +529,10 @@ >       |  tyconorcls                           { IAbs (ann $1) (NoNamespace (ann $1)) $1 } >       |  tyconorcls '(' '..' ')'              { IThingAll  (ann $1 <++> nIS $4 <** [$2,$3,$4]) $1 } >       |  tyconorcls '(' ')'                   { IThingWith (ann $1 <++> nIS $3 <** [$2,$3])    $1 [] }->       |  tyconorcls '(' cnames ')'            { IThingWith (ann $1 <++> nIS $4 <** ($2:reverse (snd $3) ++ [$4])) $1 (reverse (fst $3)) }+>       |  tyconorcls '(' import_names ')'            { IThingWith (ann $1 <++> nIS $4 <** ($2:reverse (snd $3) ++ [$4])) $1 (reverse (fst $3)) } -> cnames :: { ([CName L],[S]) }->       :  cnames ',' cname                     { ($3 : fst $1, $2 : snd $1) }+> import_names :: { ([CName L],[S]) }+>       :  import_names ',' cname               { ($3 : fst $1, $2 : snd $1) } >       |  cname                                { ([$1],[])  }  > cname :: { CName L }@@ -523,6 +559,20 @@ >       : ops ',' op                            { let (ops,ss,l) = $1 in ($3 : ops, $2 : ss, l <++> ann $3) } >       | op                                    { ([$1],[],ann $1) } ++> opt_injectivity_info :: { Maybe (InjectivityInfo L) }+>        : {- empty -}                  { Nothing }+>        | injectivity_info             { Just $1 }++> injectivity_info :: { InjectivityInfo L }+>        : '|' tyvarid '->' inj_varids+>              { InjectivityInfo (nIS $1 <++> ann (last $4) <** [$1,$3]) $2 (reverse $4) }+>+>+> inj_varids :: { [Name L] }+>        : inj_varids tyvarid  { $2 : $1 }+>        | tyvarid             { [$1]     }+ ----------------------------------------------------------------------------- Top-Level Declarations @@ -545,12 +595,12 @@  Requires the TypeFamilies extension enabled, but the lexer will handle that through the 'family' keyword.->       | 'type' 'family' type optkind where_type_family+>       | 'type' 'family' type opt_tyfam_kind_sig opt_injectivity_info where_type_family >                {% do { dh <- checkSimpleType $3;->                        let {l = nIS $1 <++> ann $3 <+?> (fmap ann) (fst $4) <** ($1:$2:snd $4)};->                        case $5 of {->                          Nothing    -> return (TypeFamDecl l dh (fst $4));->                          Just (x,a) -> return (ClosedTypeFamDecl (l <** [a]) dh (fst $4) x); }}}+>                        let {l = nIS $1 <++> ann $3 <** [$1,$2]};+>                        case $6 of {+>                          Nothing    -> return (TypeFamDecl l dh $4 $5);+>                          Just (x,a) -> return (ClosedTypeFamDecl (l <** [a]) dh $4 $5 x); }}}  Here there is no special keyword so we must do the check. >       | 'type' 'instance' truedtype '=' truectype@@ -558,46 +608,48 @@ >                        checkEnabled TypeFamilies ; >                        let {l = nIS $1 <++> ann $5 <** [$1,$2,$4]}; >                        return (TypeInsDecl l $3 $5) } }->       | data_or_newtype ctype constrs0 deriving+>       | data_or_newtype ctype constrs0 maybe_derivings >                {% do { (cs,dh) <- checkDataHeader $2; >                        let { (qds,ss,minf) = $3;->                              l = $1 <> $2 <+?> minf <+?> fmap ann $4 <** ss};+>                              l = $1 <> $2 <+?> minf <+?> fmap ann (listToMaybe $4) <** ss}; >                        checkDataOrNew $1 qds;->                        return (DataDecl l $1 cs dh (reverse qds) $4) } }+>                        return (DataDecl l $1 cs dh (reverse qds) (reverse $4)) } }  Requires the GADTs extension enabled, handled in gadtlist.->       | data_or_newtype ctype optkind gadtlist deriving+>       | data_or_newtype ctype optkind gadtlist maybe_derivings >                {% do { (cs,dh) <- checkDataHeader $2; >                        let { (gs,ss,minf) = $4;->                              l = ann $1 <+?> minf <+?> fmap ann $5 <** (snd $3 ++ ss)};+>                              derivs' = reverse $5;+>                              l = ann $1 <+?> minf <+?> fmap ann (listToMaybe $5) <** (snd $3 ++ ss)}; >                        checkDataOrNewG $1 gs; >                        case (gs, fst $3) of->                         ([], Nothing) -> return (DataDecl l $1 cs dh [] $5)->                         _ -> checkEnabled GADTs >> return (GDataDecl l $1 cs dh (fst $3) (reverse gs) $5) } }+>                         ([], Nothing) -> return (DataDecl l $1 cs dh [] derivs')+>                         _ -> checkEnabled GADTs >> return (GDataDecl l $1 cs dh (fst $3) (reverse gs) derivs') } }  Same as above, lexer will handle it through the 'family' keyword.->       | 'data' 'family' ctype optkind+>       | 'data' 'family' ctype opt_datafam_kind_sig >                {% do { (cs,dh) <- checkDataHeader $3;->                        let {l = nIS $1 <++> ann $3 <+?> (fmap ann) (fst $4) <** ($1:$2:snd $4)};->                        return (DataFamDecl l cs dh (fst $4)) } }+>                        let {l = nIS $1 <++> ann $3 <+?> (fmap ann) $4 <** [$1,$2]};+>                        return (DataFamDecl l cs dh $4) } }  Here we must check for TypeFamilies.->       | data_or_newtype 'instance' truectype constrs0 deriving+>       | data_or_newtype 'instance' truectype constrs0 maybe_derivings >                {% do { -- (cs,c,t) <- checkDataHeader $4; >                        checkEnabled TypeFamilies ; >                        let { (qds,ss,minf) = $4 ;->                              l = $1 <> $3 <+?> minf <+?> fmap ann $5 <** $2:ss };+>                              l = $1 <> $3 <+?> minf <+?> fmap ann (listToMaybe $5) <** $2:ss }; >                        checkDataOrNew $1 qds;->                        return (DataInsDecl l $1 $3 (reverse qds) $5) } }+>                        return (DataInsDecl l $1 $3 (reverse qds) (reverse $5)) } }  This style requires both TypeFamilies and GADTs, the latter is handled in gadtlist.->       | data_or_newtype 'instance' truectype optkind gadtlist deriving+>       | data_or_newtype 'instance' truectype optkind gadtlist maybe_derivings >                {% do { -- (cs,c,t) <- checkDataHeader $4; >                        checkEnabled TypeFamilies ; >                        let {(gs,ss,minf) = $5;->                             l = ann $1 <+?> minf <+?> fmap ann $6 <** ($2:snd $4 ++ ss)};+>                             derivs' = reverse $6;+>                             l = ann $1 <+?> minf <+?> fmap ann (listToMaybe derivs') <** ($2:snd $4 ++ ss)}; >                        checkDataOrNewG $1 gs;->                        return (GDataInsDecl l $1 $3 (fst $4) (reverse gs) $6) } }+>                        return (GDataInsDecl l $1 $3 (fst $4) (reverse gs) derivs') } } >       | 'class' ctype fds optcbody >                {% do { (cs,dh) <- checkClassHeader $2; >                        let {(fds,ss1,minf1) = $3;(mcs,ss2,minf2) = $4} ;@@ -609,11 +661,11 @@ >                        return (InstDecl (nIS $1 <++> ann $3 <+?> minf <** ($1:ss)) $2 ih mis) } }  Requires the StandaloneDeriving extension enabled.->       | 'deriving' 'instance' optoverlap ctype+>       | 'deriving' deriv_standalone_strategy 'instance' optoverlap ctype >                {% do { checkEnabled StandaloneDeriving ;->                        ih <- checkInstHeader $4;->                        let {l = nIS $1 <++> ann $4 <** [$1,$2]};->                        return (DerivDecl l $3 ih) } }+>                        ih <- checkInstHeader $5;+>                        let {l = nIS $1 <++> ann $5 <** [$1,$3]};+>                        return (DerivDecl l $2 $4 ih) } } >       | 'default' '(' typelist ')' >                { DefaultDecl ($1 <^^> $4 <** ($1:$2 : snd $3 ++ [$4])) (fst $3) } @@ -626,6 +678,7 @@ >                  }         | '$(' trueexp ')'  { let l = $1 <^^> $3 <** [$1,$3] in SpliceDecl l $ ParenSplice l $2 }+       | '$$(' trueexp ')' { let l = $1 <^^> $3 <** [$1,$3] in TSpliceDecl l $ TParenSplice l $2 }  These require the ForeignFunctionInterface extension, handled by the lexer through the 'foreign' (and 'export') keyword.@@ -638,8 +691,34 @@ >       | '{-# DEPRECATED' warndeprs  '#-}'     { DeprPragmaDecl ($1 <^^> $3 <** ($1:snd $2++[$3])) $ reverse (fst $2) } >       | '{-# WARNING'    warndeprs  '#-}'     { WarnPragmaDecl ($1 <^^> $3 <** ($1:snd $2++[$3])) $ reverse (fst $2) } >       | '{-# ANN'        annotation '#-}'     { AnnPragma      ($1 <^^> $3 <** [$1,$3]) $2 }+>       | '{-# COMPLETE' con_list opt_tyconsig '#-}'+>           { let com = maybe [] ((:[]) . fst) $3; ts = fmap snd $3 in+> (CompletePragma ($1 <^^> $4 <** ([$1] ++ fst $2 ++ com ++ [$4])) (snd $2) ts) } >       | decl          { $1 } +> -- Family result/return kind signatures+>+> opt_datafam_kind_sig :: { Maybe (ResultSig L) }+>        :               { Nothing     }+>        | '::' kind     { (Just $ KindSig (nIS $1 <++> ann $2 <** [$1]) $2) }+>+> opt_tyfam_kind_sig :: { Maybe (ResultSig L) }+>        :              { Nothing       }+>        | '::' kind    { (Just $ KindSig  (nIS $1 <++> ann $2 <** [$1]) $2) }+>        | '='  ktyvar  { (Just $ TyVarSig (nIS $1 <++> ann $2 <** [$1]) $2) }+>+> opt_at_kind_inj_sig :: { (Maybe (ResultSig L), Maybe (InjectivityInfo L))}+>        :            { (Nothing, Nothing) }+>        | '::' kind  { (Just (KindSig (nIS $1 <++> ann $2 <** [$1]) $2), Nothing) }+>        | '='  ktyvar injectivity_info+>                { (Just (TyVarSig (nIS $1 <++> ann $2 <** [$1]) $2), Just $3) }++> opt_at_kind_inj_sig2 :: { (Maybe (ResultSig L), Maybe (S, Type L), Maybe (InjectivityInfo L))}+>        :            { (Nothing, Nothing, Nothing) }+>        | '::' kind  { (Just (KindSig (nIS $1 <++> ann $2 <** [$1]) $2), Nothing, Nothing) }+>        | '='  truectype opt_injectivity_info { (Nothing, Just ($1, $2), $3) }++ Role annotations  > role_annot :: { Decl L }@@ -659,7 +738,10 @@   > optoverlap :: { Maybe (Overlap L) }->  : '{-# OVERLAP'    '#-}'    { Just (Overlap (nIS $1)) }+>  : '{-# OVERLAP'      '#-}'    { Just (Overlap (nIS $1)) }+>  | '{-# OVERLAPS'     '#-}'    { Just (Overlaps (nIS $1)) }+>  | '{-# OVERLAPPING'  '#-}'    { Just (Overlapping (nIS $1)) }+>  | '{-# OVERLAPPABLE' '#-}'    { Just (Overlappable (nIS $1)) } >  | '{-# INCOHERENT' '#-}'    { Just (Incoherent (nIS $1)) } >  | '{-# NO_OVERLAP' '#-}'    { Just (NoOverlap (nIS $1))  } >  | {- empty -}               { Nothing }@@ -677,9 +759,10 @@ >         : ty_fam_inst_eqns ';' ty_fam_inst_eqn   { $1 ++ [$3] } >         | ty_fam_inst_eqns ';'                   { $1 } >         | ty_fam_inst_eqn                        { [$1] }+>         |                                        { [] }  > ty_fam_inst_eqn :: { TypeEqn L }->         : truedtype '=' truectype+>         : truectype '=' truectype >                 {% do { checkEnabled TypeFamilies ; >                         return (TypeEqn (ann $1 <++> ann $3 <** [$2]) $1 $3) } } @@ -876,68 +959,98 @@ >       : dtype                         {% checkType $1 }  > dtype :: { PType L }->       : btype                         { $1 }->       | btype qtyconop dtype          { TyInfix ($1 <> $3) $1 $2 $3 }->       | btype qtyvarop dtype          { TyInfix ($1 <> $3) $1 $2 $3 } -- FIXME->       | btype '->' ctype              { TyFun ($1 <> $3 <** [$2]) $1 $3 }->       | btype '~' btype               {% do { checkEnabledOneOf [TypeFamilies, GADTs] ;->                                               let {l = $1 <> $3 <** [$2]};->                                               return $ TyPred l $ EqualP l $1 $3 } }+>       : dtype_('*',NEVER)              { $1 } +> dtype_(ostar,kstar) :: { PType L }+>       : btype_(ostar,kstar)                                           { splitTilde $1 }+>       | btype_(ostar,kstar) qtyconop dtype_(ostar,kstar)              { TyInfix ($1 <> $3) $1 $2 $3 }+>       | btype_(ostar,kstar) qtyvarop_(ostar) dtype_(ostar,kstar)      { TyInfix ($1 <> $3) $1 (UnpromotedName (ann $2) $2) $3 } -- FIXME+>       | btype_(ostar,kstar) '->' ctype_(ostar,kstar)                  { TyFun ($1 <> $3 <** [$2]) (splitTilde $1) $3 }+       | btype_(ostar,kstar) '~' btype_(ostar,kstar)                    {% do { checkEnabledOneOf [TypeFamilies, GADTs] ;+                                                                                let {l = $1 <> $3 <** [$2]};+                                                                                return $ TyPred l $ EqualP l $1 $3 } }+ Implicit parameters can occur in normal types, as well as in contexts.  > truetype :: { Type L } >       : type                          {% checkType $1 }  > type :: { PType L }->       : ivar '::' dtype               { let l = ($1 <> $3 <** [$2]) in TyPred l $ IParam l $1 $3 }->       | dtype                         { $1 }+>       : type_('*',NEVER)              { $1 } +> type_(ostar,kstar) :: { PType L }+>       : ivar '::' dtype_(ostar,kstar) { let l = ($1 <> $3 <** [$2]) in TyPred l $ IParam l $1 $3 }+>       | dtype_(ostar,kstar)           { $1 }+ > truebtype :: { Type L }->       : btype                         {% checkType $1 }+>       : btype                         {% checkType (splitTilde $1) }+> trueatype :: { Type L }+>       : atype                         {% checkType $1 }  > btype :: { PType L }->       : btype atype                   { TyApp ($1 <> $2) $1 $2 }->       | atype                         { $1 }+>       : btype_('*',NEVER)             { $1 } +> btype_(ostar,kstar) :: { PType L }+>       : btype_(ostar,kstar) atype_(ostar,kstar) { TyApp ($1 <> $2) $1 $2 }+>       | atype_(ostar,kstar)           { $1 }+ UnboxedTuples requires the extension, but that will be handled through the (# and #) lexemes. Kinds will be handled at the kind rule.  > atype :: { PType L }->       : gtycon                        { TyCon   (ann $1) $1 }+>       : atype_('*',NEVER)             { $1 }++> atype_(ostar,kstar) :: { PType L }+>       : kstar                         { TyStar  (nIS $1) }+>       | gtycon_(ostar)                { TyCon   (ann $1) $1 } >       | tyvar                         {% checkTyVar $1 }->       | strict_mark atype             { let (bangOrPack, locs) = $1->                                           in let annot = if bangOrPack then (BangedTy (nIS (last locs) <** locs)) else UnpackedTy (nIS (head locs) <++> nIS (last locs) <** locs)->                                            in bangType (nIS (head locs) <++> ann $2) annot $2 }->       | '(' types ')'                 { TyTuple ($1 <^^> $3 <** ($1:reverse ($3:snd $2))) Boxed   (reverse (fst $2)) }->       | '(#' types1 '#)'              { TyTuple ($1 <^^> $3 <** ($1:reverse ($3:snd $2))) Unboxed (reverse (fst $2)) }->       | '[' type ']'                  { TyList  ($1 <^^> $3 <** [$1,$3]) $2 }->       | '[:' type ':]'                { TyParArray  ($1 <^^> $3 <** [$1,$3]) $2 }->       | '(' ctype ')'                 { TyParen ($1 <^^> $3 <** [$1,$3]) $2 }->       | '(' ctype '::' kind ')'       { TyKind  ($1 <^^> $5 <** [$1,$3,$5]) $2 $4 }+>       | strict_mark atype             { let (mstrict, mupack) = $1+>                                         in bangType mstrict mupack $2 }+>       | '(' types_(ostar,kstar) ')'                   { TyTuple ($1 <^^> $3 <** ($1:reverse ($3:snd $2))) Boxed   (reverse (fst $2)) }+>       | '(#' types_bars2(ostar,kstar) '#)'            { TyUnboxedSum ($1 <^^> $3 <** ($1: reverse ($3: snd $2))) (reverse (fst $2))  }+>       | '(#' types1_(ostar,kstar) '#)'                { TyTuple ($1 <^^> $3 <** ($1:reverse ($3:snd $2))) Unboxed (reverse (fst $2)) }+>       | '[' type_(ostar,kstar) ']'                    { TyList  ($1 <^^> $3 <** [$1,$3]) $2 }+>       | '[:' type_(ostar,kstar) ':]'                  { TyParArray  ($1 <^^> $3 <** [$1,$3]) $2 }+>       | '(' ctype_(ostar,kstar) ')'                   { TyParen ($1 <^^> $3 <** [$1,$3]) $2 }+>       | '(' ctype_(ostar,kstar) '::' kind ')'         { TyKind  ($1 <^^> $5 <** [$1,$3,$5]) $2 $4 } >       | '$(' trueexp ')'              { let l = ($1 <^^> $3 <** [$1,$3]) in TySplice l $ ParenSplice l $2 }+>       | '$$(' trueexp ')'             { let l = ($1 <^^> $3 <** [$1,$3]) in TySplice l $ TParenSplice l $2 } >       | IDSPLICE                      { let Loc l (THIdEscape s) = $1 in TySplice (nIS l) $ IdSplice (nIS l) s }+>       | TIDSPLICE                     { let Loc l (THTIdEscape s) = $1 in TySplice (nIS l) $ TIdSplice (nIS l) s } >       | '_'                           { TyWildCard (nIS $1) Nothing }->       | ptype                         { % checkEnabled DataKinds >> return (TyPromoted (ann $1) $1) }+>       | QUASIQUOTE                    { let Loc l (THQuasiQuote (n,q)) = $1 in TyQuasiQuote (nIS l) n q }+>       | ptype_(ostar,kstar)           { % checkEnabled DataKinds >> return (TyPromoted (ann $1) $1) } -> ptype :: { Promoted L }->       : VARQUOTE '[' types1 ']'       {% PromotedList  ($1 <^^> $4 <** ($1:reverse($4:snd $3))) True . reverse <\$> mapM checkType (fst $3) }->       | VARQUOTE '['        ']'       { PromotedList   ($1 <^^> $3 <** [$1, $3]) True  [] }->       |          '[' types  ']'       {% PromotedList  ($1 <^^> $3 <** ($1:reverse($3:snd $2))) False . reverse <\$> mapM checkType (fst $2) }+> ptype_(ostar,kstar) :: { Promoted L }+>       : VARQUOTE gcon_nolist                  {% fmap (PromotedCon (nIS $1 <++> ann $2  <** [$1]) True) (pexprToQName $2) }+>       | VARQUOTE '[' types1_(ostar,kstar) ']' {% PromotedList  ($1 <^^> $4 <** ($1:reverse($4:snd $3))) True . reverse <\$> mapM checkType (fst $3) }+>       |          '[' types_(ostar,kstar)  ']' {% PromotedList  ($1 <^^> $3 <** ($1:reverse($3:snd $2))) False . reverse <\$> mapM checkType (fst $2) }+>       | VARQUOTE '[' ']'              { PromotedList  ($1 <^^> $3 <** [$1, $3]) True [] }+       | '[' ']'                       {% PromotedList  ($1 <^^> $2 <** [$1, $2]) False [] } >       | VARQUOTE '(' types1 ')'       {% PromotedTuple ($1 <^^> $4 <** ($1:reverse($4:snd $3))) . reverse <\$> mapM checkType (fst $3) }->       | VARQUOTE '('        ')'       { PromotedUnit  ($1 <^^> $3 ) }->       | VARQUOTE gconsym              { PromotedCon ((noInfoSpan $1 <++> ann $2) <** [$1]) True  $2 }->       | VARQUOTE qtyconorcls          { PromotedCon ((noInfoSpan $1 <++> ann $2) <** [$1]) True  $2 } >       | INT                           { let Loc l (IntTok  (i,raw)) = $1 in PromotedInteger (nIS l) i raw } >       | STRING                        { let Loc l (StringTok (s,raw)) = $1 in PromotedString (nIS l) s raw } -> strict_mark :: { (Bool, [S]) }->        : '!'                           { (True, [$1]) }->        | '{-# UNPACK' '#-}' '!'        { (False, [$1,$2,$3]) } +> strict_mark :: { (Maybe (L -> BangType L,S), Maybe (Unpackedness L)) }+>        : strictness              { (Just $1, Nothing) }+>        | unpackedness            { (Nothing, Just $1) }+>        | unpackedness strictness { (Just $2, Just $1) } +> strictness :: { (L -> BangType L, S) }+>        : '!'                           { (BangedTy, $1) }+>        | '~'                           { (LazyTy, $1) }++> unpackedness :: { Unpackedness L }+>        : '{-# UNPACK' '#-}'           { (Unpack ((nIS $1 <++> nIS $2) <** [$1,$2])) }+>        | '{-# NOUNPACK' '#-}'         { (NoUnpack ((nIS $1 <++> nIS $2) <** [$1,$2])) }++ > gtycon :: { QName L }->       : otycon                        { $1 }+>       : gtycon_('*')                     { $1 }++> gtycon_(ostar) :: { QName L }+>       : otycon_(ostar)                     { $1 } >       | '(' ')'                       { unit_tycon_name              ($1 <^^> $2 <** [$1,$2]) } >       | '(' '->' ')'                  { fun_tycon_name               ($1 <^^> $3 <** [$1,$2,$3]) } >       | '[' ']'                       { list_tycon_name              ($1 <^^> $2 <** [$1,$2]) }@@ -946,14 +1059,18 @@ >       | '(#' commas '#)'              { tuple_tycon_name             ($1 <^^> $3 <** ($1:reverse $2 ++ [$3])) Unboxed (length $2) }  > otycon :: { QName L }+>       : otycon_('*')                     { $1 }++> otycon_(ostar) :: { QName L } >       : qconid                        { $1 } >       | '(' gconsym ')'               { updateQNameLoc ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3]) $2 }->       | '(' qvarsym ')'               { updateQNameLoc ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3]) $2 }+>       | '(' qvarsym_(ostar) ')'       { updateQNameLoc ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3]) $2 }  These are for infix types -> qtyconop :: { QName L }->       : qconop                        { $1 }+> qtyconop :: { MaybePromotedName L }+>       : qconop                        { UnpromotedName (ann $1) $1 }+>       | VARQUOTE gconsym              { PromotedName (nIS $1 <++> ann $2 <** [$1]) $2 }   (Slightly edited) Comment from GHC's hsparser.y:@@ -973,25 +1090,38 @@ >       : ctype                         {% checkType $1 }  > ctype :: { PType L }->       : 'forall' ktyvars '.' ctype    { mkTyForall (nIS $1 <++> ann $4 <** [$1,$3]) (Just (reverse (fst $2))) Nothing $4 }->       | context ctype                 { mkTyForall ($1 <> $2) Nothing (Just $1) $2 }->       | type                          { $1 }+>       : ctype_('*',NEVER)             { $1 } +> ctype_(ostar,kstar) :: { PType L }+>       : 'forall' ktyvars '.' ctype_(ostar,kstar)      { mkTyForall (nIS $1 <++> ann $4 <** [$1,$3]) (Just (reverse (fst $2))) Nothing $4 }+>       | context_(ostar,kstar) ctype_(ostar,kstar)     { mkTyForall ($1 <> $2) Nothing (Just $1) $2 }+>       | type_(ostar,kstar)                            { $1 }+ Equality constraints require the TypeFamilies extension.  > context :: { PContext L }->       : btype '=>'                    {% checkPContext $ (amap (\l -> l <++> nIS $2 <** (srcInfoPoints l ++ [$2]))) $1 }->       | btype '~' btype '=>'          {% do { checkEnabledOneOf [TypeFamilies, GADTs];->                                               let {l = $1 <> $3 <** [$2,$4]};->                                               checkPContext (TyPred l $ EqualP l $1 $3) } }+>       : context_('*',NEVER)           { $1 } +> context_(ostar,kstar) :: { PContext L }+>       : btype_(ostar,kstar) '=>'      {% checkPContext $ (amap (\l -> l <++> nIS $2 <** (srcInfoPoints l ++ [$2]))) (splitTilde $1) }+ > types :: { ([PType L],[S]) }->       : types1 ',' ctype              { ($3 : fst $1, $2 : snd $1)  }+>       : types_('*',NEVER)             { $1 } +> types_(ostar,kstar) :: { ([PType L],[S]) }+>       : types1_(ostar,kstar) ',' ctype_(ostar,kstar)  { ($3 : fst $1, $2 : snd $1)  }+ > types1 :: { ([PType L],[S]) }->       : ctype                         { ([$1],[]) }->       | types1 ',' ctype              { ($3 : fst $1, $2 : snd $1) }+>       : types1_('*',NEVER)            { $1 } +> types1_(ostar,kstar) :: { ([PType L],[S]) }+>       : ctype_(ostar,kstar)                           { ([$1],[]) }+>       | types1_(ostar,kstar) ',' ctype_(ostar,kstar)  { ($3 : fst $1, $2 : snd $1) }++> types_bars2(ostar,kstar) :: { ([PType L],[S]) }+>   : ctype_(ostar,kstar) '|' ctype_(ostar,kstar)       { ([$3, $1], [$2]) }+>   | types_bars2(ostar,kstar) '|' ctype_(ostar,kstar)  { ($3 : fst $1, $2 : snd $1) }+ > ktyvars :: { ([TyVarBind L],Maybe L) } >       : ktyvars ktyvar                { ($2 : fst $1, Just (snd $1 <?+> ann $2)) } >       | {- empty -}                   { ([],Nothing) }@@ -1048,10 +1178,14 @@  > gadtconstr :: { [GadtDecl L] } >       : qcon '::' truectype            {% do { c <- checkUnQual $1;->                                                return [GadtDecl ($1 <> $3 <** [$2]) c Nothing $3] } }+>                                                return [GadtDecl ($1 <> $3 <** [$2]) c Nothing Nothing Nothing $3] } }+>       | qcon '::' context '{' fielddecls '}' '->' truectype+>                                       {% do { c <- checkUnQual $1;+>                                               ctxt <- checkContext (Just $3) ;+>                                               return [GadtDecl ($1 <> $8 <** [$2,$4,$6,$7] ++ snd $5) c Nothing ctxt (Just (reverse $ fst $5)) $8] } } >       | qcon '::' '{' fielddecls '}' '->' truectype >                                       {% do { c <- checkUnQual $1;->                                               return [GadtDecl ($1 <> $7 <** [$2,$3,$5,$6] ++ snd $4) c (Just (reverse $ fst $4)) $7] } }+>                                               return [GadtDecl ($1 <> $7 <** [$2,$3,$5,$6] ++ snd $4) c Nothing Nothing (Just (reverse $ fst $4)) $7] } }  To allow the empty case we need the EmptyDataDecls extension. > constrs0 :: { ([QualConDecl L],[S],Maybe L) }@@ -1094,21 +1228,37 @@ > fielddecl :: { FieldDecl L } >       : vars '::' truectype               { let (ns,ss,l) = $1 in FieldDecl (l <++> ann $3 <** (reverse ss ++ [$2])) (reverse ns) $3 } -> deriving :: { Maybe (Deriving L) }->       : {- empty -}                   { Nothing }->       | 'deriving' qtycls1            { let l = nIS $1 <++> ann $2 <** [$1] in Just $ Deriving l [IRule (ann $2) Nothing Nothing $2] }->       | 'deriving' '('          ')'   { Just $ Deriving ($1 <^^> $3 <** [$1,$2,$3]) [] }->       | 'deriving' '(' dclasses ')'   { -- Distinguish deriving (Show) from deriving Show (#189)->                                         case fst $3 of->                                           [ts] -> Just $ Deriving ($1 <^^> $4 <** [$1]) [IParen ($2 <^^> $4 <** [$2,$4]) ts]->                                           tss  -> Just $ Deriving ($1 <^^> $4 <** $1:$2: reverse (snd $3) ++ [$4]) (reverse tss)}+> maybe_derivings :: { [Deriving L] }+>       : {- empty -}                   { [] }+>       | derivings                     { $1 } +> derivings :: { [Deriving L] }+>       : derivings deriving            { $2 : $1 }+>       | deriving                      { [$1] }++> deriving :: { Deriving L }+>       : 'deriving' deriv_clause_types+>             { let (ihs, last_ss, sss) = $2+>               in Deriving ($1 <^^> last_ss <** $1:sss) Nothing ihs }+>       | 'deriving' deriv_strategy_no_via deriv_clause_types+>             { let (ihs, last_ss, sss) = $3+>               in Deriving ($1 <^^> last_ss <** $1:sss) (Just $2) ihs }+>       | 'deriving' deriv_clause_types deriv_strategy_via+>             { let (ihs, last_ss, sss) = $2+>               in Deriving ($1 <^^> last_ss <** $1:sss) (Just $3) ihs }+ > dclasses :: { ([InstRule L],[S]) } >       : types1                        {% checkDeriving (fst $1) >>= \ds -> return (ds, snd $1) }  > qtycls1 :: { InstHead L } >       : qconid                        { IHCon (ann $1) $1 } +> deriv_clause_types :: { ([InstRule L], SrcSpan, [SrcSpan]) }+>       : qtycls1                       { [IRule (ann $1) Nothing Nothing $1], srcInfoSpan (ann $1), [] }+>       | '(' ')'                       { [], $2, [$1, $2] }+>       | '(' dclasses ')'              { case fst $2 of+>                                           [ts] -> ([IParen ($1 <^^> $3 <** [$1,$3]) ts], $3, [])+>                                           tss  -> (reverse tss, $3, $1: reverse (snd $2) ++ [$3]) }  ----------------------------------------------------------------------------- Kinds@@ -1117,36 +1267,15 @@ >       : kind1                 {% checkEnabled KindSignatures >> return $1 }  > kind1 :: { Kind L }->       : bkind                 { $1 }->       | bkind '->' kind1      { KindFn ($1 <> $3 <** [$2]) $1 $3 }--> bkind :: { Kind L }->       : akind                 { $1 }->       | bkind akind           { KindApp ($1 <> $2) $1 $2 }--> akind :: { Kind L }->       : '*'                   { KindStar  (nIS $1) }->       | '(' kind1 ')'         { KindParen ($1 <^^> $3 <** [$1,$3]) $2 }->       | pkind                 {% checkKind $1 >> return $1 }->       | qvarid                {% checkEnabled PolyKinds >> return (KindVar (ann $1) $1) }--KindParen covers 1-tuples, KindVar l  while KindTuple is for pairs--> pkind :: { Kind L }->         : qtyconorcls         { KindVar (ann $1) $1 }->         | '(' ')'             { let l = $1 <^^> $2 in KindVar l (unit_tycon_name l) }->         | '(' kind ',' comma_kinds1  ')'->             { KindTuple ($1 <^^> $5 <** ($1:$3:reverse ($5:snd $4))) ($2:reverse (fst $4)) }->         | '[' kind ']'      { KindList  (($1 <^^> $3) <** [$1, $3]) $2 }--> comma_kinds1 :: { ([Kind L], [S]) }->      : kind1                   { ([$1], []) }->      | kind1 ',' comma_kinds1  { ($1 : (fst $3), $2 : (snd $3)) }-+>       : ctype_(NEVER,'*')     {% checkType $1 }  > optkind :: { (Maybe (Kind L), [S]) } >       : {-empty-}             { (Nothing,[]) } >       | '::' kind             { (Just $2,[$1]) }++> opt_tyconsig :: { Maybe ( S, QName L ) }+>              : {- empty -}    { Nothing }+>              | '::' gtycon    { Just ($1, $2) } ----------------------------------------------------------------------------- Class declarations @@ -1175,17 +1304,23 @@ >       | atdecl                        {% checkEnabled TypeFamilies >> return $1 } >       | 'default' signdecl            {% checkEnabled DefaultSignatures >> checkDefSigDef $2 >>= \(n,t,l) -> return (ClsDefSig (nIS $1 <++> ann $2 <** [$1,l]) n t) } +> opt_family   :: { [S] }+>              : {- empty -}   { [] }+>              | 'family'      { [$1] }+ > atdecl :: { ClassDecl L }->       : 'type' type optkind->             {% do { dh <- checkSimpleType $2;->                     return (ClsTyFam  (nIS $1 <++> ann $2 <+?> (fmap ann) (fst $3) <** $1:snd $3) dh (fst $3)) } }->       | 'type' truedtype '=' truectype->                     { ClsTyDef (nIS $1 <++> ann $4 <** [$1,$3]) $2 $4 }->       | 'type' 'instance' truedtype '=' truectype->                     { ClsTyDef (nIS $1 <++> ann $5 <** [$1,$2,$4]) $3 $5 }->       | 'data' ctype optkind->             {% do { (cs,dh) <- checkDataHeader $2;->                     return (ClsDataFam (nIS $1 <++> ann $2 <+?> (fmap ann) (fst $3) <** $1:snd $3) cs dh (fst $3)) } }+>       : 'data' opt_family type opt_datafam_kind_sig+>             {% do { (cs,dh) <- checkDataHeader $3;+>                     return (ClsDataFam (nIS $1 <++> ann $3 <+?> (fmap ann) $4 <** [$1]) cs dh $4) } }+>       | 'type' type opt_at_kind_inj_sig2+>             {% mkAssocType $1 $2 $3 }+>       | 'type' 'family' type opt_at_kind_inj_sig+>             {% do { dh <- checkSimpleType $3;+>                     return (ClsTyFam  (nIS $1 <++> ann $3 <+?> (fmap ann) (fst $4)+>                                                           <+?> (fmap ann) (snd $4)+>                                                           <** [$1]) dh (fst $4) (snd $4)) } }+>       | 'type' 'instance' ty_fam_inst_eqn+>                     { ClsTyDef (nIS $1 <++> ann $3 <** [$1,$2]) $3 }  ----------------------------------------------------------------------------- Instance declarations@@ -1218,16 +1353,16 @@ >       : 'type' truedtype '=' truectype >                {% do { -- no checkSimpleType $4 since dtype may contain type patterns >                        return (InsType (nIS $1 <++> ann $4 <** [$1,$3]) $2 $4) } }->       | data_or_newtype truectype constrs0 deriving+>       | data_or_newtype truectype constrs0 maybe_derivings >                {% do { -- (cs,c,t) <- checkDataHeader $4; >                        let {(ds,ss,minf) = $3}; >                        checkDataOrNew $1 ds;->                        return (InsData ($1 <> $2 <+?> minf <+?> fmap ann $4 <** ss ) $1 $2 (reverse ds) $4) } }->       | data_or_newtype truectype optkind gadtlist deriving+>                        return (InsData ($1 <> $2 <+?> minf <+?> fmap ann (listToMaybe $4) <** ss ) $1 $2 (reverse ds) (reverse $4)) } }+>       | data_or_newtype truectype optkind gadtlist maybe_derivings >                {% do { -- (cs,c,t) <- checkDataHeader $4; >                        let { (gs,ss,minf) = $4 } ; >                        checkDataOrNewG $1 gs;->                        return $ InsGData (ann $1 <+?> minf <+?> fmap ann $5 <** (snd $3 ++ ss)) $1 $2 (fst $3) (reverse gs) $5 } }+>                        return $ InsGData (ann $1 <+?> minf <+?> fmap ann (listToMaybe $5) <** (snd $3 ++ ss)) $1 $2 (fst $3) (reverse gs) (reverse $5) } }  ----------------------------------------------------------------------------- Value definitions@@ -1305,6 +1440,11 @@ >       | exp10b                        { $1 }  > exp10a :: { PExp L }+>       : expblocka                     { $1 }+>       | fexp expblocka                {% checkEnabled BlockArguments >>+>                                          return (App ($1 <> $2) $1 $2) }++> expblocka :: { PExp L } >       : '\\' apats '->' exp             { Lambda (nIS $1 <++> ann $4 <** [$1,$3]) (reverse $2) $4 } A let may bind implicit parameters >       | 'let' binds 'in' exp            { Let    (nIS $1 <++> ann $4 <** [$1,$3])    $2 $4 }@@ -1317,26 +1457,29 @@ >       | exppragma                       { $1 }  > optlayoutsemi :: { [S] }-> 	: ';'				  {% checkEnabled DoAndIfThenElse >> return [$1] }+>       : ';'				  {% checkEnabled DoAndIfThenElse >> return [$1] } >	| {- empty -}			  { [] }  We won't come here unless XmlSyntax is already checked. > opthsxsemi :: { [S] }-> 	: ';'				  { [$1] }+>       : ';'				  { [$1] } >	| {- empty -}			  { [] }   mdo blocks require the RecursiveDo extension enabled, but the lexer handles that.  > exp10b :: { PExp L }+>       : expblockb                     { $1 }+>       | '-' fexp                      { NegApp (nIS $1 <++> ann $2 <** [$1]) $2 }+>       | fexp                          { $1 }++> expblockb :: { PExp L } >       : 'case' exp 'of' altslist      { let (als, inf, ss) = $4 in Case (nIS $1 <++> inf <** ($1:$3:ss)) $2 als } >       | '\\' 'case' altslist          {% do { checkEnabled LambdaCase ; >                                               let { (als, inf, ss) = $3 } ; >                                               return (LCase (nIS $1 <++> inf <** ($1:$2:ss)) als) } }->       | '-' fexp                      { NegApp (nIS $1 <++> ann $2 <** [$1]) $2 } >       | 'do'  stmtlist                { let (sts, inf, ss) = $2 in Do   (nIS $1 <++> inf <** $1:ss) sts } >       | 'mdo' stmtlist                { let (sts, inf, ss) = $2 in MDo  (nIS $1 <++> inf <** $1:ss) sts }->       | fexp                          { $1 }  > exppragma :: { PExp L } >       : '{-# CORE' STRING '#-}' exp   { let Loc l (StringTok (s,_)) = $2 in CorePragma (nIS $1 <++> ann $4 <** [l,$3]) s $4 }@@ -1353,6 +1496,8 @@  > fexp :: { PExp L } >       : fexp aexp                     { App ($1 <> $2) $1 $2 }+>       | fexp expblockb                {% checkEnabled BlockArguments >>+>                                          return (App ($1 <> $2) $1 $2) } >       | aexp                          { $1 }  > apats :: { [Pat L] }@@ -1379,6 +1524,7 @@ >       | qvar '@:' aexp                {% do { n <- checkUnQual $1; >                                               return (CAsRP ($1 <> $3 <** [$2]) n $3) } } >       | '~' aexp                      { IrrPat (nIS $1 <++> ann $2 <** [$1]) $2 }+>       | TYPEAPP trueatype             { TypeApp (nIS $1 <++> ann $2 <** [$1]) $2 } >       | aexp1                         { $1 }  Note: The first two alternatives of aexp1 are not necessarily record@@ -1398,39 +1544,44 @@  > aexp2 :: { PExp L } >       : ivar                          { IPVar (ann $1) $1 }+>       | overloaded_label              { $1 } >       | qvar                          { Var (ann $1) $1 } >       | gcon                          { $1 } >       | literal                       { Lit (ann $1) $1 } >       | '(' texp ')'                  { Paren ($1 <^^> $3 <** [$1,$3]) $2 }->       | '(' texp tsectend             { TupleSection ($1 <^^> head (snd $3) <** $1:reverse (snd $3)) Boxed (Just $2 : fst $3) }->       | '(' commas texp ')'           { TupleSection ($1 <^^> $4 <** $1:reverse ($4:$2)) Boxed->                                                       (replicate (length $2) Nothing ++ [Just $3]) }->       | '(' commas texp tsectend      { TupleSection ($1 <^^> head (snd $4) <** $1:reverse (snd $4 ++ $2)) Boxed->                                                       (replicate (length $2) Nothing ++ Just $3 : fst $4) }->       | '(#' texp thashsectend        { TupleSection ($1 <^^> head (snd $3) <** $1:reverse (snd $3)) Unboxed (Just $2 : fst $3) }+>       | '(' tup_exprs ')'             {% do { e <- mkSumOrTuple Boxed ($1 <^^> $3) (snd $2)+>                                             ; return $ amap (\l -> l <** [$1] ++ fst $2 ++ [$3]) e } } >       | '(#' texp '#)'                { TupleSection ($1 <^^> $3 <** [$1,$3]) Unboxed [Just $2] }->       | '(#' commas texp '#)'         { TupleSection ($1 <^^> $4 <** $1:reverse ($4:$2)) Unboxed->                                                       (replicate (length $2) Nothing ++ [Just $3]) }->       | '(#' commas texp thashsectend { TupleSection ($1 <^^> head (snd $4) <** $1:reverse (snd $4 ++ $2)) Unboxed->                                                       (replicate (length $2) Nothing ++ Just $3 : fst $4) }+>       | '(#' tup_exprs '#)'         {% do { e <- mkSumOrTuple Unboxed ($1 <^^> $3) (snd $2)+>                                           ; return $ amap (\l -> l <** [$1] ++ fst $2 ++ [$3]) e } } >       | '[' list ']'                  { amap (\l -> l <** [$3]) $ $2 ($1 <^^> $3 <** [$1]) } >       | '[:' parr ':]'                { amap (\l -> l <** [$3]) $ $2 ($1 <^^> $3 <** [$1]) }->       | '_'                           { WildCard (nIS $1) } >       | '(' erpats ')'                {% checkEnabled RegularPatterns >> return (Paren ($1 <^^> $3 <** [$1,$3]) $2) }->       | '(|' sexps '|)'               { SeqRP ($1 <^^> $3 <** ($1:reverse (snd $2) ++ [$3])) $ reverse (fst $2) }->       | '(|' exp '|' quals '|)'       { GuardRP ($1 <^^> $5 <** ($1:$3 : snd $4 ++ [$5])) $2 $ (reverse $ fst $4) }+>       | '(|' exp '|)'                 { ArrOp ($1 <^^> $3 <** [$1,$3]) $2 }+>       | '(/' sexps '/)'               { SeqRP ($1 <^^> $3 <** ($1:reverse (snd $2) ++ [$3])) $ reverse (fst $2) }+>       | '(/' exp '|' quals '/)'       { GuardRP ($1 <^^> $5 <** ($1:$3 : snd $4 ++ [$5])) $2 $ (reverse $ fst $4) } >       | xml                           { $1 } + Template Haskell - all this is enabled in the lexer. >       | IDSPLICE                      { let Loc l (THIdEscape s) = $1 in SpliceExp (nIS l) $ IdSplice (nIS l) s }+>       | TIDSPLICE                     { let Loc l (THTIdEscape s) = $1 in SpliceExp (nIS l) $ TIdSplice (nIS l) s } >       | '$(' trueexp ')'              { let l = ($1 <^^> $3 <** [$1,$3]) in SpliceExp l $ ParenSplice l $2 }+>       | '$$(' trueexp ')'             { let l = ($1 <^^> $3 <** [$1,$3]) in SpliceExp l $ TParenSplice l $2 } >       | '[|' trueexp '|]'             { let l = ($1 <^^> $3 <** [$1,$3]) in BracketExp l $ ExpBracket l $2 }+>       | '[||' trueexp '||]'           { let l = ($1 <^^> $3 <** [$1,$3]) in BracketExp l $ TExpBracket l $2 } >       | '[p|' exp0 '|]'               {% do { p <- checkPattern $2; >                                               let {l = ($1 <^^> $3 <** [$1,$3]) }; >                                               return $ BracketExp l $ PatBracket l p } } >       | '[t|' truectype '|]'              { let l = $1 <^^> $3 <** [$1,$3] in BracketExp l $ TypeBracket l $2 } >       | '[d|' open topdecls close '|]'    { let l = $1 <^^> $5 <** ($1:snd $3 ++ [$5]) >                                             in BracketExp l $ DeclBracket ($1 <^^> $5 <** ($2:snd $3 ++ [$4,$5])) (fst $3) }+>       | VARQUOTE '(' ')'              { let {l1 = $1 <^^> $3 <** [$1];+>                                              l2 = $2 <^^> $3 <** [$2,$3];}+>                                          in VarQuote l1 (unit_con_name l2) }+>       | VARQUOTE '[' ']'              { let {l1 = $1 <^^> $3 <** [$1];+>                                              l2 = $2 <^^> $3 <** [$2,$3];}+>                                          in VarQuote l1 (list_con_name l2) } >       | VARQUOTE qvar                 { VarQuote (nIS $1 <++> ann $2 <** [$1]) $2 } >       | VARQUOTE qcon                 { VarQuote (nIS $1 <++> ann $2 <** [$1]) $2 } >       | TYPQUOTE tyvar                { TypQuote (nIS $1 <++> ann $2 <** [$1]) (UnQual (ann $2) $2) }@@ -1438,26 +1589,38 @@ >       | QUASIQUOTE                    { let Loc l (THQuasiQuote (n,q)) = $1 in QuasiQuote (nIS l) n q } End Template Haskell +> tup_exprs :: { ([S], SumOrTuple L) }+>       : texp commas_tup_tail          { (fst $2, STuple (Just $1 : snd $2)) }+>       | texp bars                     { ($2, SSum 0 (length $2) $1) }+>       | commas tup_tail               { ($1 ++ (fst $2), STuple ((map (const Nothing) $1) ++ snd $2)) }+>       | bars texp bars0               { ($1 ++ $3, SSum (length $1) (length $3) $2) }++> commas_tup_tail :: { ([S], [Maybe (PExp L)]) }+>       : commas tup_tail               { (reverse $1 ++ fst $2, map (const Nothing) (tail $1) ++ snd $2) }++> tup_tail :: { ([S], [Maybe (PExp L)]) }+>           : texp commas_tup_tail { (fst $2, Just $1 : snd $2) }+>           | texp                 { ([], [Just $1]) }+>           | {- empty -}          { ([], [Nothing]) }+ > commas :: { [S] } >       : commas ','                    { $2 : $1 } >       | ','                           { [$1] } +> bars :: { [S] }+>   : bars '|'  { $2 : $1 }+>   | '|'       { [$1] }++> bars0 :: { [S] }+>        : bars { $1 }+>        |      { [] }+ > texp :: { PExp L } >       : exp                           { $1 } >       | qopm exp0                     { PreOp ($1 <> $2) $1 $2 } >       | exp '->' pat                  {% do {checkEnabled ViewPatterns; >                                              return $ ViewPat ($1 <> $3 <** [$2]) $1 $3} } -> tsectend :: { ([Maybe (PExp L)],[S]) }->       : commas texp tsectend          { let (mes, ss) = $3 in (replicate (length $1 - 1) Nothing ++ Just $2 : mes, ss ++ $1) }->       | commas texp ')'               { (replicate (length $1 - 1) Nothing ++ [Just $2], $3 : $1) }->       | commas ')'                    { (replicate (length $1) Nothing, $2 : $1) }--> thashsectend :: { ([Maybe (PExp L)],[S]) }->       : commas texp thashsectend      { let (mes, ss) = $3 in (replicate (length $1 - 1) Nothing ++ Just $2 : mes, ss ++ $1) }->       | commas texp '#)'              { (replicate (length $1 - 1) Nothing ++ [Just $2], $3 : $1) }->       | commas '#)'                   { (replicate (length $1) Nothing, $2 : $1) }- ----------------------------------------------------------------------------- Harp Extensions @@ -1638,7 +1801,10 @@ >       : '{'  alts '}'                 { (fst $2, $1 <^^> $3, $1:snd $2 ++ [$3])  } >       | open alts close               { let l' =  ann . last $ fst $2 >                                          in (fst $2, nIS $1 <++> l', $1:snd $2 ++ [$3]) }+>       | '{' '}'                       {% do { checkEnabled EmptyCase;+>                                               return ([], $1 <^^> $2, [$1, $2]) } } + > alts :: { ([Alt L],[S]) } >       : optsemis alts1 optsemis       { (reverse $ fst $2, $1 ++ snd $2 ++ $3) } @@ -1741,13 +1907,24 @@ Variables, Constructors and Operators.  > gcon :: { PExp L }+>       : sysdcon               { $1 }+>       | qcon                  { Con (ann $1) $1 }++> gcon_nolist :: { PExp L }+>       : sysdcon_nolist        { $1 }+>       | qcon                  { Con (ann $1) $1 }++> sysdcon_nolist :: { PExp L } >       : '(' ')'               { p_unit_con              ($1 <^^> $2 <** [$1,$2]) }->       | '[' ']'               { List                    ($1 <^^> $2 <** [$1,$2]) [] }->       | '(' commas ')'        { p_tuple_con             ($1 <^^> $3 <** $1:reverse ($3:$2)) Boxed (length $2) } >       | '(#' '#)'             { p_unboxed_singleton_con ($1 <^^> $2 <** [$1,$2]) } >       | '(#' commas '#)'      { p_tuple_con             ($1 <^^> $3 <** $1:reverse ($3:$2)) Unboxed (length $2) }->       | qcon                  { Con (ann $1) $1 }+>       | '(' commas ')'        { p_tuple_con             ($1 <^^> $3 <** $1:reverse ($3:$2)) Boxed (length $2) } ++> sysdcon :: { PExp L }+>       : '[' ']'               { List                    ($1 <^^> $2 <** [$1,$2]) [] }+>       | sysdcon_nolist        { $1 }+ > var   :: { Name L } >       : varid                 { $1 } >       | '(' varsym ')'        { fmap (const ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3])) $2 }@@ -1768,6 +1945,11 @@ >       : conid                 { $1 } >       | '(' consym ')'        { fmap (const ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3])) $2 } +> con_list :: { ([S], [Name L]) }+>          : con                { ([], [$1]) }+>          | con ',' con_list   { let (ss, cs) = $3+>                                 in ($2 : ss, $1 :cs) }+ > qcon  :: { QName L } >       : qconid                { $1 } >       | '(' gconsym ')'       { updateQNameLoc ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3]) $2 }@@ -1808,6 +1990,10 @@ >       : ':'                   { list_cons_name (nIS $1) } >       | qconsym               { $1 } +> overloaded_label :: { PExp L }+>       : LABELVARID            { let Loc l (LabelVarId v) = $1 in OverloadedLabel+>                                                                      (nIS l) v }+ ----------------------------------------------------------------------------- Identifiers and Symbols @@ -1815,6 +2001,7 @@ >       : varid                 { UnQual (ann $1) $1 } >       | QVARID                { let {Loc l (QVarId q) = $1; nis = nIS l} >                                  in Qual nis (ModuleName nis (fst q)) (Ident nis (snd q)) }+>       | '_'                   { hole_name       (nIS $1) }  > varid_no_safety :: { Name L } >       : VARID                 { let Loc l (VarId v) = $1 in Ident (nIS l) v }@@ -1830,6 +2017,8 @@ >       | 'js'                  { js_name         (nIS $1) } >       | 'javascript'          { javascript_name (nIS $1) } >       | 'capi'                { capi_name       (nIS $1) }+>       | 'stock'               { stock_name      (nIS $1) }+>       | 'anyclass'            { anyclass_name   (nIS $1) }  > varid :: { Name L } >       : varid_no_safety       { $1 }@@ -1837,8 +2026,9 @@ >       | 'unsafe'              { unsafe_name     (nIS $1) } >       | 'interruptible'       { interruptible_name (nIS $1) } >       | 'threadsafe'          { threadsafe_name (nIS $1) }->	| 'forall'		{ forall_name	  (nIS $1) }->	| 'family'		{ family_name     (nIS $1) }+>	      | 'forall'                          { forall_name	  (nIS $1) }+>	      | 'family'                          { family_name     (nIS $1) }+>       | 'role'                { role_name  (nIS $1) }   Implicit parameter@@ -1861,7 +2051,10 @@ >       : CONSYM                { let Loc l (ConSym c) = $1 in Symbol (nIS l) c }  > qvarsym :: { QName L }->       : varsym                { UnQual (ann $1) $1 }+>       : qvarsym_('*')         { $1 }++> qvarsym_(ostar) :: { QName L }+>       : varsym_(ostar)        { UnQual (ann $1) $1 } >       | qvarsym1              { $1 }  > qvarsymm :: { QName L }@@ -1869,14 +2062,20 @@ >       | qvarsym1              { $1 }  > varsym :: { Name L }->       : varsymm               { $1 }+>       : varsym_('*')          { $1 }++> varsym_(ostar) :: { Name L }+>       : varsymm_(ostar)       { $1 } >       | '-'                   { minus_name (nIS $1) } -> varsymm :: { Name L } -- varsym not including '-'+> varsymm :: { Name L }+>       : varsymm_('*')         { $1 }++> varsymm_(ostar) :: { Name L } -- varsym not including '-' >       : VARSYM                { let Loc l (VarSym v) = $1 in Symbol (nIS l) v } >       | '!'                   { bang_name (nIS $1) } >       | '.'                   { dot_name  (nIS $1) }->       | '*'                   { star_name (nIS $1) }+>       | ostar                 { star_name (nIS $1) }  > qvarsym1 :: { QName L } >       : QVARSYM               { let {Loc l (QVarSym q) = $1; nis = nIS l} in Qual nis (ModuleName nis (fst q)) (Symbol nis (snd q)) }@@ -1930,39 +2129,75 @@ >                                  (_:_) -> ann $1 <++> (ann $ last $2) >                         in PApp l (UnQual (ann $1) $1) $2 } >       | varid qconsym varid  { PInfixApp (ann $1 <++> ann $3) (PVar (ann $1) $1) $2 (PVar (ann $3) $3) }+>       | con '{' commavars '}' {  let { (ss, ns) = $3 ;+>                                        qnames = (map (\n -> UnQual (ann n) n) ns) }+>                                  in PRec (ann $1 <++> nIS $4 <** ($2 : ss ++ [$4]))+>                                          (UnQual (ann $1) $1) (map (\q -> PFieldPun (ann q) q) qnames) } > > vars0 :: { [Pat L] } >       :  {- empty -}        { [] } >       |  varid vars0        { PVar (ann $1) $1 : $2 } +> commavars :: { ([S], [Name L]) }+>       : varid                 { ([], [$1] ) }+>       | varid ',' commavars   { let (ss, ns) = $3 in ($2 : ss, $1 : ns) }+ > where_decls :: { PatternSynDirection L } >       : 'where' '{' decls '}'       {%  checkExplicitPatSyn $1 $2 $3 $4 } >       | 'where' open decls close    {%  checkExplicitPatSyn $1 $2 $3 $4 }  > pattern_synonym_sig :: { Decl L }->       : 'pattern' con '::' pstype+>       : 'pattern' con_list '::' pstype >             {% do { checkEnabled PatternSynonyms ;->                     let {(qtvs, ps, prov, req, ty) = $4} ;->                     let {sig = PatSynSig (nIS $1 <++> ann ty <** [$1, $3] ++ ps)  $2 qtvs prov req ty} ;+>                     let {(qtvs, ps, prov, req_vars, req, ty) = $4} ;+>                     let {sig = PatSynSig (nIS $1 <++> ann ty <** [$1] ++ fst $2 ++ [$3] ++ ps)  (snd $2) qtvs prov req_vars req ty} ; >                     return sig } } -> pstype :: { (Maybe [TyVarBind L], [S], Maybe (Context L), Maybe (Context L), Type L )}+> pstype :: { (Maybe [TyVarBind L], [S], Maybe (Context L), Maybe [TyVarBind L]+>                                       , Maybe (Context L), Type L )} >       :  'forall' ktyvars '.' pstype->             { let (qtvs, ps, prov, req, ty) = $4->                in (Just (reverse (fst $2) ++ fromMaybe [] qtvs), ($1 : $3 : ps), prov, req, ty) }+>             { let (qtvs, ps, prov, req_vars, req, ty) = $4+>                in (Just (reverse (fst $2) ++ fromMaybe [] qtvs), ($1 : $3 : ps), prov, req_vars, req, ty) } >       | context context type >             {% do { c1 <- checkContext (Just $1) ; >                     c2 <- checkContext (Just $2) ; >                     t  <- checkType $3 ;->                     return $ (Nothing, [], c1, c2, t) }}+>                     return $ (Nothing, [], c1, Nothing, c2, t) }}+>       | context 'forall' ktyvars '.' context type+>             {% do { c1 <- checkContext (Just $1) ;+>                     c2 <- checkContext (Just $5) ;+>                     t  <- checkType $6 ;+>                     return $ (Nothing, [], c1, Just (reverse (fst $3)), c2, t) }} >       | context type >              {% do { c1 <- checkContext (Just $1); >                      t <- checkType $2;->                      return (Nothing, [], c1, Nothing, t) } }+>                      return (Nothing, [], c1, Nothing, Nothing, t) } } >       | type->              {% checkType $1 >>= \t -> return (Nothing, [], Nothing, Nothing, t) }+>              {% checkType $1 >>= \t -> return (Nothing, [], Nothing, Nothing, Nothing, t) }  -----------------------------------------------------------------------------+Deriving strategies++> deriv_strategy_no_via :: { DerivStrategy L }+>       : 'stock'               {% do { checkEnabled DerivingStrategies+>                                     ; return (DerivStock (nIS $1)) } }+>       | 'anyclass'            {% do { checkEnabled DerivingStrategies+>                                     ; checkEnabled DeriveAnyClass+>                                     ; return (DerivAnyclass (nIS $1)) } }+>       | 'newtype'             {% do { checkEnabled DerivingStrategies+>                                     ; checkEnabled GeneralizedNewtypeDeriving+>                                     ; return (DerivNewtype (nIS $1)) } }++> deriv_strategy_via :: { DerivStrategy L }+>       : 'via' truedtype       {% do { checkEnabled DerivingVia+>                                     ; return (DerivVia (nIS $1) $2) } }++> deriv_standalone_strategy :: { Maybe (DerivStrategy L) }+>       : deriv_strategy_no_via { Just $1 }+>       | deriv_strategy_via    { Just $1 }+>       | {- empty -}           { Nothing }++----------------------------------------------------------------------------- Miscellaneous (mostly renamings)  > modid :: { ModuleName L }@@ -1983,16 +2218,17 @@ >       | 'safe'                { safe_name       (nIS $1) } >       | 'unsafe'              { unsafe_name     (nIS $1) } >       | 'threadsafe'          { threadsafe_name (nIS $1) }-	| 'forall'		{ forall_name	  (nIS $1) }-	| 'family'		{ family_name     (nIS $1) }+        | 'forall'		{ forall_name	  (nIS $1) }+        | 'family'		{ family_name     (nIS $1) } -> qtyvarop :: { QName L }-> qtyvarop : '`' tyvar '`'       { UnQual ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3]) $2 }->          | tyvarsym            { UnQual (ann $1) $1 }+> qtyvarop_(ostar) :: { QName L }+> qtyvarop_ : '`' tyvar '`'     { UnQual ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3]) $2 }+>          | tyvarsym_(ostar)   { UnQual (ann $1) $1 } -> tyvarsym :: { Name L }+> tyvarsym_(ostar) :: { Name L } > tyvarsym : VARSYM              { let Loc l (VarSym x) = $1 in Symbol (nIS l) x } >          | '-'                 { Symbol (nIS $1) "-" }+>          | ostar                   { Symbol (nIS $1) "*" }  > impdeclsblock :: { ([ImportDecl L],[S],L) } >               : '{'  optsemis impdecls optsemis '}'         { let (ids, ss) = $3 in (ids, $1 : reverse $2 ++ ss ++ reverse $4 ++ [$5], $1 <^^> $5) }
src/Language/Haskell/Exts/Lexer.hs view
@@ -1,3 +1,5 @@+{-# LANGUAGE Safe #-}+ ----------------------------------------------------------------------------- -- | -- Module      :  Language.Haskell.Exts.Lexer
src/Language/Haskell/Exts/ParseMonad.hs view
@@ -1,7 +1,9 @@+{-# LANGUAGE CPP, Safe #-} {-# OPTIONS_HADDOCK hide #-}+ ----------------------------------------------------------------------------- -- |--- Module      :  Language.Haskell.Exts.Annotated.ParseMonad+-- Module      :  Language.Haskell.Exts.ParseMonad -- Copyright   :  Niklas Broberg (c) 2004-2009, --                Original (c) The GHC Team, 1997-2000 -- License     :  BSD-style (see the file libraries/base/LICENSE)@@ -24,7 +26,8 @@         getSrcLoc, pushCurrentContext, popContext,         getExtensions, getIgnoreFunctionArity,         -- * Lexing-        Lex(runL), getInput, discard, lexNewline, lexTab, lexWhile, lexWhile_,+        Lex(runL), getInput, discard, getLastChar, lexNewline,+        lexTab, lexWhile, lexWhile_,         alternative, checkBOL, setBOL, startToken, getOffside,         pushContextL, popContextL, getExtensionsL, addExtensionL,         saveExtensionsL, restoreExtensionsL, pushComment,@@ -44,7 +47,13 @@ import Data.List (intercalate) import Control.Applicative import Control.Monad (when, liftM, ap)-import Data.Monoid+import qualified Control.Monad.Fail as Fail+import Data.Monoid hiding ((<>))+#if !MIN_VERSION_base(4,13,0)+import Data.Semigroup (Semigroup(..))+#endif+-- To avoid import warnings for Control.Applicative, Data.Monoid, and Data.Semigroup+import Prelude  -- | Class providing function for parsing at many different types. --@@ -71,7 +80,7 @@     | ParseFailed SrcLoc String                 -- ^ The parse failed at the specified                 -- source location, with an error message.-    deriving Show+    deriving (Show, Ord, Eq)  -- | Retrieve the result of a successful parse, throwing an --   error if the parse is actually not successful.@@ -90,17 +99,21 @@   ParseFailed loc msg <*> _ = ParseFailed loc msg  instance Monad ParseResult where-  return = ParseOk-  fail = ParseFailed noLoc+#if !MIN_VERSION_base(4,13,0)+  fail = Fail.fail+#endif   ParseOk x           >>= f = f x   ParseFailed loc msg >>= _ = ParseFailed loc msg+instance Fail.MonadFail ParseResult where+  fail = ParseFailed noLoc -instance Monoid m => Monoid (ParseResult m) where-  mempty = ParseOk mempty-  ParseOk x `mappend` ParseOk y = ParseOk $ x `mappend` y-  ParseOk _ `mappend` err       = err-  err       `mappend` _         = err -- left-biased+instance Semigroup m => Semigroup (ParseResult m) where+ ParseOk x <> ParseOk y = ParseOk $ x <> y+ ParseOk _ <> err       = err+ err       <> _         = err -- left-biased +instance ( Monoid m , Semigroup m) => Monoid (ParseResult m) where+  mempty = ParseOk mempty  -- internal version data ParseStatus a = Ok ParseState a | Failed SrcLoc String@@ -189,6 +202,7 @@              -> Int                 -- current column              -> Int                 -- current line              -> SrcLoc              -- location of last token read+             -> Char                -- Last token read used for lexing TypeApplication UGH              -> ParseState          -- layout info.              -> InternalParseMode   -- parse parameters              -> ParseStatus a@@ -211,7 +225,7 @@  runParserWithModeComments :: ParseMode -> P a -> String -> ParseResult (a, [Comment]) runParserWithModeComments mode = let mode2 = toInternalParseMode mode in \(P m) s ->-  case m s 0 1 start ([],[],[],(False,False),[]) mode2 of+  case m s 0 1 start '\n' ([],[],[],(False,False),[]) mode2 of     Ok (_,_,_,_,cs) a -> ParseOk (a, reverse cs)     Failed loc msg    -> ParseFailed loc msg     where start = SrcLoc {@@ -227,25 +241,29 @@   fmap = liftM  instance Applicative P where-  pure = return+  pure a = P $ \_i _x _y _l _ch s _m -> Ok s a   (<*>) = ap  instance Monad P where-    return a = P $ \_i _x _y _l s _m -> Ok s a-    P m >>= k = P $ \i x y l s mode ->-        case m i x y l s mode of+    P m >>= k = P $ \i x y l ch s mode ->+        case m i x y l ch s mode of             Failed loc msg -> Failed loc msg-            Ok s' a -> runP (k a) i x y l s' mode-    fail s = P $ \_r _col _line loc _stk _m -> Failed loc s+            Ok s' a -> runP (k a) i x y l ch s' mode+#if !MIN_VERSION_base(4,13,0)+    fail   = Fail.fail+#endif +instance Fail.MonadFail P where+    fail s = P $ \_r _col _line loc _ _stk _m -> Failed loc s+ atSrcLoc :: P a -> SrcLoc -> P a-P m `atSrcLoc` loc = P $ \i x y _l -> m i x y loc+P m `atSrcLoc` loc = P $ \i x y _l ch -> m i x y loc ch  getSrcLoc :: P SrcLoc-getSrcLoc = P $ \_i _x _y l s _m -> Ok s l+getSrcLoc = P $ \_i _x _y l _ s _m -> Ok s l  getModuleName :: P String-getModuleName = P $ \_i _x _y _l s m ->+getModuleName = P $ \_i _x _y _l _ch s m ->     let fn = iParseFilename m         mn = intercalate "." $ splitPath fn @@ -276,15 +294,15 @@     pushContext (Layout loc)  currentIndent :: P Int-currentIndent = P $ \_r _x _y _ stk _mode -> Ok stk (indentOfParseState stk)+currentIndent = P $ \_r _x _y _ _ stk _mode -> Ok stk (indentOfParseState stk)  pushContext :: LexContext -> P () pushContext ctxt = --trace ("pushing lexical scope: " ++ show ctxt ++"\n") $-    P $ \_i _x _y _l (s, exts, e, p, c) _m -> Ok (ctxt:s, exts, e, p, c) ()+    P $ \_i _x _y _l _ (s, exts, e, p, c) _m -> Ok (ctxt:s, exts, e, p, c) ()  popContext :: P ()-popContext = P $ \_i _x _y loc stk _m ->+popContext = P $ \_i _x _y loc _ stk _m ->       case stk of         (_:s, exts, e, p, c) -> --trace ("popping lexical scope, context now "++show s ++ "\n") $                           Ok (s, exts, e, p, c) ()@@ -305,20 +323,20 @@  -- Extension-aware lexing/parsing getExtensions :: P [KnownExtension]-getExtensions = P $ \_i _x _y _l s m ->+getExtensions = P $ \_i _x _y _l _ s m ->     Ok s $ iExtensions m  pushCtxtFlag :: P () pushCtxtFlag =-    P $ \_i _x _y _l (s, exts, e, (d,c), cs) _m -> case c of+    P $ \_i _x _y _l _ (s, exts, e, (d,c), cs) _m -> case c of         False -> Ok (s, exts, e, (d,True), cs) ()         _     -> error "Internal error: context flag already pushed"  pullDoStatus :: P Bool-pullDoStatus = P $ \_i _x _y _l (s, exts, e, (d,c), cs) _m -> Ok (s,exts,e,(False,c),cs) d+pullDoStatus = P $ \_i _x _y _l _ (s, exts, e, (d,c), cs) _m -> Ok (s,exts,e,(False,c),cs) d  getIgnoreFunctionArity :: P Bool-getIgnoreFunctionArity = P $ \_i _x _y _l s m ->+getIgnoreFunctionArity = P $ \_i _x _y _l _ s m ->   Ok s $ iIgnoreFunctionArity m  @@ -334,13 +352,17 @@     fmap = liftM  instance Applicative (Lex r) where-    pure = return+    pure a = Lex $ \k -> k a     (<*>) = ap  instance Monad (Lex r) where-    return a = Lex $ \k -> k a     Lex v >>= f = Lex $ \k -> v (\a -> runL (f a) k)     Lex v >> Lex w = Lex $ \k -> v (\_ -> w k)+#if !MIN_VERSION_base(4,13,0)+    fail   = Fail.fail+#endif++instance Fail.MonadFail (Lex r) where     fail s = Lex $ \_ -> fail s  -- Operations on this monad@@ -351,15 +373,24 @@ -- | Discard some input characters (these must not include tabs or newlines).  discard :: Int -> Lex r ()-discard n = Lex $ \cont -> P $ \r x -> runP (cont ()) (drop n r) (x+n)+discard n = Lex $ \cont -> P $ \r x y loc ch+                        -> let (newCh:rest)= if n > 0 then drop (n-1) r else (ch:r)+                           in runP (cont ()) rest (x+n) y loc newCh +-- | Get the last discarded character.+-- This is only used for type application.++getLastChar :: Lex r Char+getLastChar = Lex $ \cont -> P $ \r x y loc ch -> runP (cont ch) r x y loc ch++ -- | Discard the next character, which must be a newline.  lexNewline :: Lex a ()-lexNewline = Lex $ \cont -> P $ \rs _x y loc ->+lexNewline = Lex $ \cont -> P $ \rs _x y loc  ->   case rs of     (_:r) -> runP (cont ()) r 1 (y+1) loc-    []    -> \_ _ -> Failed loc "Lexer: expected newline."+    []    -> \_ _ _ -> Failed loc "Lexer: expected newline."  -- | Discard the next character, which must be a tab. @@ -375,9 +406,9 @@ -- Consume and return the largest string of characters satisfying p  lexWhile :: (Char -> Bool) -> Lex a String-lexWhile p = Lex $ \cont -> P $ \rss c l ->+lexWhile p = Lex $ \cont -> P $ \rss c l loc char ->   case rss of-    [] -> runP (cont []) [] c l+    [] -> runP (cont []) [] c l loc char     (r:rs) ->       let         l' = case r of@@ -387,8 +418,8 @@               '\n' -> 1               _    -> c + 1        in if p r-            then runP (runL ((r:) <$> lexWhile p) cont) rs c' l'-            else runP (cont []) (r:rs) c l+            then runP (runL ((r:) <$> lexWhile p) cont) rs c' l' loc r+            else runP (cont []) (r:rs) c l loc char  -- | lexWhile without the return value. lexWhile_ :: (Char -> Bool) -> Lex a ()@@ -429,13 +460,13 @@ -- Set the loc to the current position  startToken :: Lex a ()-startToken = Lex $ \cont -> P $ \s x y _ stk mode ->+startToken = Lex $ \cont -> P $ \s x y _ c stk mode ->     let loc = SrcLoc {         srcFilename = iParseFilename mode,         srcLine = y,         srcColumn = x     } in-    runP (cont ()) s x y loc stk mode+    runP (cont ()) s x y loc c stk mode  -- Current status with respect to the offside (layout) rule: -- LT: we are to the left of the current indent (if any)@@ -443,8 +474,8 @@ -- GT: we are to the right of the current indent, or not subject to layout  getOffside :: Lex a Ordering-getOffside = Lex $ \cont -> P $ \r x y loc stk ->-        runP (cont (compare x (indentOfParseState stk))) r x y loc stk+getOffside = Lex $ \cont -> P $ \r x y loc ch stk ->+        runP (cont (compare x (indentOfParseState stk))) r x y loc ch stk  getSrcLocL :: Lex a SrcLoc getSrcLocL = Lex $ \cont -> P $ \i x y l ->@@ -455,79 +486,79 @@         runP (cont ()) i x y  pushContextL :: LexContext -> Lex a ()-pushContextL ctxt = Lex $ \cont -> P $ \r x y loc (stk, exts, e, pst, cs) ->-        runP (cont ()) r x y loc (ctxt:stk, exts, e, pst, cs)+pushContextL ctxt = Lex $ \cont -> P $ \r x y loc ch (stk, exts, e, pst, cs) ->+        runP (cont ()) r x y loc ch (ctxt:stk, exts, e, pst, cs)  popContextL :: String -> Lex a ()-popContextL _ = Lex $ \cont -> P $ \r x y loc stk m -> case stk of-        (_:ctxt, exts, e, pst, cs) -> runP (cont ()) r x y loc (ctxt, exts, e, pst, cs) m+popContextL _ = Lex $ \cont -> P $ \r x y loc ch stk m -> case stk of+        (_:ctxt, exts, e, pst, cs) -> runP (cont ()) r x y loc ch (ctxt, exts, e, pst, cs) m         ([], _, _, _, _)           -> Failed loc "Unexpected }"  pullCtxtFlag :: Lex a Bool-pullCtxtFlag = Lex $ \cont -> P $ \r x y loc (ct, exts, e, (d,c), cs) ->-        runP (cont c) r x y loc (ct, exts, e, (d,False), cs)+pullCtxtFlag = Lex $ \cont -> P $ \r x y loc ch (ct, exts, e, (d,c), cs) ->+        runP (cont c) r x y loc ch (ct, exts, e, (d,False), cs)   flagDo :: Lex a ()-flagDo = Lex $ \cont -> P $ \r x y loc (ct, exts, e, (_,c), cs) ->-        runP (cont ()) r x y loc (ct, exts, e, (True,c), cs)+flagDo = Lex $ \cont -> P $ \r x y loc ch (ct, exts, e, (_,c), cs) ->+        runP (cont ()) r x y loc ch (ct, exts, e, (True,c), cs)   -- Harp/Hsx  getExtContext :: Lex a (Maybe ExtContext)-getExtContext = Lex $ \cont -> P $ \r x y loc stk@(_, _, e, _, _) ->+getExtContext = Lex $ \cont -> P $ \r x y loc ch stk@(_, _, e, _, _) ->         let me = case e of               [] -> Nothing               (c:_) -> Just c-        in runP (cont me) r x y loc stk+        in runP (cont me) r x y loc ch stk  pushExtContextL :: ExtContext -> Lex a ()-pushExtContextL ec = Lex $ \cont -> P $ \r x y loc (s, exts, e, p, c) ->-        runP (cont ()) r x y loc (s, exts, ec:e, p, c)+pushExtContextL ec = Lex $ \cont -> P $ \r x y loc ch (s, exts, e, p, c) ->+        runP (cont ()) r x y loc ch (s, exts, ec:e, p, c)  popExtContextL :: String -> Lex a ()-popExtContextL fn = Lex $ \cont -> P $ \r x y loc (s,exts,e,p,c) m -> case e of-            (_:ec)   -> runP (cont ()) r x y loc (s,exts,ec,p,c) m+popExtContextL fn = Lex $ \cont -> P $ \r x y loc ch (s,exts,e,p,c) m -> case e of+            (_:ec)   -> runP (cont ()) r x y loc ch (s,exts,ec,p,c) m             []       -> Failed loc ("Internal error: empty tag context in " ++ fn)   -- Extension-aware lexing  getExtensionsL :: Lex a [KnownExtension]-getExtensionsL = Lex $ \cont -> P $ \r x y loc s m ->-        runP (cont $ iExtensions m) r x y loc s m+getExtensionsL = Lex $ \cont -> P $ \r x y loc ch s m ->+        runP (cont $ iExtensions m) r x y loc ch s m  -- | Add an extension to the current configuration. addExtensionL :: KnownExtension -> Lex a ()-addExtensionL ext = Lex $ \cont -> P $ \r x y loc (s, oldExts, e, p, c) m ->+addExtensionL ext = Lex $ \cont -> P $ \r x y loc ch (s, oldExts, e, p, c) m ->         let newExts = impliesExts [ext] ++ iExtensions m-        in runP (cont ()) r x y loc (s, oldExts, e, p, c) (m {iExtensions = newExts})+        in runP (cont ()) r x y loc ch (s, oldExts, e, p, c) (m {iExtensions = newExts})  -- | Save the current configuration of extensions. saveExtensionsL :: Lex a ()-saveExtensionsL = Lex $ \cont -> P $ \r x y loc (s, oldExts, e, p, c) m ->-        runP (cont ()) r x y loc (s, iExtensions m:oldExts, e, p, c) m+saveExtensionsL = Lex $ \cont -> P $ \r x y loc ch (s, oldExts, e, p, c) m ->+        runP (cont ()) r x y loc ch (s, iExtensions m:oldExts, e, p, c) m  -- | Return to the previous saved extensions configuration. restoreExtensionsL :: Lex a ()-restoreExtensionsL = Lex $ \cont -> P $ \r x y loc (s,exts,e,p,c) m -> case exts of-            (_:prev) -> runP (cont ()) r x y loc (s,prev,e,p,c) m+restoreExtensionsL = Lex $ \cont -> P $ \r x y loc ch (s,exts,e,p,c) m -> case exts of+            (_:prev) -> runP (cont ()) r x y loc ch (s,prev,e,p,c) m             _        -> Failed loc "Internal error: empty extension stack"  -- LINE-aware lexing  ignoreLinePragmasL :: Lex a Bool-ignoreLinePragmasL = Lex $ \cont -> P $ \r x y loc s m ->-        runP (cont $ iIgnoreLinePragmas m) r x y loc s m+ignoreLinePragmasL = Lex $ \cont -> P $ \r x y loc c s m ->+        runP (cont $ iIgnoreLinePragmas m) r x y loc c s m  -- If we read a file name in a LINE pragma, we should update the state. setLineFilenameL :: String -> Lex a ()-setLineFilenameL name = Lex $ \cont -> P $ \r x y loc s m ->-        runP (cont ()) r x y loc s (m {iParseFilename = name})+setLineFilenameL name = Lex $ \cont -> P $ \r x y loc ch s m ->+        runP (cont ()) r x y loc ch s (m {iParseFilename = name})  -- Comments  pushComment :: Comment -> Lex a ()-pushComment c = Lex $ \cont -> P $ \r x y loc (s, exts, e, p, cs) ->-        runP (cont ()) r x y loc (s, exts, e, p, c:cs)+pushComment c = Lex $ \cont -> P $ \r x y loc ch (s, exts, e, p, cs) ->+        runP (cont ()) r x y loc ch (s, exts, e, p, c:cs)
src/Language/Haskell/Exts/ParseSyntax.hs view
@@ -2,14 +2,15 @@ {-# OPTIONS_HADDOCK hide #-} module Language.Haskell.Exts.ParseSyntax where -import Language.Haskell.Exts.Annotated.Syntax hiding ( Type(..), Asst(..), Exp(..), FieldUpdate(..), XAttr(..), Context(..) )-import qualified Language.Haskell.Exts.Annotated.Syntax as S ( Type(..), Promoted(..) )+import Language.Haskell.Exts.Syntax hiding ( Type(..), Asst(..), Exp(..), FieldUpdate(..), XAttr(..), Context(..) )+import qualified Language.Haskell.Exts.Syntax as S ( Type(..), Promoted(..) )  --------------------------------------- -- Expressions as we parse them (and patterns, and regular patterns)  data PExp l     = Var l (QName l)                       -- ^ variable+    | OverloadedLabel l String              -- ^ overloaded label #foo     | IPVar l (IPName l)                    -- ^ implicit parameter variable     | Con l (QName l)                       -- ^ data constructor     | Lit l (Literal l)                     -- ^ literal constant@@ -25,12 +26,11 @@                                             --   the last statement in the list                                             --   should be an expression.     | MDo l [Stmt l]                        -- ^ @mdo@-expression---    | Tuple [PExp]                        -- ^ tuple expression     | TupleSection l Boxed [Maybe (PExp l)] -- ^ tuple section expression, e.g. @(,,3)@+    | UnboxedSum l Int Int (PExp l)         -- ^ Unboxed sum     | List l [PExp l]                       -- ^ list expression     | ParArray l [PExp l]                   -- ^ parallel array expression     | Paren l (PExp l)                      -- ^ parenthesized expression---     RightSection QOp PExp                -- ^ right section @(@/qop/ /exp/@)@     | RecConstr l (QName l) [PFieldUpdate l]                                             -- ^ record construction expression     | RecUpdate l (PExp l) [PFieldUpdate l]@@ -101,9 +101,11 @@     | RightArrApp     l (PExp l) (PExp l)   -- ^ e >- e     | LeftArrHighApp  l (PExp l) (PExp l)   -- ^ e -<< e     | RightArrHighApp l (PExp l) (PExp l)   -- ^ e >>- e+    | ArrOp l (PExp l)                      -- ^ (| e |)  -- LambdaCase     | LCase l [Alt l]                       -- ^ @\case@ /alts/+    | TypeApp l (S.Type l)    deriving (Eq,Show,Functor)  data PFieldUpdate l@@ -118,6 +120,7 @@ instance Annotated PExp where     ann e = case e of         Var l _                 -> l+        OverloadedLabel l _     -> l         IPVar l _               -> l         Con l _                 -> l         Lit l _                 -> l@@ -131,6 +134,7 @@         Do l _                  -> l         MDo l _                 -> l         TupleSection l _ _      -> l+        UnboxedSum l _ _ _      -> l         List l _                -> l         ParArray l _            -> l         Paren l _               -> l@@ -180,12 +184,16 @@         RightArrApp     l _ _   -> l         LeftArrHighApp  l _ _   -> l         RightArrHighApp l _ _   -> l+        ArrOp           l _     -> l          LCase l _               -> l         MultiIf l _             -> l+        TypeApp l _             -> l +     amap f e' = case e' of         Var l qn                -> Var   (f l) qn+        OverloadedLabel l qn    -> OverloadedLabel (f l) qn         IPVar l ipn             -> IPVar (f l) ipn         Con l qn                -> Con   (f l) qn         Lit l lit               -> Lit   (f l) lit@@ -199,6 +207,7 @@         Do l ss                 -> Do (f l) ss         MDo l ss                -> MDo (f l) ss         TupleSection l bx mes   -> TupleSection (f l) bx mes+        UnboxedSum l b a e     -> UnboxedSum (f l) b a e         List l es               -> List (f l) es         ParArray l es           -> ParArray (f l) es         Paren l e               -> Paren (f l) e@@ -248,9 +257,11 @@         RightArrApp     l e1 e2 -> RightArrApp     (f l) e1 e2         LeftArrHighApp  l e1 e2 -> LeftArrHighApp  (f l) e1 e2         RightArrHighApp l e1 e2 -> RightArrHighApp (f l) e1 e2+        ArrOp           l e     -> ArrOp           (f l) e          LCase l alts -> LCase (f l) alts         MultiIf l alts -> MultiIf (f l) alts+        TypeApp l ty -> TypeApp (f l) ty  instance Annotated PFieldUpdate where     ann (FieldUpdate l _  _) = l@@ -292,8 +303,10 @@         (Maybe [TyVarBind l])         (Maybe (PContext l))         (PType l)+     | TyStar  l                                -- ^ @*@, the type of types      | TyFun   l (PType l) (PType l)            -- ^ function type      | TyTuple l Boxed     [PType l]            -- ^ tuple type, possibly boxed+     | TyUnboxedSum l [PType l]                 -- ^ unboxed sum      | TyList  l (PType l)                      -- ^ list syntax, e.g. [a], as opposed to [] a      | TyParArray l (PType l)                   -- ^ parallel array syntax, e.g. [:a:]      | TyApp   l (PType l) (PType l)            -- ^ application of a type constructor@@ -301,19 +314,23 @@      | TyCon   l (QName l)                      -- ^ named type or type constructor      | TyParen l (PType l)                      -- ^ type surrounded by parentheses      | TyPred  l (PAsst l)                      -- ^ assertion of an implicit parameter-     | TyInfix l (PType l) (QName l) (PType l)  -- ^ infix type constructor+     | TyInfix l (PType l) (MaybePromotedName l) (PType l)  -- ^ infix type constructor      | TyKind  l (PType l) (Kind l)             -- ^ type with explicit kind signature      | TyPromoted l (S.Promoted l)              -- ^ promoted data type+     | TyEquals l (PType l) (PType l)           -- ^ type equality constraint      | TySplice l (Splice l)                    -- ^ template haskell splice type-     | TyBang l (BangType l) (PType l)          -- ^ Strict type marked with \"@!@\" or type marked with UNPACK pragma.+     | TyBang l (BangType l) (Unpackedness l) (PType l) -- ^ Strict type marked with \"@!@\" or type marked with UNPACK pragma.      | TyWildCard l (Maybe (Name l))            -- ^ Type wildcard+     | TyQuasiQuote l String String             -- ^ @[qq| |]@   deriving (Eq, Show, Functor)  instance Annotated PType where     ann t = case t of       TyForall l _ _ _              -> l+      TyStar  l                     -> l       TyFun   l _ _                 -> l       TyTuple l _ _                 -> l+      TyUnboxedSum l _              -> l       TyList  l _                   -> l       TyParArray  l _               -> l       TyApp   l _ _                 -> l@@ -323,14 +340,18 @@       TyInfix l _ _ _               -> l       TyKind  l _ _                 -> l       TyPromoted l   _              -> l+      TyEquals l _ _                 -> l       TyPred l _                    -> l       TySplice l _                  -> l-      TyBang  l _ _                 -> l+      TyBang  l _ _ _                 -> l       TyWildCard  l _               -> l+      TyQuasiQuote l _ _            -> l     amap f t' = case t' of       TyForall l mtvs mcx t         -> TyForall (f l) mtvs mcx t+      TyStar  l                     -> TyStar (f l)       TyFun   l t1 t2               -> TyFun (f l) t1 t2       TyTuple l b ts                -> TyTuple (f l) b ts+      TyUnboxedSum l ts             -> TyUnboxedSum (f l) ts       TyList  l t                   -> TyList (f l) t       TyParArray  l t               -> TyParArray (f l) t       TyApp   l t1 t2               -> TyApp (f l) t1 t2@@ -340,45 +361,25 @@       TyInfix l ta qn tb            -> TyInfix (f l) ta qn tb       TyKind  l t k                 -> TyKind (f l) t k       TyPromoted l   p              -> TyPromoted (f l)   p+      TyEquals l t1 t2              -> TyEquals (f l) t1 t2       TyPred l asst                 -> TyPred (f l) asst       TySplice l s                  -> TySplice (f l) s-      TyBang  l b t                 -> TyBang (f l) b t+      TyBang  l b u t                 -> TyBang (f l) b u t       TyWildCard l mn               -> TyWildCard (f l) mn+      TyQuasiQuote l n s            -> TyQuasiQuote (f l) n s  data PAsst l-    = ClassA l (QName l) [PType l]-    | AppA l (Name l) [PType l]-    | InfixA l (PType l) (QName l) (PType l)+    = TypeA l (PType l)     | IParam l (IPName l) (PType l)-    | EqualP l (PType l)  (PType l)     | ParenA l (PAsst l)-    | WildCardA l (Maybe (Name l))   deriving (Eq, Show, Functor)  instance Annotated PAsst where     ann asst = case asst of-        ClassA l _ _        -> l-        AppA l _ _          -> l-        InfixA l _ _ _      -> l+        TypeA l _           -> l         IParam l _ _        -> l-        EqualP l _ _        -> l         ParenA l _          -> l-        WildCardA l _       -> l     amap f asst = case asst of-        ClassA l qn ts      -> ClassA (f l) qn ts-        AppA l t ts         -> AppA (f l) t ts-        InfixA l ta qn tb   -> InfixA (f l) ta qn tb+        TypeA l t           -> TypeA (f l) t         IParam l ipn t      -> IParam (f l) ipn t-        EqualP l t1 t2      -> EqualP (f l) t1 t2         ParenA l a          -> ParenA (f l) a-        WildCardA l mn      -> WildCardA (f l) mn---unit_tycon, fun_tycon, list_tycon, unboxed_singleton_tycon :: l -> PType l-unit_tycon              l = TyCon l (unit_tycon_name l)-fun_tycon               l = TyCon l (fun_tycon_name l)-list_tycon              l = TyCon l (list_tycon_name l)-unboxed_singleton_tycon l = TyCon l (unboxed_singleton_tycon_name l)--tuple_tycon :: l -> Boxed -> Int -> PType l-tuple_tycon l b i         = TyCon l (tuple_tycon_name l b i)
src/Language/Haskell/Exts/ParseUtils.hs view
@@ -1,4 +1,6 @@ {-# OPTIONS_HADDOCK hide #-}+{-# LANGUAGE CPP #-}+{-# LANGUAGE PatternGuards #-} ----------------------------------------------------------------------------- -- | -- Module      :  Language.Haskell.Exts.ParseUtils@@ -53,6 +55,9 @@     , getGConName           -- S.Exp -> P QName     , mkTyForall            -- Maybe [TyVarBind] -> PContext -> PType -> PType     , mkRoleAnnotDecl       --+    , mkAssocType+    , mkEThingWith+    , splitTilde     -- HaRP     , checkRPattern         -- PExp -> P RPat     -- Hsx@@ -66,15 +71,18 @@     -- Helpers     , updateQNameLoc        -- l -> QName l -> QName l +    , SumOrTuple(..), mkSumOrTuple+     -- Parsed expressions and types     , PExp(..), PFieldUpdate(..), ParseXAttr(..), PType(..), PContext, PAsst(..)     , p_unit_con            -- PExp     , p_tuple_con           -- Boxed -> Int -> PExp     , p_unboxed_singleton_con   -- PExp+    , pexprToQName     ) where -import Language.Haskell.Exts.Annotated.Syntax hiding ( Type(..), Asst(..), Exp(..), FieldUpdate(..), XAttr(..), Context(..) )-import qualified Language.Haskell.Exts.Annotated.Syntax as S ( Type(..), Asst(..), Exp(..), FieldUpdate(..), XAttr(..), Context(..), Role(..), PatternSynDirection(..))+import Language.Haskell.Exts.Syntax hiding ( Type(..), Asst(..), Exp(..), FieldUpdate(..), XAttr(..), Context(..) )+import qualified Language.Haskell.Exts.Syntax as S ( Type(..), Asst(..), Exp(..), FieldUpdate(..), XAttr(..), Context(..), Role(..), PatternSynDirection(..))  import Language.Haskell.Exts.ParseSyntax import Language.Haskell.Exts.ParseMonad@@ -86,14 +94,21 @@ import Prelude hiding (mod) import Data.List (intercalate, intersperse) import Data.Maybe (fromJust, fromMaybe)+import Data.Either import Control.Monad (when,unless)-import Control.Applicative (Applicative (..), (<$>)) ---- import Debug.Trace (trace)+#if __GLASGOW_HASKELL__ < 710+import Control.Applicative ((<$>))+#endif  type L = SrcSpanInfo type S = SrcSpan +pexprToQName :: PExp l -> P (QName l)+pexprToQName (Con _ qn) = return qn+pexprToQName (List l []) = return $ Special l (ListCon l)+pexprToQName _ = fail "pexprToQName"+ splitTyConApp :: PType L -> P (Name L, [S.Type L]) splitTyConApp t0 = do             (n, pts) <- split t0 []@@ -103,7 +118,7 @@     split :: PType L -> [PType L] -> P (Name L, [PType L])     split (TyApp _ t u) ts = split t (u:ts)     split (TyCon _ (UnQual _ t)) ts = return (t,ts)-    split (TyInfix l a op b) ts = split (TyCon l op) (a:b:ts)+    split (TyInfix l a op b) ts = split (TyCon l (getMaybePromotedQName op)) (a:b:ts)     split _ _ = fail "Illegal data/newtype declaration"  -----------------------------------------------------------------------------@@ -162,23 +177,9 @@ checkPContext (TyParen l t) = do     c <- checkAssertion t     return $ CxSingle l (ParenA l c)-checkPContext (TyPred _ p@(EqualP l _ _)) =-  -- Depending on where EqualP is found, it may contain either 1 or 2 info-  -- points.-  ---  -- If it's by itself, it contains two: one for the tilde, another for =>.-  -- The => position is important to have in CxSingle, but for EqualP-  -- itself it's not needed.-  ---  -- If it's parsed as an element of a tuple (a ~ b, ...), then it only-  -- contains one info point. (But that case is handled in a different-  -- branch.)-  let-    withInfoPoints f info = info {srcInfoPoints = f (srcInfoPoints info)}-  in-    return $-      CxSingle (withInfoPoints (drop 1) l) $-        amap (withInfoPoints $ take 1) p+checkPContext t@(TyEquals tp _ _) = do+  checkEnabledOneOf [TypeFamilies, GADTs]+  return $ CxSingle tp $ TypeA tp t  checkPContext t = do     c <- checkAssertion t@@ -193,33 +194,57 @@ checkAssertion (TyParen l asst) = do     asst' <- checkAssertion asst     return $ ParenA l asst'-checkAssertion (TyPred _ p@(IParam _ _ _)) = return p+checkAssertion (TyPred _ p) = checkAAssertion p -- We cannot even get here unless TypeFamilies or GADTs is enabled. -- N.B.: this is called only when the equality assertion is part of a -- tuple-checkAssertion (TyPred _ p@(EqualP _ _ _)) = return p-checkAssertion t' = checkAssertion' id [] t'+checkAssertion t' = do+        t'' <- checkAssertion' id [] t'+        return $ TypeA (ann t'') t''     where   -- class assertions must have at least one argument+            checkAssertion' _ _ t@(TyEquals _ _ _) = return t             checkAssertion' fl ts (TyCon l c) = do-                when (length ts /= 1) $ checkEnabled MultiParamTypeClasses+                when (length ts < 1) $ checkEnabled FlexibleContexts                 checkAndWarnTypeOperators c-                return $ ClassA (fl l) c ts+                return $ tyApps (fl l) (TyCon (fl l) c) ts             checkAssertion' fl ts (TyApp l a t) =                 -- no check on t at this stage                 checkAssertion' (const (fl l)) (t:ts) a             checkAssertion' fl _ (TyInfix l a op b) = do                 -- infix operators require TypeOperators-                checkAndWarnTypeOperators op-                return $ InfixA (fl l) a op b+                checkAndWarnTypeOperators (getMaybePromotedQName op)+                return $ TyInfix (fl l) a op b             checkAssertion' fl ts (TyParen l t) =                 checkAssertion' (const (fl l)) ts t             checkAssertion' fl ts (TyVar l t) = do -- Dict :: cxt => Dict cxt                 checkEnabled ConstraintKinds-                return $ AppA (fl l) t (reverse ts)-            checkAssertion' _ _ (TyWildCard l wc) =-                return $ WildCardA l wc-            checkAssertion' _ _ _ = fail "Illegal class assertion"+                return $ tyApps (fl l) (TyVar (fl l) t) ts+            checkAssertion' _ _ t@(TyWildCard _ _) = return t+            checkAssertion' _ _ t = do+                checkEnabled QuantifiedConstraints -- anything goes+                return t+            tyApps :: L -> PType L -> [PType L] -> PType L+            tyApps _ c [] = c+            tyApps l c (a:aa) = tyApps l (TyApp l c a) aa +checkAAssertion :: PAsst L -> P (PAsst L)+checkAAssertion (TypeA _ t) = checkAssertion t+checkAAssertion (ParenA l a) = do+    a' <- checkAAssertion a+    return $ ParenA l a'+checkAAssertion p = return p++-- Check class/instance declaration for multiparams+checkMultiParam :: PType L -> P ()+checkMultiParam = checkMultiParam' []+    where+        checkMultiParam' ts (TyCon _ _) =+            when (length ts /= 1) $ checkEnabled MultiParamTypeClasses+        checkMultiParam' ts (TyApp _ a t) = checkMultiParam' (t:ts) a+        checkMultiParam' _ (TyInfix _ _ _ _) = checkEnabled MultiParamTypeClasses+        checkMultiParam' ts (TyParen _ t) = checkMultiParam' ts t+        checkMultiParam' _ _ = return ()+ getSymbol :: QName L -> Maybe String getSymbol (UnQual _ (Symbol _ s)) = Just s getSymbol (Qual _ _ (Symbol _ s)) = Just s@@ -240,8 +265,8 @@ checkSContext :: Maybe (PContext L) -> P (Maybe (S.Context L)) checkSContext (Just ctxt) = case ctxt of     CxEmpty l -> return $ Just $ S.CxEmpty l-    CxSingle l a -> checkAsst True a >>= return . Just . S.CxSingle l-    CxTuple l as -> mapM (checkAsst True) as >>= return . Just . S.CxTuple l+    CxSingle l a -> checkAsst a >>= return . Just . S.CxSingle l+    CxTuple l as -> mapM checkAsst as >>= return . Just . S.CxTuple l checkSContext _ = return Nothing  -- Checks ordinary contexts for sigtypes and data type@@ -251,52 +276,23 @@ checkContext :: Maybe (PContext L) -> P (Maybe (S.Context L)) checkContext (Just ctxt) = case ctxt of     CxEmpty l -> return $ Just $ S.CxEmpty l-    CxSingle l a -> checkAsst False a >>= return . Just . S.CxSingle l-    CxTuple l as -> mapM (checkAsst False) as >>= return . Just . S.CxTuple l+    CxSingle l a -> checkAsst a >>= return . Just . S.CxSingle l+    CxTuple l as -> mapM checkAsst as >>= return . Just . S.CxTuple l checkContext _ = return Nothing -checkAsst :: Bool -> PAsst L -> P (S.Asst L)-checkAsst isSimple asst =+checkAsst :: PAsst L -> P (S.Asst L)+checkAsst asst =     case asst of-      ClassA l qn pts -> do-                ts <- mapM (checkAsstParam isSimple) pts-                return $ S.ClassA l qn ts-      AppA l n pts    -> do-                ts <- mapM (checkAsstParam isSimple) pts-                return $ S.AppA l n ts-      InfixA l a op b -> do-                [a',b'] <- mapM (checkAsstParam isSimple) [a,b]-                return $ S.InfixA l a' op b'+      TypeA l pt -> do+                t <- checkType pt+                return $ S.TypeA l t       IParam l ipn pt -> do                 t <- checkType pt                 return $ S.IParam l ipn t-      EqualP l pa pb  -> do-                a <- checkType pa-                b <- checkType pb-                return $ S.EqualP l a b       ParenA l a      -> do-                a' <- checkAsst isSimple a+                a' <- checkAsst a                 return $ S.ParenA l a'-      WildCardA l a ->-        if isSimple then fail "Malformed Context: WildCards not allowed in simple contexts"-                    else return $ S.WildCardA l a -checkAsstParam :: Bool -> PType L -> P (S.Type L)-checkAsstParam isSimple t = do-        exts <- getExtensions-        if FlexibleContexts `elem` exts-         then checkType t-         else case t of-                TyVar l n     -> return $ S.TyVar l n-                TyWildCard l mn ->  return $ S.TyWildCard l mn-                TyParen l t1  -> do t1' <- checkAsstParam isSimple t1-                                    return $ S.TyParen l t1'-                TyApp l pf pt | not isSimple    -> do-                        f <- checkAsstParam isSimple pf-                        t' <- checkType pt-                        return $ S.TyApp l f t'-                _       -> fail "Malformed context: FlexibleContexts is not enabled"- ----------------------------------------------------------------------------- -- Checking Headers @@ -312,10 +308,12 @@  checkClassHeader :: PType L -> P (Maybe (S.Context L), DeclHead L) checkClassHeader (TyForall _ Nothing cs t) = do+    checkMultiParam t     dh <- checkSimple "class" t     cs' <- checkSContext cs     return (cs',dh) checkClassHeader t = do+    checkMultiParam t     dh <- checkSimple "class" t     return (Nothing,dh) @@ -326,7 +324,9 @@   tvb <- mkTyVarBind kw t   h' <- checkSimple kw h   return $ DHApp l h' tvb-checkSimple kw (TyInfix l t1 c@(UnQual _ t) t2) = do+checkSimple kw (TyInfix l t1 mq t2)+  | c@(UnQual _ t) <- getMaybePromotedQName mq+  = do        checkAndWarnTypeOperators c        tv1 <- mkTyVarBind kw t1        tv2 <- mkTyVarBind kw t2@@ -362,8 +362,9 @@ checkInstHeader (TyParen l t) = checkInstHeader t >>= return . IParen l checkInstHeader (TyForall l mtvs cs t) = do     cs' <- checkSContext cs+    checkMultiParam t     checkInsts (Just l) mtvs cs' t-checkInstHeader t = checkInsts Nothing Nothing Nothing t+checkInstHeader t = checkMultiParam t >> checkInsts Nothing Nothing Nothing t   checkInsts :: Maybe L -> Maybe [TyVarBind L] -> Maybe (S.Context L) -> PType L -> P (InstRule L)@@ -381,9 +382,9 @@     checkAndWarnTypeOperators c     return $ IHCon l c checkInstsGuts (TyInfix l a op b) = do-    checkAndWarnTypeOperators op+    checkAndWarnTypeOperators (getMaybePromotedQName op)     [ta,tb] <- checkTypes [a,b]-    return $ IHApp l (IHInfix l ta op) tb+    return $ IHApp l (IHInfix l ta (getMaybePromotedQName op)) tb checkInstsGuts (TyParen l t) = checkInstsGuts t >>= return . IHParen l checkInstsGuts _ = fail "Illegal instance declaration" @@ -415,6 +416,7 @@         checkPat l (ps++args) checkPat e' [] = case e' of     Var _ (UnQual l x)   -> return (PVar l x)+    Var _ (Special l (ExprHole _)) -> return (PWildCard l)     Lit l lit            -> return (PLit l (Signless l2) lit)             where l2 = noInfoSpan . srcInfoSpan $ l     InfixApp loc l op r  ->@@ -437,6 +439,8 @@              then do ps <- mapM (\e -> checkPat e []) (map fromJust mes)                      return (PTuple l bx ps)              else fail "Illegal tuple section in pattern"+    UnboxedSum l b a e ->+      PUnboxedSum l b a <$> checkPattern e      List l es      -> do                   ps <- mapM checkRPattern es@@ -508,7 +512,8 @@             rps <- mapM checkRPattern es             return (PXRPats l $ map fixRPOpPrec rps) -    -- QuasiQuotation+    -- Template Haskell+    SpliceExp l e -> return $ PSplice l e     QuasiQuote l n q -> return $ PQuasiQuote l n q      -- BangPatterns@@ -636,6 +641,7 @@ checkExpr :: PExp L -> P (S.Exp L) checkExpr e' = case e' of     Var l v               -> return $ S.Var l v+    OverloadedLabel l v   -> return $ S.OverloadedLabel l v     IPVar l v             -> return $ S.IPVar l v     Con l c               -> return $ S.Con l c     Lit l lit             -> return $ S.Lit l lit@@ -658,6 +664,7 @@                              else do checkEnabled TupleSections                                      mes' <- mapM mCheckExpr mes                                      return $ S.TupleSection l bx mes'+    UnboxedSum l before after e -> S.UnboxedSum l before after <$> checkExpr e       List l es         -> checkManyExprs es (S.List l)@@ -730,12 +737,13 @@     RightArrApp l e1 e2     -> check2Exprs e1 e2 (S.RightArrApp l)     LeftArrHighApp l e1 e2  -> check2Exprs e1 e2 (S.LeftArrHighApp l)     RightArrHighApp l e1 e2 -> check2Exprs e1 e2 (S.RightArrHighApp l)+    ArrOp l e               -> S.ArrOp l <$> checkExpr e      -- LamdaCase     LCase l alts -> return $ S.LCase l alts      -- Hole-    WildCard l     -> return $ S.ExprHole l+    TypeApp l ty   -> return $ S.TypeApp l ty      _             -> fail $ "Parse error in expression: " ++ prettyPrint e' @@ -839,7 +847,7 @@         let infos = srcInfoPoints loc             op'   = amap (\s -> s { srcInfoPoints = infos }) op         in (return $ Just (op', l:r:es, False, []))-isFunLhs (App _ (Var _ (UnQual _ f)) e) es = return $ Just (f, e:es, True, [])+isFunLhs (App _ (Var l (UnQual _ f)) e) es = return $ Just (f, e:es, True, srcInfoPoints l) isFunLhs (App _ f e) es = isFunLhs f (e:es) isFunLhs (Var _ (UnQual _ f)) es@(_:_) = return $ Just (f, es, True, []) isFunLhs (Paren l f) es@(_:_) = do mlhs <- isFunLhs f es@@ -1061,9 +1069,16 @@ -- Check actual types  -- | Add a strictness/unpack annotation on a type.-bangType :: L -> BangType L -> PType L -> PType L-bangType = TyBang+bangType :: Maybe (L -> BangType L, S) -> Maybe (Unpackedness L) -> PType L -> PType L+bangType mstrict munpack ty =+  case (mstrict,munpack) of+    (Nothing, Just upack) -> TyBang (ann upack <++> ann ty) (NoStrictAnnot noSrcSpan) upack ty+    (Just (strict, pos), _)  ->+      TyBang (fmap ann munpack <?+> noInfoSpan pos <++> ann ty) (strict (noInfoSpan pos))+        (fromMaybe (NoUnpackPragma noSrcSpan) munpack) ty+    (Nothing, Nothing) -> ty + checkType :: PType L -> P (S.Type L) checkType t = checkT t False @@ -1077,8 +1092,10 @@             checkEnabled ExplicitForAll             ctxt <- checkContext cs             check1Type pt (S.TyForall l tvs ctxt)+    TyStar  l         -> return $ S.TyStar l     TyFun   l at rt   -> check2Types at rt (S.TyFun l)     TyTuple l b pts   -> checkTypes pts >>= return . S.TyTuple l b+    TyUnboxedSum l es -> checkTypes es >>= return . S.TyUnboxedSum l     TyList  l pt      -> check1Type pt (S.TyList l)     TyParArray l pt   -> check1Type pt (S.TyParArray l)     TyApp   l ft at   -> check2Types ft at (S.TyApp l)@@ -1089,22 +1106,26 @@     TyParen l pt      -> check1Type pt (S.TyParen l)     -- Here we know that t will be used as an actual type (and not a data constructor)     -- so we can check that TypeOperators are enabled.-    TyInfix l at op bt -> checkAndWarnTypeOperators op >> check2Types at bt (flip (S.TyInfix l) op)+    TyInfix l at op bt -> checkAndWarnTypeOperators (getMaybePromotedQName op)+                           >> check2Types at bt (flip (S.TyInfix l) op)     TyKind  l pt k    -> check1Type pt (flip (S.TyKind l) k) -     -- TyPred can be a valid type if ConstraintKinds is enabled, unless it is an implicit parameter, which is not a valid type-    TyPred _ (ClassA l className cvars) -> mapM checkType cvars >>= \vars -> return (foldl1 (S.TyApp l) (S.TyCon l className:vars))-    TyPred _ (InfixA l t0 op t1)        -> S.TyInfix l <$> checkType t0 <*> pure op <*> checkType t1-    TyPred _ (EqualP l t0    t1)        -> S.TyEquals l <$> checkType t0 <*> checkType t1 where-     TyPromoted l p -> return $ S.TyPromoted l p -- ??+    TyEquals l at bt   -> check2Types at bt (S.TyEquals l)     TySplice l s        -> do                               checkEnabled TemplateHaskell                               return $ S.TySplice l s-    TyBang l b t' -> check1Type t' (S.TyBang l b)+    TyBang l b u t' -> check1Type t' (S.TyBang l b u)     TyWildCard l mn -> return $ S.TyWildCard l mn+    TyQuasiQuote l n s -> do+                              checkEnabled QuasiQuotes+                              return $ S.TyQuasiQuote l n s     _   -> fail $ "Parse error in type: " ++ prettyPrint t +getMaybePromotedQName :: MaybePromotedName l -> QName l+getMaybePromotedQName (PromotedName _ q) = q+getMaybePromotedQName (UnpromotedName _ q) = q+ check1Type :: PType L -> (S.Type L -> S.Type L) -> P (S.Type L) check1Type pt f = checkT pt True >>= return . f @@ -1134,11 +1155,11 @@  -- ConstraintKinds allow the kind "Constraint", but not "Nat", etc. Specifically -- test for that.-checkKind :: Show l => Kind l -> P ()+checkKind :: Kind l -> P () checkKind k = case k of-        KindVar _ q | constrKind q -> checkEnabledOneOf [ConstraintKinds, DataKinds]+        S.TyVar _ q | constrKind q -> checkEnabledOneOf [ConstraintKinds, DataKinds]             where constrKind name = case name of-                    (UnQual _ (Ident _ n)) -> n == "Constraint"+                    Ident _ n -> n == "Constraint"                     _                      -> False          _ -> checkEnabled DataKinds@@ -1205,3 +1226,86 @@           Nothing         ->             fail ("Illegal role name " ++ role) ++++mkAssocType :: S -> PType L -> (Maybe (ResultSig L), Maybe (S, S.Type L), Maybe (InjectivityInfo L)) -> P (ClassDecl L)+mkAssocType tyloc ty (mres, mty, minj)  =+  case (mres,mty, minj) of+    -- No additional information+    (Nothing, Nothing, Nothing) -> do+      dh <- checkSimpleType ty+      return $ ClsTyFam (noInfoSpan tyloc <++> ann ty) dh Nothing Nothing+    -- Type default+    (_, Just (eqloc, rhsty), Nothing) -> do+      ty' <- checkType ty+      let tyeq = TypeEqn (ann ty <++> ann rhsty <** [eqloc]) ty' rhsty+      return $ ClsTyDef (noInfoSpan tyloc <++> ann ty <** [tyloc]) tyeq+    -- Declaration with kind sig+    (Just ressig, _, _) -> do+      dh <- checkSimpleType ty+      return $ ClsTyFam (noInfoSpan tyloc <++> ann ressig <** [tyloc]) dh (Just ressig) Nothing+    -- Decl with inj info+    (Nothing, Just (eqloc, rhsty), Just injinfo) -> do+      ressig <- checkKTyVar eqloc rhsty+      dh <- checkSimpleType ty+      return $ ClsTyFam (noInfoSpan tyloc <++> ann injinfo <** [tyloc]) dh (Just ressig) minj+    _ -> error "mkAssocType"++  where+    checkKTyVar :: S -> S.Type L -> P (ResultSig L)+    checkKTyVar eqloc rhsty =+      case rhsty of+       S.TyVar l n -> return $ TyVarSig (noInfoSpan eqloc <++> l <** [eqloc]) (UnkindedVar l n)+       S.TyKind l (S.TyVar _ n) k -> return $ TyVarSig (noInfoSpan eqloc <++> l <** [eqloc]) (KindedVar l n k)+       _ -> fail ("Result of type family must be a type variable")++-- | Transform btype with strict_mark's into HsEqTy's+-- (((~a) ~b) c) ~d ==> ((~a) ~ (b c)) ~ d+splitTilde :: PType L -> PType L+splitTilde t = go t+  where go (TyApp loc t1 t2)+          | TyBang _ (LazyTy eqloc) (NoUnpackPragma _) t2' <- t2+          = TyEquals (loc <** [srcInfoSpan eqloc]) (go t1) t2'+          | otherwise+          = case go t1 of+              TyEquals eqloc tl tr ->+                TyEquals (eqloc <++> ann t2 <** srcInfoPoints eqloc) tl (TyApp (ann tr <++> ann t2) tr t2)+              t' -> TyApp loc t' t2++        go t' = t'++-- Expects the arguments in the right order+mkEThingWith :: L -> QName L -> [Either S (CName L)] -> P (ExportSpec L)+mkEThingWith loc qn mcns = do+  when (isWc wc && not (null cnames)) (checkEnabled PatternSynonyms)+  return $ EThingWith loc wc qn cnames+  where+    isWc (NoWildcard {}) = False+    isWc _ = True++    wc :: EWildcard L+    wc = maybe (NoWildcard noSrcSpan)+               (\(n,Left s) -> EWildcard (noInfoSpan s) n)+               (findWithIndex 0 checkLeft mcns)++    checkLeft :: Either a b -> Bool+    checkLeft (Left _) = True+    checkLeft _ = False++    cnames = rights mcns++    findWithIndex :: Int -> (a -> Bool) -> [a] -> Maybe (Int, a)+    findWithIndex _ _ [] = Nothing+    findWithIndex n p (x:xs)+      | p x = Just (n, x)+      | otherwise = findWithIndex (n + 1) p xs++data SumOrTuple l = SSum Int Int (PExp l)+                  | STuple [Maybe (PExp l)]++mkSumOrTuple :: Boxed -> L -> SumOrTuple L -> P (PExp L)+mkSumOrTuple Unboxed s (SSum before after e) = return (UnboxedSum s before after e)+mkSumOrTuple boxity s (STuple ms) =+    return $ TupleSection s boxity ms+mkSumOrTuple Boxed _s (SSum {}) = fail "Boxed sums are not implemented"
src/Language/Haskell/Exts/Parser.hs view
@@ -1,232 +1,259 @@-{-# LANGUAGE DeriveDataTypeable, FlexibleInstances #-}+{-# LANGUAGE CPP, DeriveDataTypeable, FlexibleInstances, DeriveFunctor #-} {-# OPTIONS_GHC -fno-warn-orphans #-}+ ----------------------------------------------------------------------------- -- |--- Module      :  Language.Haskell.Exts.Parser--- Copyright   :  (c) The GHC Team, 1997-2000---                (c) Niklas Broberg, 2004-2012+-- Module      :  Language.Haskell.Exts.Annotated.Parser+-- Copyright   :  (c) Niklas Broberg 2004-2009+--                (c) Michael Sloan 2013 -- License     :  BSD-style (see the file LICENSE.txt) ----- Maintainer  :  Niklas Broberg, niklas.broberg@chalmers.se+-- Maintainer  :  Niklas Broberg, d00nibro@chalmers.se -- Stability   :  stable -- Portability :  portable ----- Parser for Haskell with extensions.+-- Annotated parser for Haskell with extensions. -- ------------------------------------------------------------------------------ module Language.Haskell.Exts.Parser-            (-                -- * General parsing-                Parseable(parse, parseWithMode, parseWithComments),-                ParseMode(..), defaultParseMode, ParseResult(..), fromParseResult,-                -- * Parsing of specific AST elements-                -- ** Modules-                parseModule, parseModuleWithMode, parseModuleWithComments,-                -- ** Expressions-                parseExp, parseExpWithMode, parseExpWithComments,-                -- ** Statements-                parseStmt, parseStmtWithMode, parseStmtWithComments,-                -- ** Patterns-                parsePat, parsePatWithMode, parsePatWithComments,-                -- ** Declarations-                parseDecl, parseDeclWithMode, parseDeclWithComments,-                -- ** Types-                parseType, parseTypeWithMode, parseTypeWithComments,-                -- ** Import declarations-                parseImportDecl, parseImportDeclWithMode,-                parseImportDeclWithComments,-                -- * Non-greedy parsers-                NonGreedy(..),-                -- ** Module head parsers-                getTopPragmas,-                PragmasAndModuleName(..),-                PragmasAndModuleHead(..),-                ModuleHeadAndImports(..)-            ) where+    (+    -- * General parsing+      Parseable(parse, parseWithMode, parseWithComments)+    , ParseMode(..), defaultParseMode, ParseResult(..), fromParseResult+    -- * Parsing of specific AST elements+    -- ** Modules+    , parseModule, parseModuleWithMode, parseModuleWithComments+    -- ** Expressions+    , parseExp, parseExpWithMode, parseExpWithComments+    -- ** Statements+    , parseStmt, parseStmtWithMode, parseStmtWithComments+    -- ** Patterns+    , parsePat, parsePatWithMode, parsePatWithComments+    -- ** Declarations+    , parseDecl, parseDeclWithMode, parseDeclWithComments+    -- ** Types+    , parseType, parseTypeWithMode, parseTypeWithComments+    -- ** Imports+    , parseImportDecl, parseImportDeclWithMode, parseImportDeclWithComments+    -- * Non-greedy parsers+    , NonGreedy(..)+    , ListOf(..), unListOf+    -- ** Module head parsers+    , getTopPragmas+    , PragmasAndModuleName(..)+    , PragmasAndModuleHead(..)+    , ModuleHeadAndImports(..)+    ) where -import           Data.Data (Data, Typeable)-import           Language.Haskell.Exts.Annotated.Fixity-import           Language.Haskell.Exts.Annotated.Parser (unListOf, ListOf, NonGreedy(..))-import qualified Language.Haskell.Exts.Annotated.Parser as A-import           Language.Haskell.Exts.Annotated.Simplify-import           Language.Haskell.Exts.Annotated.Syntax-import           Language.Haskell.Exts.Comments-import           Language.Haskell.Exts.ParseMonad hiding (getModuleName)-import           Language.Haskell.Exts.SrcLoc-import qualified Language.Haskell.Exts.Syntax as S+import Data.Data hiding (Fixity)+import Language.Haskell.Exts.Fixity+import Language.Haskell.Exts.Syntax+import Language.Haskell.Exts.Comments+import Language.Haskell.Exts.InternalParser+import Language.Haskell.Exts.ParseMonad+import Language.Haskell.Exts.SrcLoc -parseWithSimplify :: Parseable a => a -> (a -> a') -> Maybe [Fixity] -> P a'-parseWithSimplify _witness simpl mfixs = parser mfixs >>= return . simpl+instance Parseable (Decl   SrcSpanInfo) where parser = normalParser mparseDecl+instance Parseable (Exp    SrcSpanInfo) where parser = normalParser mparseExp+instance Parseable (Module SrcSpanInfo) where parser = normalParser mparseModule+instance Parseable (Pat    SrcSpanInfo) where parser = normalParser mparsePat+instance Parseable (Stmt   SrcSpanInfo) where parser = normalParser mparseStmt+instance Parseable (Type   SrcSpanInfo) where parser = normalParserNoFixity mparseType+instance Parseable (ImportDecl SrcSpanInfo) where parser = normalParserNoFixity mparseImportDecl -instance Parseable S.Decl   where parser = parseWithSimplify (undefined :: Decl   SrcSpanInfo) sDecl-instance Parseable S.Exp    where parser = parseWithSimplify (undefined :: Exp    SrcSpanInfo) sExp-instance Parseable S.Module where parser = parseWithSimplify (undefined :: Module SrcSpanInfo) sModule-instance Parseable S.Pat    where parser = parseWithSimplify (undefined :: Pat    SrcSpanInfo) sPat-instance Parseable S.Stmt   where parser = parseWithSimplify (undefined :: Stmt   SrcSpanInfo) sStmt-instance Parseable S.Type   where parser = parseWithSimplify (undefined :: Type   SrcSpanInfo) sType-instance Parseable S.ImportDecl where parser = parseWithSimplify (undefined :: ImportDecl SrcSpanInfo) sImportDecl+normalParser :: AppFixity a => P (a SrcSpanInfo) -> Maybe [Fixity] -> P (a SrcSpanInfo)+normalParser p Nothing = p+normalParser p (Just fixs) = p >>= \ast -> applyFixities fixs ast `atSrcLoc` noLoc -instance Parseable (NonGreedy [S.ModulePragma]) where-  parser = parseWithSimplify-    (undefined :: NonGreedy (ListOf (ModulePragma SrcSpanInfo)))-    (fmap (map sModulePragma . unListOf))+normalParserNoFixity :: P (a SrcSpanInfo) -> Maybe [Fixity] -> P (a SrcSpanInfo)+normalParserNoFixity p _ = p  -- Type-specific functions  -- | Parse of a string, which should contain a complete Haskell module, using 'defaultParseMode'.-parseModule :: String -> ParseResult S.Module+parseModule :: String -> ParseResult (Module SrcSpanInfo) parseModule = parse  -- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode'.-parseModuleWithMode :: ParseMode -> String -> ParseResult S.Module+parseModuleWithMode :: ParseMode -> String -> ParseResult (Module SrcSpanInfo) parseModuleWithMode = parseWithMode  -- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.-parseModuleWithComments :: ParseMode -> String -> ParseResult (S.Module, [Comment])+parseModuleWithComments :: ParseMode -> String -> ParseResult (Module SrcSpanInfo, [Comment]) parseModuleWithComments = parseWithComments  -- | Parse of a string containing a Haskell expression, using 'defaultParseMode'.-parseExp :: String -> ParseResult S.Exp+parseExp :: String -> ParseResult (Exp SrcSpanInfo) parseExp = parse  -- | Parse of a string containing a Haskell expression, using an explicit 'ParseMode'.-parseExpWithMode :: ParseMode -> String -> ParseResult S.Exp+parseExpWithMode :: ParseMode -> String -> ParseResult (Exp SrcSpanInfo) parseExpWithMode = parseWithMode  -- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.-parseExpWithComments :: ParseMode -> String -> ParseResult (S.Exp, [Comment])+parseExpWithComments :: ParseMode -> String -> ParseResult (Exp SrcSpanInfo, [Comment]) parseExpWithComments = parseWithComments  -- | Parse of a string containing a Haskell pattern, using 'defaultParseMode'.-parsePat :: String -> ParseResult S.Pat+parsePat :: String -> ParseResult (Pat SrcSpanInfo) parsePat = parse  -- | Parse of a string containing a Haskell pattern, using an explicit 'ParseMode'.-parsePatWithMode :: ParseMode -> String -> ParseResult S.Pat+parsePatWithMode :: ParseMode -> String -> ParseResult (Pat SrcSpanInfo) parsePatWithMode = parseWithMode  -- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.-parsePatWithComments :: ParseMode -> String -> ParseResult (S.Pat, [Comment])+parsePatWithComments :: ParseMode -> String -> ParseResult (Pat SrcSpanInfo, [Comment]) parsePatWithComments = parseWithComments --- | Parse of a string containing a Haskell top-level declaration, using 'defaultParseMode'-parseDecl :: String -> ParseResult S.Decl+-- | Parse of a string containing a Haskell top-level declaration, using 'defaultParseMode'.+parseDecl :: String -> ParseResult (Decl SrcSpanInfo) parseDecl = parse  -- | Parse of a string containing a Haskell top-level declaration, using an explicit 'ParseMode'.-parseDeclWithMode :: ParseMode -> String -> ParseResult S.Decl+parseDeclWithMode :: ParseMode -> String -> ParseResult (Decl SrcSpanInfo) parseDeclWithMode = parseWithMode  -- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.-parseDeclWithComments :: ParseMode -> String -> ParseResult (S.Decl, [Comment])+parseDeclWithComments :: ParseMode -> String -> ParseResult (Decl SrcSpanInfo, [Comment]) parseDeclWithComments = parseWithComments  -- | Parse of a string containing a Haskell type, using 'defaultParseMode'.-parseType :: String -> ParseResult S.Type+parseType :: String -> ParseResult (Type SrcSpanInfo) parseType = parse  -- | Parse of a string containing a Haskell type, using an explicit 'ParseMode'.-parseTypeWithMode :: ParseMode -> String -> ParseResult  S.Type+parseTypeWithMode :: ParseMode -> String -> ParseResult (Type SrcSpanInfo) parseTypeWithMode = parseWithMode  -- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.-parseTypeWithComments :: ParseMode -> String -> ParseResult (S.Type, [Comment])+parseTypeWithComments :: ParseMode -> String -> ParseResult (Type SrcSpanInfo, [Comment]) parseTypeWithComments = parseWithComments --- | Parse of a string containing a Haskell type, using 'defaultParseMode'.-parseStmt :: String -> ParseResult S.Stmt+-- | Parse of a string containing a Haskell statement, using 'defaultParseMode'.+parseStmt :: String -> ParseResult (Stmt SrcSpanInfo) parseStmt = parse  -- | Parse of a string containing a Haskell type, using an explicit 'ParseMode'.-parseStmtWithMode :: ParseMode -> String -> ParseResult S.Stmt+parseStmtWithMode :: ParseMode -> String -> ParseResult (Stmt SrcSpanInfo) parseStmtWithMode = parseWithMode  -- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.-parseStmtWithComments :: ParseMode -> String -> ParseResult (S.Stmt, [Comment])+parseStmtWithComments :: ParseMode -> String -> ParseResult (Stmt SrcSpanInfo, [Comment]) parseStmtWithComments = parseWithComments --- | Parse of a string containing a Haskell import declaration, using 'defaultParseMode'.-parseImportDecl :: String -> ParseResult S.ImportDecl+-- | Parse of a string containing a Haskell statement, using 'defaultParseMode'.+parseImportDecl :: String -> ParseResult (ImportDecl SrcSpanInfo) parseImportDecl = parse  -- | Parse of a string containing a Haskell type, using an explicit 'ParseMode'.-parseImportDeclWithMode :: ParseMode -> String -> ParseResult S.ImportDecl+parseImportDeclWithMode :: ParseMode -> String -> ParseResult (ImportDecl SrcSpanInfo) parseImportDeclWithMode = parseWithMode  -- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.-parseImportDeclWithComments :: ParseMode -> String -> ParseResult (S.ImportDecl, [Comment])+parseImportDeclWithComments :: ParseMode -> String -> ParseResult (ImportDecl SrcSpanInfo, [Comment]) parseImportDeclWithComments = parseWithComments +-- Non-greedy parsers (should use ng- prefixed parses exported by InternalParser) +-- | Non-greedy parse of a string starting with a series of top-level option pragmas.+getTopPragmas :: String -> ParseResult [ModulePragma SrcSpanInfo]+getTopPragmas = fmap (unListOf . unNonGreedy) . parse --- Module head parsers+instance Parseable (NonGreedy (ListOf (ModulePragma SrcSpanInfo))) where+  parser = nglistParserNoFixity ngparseModulePragmas --- | Partial parse of a string starting with a series of top-level option pragmas.-getTopPragmas :: String -> ParseResult [S.ModulePragma]-getTopPragmas = fmap (fmap unNonGreedy) parse+nglistParserNoFixity :: P ([a SrcSpanInfo], [SrcSpan], SrcSpanInfo) -> Maybe [Fixity] -> P (NonGreedy (ListOf (a SrcSpanInfo)))+nglistParserNoFixity f = fmap (NonGreedy . toListOf) . normalParserNoFixity f --- | Type intended to be used with 'Parseable', with instances that---   implement a non-greedy parse of the module name, including---   top-level pragmas.  This means that a parse error that comes---   after the module header won't be returned. If no module name is---   found (and no parse error occurs), then \"Main\" is returned.---   This is the same behavior that 'parseModule' has.-data PragmasAndModuleName = PragmasAndModuleName-    [S.ModulePragma]-    S.ModuleName+-- | Type intended to be used with 'Parseable', with instances that implement a+--   non-greedy parse of the module name, including top-level pragmas.  This+--   means that a parse error that comes after the module header won't be+--   returned. If the 'Maybe' value is 'Nothing', then this means that there was+--   no module header.+data PragmasAndModuleName l = PragmasAndModuleName l+    [ModulePragma l]+    (Maybe (ModuleName l))   deriving (Eq,Ord,Show,Typeable,Data) -instance Parseable (NonGreedy PragmasAndModuleName) where-    parser fixs = do-        NonGreedy (A.PragmasAndModuleName _ ps mmn) <- parser fixs-        return $ NonGreedy $ PragmasAndModuleName-            (map sModulePragma (ps :: [ModulePragma SrcSpanInfo]))-            (maybe S.main_mod sModuleName mmn)+instance Parseable (NonGreedy (PragmasAndModuleName SrcSpanInfo)) where+    parser _ = do+        ((pragmas, pss, pl), mn) <- ngparsePragmasAndModuleName+        let l = combSpanMaybe (pl <** pss) (fmap ann mn)+        return $ NonGreedy $ PragmasAndModuleName l pragmas mn --- | Type intended to be used with 'Parseable', with instances that+--   Type intended to be used with 'Parseable', with instances that --   implement a non-greedy parse of the module name, including --   top-level pragmas.  This means that a parse error that comes---   after the module header won't be returned. If no module head is---   found, then a default simple head like \"module Main where\" is---   assumed. This is the same behavior that 'parseModule' has.+--   after the module header won't be returned. If the 'Maybe' value+--   is 'Nothing', this means that there was no module head. -----   Note that the 'ParseMode' particularly matters for this due to---   the 'MagicHash' changing the lexing of identifiers to include---   \"#\".-data PragmasAndModuleHead = PragmasAndModuleHead-    [S.ModulePragma]-    (S.ModuleName, Maybe S.WarningText, Maybe [S.ExportSpec])+--   Note that the 'ParseMode' matters for this due to the 'MagicHash'+--   changing the lexing of identifiers to include \"#\".+data PragmasAndModuleHead l = PragmasAndModuleHead l+    [ModulePragma l]+    (Maybe (ModuleHead l))   deriving (Eq,Ord,Show,Typeable,Data) -instance Parseable (NonGreedy PragmasAndModuleHead) where-    parser fixs = do-        NonGreedy (A.PragmasAndModuleHead _ ps mmh) <- parser fixs-        return $ NonGreedy $ PragmasAndModuleHead-            (map sModulePragma (ps :: [ModulePragma SrcSpanInfo]))-            (sModuleHead mmh)+instance Parseable (NonGreedy (PragmasAndModuleHead SrcSpanInfo)) where+    parser _ = do+        ((pragmas, pss, pl), mh) <- ngparsePragmasAndModuleHead+        let l = combSpanMaybe (pl <** pss) (fmap ann mh)+        return $ NonGreedy $ PragmasAndModuleHead l pragmas mh --- | Type intended to be used with 'Parseable', with instances that+--   Type intended to be used with 'Parseable', with instances that --   implement a non-greedy parse of the module head, including --   top-level pragmas, module name, export list, and import --   list. This means that if a parse error that comes after the---   imports won't be returned.  If no module head is found, then a---   default simple head like \"module Main where\" is assumed. This---   is the same behavior that 'parseModule' has.+--   imports won't be returned.  If the 'Maybe' value is 'Nothing',+--   this means that there was no module head. -----   Note that the 'ParseMode' particularly matters for this due to---   the 'MagicHash' changing the lexing of identifiers to include---   \"#\".-data ModuleHeadAndImports = ModuleHeadAndImports-    [S.ModulePragma]-    (S.ModuleName, Maybe S.WarningText, Maybe [S.ExportSpec])-    [S.ImportDecl]+--   Note that the 'ParseMode' matters for this due to the 'MagicHash'+--   changing the lexing of identifiers to include \"#\".+data ModuleHeadAndImports l = ModuleHeadAndImports l+    [ModulePragma l]+    (Maybe (ModuleHead l))+    [ImportDecl l]   deriving (Eq,Ord,Show,Typeable,Data) -instance Parseable (NonGreedy ModuleHeadAndImports) where-    parser fixs = do-        NonGreedy (A.ModuleHeadAndImports _ ps mmh imps) <- parser fixs-        return $ NonGreedy $ ModuleHeadAndImports-            (map sModulePragma (ps :: [ModulePragma SrcSpanInfo]))-            (sModuleHead mmh)-            (map sImportDecl imps)+instance Parseable (NonGreedy (ModuleHeadAndImports SrcSpanInfo)) where+    parser _ = do+        ((pragmas, pss, pl), mh, mimps) <- ngparseModuleHeadAndImports+        let l = (pl <** pss) `combSpanMaybe`+                (fmap ann mh) `combSpanMaybe`+                (fmap (\(_, iss, il) -> il <** iss) mimps)+            imps = maybe [] (\(x, _, _) -> x) mimps+        return $ NonGreedy $ ModuleHeadAndImports l pragmas mh imps++-- | Instances of 'Parseable' for @NonGreedy a@ will only consume the input+--   until @a@ is fully parsed.  This means that parse errors that come later+--   in the input will be ignored.  It's also more efficient, as it's fully lazy+--   in the remainder of the input:+--+--   >>> parse (unlines ("module A where" : "main =" : repeat "blah")) :: ParseResult PragmasAndModuleHead+--   ParseOk (NonGreedy {unNonGreedy = PragmasAndModuleHead [] (ModuleName "A",Nothing,Nothing)})+--+--   (this example uses the simplified AST)+newtype NonGreedy a = NonGreedy { unNonGreedy :: a }+  deriving (Eq,Ord,Show,Typeable,Data)++instance Functor NonGreedy where+    fmap f (NonGreedy x) = NonGreedy (f x)++-- | @ListOf a@ stores lists of the AST type @a@, along with a 'SrcSpanInfo',+--   in order to provide 'Parseable' instances for lists.  These instances are+--   provided when the type is used as a list in the syntax, and the same+--   delimiters are used in all of its usages. Some exceptions are made:+data ListOf a = ListOf SrcSpanInfo [a]+  deriving (Eq,Ord,Show,Typeable,Data,Functor)++unListOf :: ListOf a -> [a]+unListOf (ListOf _ xs) = xs++-- It's safe to forget about the previous SrcSpanInfo 'srcInfoPoints',+-- as long as they are created with (presently) are all created with+-- 'noInfoSpan' ('nIS'), '(<^^>)', or '(<++>)', all of which have+-- empty 'srcInfoPoints'. Ideally, the parsers would return better+-- types, but this works.+toListOf :: ([a], [SrcSpan], SrcSpanInfo) -> ListOf a+toListOf (xs, ss, l) = ListOf (infoSpan (srcInfoSpan l) ss) xs
src/Language/Haskell/Exts/Pretty.hs view
@@ -1,1949 +1,1717 @@--------------------------------------------------------------------------------- |--- Module      :  Language.Haskell.Exts.Pretty--- Copyright   :  (c) Niklas Broberg 2004-2009,---                (c) The GHC Team, Noel Winstanley 1997-2000--- License     :  BSD-style (see the file LICENSE.txt)------ Maintainer  :  Niklas Broberg, d00nibro@chalmers.se--- Stability   :  stable--- Portability :  portable------ Pretty printer for Haskell with extensions.-----------------------------------------------------------------------------------module Language.Haskell.Exts.Pretty (-                -- * Pretty printing-                Pretty,-                prettyPrintStyleMode, prettyPrintWithMode, prettyPrint,-                -- * Pretty-printing styles (from "Text.PrettyPrint.HughesPJ")-                P.Style(..), P.style, P.Mode(..),-                -- * Haskell formatting modes-                PPHsMode(..), Indent, PPLayout(..), defaultMode-                -- * Primitive Printers-                , prettyPrim, prettyPrimWithMode-                ) where--import Language.Haskell.Exts.Syntax-import qualified Language.Haskell.Exts.Annotated.Syntax as A-import Language.Haskell.Exts.Annotated.Simplify-import qualified Language.Haskell.Exts.ParseSyntax as P--import Language.Haskell.Exts.SrcLoc hiding (loc)--import Prelude hiding (exp)-import qualified Text.PrettyPrint as P-import Data.List (intersperse)-import Data.Maybe (isJust)-import Control.Applicative (Applicative(..))-import qualified Control.Monad as M (ap)--infixl 5 $$$----------------------------------------------------------------------------------- | Varieties of layout we can use.-data PPLayout = PPOffsideRule   -- ^ classical layout-              | PPSemiColon     -- ^ classical layout made explicit-              | PPInLine        -- ^ inline decls, with newlines between them-              | PPNoLayout      -- ^ everything on a single line-              deriving Eq--type Indent = Int---- | Pretty-printing parameters.------ /Note:/ the 'onsideIndent' must be positive and less than all other indents.-data PPHsMode = PPHsMode {-                                -- | indentation of a class or instance-                classIndent :: Indent,-                                -- | indentation of a @do@-expression-                doIndent :: Indent,-                                -- | indentation of the body of a-                                -- @case@ expression-                multiIfIndent :: Indent,-                                -- | indentation of the body of a-                                -- multi-@if@ expression-                caseIndent :: Indent,-                                -- | indentation of the declarations in a-                                -- @let@ expression-                letIndent :: Indent,-                                -- | indentation of the declarations in a-                                -- @where@ clause-                whereIndent :: Indent,-                                -- | indentation added for continuation-                                -- lines that would otherwise be offside-                onsideIndent :: Indent,-                                -- | blank lines between statements?-                spacing :: Bool,-                                -- | Pretty-printing style to use-                layout :: PPLayout,-                                -- | add GHC-style @LINE@ pragmas to output?-                linePragmas :: Bool-                }---- | The default mode: pretty-print using the offside rule and sensible--- defaults.-defaultMode :: PPHsMode-defaultMode = PPHsMode{-                      classIndent = 8,-                      doIndent = 3,-                      multiIfIndent = 3,-                      caseIndent = 4,-                      letIndent = 4,-                      whereIndent = 6,-                      onsideIndent = 2,-                      spacing = True,-                      layout = PPOffsideRule,-                      linePragmas = False-                      }---- | Pretty printing monad-newtype DocM s a = DocM (s -> a)--instance Functor (DocM s) where-         fmap f xs = do x <- xs; return (f x)--instance Applicative (DocM s) where-        pure = retDocM-        (<*>) = M.ap--instance Monad (DocM s) where-        (>>=) = thenDocM-        (>>) = then_DocM-        return = retDocM--{-# INLINE thenDocM #-}-{-# INLINE then_DocM #-}-{-# INLINE retDocM #-}-{-# INLINE unDocM #-}-{-# INLINE getPPEnv #-}--thenDocM :: DocM s a -> (a -> DocM s b) -> DocM s b-thenDocM m k = DocM $ \s -> case unDocM m s of a -> unDocM (k a) s--then_DocM :: DocM s a -> DocM s b -> DocM s b-then_DocM m k = DocM $ \s -> case unDocM m s of _ -> unDocM k s--retDocM :: a -> DocM s a-retDocM a = DocM $ const a--unDocM :: DocM s a -> s -> a-unDocM (DocM f) = f---- all this extra stuff, just for this one function.-getPPEnv :: DocM s s-getPPEnv = DocM id---- So that pp code still looks the same--- this means we lose some generality though---- | The document type produced by these pretty printers uses a 'PPHsMode'--- environment.-type Doc = DocM PPHsMode P.Doc---- | Things that can be pretty-printed, including all the syntactic objects--- in "Language.Haskell.Exts.Syntax" and "Language.Haskell.Exts.Annotated.Syntax".-class Pretty a where-        -- | Pretty-print something in isolation.-        pretty :: a -> Doc-        -- | Pretty-print something in a precedence context.-        prettyPrec :: Int -> a -> Doc-        pretty = prettyPrec 0-        prettyPrec _ = pretty---- The pretty printing combinators--empty :: Doc-empty = return P.empty--nest :: Int -> Doc -> Doc-nest i m = m >>= return . P.nest i----- Literals--text :: String -> Doc-text = return . P.text--char :: Char -> Doc-char = return . P.char--int :: Int -> Doc-int = return . P.int--integer :: Integer -> Doc-integer = return . P.integer--float :: Float -> Doc-float = return . P.float--double :: Double -> Doc-double = return . P.double---- rational :: Rational -> Doc--- rational = return . P.rational---- Simple Combining Forms--parens, brackets, braces, doubleQuotes :: Doc -> Doc-parens d = d >>= return . P.parens-brackets d = d >>= return . P.brackets-braces d = d >>= return . P.braces--- quotes :: Doc -> Doc--- quotes d = d >>= return . P.quotes-doubleQuotes d = d >>= return . P.doubleQuotes--parensIf :: Bool -> Doc -> Doc-parensIf True = parens-parensIf False = id---- Constants--semi,comma,space,equals :: Doc-semi = return P.semi-comma = return P.comma--- colon :: Doc--- colon = return P.colon-space = return P.space-equals = return P.equals--{--lparen,rparen,lbrack,rbrack,lbrace,rbrace :: Doc-lparen = return  P.lparen-rparen = return  P.rparen-lbrack = return  P.lbrack-rbrack = return  P.rbrack-lbrace = return  P.lbrace-rbrace = return  P.rbrace--}---- Combinators--(<>),(<+>),($$) :: Doc -> Doc -> Doc-aM <> bM = do{a<-aM;b<-bM;return (a P.<> b)}-aM <+> bM = do{a<-aM;b<-bM;return (a P.<+> b)}-aM $$ bM = do{a<-aM;b<-bM;return (a P.$$ b)}-($+$) :: Doc -> Doc -> Doc-aM $+$ bM = do{a<-aM;b<-bM;return (a P.$+$ b)}--hcat,hsep,vcat,fsep :: [Doc] -> Doc-hcat dl = sequence dl >>= return . P.hcat-hsep dl = sequence dl >>= return . P.hsep-vcat dl = sequence dl >>= return . P.vcat--- sep, cat, fcat :: [Doc] -> Doc--- sep dl = sequence dl >>= return . P.sep--- cat dl = sequence dl >>= return . P.cat-fsep dl = sequence dl >>= return . P.fsep--- fcat dl = sequence dl >>= return . P.fcat---- Some More---- hang :: Doc -> Int -> Doc -> Doc--- hang dM i rM = do{d<-dM;r<-rM;return $ P.hang d i r}---- Yuk, had to cut-n-paste this one from Pretty.hs-punctuate :: Doc -> [Doc] -> [Doc]-punctuate _ []     = []-punctuate p (d1:ds) = go d1 ds-                   where-                     go d [] = [d]-                     go d (e:es) = (d <> p) : go e es---- | render the document with a given style and mode.-renderStyleMode :: P.Style -> PPHsMode -> Doc -> String-renderStyleMode ppStyle ppMode d = P.renderStyle ppStyle . unDocM d $ ppMode---- | render the document with a given mode.--- renderWithMode :: PPHsMode -> Doc -> String--- renderWithMode = renderStyleMode P.style---- | render the document with 'defaultMode'.--- render :: Doc -> String--- render = renderWithMode defaultMode---- | pretty-print with a given style and mode.-prettyPrintStyleMode :: Pretty a => P.Style -> PPHsMode -> a -> String-prettyPrintStyleMode ppStyle ppMode = renderStyleMode ppStyle ppMode . pretty---- | pretty-print with the default style and a given mode.-prettyPrintWithMode :: Pretty a => PPHsMode -> a -> String-prettyPrintWithMode = prettyPrintStyleMode P.style---- | pretty-print with the default style and 'defaultMode'.-prettyPrint :: Pretty a => a -> String-prettyPrint = prettyPrintWithMode defaultMode---- fullRenderWithMode :: PPHsMode -> P.Mode -> Int -> Float ->---                       (P.TextDetails -> a -> a) -> a -> Doc -> a--- fullRenderWithMode ppMode m i f fn e mD =---                   P.fullRender m i f fn e $ (unDocM mD) ppMode----- fullRender :: P.Mode -> Int -> Float -> (P.TextDetails -> a -> a)---               -> a -> Doc -> a--- fullRender = fullRenderWithMode defaultMode---- | pretty-print with the default style and 'defaultMode'.-prettyPrim :: Pretty a => a -> P.Doc-prettyPrim = prettyPrimWithMode defaultMode---- | pretty-print with the default style and a given mode.-prettyPrimWithMode :: Pretty a => PPHsMode -> a -> P.Doc-prettyPrimWithMode pphs doc = unDocM (pretty doc) pphs----------------------------  Pretty-Print a Module ---------------------instance Pretty Module where-        pretty (Module pos m os mbWarn mbExports imp decls) =-                markLine pos $-                myVcat $ map pretty os ++-                    (if m == ModuleName "" then id-                     else \x -> [topLevel (ppModuleHeader m mbWarn mbExports) x])-                    (map pretty imp ++-                      ppDecls (m /= ModuleName "" ||-                               not (null imp) ||-                               not (null os))-                              decls)----------------------------  Module Header -------------------------------ppModuleHeader :: ModuleName -> Maybe WarningText -> Maybe [ExportSpec] -> Doc-ppModuleHeader m mbWarn mbExportList = mySep [-        text "module",-        pretty m,-        maybePP ppWarnTxt mbWarn,-        maybePP (parenList . map pretty) mbExportList,-        text "where"]--ppWarnTxt :: WarningText -> Doc-ppWarnTxt (DeprText s) = mySep [text "{-# DEPRECATED", text (show s), text "#-}"]-ppWarnTxt (WarnText s) = mySep [text "{-# WARNING",    text (show s), text "#-}"]--instance Pretty ModuleName where-        pretty (ModuleName modName) = text modName--instance Pretty Namespace where-        pretty NoNamespace      = empty-        pretty TypeNamespace    = text "type"-        pretty PatternNamespace = text "pattern"--instance Pretty ExportSpec where-        pretty (EVar name)                = pretty name-        pretty (EAbs ns name)             = pretty ns <+> pretty name-        pretty (EThingAll name)           = pretty name <> text "(..)"-        pretty (EThingWith name nameList) =-                pretty name <> (parenList . map pretty $ nameList)-        pretty (EModuleContents m)        = text "module" <+> pretty m--instance Pretty ImportDecl where-        pretty (ImportDecl pos m qual src safe mbPkg mbName mbSpecs) =-                markLine pos $-                mySep [text "import",-                       if src  then text "{-# SOURCE #-}" else empty,-                       if safe then text "safe" else empty,-                       if qual then text "qualified" else empty,-                       maybePP (\s -> text (show s)) mbPkg,-                       pretty m,-                       maybePP (\m' -> text "as" <+> pretty m') mbName,-                       maybePP exports mbSpecs]-            where-                exports (b,specList) =-                        if b then text "hiding" <+> specs else specs-                    where specs = parenList . map pretty $ specList--instance Pretty ImportSpec where-        pretty (IVar name  )              = pretty name-        pretty (IAbs ns name)             = pretty ns <+> pretty name-        pretty (IThingAll name)           = pretty name <> text "(..)"-        pretty (IThingWith name nameList) =-                pretty name <> (parenList . map pretty $ nameList)--instance Pretty TypeEqn where-        pretty (TypeEqn pat eqn) = mySep [pretty pat, equals, pretty eqn]---------------------------  Declarations -------------------------------class Pretty a => PrettyDeclLike a where-  wantsBlankline :: a -> Bool--instance PrettyDeclLike Decl where-  wantsBlankline (FunBind _) = False-  wantsBlankline (PatBind {}) = False-  wantsBlankline _ = True--condBlankline :: PrettyDeclLike a => a -> Doc-condBlankline d = (if wantsBlankline d then blankline else id) $ pretty d--ppDecls :: PrettyDeclLike a => Bool -> [a] -> [Doc]-ppDecls True  ds     = map condBlankline ds-ppDecls False (d:ds) = pretty d : map condBlankline ds-ppDecls _ _ = []---ppDecls = map condBlankline--instance Pretty Decl where-        pretty (TypeDecl loc name nameList htype) =-                -- blankline $-                markLine loc $-                mySep ( [text "type", pretty name]-                        ++ map pretty nameList-                        ++ [equals, pretty htype])--        pretty (DataDecl loc don context name nameList constrList derives) =-                -- blankline $-                markLine loc $-                mySep ( [pretty don, ppContext context, pretty name]-                        ++ map pretty nameList)-                  <+> (myVcat (zipWith (<+>) (equals : repeat (char '|'))-                                             (map pretty constrList))-                        $$$ ppDeriving derives)--        pretty (GDataDecl loc don context name nameList optkind gadtList derives) =-                -- blankline $-                markLine loc $-                mySep ( [pretty don, ppContext context, pretty name]-                        ++ map pretty nameList ++ ppOptKind optkind ++ [text "where"])-                        $$$ ppBody classIndent (map pretty gadtList)-                        $$$ ppIndent letIndent [ppDeriving derives]--        pretty (TypeFamDecl loc name nameList optkind) =-                -- blankline $-                markLine loc $-                mySep ([text "type", text "family", pretty name]-                        ++ map pretty nameList-                        ++ ppOptKind optkind)--        pretty (ClosedTypeFamDecl loc name nameList optkind eqns) =-                -- blankline $-                markLine loc $-                mySep ([text "type", text "family", pretty name]-                        ++ map pretty nameList-                        ++ ppOptKind optkind ++ [text "where"]) $$$ ppBody classIndent (map pretty eqns)--        pretty (DataFamDecl loc context name nameList optkind) =-                -- blankline $-                markLine loc $-                mySep ( [text "data", text "family", ppContext context, pretty name]-                        ++ map pretty nameList ++ ppOptKind optkind)--        pretty (TypeInsDecl loc ntype htype) =-                -- blankline $-                markLine loc $-                mySep [text "type", text "instance", pretty ntype, equals, pretty htype]--        pretty (DataInsDecl loc don ntype constrList derives) =-                -- blankline $-                markLine loc $-                mySep [pretty don, text "instance", pretty ntype]-                        <+> (myVcat (zipWith (<+>) (equals : repeat (char '|'))-                                                   (map pretty constrList))-                              $$$ ppDeriving derives)--        pretty (GDataInsDecl loc don ntype optkind gadtList derives) =-                -- blankline $-                markLine loc $-                mySep ( [pretty don, text "instance", pretty ntype]-                        ++ ppOptKind optkind ++ [text "where"])-                        $$$ ppBody classIndent (map pretty gadtList)-                        $$$ ppDeriving derives--        --m{spacing=False}-        -- special case for empty class declaration-        pretty (ClassDecl pos context name nameList fundeps []) =-                -- blankline $-                markLine pos $-                mySep ( [text "class", ppContext context, pretty name]-                        ++ map pretty nameList ++ [ppFunDeps fundeps])-        pretty (ClassDecl pos context name nameList fundeps declList) =-                -- blankline $-                markLine pos $-                mySep ( [text "class", ppContext context, pretty name]-                        ++ map pretty nameList ++ [ppFunDeps fundeps, text "where"])-                $$$ ppBody classIndent (ppDecls False declList)--        -- m{spacing=False}-        -- special case for empty instance declaration-        pretty (InstDecl pos overlap tvs context name args []) =-                -- blankline $-                markLine pos $-                let olp = case overlap of { Nothing -> empty; Just o -> space <> pretty o }-                in mySep ( [text "instance" <> olp, ppForall (Just tvs)-                           , ppContext context, pretty name] ++ map ppAType args)-        pretty (InstDecl pos overlap tvs context name args declList) =-                -- blankline $-                markLine pos $-                let olp = case overlap of { Nothing -> empty; Just o -> space <> pretty o }-                in mySep ( [text "instance" <> olp,  ppForall (Just tvs)-                           , ppContext context, pretty name]-                          ++ map ppAType args ++ [text "where"])-                $$$ ppBody classIndent (ppDecls False declList)--        pretty (DerivDecl pos overlap tvs context name args) =-                -- blankline $-                markLine pos $-                let olp = case overlap of { Nothing -> empty; Just o -> space <> pretty o }-                in mySep ( [text "deriving", text "instance" <> olp, ppForall (Just tvs)-                           , ppContext context, pretty name] ++ map ppAType args)-        pretty (DefaultDecl pos htypes) =-                -- blankline $-                markLine pos $-                text "default" <+> parenList (map pretty htypes)--        pretty (SpliceDecl pos splice) =-                -- blankline $-                markLine pos $-                pretty splice--        pretty (TypeSig pos nameList qualType) =-                -- blankline $-                markLine pos $-                mySep ((punctuate comma . map pretty $ nameList)-                      ++ [text "::", pretty qualType])--        --  Req can be ommitted if it is empty-        --  We must print prov if req is nonempty-        pretty (PatSynSig pos n mtvs prov req t) =-                let contexts = case (prov, req) of-                                    ([], []) -> []-                                    (ps, []) -> [ppContext ps]-                                    ([], rs) -> [text "()" <+> text "=>", ppContext rs]-                                    (ps, rs) -> [ppContext ps, ppContext rs]-                 in-                  markLine pos $-                  mySep ( [text "pattern", pretty n, text "::", ppForall mtvs] ++-                          contexts ++ [pretty t] )---        pretty (FunBind matches) = do-                e <- fmap layout getPPEnv-                case e of PPOffsideRule -> foldr ($$$) empty (map pretty matches)-                          _ -> foldr (\x y -> x <> semi <> y) empty (map pretty matches)--        pretty (PatBind pos pat rhs whereBinds) =-                markLine pos $-                myFsep [pretty pat, pretty rhs] $$$ ppWhere whereBinds--        pretty (InfixDecl pos assoc prec opList) =-                -- blankline $-                markLine pos $-                mySep ([pretty assoc, int prec]-                       ++ (punctuate comma . map pretty $ opList))--        pretty (PatSyn pos pat rhs dir) =-                let sep = case dir of-                            ImplicitBidirectional   -> "="-                            ExplicitBidirectional _ -> "<-"-                            Unidirectional          -> "<-"-                in-                markLine pos $-                 (mySep ([text "pattern", pretty pat, text sep, pretty rhs])) $$$-                    (case dir of-                      ExplicitBidirectional ds ->-                        nest 2 (text "where" $$$ ppBody whereIndent (ppDecls False ds))-                      _ -> empty)--        pretty (ForImp pos cconv saf str name typ) =-                -- blankline $-                markLine pos $-                mySep [text "foreign import", pretty cconv, pretty saf,-                       text (show str), pretty name, text "::", pretty typ]--        pretty (ForExp pos cconv str name typ) =-                -- blankline $-                markLine pos $-                mySep [text "foreign export", pretty cconv,-                       text (show str), pretty name, text "::", pretty typ]--        pretty (RulePragmaDecl pos rules) =-                -- blankline $-                markLine pos $-                myVcat $ text "{-# RULES" : map pretty rules ++ [text " #-}"]--        pretty (DeprPragmaDecl pos deprs) =-                -- blankline $-                markLine pos $-                myVcat $ text "{-# DEPRECATED" : map ppWarnDepr deprs ++ [text " #-}"]--        pretty (WarnPragmaDecl pos deprs) =-                -- blankline $-                markLine pos $-                myVcat $ text "{-# WARNING" : map ppWarnDepr deprs ++ [text " #-}"]--        pretty (InlineSig pos inl activ name) =-                -- blankline $-                markLine pos $-                mySep [text (if inl then "{-# INLINE" else "{-# NOINLINE"), pretty activ, pretty name, text "#-}"]--        pretty (InlineConlikeSig pos activ name) =-                -- blankline $-                markLine pos $-                mySep [text "{-# INLINE CONLIKE", pretty activ, pretty name, text "#-}"]--        pretty (SpecSig pos activ name types) =-                -- blankline $-                markLine pos $-                mySep $ [text "{-# SPECIALISE", pretty activ, pretty name, text "::"]-                    ++ punctuate comma (map pretty types) ++ [text "#-}"]--        pretty (SpecInlineSig pos inl activ name types) =-                -- blankline $-                markLine pos $-                mySep $ [text "{-# SPECIALISE", text (if inl then "INLINE" else "NOINLINE"),-                        pretty activ, pretty name, text "::"]-                        ++ (punctuate comma $ map pretty types) ++ [text "#-}"]--        pretty (InstSig pos tvs context name args) =-                -- blankline $-                markLine pos $-                mySep $ [text "{-# SPECIALISE", text "instance"-                         , ppForall (Just tvs), ppContext context, pretty name]-                         ++ map ppAType args ++ [text "#-}"]--        pretty (AnnPragma pos ann) =-                -- blankline $-                markLine pos $-                mySep [text "{-# ANN", pretty ann, text "#-}"]--        pretty (MinimalPragma pos b) =-                -- blankline $-                markLine pos $-                let bs = case b of { Just b' -> pretty b'; _ -> empty }-                in myFsep [text "{-# MINIMAL", bs, text "#-}"]--        pretty (RoleAnnotDecl pos qn rs) =-                -- blankline $-                markLine pos $-                mySep ( [text "type", text "role", pretty qn]-                        ++ map pretty rs )---instance Pretty Annotation where-        pretty (Ann n e) = myFsep [pretty n, pretty e]-        pretty (TypeAnn n e) = myFsep [text "type", pretty n, pretty e]-        pretty (ModuleAnn e) = myFsep [text "module", pretty e]--instance Pretty BooleanFormula where-        pretty (VarFormula n)   = pretty n-        pretty (AndFormula bs)  = myFsep $ punctuate (text " ,") $ map pretty bs-        pretty (OrFormula bs)   = myFsep $ punctuate (text " |") $ map pretty bs-        pretty (ParenFormula b) = parens $ pretty b--instance Pretty Role where-        pretty RoleWildcard     = char '_'-        pretty Nominal          = text "nominal"-        pretty Representational = text "representational"-        pretty Phantom          = text "phantom"--instance Pretty DataOrNew where-        pretty DataType = text "data"-        pretty NewType  = text "newtype"--instance Pretty Assoc where-        pretty AssocNone  = text "infix"-        pretty AssocLeft  = text "infixl"-        pretty AssocRight = text "infixr"--instance Pretty Match where-        pretty (Match pos f ps optsig rhs whereBinds) =-                markLine pos $-                myFsep (lhs ++ [maybePP ppSig optsig, pretty rhs])-                $$$ ppWhere whereBinds-            where-                lhs = case ps of-                        l:r:ps' | isSymbolName f ->-                                let hd = [prettyPrec 2 l, ppName f, prettyPrec 2 r] in-                                if null ps' then hd-                                else parens (myFsep hd) : map (prettyPrec 3) ps'-                        _ -> pretty f : map (prettyPrec 3) ps--ppWhere :: Maybe Binds -> Doc-ppWhere Nothing            = empty-ppWhere (Just (BDecls l))  = nest 2 (text "where" $$$ ppBody whereIndent (ppDecls False l))-ppWhere (Just (IPBinds b)) = nest 2 (text "where" $$$ ppBody whereIndent (ppDecls False b))--ppSig :: Type -> Doc-ppSig t = text "::" <+> pretty t--instance PrettyDeclLike ClassDecl where-    wantsBlankline (ClsDecl d) = wantsBlankline d-    wantsBlankline (ClsDefSig {}) = True-    wantsBlankline _ = False--instance Pretty ClassDecl where-    pretty (ClsDecl decl) = pretty decl--    pretty (ClsDataFam loc context name nameList optkind) =-                markLine loc $-                mySep ( [text "data", ppContext context, pretty name]-                        ++ map pretty nameList ++ ppOptKind optkind)--    pretty (ClsTyFam loc name nameList optkind) =-                markLine loc $-                mySep ( [text "type", pretty name]-                        ++ map pretty nameList ++ ppOptKind optkind)--    pretty (ClsTyDef loc ntype htype) =-                markLine loc $-                mySep [text "type", pretty ntype, equals, pretty htype]--    pretty (ClsDefSig loc name typ) =-                -- blankline $-                markLine loc $-                mySep [-                    text "default",-                    pretty name,-                    text "::",-                    pretty typ]---instance PrettyDeclLike InstDecl where-    wantsBlankline (InsDecl d) = wantsBlankline d-    wantsBlankline _ = False--instance Pretty InstDecl where-        pretty (InsDecl decl) = pretty decl--        pretty (InsType loc ntype htype) =-                markLine loc $-                mySep [text "type", pretty ntype, equals, pretty htype]--        pretty (InsData loc don ntype constrList derives) =-                markLine loc $-                mySep [pretty don, pretty ntype]-                        <+> (myVcat (zipWith (<+>) (equals : repeat (char '|'))-                                                   (map pretty constrList))-                              $$$ ppDeriving derives)--        pretty (InsGData loc don ntype optkind gadtList derives) =-                markLine loc $-                mySep ( [pretty don, pretty ntype]-                        ++ ppOptKind optkind ++ [text "where"])-                        $$$ ppBody classIndent (map pretty gadtList)-                        $$$ ppDeriving derives----        pretty (InsInline loc inl activ name) =---                markLine loc $---                mySep [text (if inl then "{-# INLINE" else "{-# NOINLINE"), pretty activ, pretty name, text "#-}"]---------------------------- FFI stuff --------------------------------------instance Pretty Safety where-        pretty PlayRisky        = text "unsafe"-        pretty (PlaySafe b)     = text $ if b then "threadsafe" else "safe"-        pretty PlayInterruptible = text "interruptible"--instance Pretty CallConv where-        pretty StdCall    = text "stdcall"-        pretty CCall      = text "ccall"-        pretty CPlusPlus  = text "cplusplus"-        pretty DotNet     = text "dotnet"-        pretty Jvm        = text "jvm"-        pretty Js         = text "js"-        pretty JavaScript = text "javascript"-        pretty CApi       = text "capi"--------------------------- Pragmas ----------------------------------------ppWarnDepr :: ([Name], String) -> Doc-ppWarnDepr (names, txt) = mySep $ punctuate comma (map pretty names) ++ [text $ show txt]--instance Pretty Rule where-        pretty (Rule tag activ rvs rhs lhs) =-            mySep [text $ show tag, pretty activ,-                        maybePP ppRuleVars rvs,-                        pretty rhs, char '=', pretty lhs]--ppRuleVars :: [RuleVar] -> Doc-ppRuleVars []  = empty-ppRuleVars rvs = mySep $ text "forall" : map pretty rvs ++ [char '.']--instance Pretty Activation where-    pretty AlwaysActive    = empty-    pretty (ActiveFrom i)  = char '['  <> int i <> char ']'-    pretty (ActiveUntil i) = text "[~" <> int i <> char ']'--instance Pretty Overlap where-    pretty Overlap    = text "{-# OVERLAP #-}"-    pretty NoOverlap  = text "{-# NO_OVERLAP #-}"-    pretty Incoherent = text "{-# INCOHERENT #-}"--instance Pretty RuleVar where-    pretty (RuleVar n) = pretty n-    pretty (TypedRuleVar n t) = parens $ mySep [pretty n, text "::", pretty t]---- Spaces are stripped from the pragma text but other whitespace--- is not.-ppOptionsPragma :: Doc -> String -> Doc-ppOptionsPragma opt s =-  case s of-    ('\n':_) -> opt <> text s <> text "#-}"-    _ ->  myFsep [opt, text s <> text "#-}"]--instance Pretty ModulePragma where-    pretty (LanguagePragma _ ns) =-        myFsep $ text "{-# LANGUAGE" : punctuate (char ',') (map pretty ns) ++ [text "#-}"]-    pretty (OptionsPragma _ (Just tool) s) =-        ppOptionsPragma (text "{-# OPTIONS_" <> pretty tool) s-    pretty (OptionsPragma _ _ s) =-        ppOptionsPragma (text "{-# OPTIONS") s-    pretty (AnnModulePragma _ ann) =-        myFsep [text "{-# ANN", pretty ann, text "#-}"]---instance Pretty Tool where-    pretty (UnknownTool s) = text s-    pretty t               = text $ show t--------------------------- Data & Newtype Bodies --------------------------instance Pretty QualConDecl where-        pretty (QualConDecl _pos tvs ctxt con) =-                myFsep [ppForall (Just tvs), ppContext ctxt, pretty con]--instance Pretty GadtDecl where-        pretty (GadtDecl _pos name names ty) =-            case names of-                [] ->-                    myFsep [pretty name, text "::", pretty ty]-                ts' ->-                    myFsep [pretty name, text "::" ,-                         braceList . map ppField $ ts', text "->", pretty ty]--instance Pretty ConDecl where-        pretty (RecDecl name fieldList) =-                pretty name <> (braceList . map ppField $ fieldList)--{-        pretty (ConDecl name@(Symbol _) [l, r]) =-                myFsep [prettyPrec prec_btype l, ppName name,-                        prettyPrec prec_btype r] -}-        pretty (ConDecl name typeList) =-                mySep $ pretty name : map (prettyPrec prec_atype) typeList-        pretty (InfixConDecl l name r) =-                myFsep [prettyPrec prec_btype l, ppNameInfix name,-                         prettyPrec prec_btype r]--ppField :: ([Name], Type) -> Doc-ppField (names, ty) =-        myFsepSimple $ (punctuate comma . map pretty $ names) ++-                       [text "::", pretty ty]--instance Pretty BangType where-        pretty BangedTy   = char '!'-        pretty UnpackedTy = text "{-# UNPACK #-}" <+> char '!'--ppDeriving :: [Deriving] -> Doc-ppDeriving []  = empty-ppDeriving [(d, [])] = text "deriving" <+> ppQName d-ppDeriving ds  = text "deriving" <+> parenList (map ppDer ds)-    where ppDer :: (QName, [Type]) -> Doc-          ppDer (n, ts) = mySep (pretty n : map pretty ts)--------------------------- Types --------------------------ppBType :: Type -> Doc-ppBType = prettyPrec prec_btype--ppAType :: Type -> Doc-ppAType = prettyPrec prec_atype---- precedences for types-prec_btype, prec_atype :: Int-prec_btype = 1  -- left argument of ->,-                -- or either argument of an infix data constructor-prec_atype = 2  -- argument of type or data constructor, or of a class--instance Pretty Type where-        prettyPrec p (TyForall mtvs ctxt htype) = parensIf (p > 0) $-                myFsep [ppForall mtvs, ppContext ctxt, pretty htype]-        prettyPrec p (TyFun a b) = parensIf (p > 0) $-                myFsep [ppBType a, text "->", pretty b]-        prettyPrec _ (TyTuple bxd l) =-                let ds = map pretty l-                 in case bxd of-                        Boxed   -> parenList ds-                        Unboxed -> hashParenList ds-        prettyPrec _ (TyList t)  = brackets $ pretty t-        prettyPrec _ (TyParArray t) = bracketColonList [pretty t]-        prettyPrec p (TyApp a b) =-                {--                | a == list_tycon = brackets $ pretty b         -- special case-                | otherwise = -} parensIf (p > prec_btype) $-                                    myFsep [pretty a, ppAType b]-        prettyPrec _ (TyVar name) = pretty name-        prettyPrec _ (TyCon name) = pretty name-        prettyPrec _ (TyParen t) = parens (pretty t)---        prettyPrec _ (TyPred asst) = pretty asst-        prettyPrec _ (TyInfix a op b) = myFsep [pretty a, ppQNameInfix op, pretty b]-        prettyPrec _ (TyKind t k) = parens (myFsep [pretty t, text "::", pretty k])-        prettyPrec _ (TyPromoted p) = pretty p-        prettyPrec p (TyEquals a b) = parensIf (p > 0) (myFsep [pretty a, text "~", pretty b])-        prettyPrec _ (TySplice s) = pretty s-        prettyPrec _ (TyBang b t) = pretty b <> prettyPrec prec_atype t-        prettyPrec _ (TyWildCard mn) = char '_' <> maybePP pretty mn---instance Pretty Promoted where-  pretty p =-    case p of-      PromotedInteger n -> integer n-      PromotedString s -> doubleQuotes $ text s-      PromotedCon hasQuote qn ->-        addQuote hasQuote $ maybe (pretty qn) pretty (getSpecialName qn)-      PromotedList hasQuote list ->-        addQuote hasQuote $ bracketList . punctuate comma . map pretty $ list-      PromotedTuple list ->-        addQuote True $ parenList $ map pretty list-      PromotedUnit -> addQuote True $ text "()"-    where-      addQuote True doc = char '\'' <> doc-      addQuote False doc = doc--instance Pretty TyVarBind where-        pretty (KindedVar var kind) = parens $ myFsep [pretty var, text "::", pretty kind]-        pretty (UnkindedVar var)    = pretty var--ppForall :: Maybe [TyVarBind] -> Doc-ppForall Nothing   = empty-ppForall (Just []) = empty-ppForall (Just vs) =    myFsep (text "forall" : map pretty vs ++ [char '.'])------------------------------ Kinds ------------------------------instance Pretty Kind where-        prettyPrec _ KindStar      = text "*"-        prettyPrec n (KindFn a b)  = parensIf (n > 0) $ myFsep [prettyPrec 1 a, text "->", pretty b]-        prettyPrec _ (KindParen k) = parens $ pretty k-        prettyPrec _ (KindVar n)   = pretty n-        prettyPrec _ (KindTuple t) = parenList . map pretty $ t-        prettyPrec _ (KindList l)  = brackets .  pretty $ l-        prettyPrec n (KindApp a b) =-          parensIf (n > 3) $ myFsep [prettyPrec 3 a, prettyPrec 4 b]--ppOptKind :: Maybe Kind -> [Doc]-ppOptKind Nothing  = []-ppOptKind (Just k) = [text "::", pretty k]--------------------- Functional Dependencies --------------------instance Pretty FunDep where-        pretty (FunDep from to) =-                myFsep $ map pretty from ++ [text "->"] ++ map pretty to---ppFunDeps :: [FunDep] -> Doc-ppFunDeps []  = empty-ppFunDeps fds = myFsep $ (char '|':) . punctuate comma . map pretty $ fds--------------------------- Expressions --------------------------instance Pretty Rhs where-        pretty (UnGuardedRhs e) = equals <+> pretty e-        pretty (GuardedRhss guardList) = myVcat . map pretty $ guardList--instance Pretty GuardedRhs where-        pretty (GuardedRhs _pos guards ppBody') =-                myFsep $ [char '|'] ++ (punctuate comma . map pretty $ guards) ++ [equals, pretty ppBody']--newtype GuardedAlts = GuardedAlts Rhs-newtype GuardedAlt = GuardedAlt GuardedRhs--instance Pretty GuardedAlts where-        pretty (GuardedAlts (UnGuardedRhs e)) = text "->" <+> pretty e-        pretty (GuardedAlts (GuardedRhss guardList)) = myVcat . map (pretty . GuardedAlt) $ guardList--instance Pretty GuardedAlt where-        pretty (GuardedAlt (GuardedRhs _pos guards ppBody')) =-                myFsep $ [char '|'] ++ (punctuate comma . map pretty $ guards) ++ [text "->", pretty ppBody']--instance Pretty Literal where-        pretty (Int i)        = integer i-        pretty (Char c)       = text (show c)-        pretty (String s)     = text (show s)-        pretty (Frac r)       = double (fromRational r)-        -- GHC unboxed literals:-        pretty (PrimChar c)   = text (show c)           <> char '#'-        pretty (PrimString s) = text (show s)           <> char '#'-        pretty (PrimInt i)    = integer i               <> char '#'-        pretty (PrimWord w)   = integer w               <> text "##"-        pretty (PrimFloat r)  = float  (fromRational r) <> char '#'-        pretty (PrimDouble r) = double (fromRational r) <> text "##"--instance Pretty Exp where-        prettyPrec _ (Lit l) = pretty l-        -- lambda stuff-        -- WARNING: This stuff is fragile. See #152 for one example of how-        -- things can break.-        prettyPrec p (InfixApp a op b) = parensIf (p > 2) $ myFsep [prettyPrec 1 a, pretty op, prettyPrec 1 b]-        prettyPrec p (NegApp e) = parensIf (p > 0) $ char '-' <> prettyPrec 2 e-        prettyPrec p (App a b) = parensIf (p > 3) $ myFsep [prettyPrec 3 a, prettyPrec 4 b]-        prettyPrec p (Lambda _loc patList ppBody') = parensIf (p > 1) $ myFsep $-                char '\\' : map (prettyPrec 3) patList ++ [text "->", pretty ppBody']-        -- keywords-        -- two cases for lets-        prettyPrec p (Let (BDecls declList) letBody) =-                parensIf (p > 1) $ ppLetExp declList letBody-        prettyPrec p (Let (IPBinds bindList) letBody) =-                parensIf (p > 1) $ ppLetExp bindList letBody--        prettyPrec p (If cond thenexp elsexp) = parensIf (p > 1) $-                myFsep [text "if", pretty cond,-                        text "then", pretty thenexp,-                        text "else", pretty elsexp]-        prettyPrec p (MultiIf alts) = parensIf (p > 1) $-                text "if"-                $$$ ppBody multiIfIndent (map (pretty . GuardedAlt) alts)-        prettyPrec p (Case cond altList) = parensIf (p > 1) $-                myFsep [text "case", pretty cond, text "of"]-                $$$ ppBody caseIndent (map pretty altList)-        prettyPrec p (Do stmtList) = parensIf (p > 1) $-                text "do" $$$ ppBody doIndent (map pretty stmtList)-        prettyPrec p (MDo stmtList) = parensIf (p > 1) $-                text "mdo" $$$ ppBody doIndent (map pretty stmtList)-        -- Constructors & Vars-        prettyPrec _ (Var name) = pretty name-        prettyPrec _ (IPVar ipname) = pretty ipname-        prettyPrec _ (Con name) = pretty name-        prettyPrec _ (Tuple bxd expList) =-                let ds = map pretty expList-                in case bxd of-                       Boxed   -> parenList ds-                       Unboxed -> hashParenList ds-        prettyPrec _ (TupleSection bxd mExpList) =-                let ds = map (maybePP pretty) mExpList-                in case bxd of-                       Boxed   -> parenList ds-                       Unboxed -> hashParenList ds-        -- weird stuff-        prettyPrec _ (Paren e) = parens . pretty $ e-        prettyPrec _ (LeftSection e op) = parens (pretty e <+> pretty op)-        prettyPrec _ (RightSection op e) = parens (pretty op <+> pretty e)-        prettyPrec _ (RecConstr c fieldList) =-                pretty c <> (braceList . map pretty $ fieldList)-        prettyPrec _ (RecUpdate e fieldList) =-                pretty e <> (braceList . map pretty $ fieldList)-        -- Lists and parallel arrays-        prettyPrec _ (List list) =-                bracketList . punctuate comma . map pretty $ list-        prettyPrec _ (ParArray arr) =-                bracketColonList . map pretty $ arr-        prettyPrec _ (EnumFrom e) =-                bracketList [pretty e, text ".."]-        prettyPrec _ (EnumFromTo from to) =-                bracketList [pretty from, text "..", pretty to]-        prettyPrec _ (EnumFromThen from thenE) =-                bracketList [pretty from <> comma, pretty thenE, text ".."]-        prettyPrec _ (EnumFromThenTo from thenE to) =-                bracketList [pretty from <> comma, pretty thenE,-                             text "..", pretty to]-        prettyPrec _ (ParArrayFromTo from to) =-                bracketColonList [pretty from, text "..", pretty to]-        prettyPrec _ (ParArrayFromThenTo from thenE to) =-                bracketColonList [pretty from <> comma, pretty thenE,-                             text "..", pretty to]-        prettyPrec _ (ListComp e qualList) =-                bracketList ([pretty e, char '|']-                             ++ (punctuate comma . map pretty $ qualList))-        prettyPrec _ (ParComp e qualLists) =-                bracketList (punctuate (char '|') $-                                pretty e : map (hsep . punctuate comma . map pretty) qualLists)-        prettyPrec _ (ParArrayComp e qualArrs) =-                bracketColonList (punctuate (char '|') $-                                pretty e : map (hsep . punctuate comma . map pretty) qualArrs)-        prettyPrec p (ExpTypeSig _pos e ty) = parensIf (p > 0) $-                myFsep [pretty e, text "::", pretty ty]-        -- Template Haskell-        prettyPrec _ (BracketExp b) = pretty b-        prettyPrec _ (SpliceExp s) = pretty s-        prettyPrec _ (TypQuote t)  = text "\'\'" <> pretty t-        prettyPrec _ (VarQuote x)  = text "\'" <> pretty x-        prettyPrec _ (QuasiQuote n qt) = text ("[" ++ n ++ "|" ++ qt ++ "|]")-        -- Hsx-        prettyPrec _ (XTag _ n attrs mattr cs) =-                let ax = maybe [] (return . pretty) mattr-                 in hcat $-                     (myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [char '>']):-                        map pretty cs ++ [myFsep [text "</" <> pretty n, char '>']]-        prettyPrec _ (XETag _ n attrs mattr) =-                let ax = maybe [] (return . pretty) mattr-                 in myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [text "/>"]-        prettyPrec _ (XPcdata s) = text s-        prettyPrec _ (XExpTag e) =-                myFsep [text "<%", pretty e, text "%>"]-        prettyPrec _ (XChildTag _ cs) =-                myFsep $ text "<%>" : map pretty cs ++ [text "</%>"]--        -- Pragmas-        prettyPrec _ (CorePragma s e) = myFsep $ map text ["{-# CORE", show s, "#-}"] ++ [pretty e]-        prettyPrec _ (SCCPragma  s e) = myFsep $ map text ["{-# SCC",  show s, "#-}"] ++ [pretty e]-        prettyPrec _ (GenPragma  s (a,b) (c,d) e) =-                myFsep [text "{-# GENERATED", text $ show s,-                            int a, char ':', int b, char '-',-                            int c, char ':', int d, text "#-}", pretty e]-        -- Arrows-        prettyPrec p (Proc _ pat e) = parensIf (p > 1) $ myFsep [text "proc", pretty pat, text "->", pretty e]-        prettyPrec p (LeftArrApp l r)      = parensIf (p > 0) $ myFsep [pretty l, text "-<",  pretty r]-        prettyPrec p (RightArrApp l r)     = parensIf (p > 0) $ myFsep [pretty l, text ">-",  pretty r]-        prettyPrec p (LeftArrHighApp l r)  = parensIf (p > 0) $ myFsep [pretty l, text "-<<", pretty r]-        prettyPrec p (RightArrHighApp l r) = parensIf (p > 0) $ myFsep [pretty l, text ">>-", pretty r]--        -- LamdaCase-        prettyPrec p (LCase altList) = parensIf (p > 1) $-                text "\\case" $$$ ppBody caseIndent (map pretty altList)-        prettyPrec _ ExprHole       = char '_'---instance Pretty XAttr where-        pretty (XAttr n v) =-                myFsep [pretty n, char '=', pretty v]--instance Pretty XName where-        pretty (XName n) = text n-        pretty (XDomName d n) = text d <> char ':' <> text n--ppLetExp :: (PrettyDeclLike a, Pretty b) => [a] -> b -> Doc-ppLetExp l b = myFsep [text "let" <+> ppBody letIndent (ppDecls False l),-                        text "in", pretty b]---- ppWith :: Pretty a => [a] -> Doc--- ppWith binds = nest 2 (text "with" $$$ ppBody withIndent (map pretty binds))--- withIndent :: PPHsMode -> Indent--- withIndent = whereIndent----------------------- Template Haskell ---------------------------instance Pretty Bracket where-        pretty (ExpBracket e) = ppBracket "[|" e-        pretty (PatBracket p) = ppBracket "[p|" p-        pretty (TypeBracket t) = ppBracket "[t|" t-        pretty (DeclBracket d) =-                myFsep $ text "[d|" : ppDecls True d ++ [text "|]"]--ppBracket :: Pretty a => String -> a -> Doc-ppBracket o x = myFsep [text o, pretty x, text "|]"]--instance Pretty Splice where-        pretty (IdSplice s) = char '$' <> text s-        pretty (ParenSplice e) =-                myFsep [text "$(", pretty e, char ')']--------------------------- Patterns -------------------------------instance Pretty Pat where-        prettyPrec _ (PVar name) = pretty name-        prettyPrec _ (PLit Signless lit) = pretty lit-        prettyPrec p (PLit Negative lit) = parensIf (p > 1) $ char '-' <> pretty lit-        prettyPrec p (PInfixApp a op b) = parensIf (p > 0) $-                myFsep [prettyPrec 1 a, pretty (QConOp op), prettyPrec 1 b]-        prettyPrec p (PApp n ps) = parensIf (p > 2 && not (null ps)) $-                myFsep (pretty n : map (prettyPrec 3) ps)-        prettyPrec _ (PTuple bxd ps) =-                let ds = map pretty ps-                in case bxd of-                       Boxed   -> parenList ds-                       Unboxed -> hashParenList ds-        prettyPrec _ (PList ps) =-                bracketList . punctuate comma . map pretty $ ps-        prettyPrec _ (PParen pat) = parens . pretty $ pat-        prettyPrec _ (PRec c fields) =-                pretty c <> (braceList . map pretty $ fields)-        -- special case that would otherwise be buggy-        prettyPrec _ (PAsPat name (PIrrPat pat)) =-                myFsep [pretty name <> char '@', char '~' <> prettyPrec 3 pat]-        prettyPrec _ (PAsPat name pat) =-                hcat [pretty name, char '@', prettyPrec 3 pat]-        prettyPrec _ PWildCard = char '_'-        prettyPrec _ (PIrrPat pat) = char '~' <> prettyPrec 3 pat-        prettyPrec p (PatTypeSig _pos pat ty) = parensIf (p > 0) $-                myFsep [pretty pat, text "::", pretty ty]-        prettyPrec p (PViewPat e pat) = parensIf (p > 0) $-                myFsep [pretty e, text "->", pretty pat]-        prettyPrec p (PNPlusK n k) = parensIf (p > 0) $-                myFsep [pretty n, text "+", text $ show k]-        -- HaRP-        prettyPrec _ (PRPat rs) =-                bracketList . punctuate comma . map pretty $ rs-        -- Hsx-        prettyPrec _ (PXTag _ n attrs mattr cp) =-            let ap = maybe [] (return . pretty) mattr-             in hcat $ -- TODO: should not introduce blanks-                  (myFsep $ (char '<' <> pretty n): map pretty attrs ++ ap ++ [char '>']):-                    map pretty cp ++ [myFsep [text "</" <> pretty n, char '>']]-        prettyPrec _ (PXETag _ n attrs mattr) =-                let ap = maybe [] (return . pretty) mattr-                 in myFsep $ (char '<' <> pretty n): map pretty attrs ++ ap ++ [text "/>"]-        prettyPrec _ (PXPcdata s) = text s-        prettyPrec _ (PXPatTag p) =-                myFsep [text "<%", pretty p, text "%>"]-        prettyPrec _ (PXRPats ps) =-                myFsep $ text "<[" : map pretty ps ++ [text "%>"]-        -- BangPatterns-        prettyPrec _ (PBangPat pat) = text "!" <> prettyPrec 3 pat-        prettyPrec _ (PQuasiQuote n qt) = text ("[$" ++ n ++ "|" ++ qt ++ "|]")--instance Pretty PXAttr where-        pretty (PXAttr n p) =-                myFsep [pretty n, char '=', pretty p]--instance Pretty PatField where-        pretty (PFieldPat name pat) =-                myFsep [pretty name, equals, pretty pat]-        pretty (PFieldPun name) = pretty name-        pretty (PFieldWildcard) = text ".."----------------------- Regular Patterns ---------------------------instance Pretty RPat where-        pretty (RPOp r op) = pretty r <> pretty op-        pretty (RPEither r1 r2) = parens . myFsep $-                [pretty r1, char '|', pretty r2]-        pretty (RPSeq rs) =-                myFsep $ text "(|" : (punctuate comma . map pretty $ rs)-                           ++ [text "|)"]-        pretty (RPGuard r gs) =-                myFsep $ text "(|" : pretty r : char '|' :-                           (punctuate comma . map pretty $ gs) ++ [text "|)"]-        -- special case that would otherwise be buggy-        pretty (RPCAs n (RPPat (PIrrPat p))) =-                myFsep [pretty n <> text "@:", char '~' <> pretty p]-        pretty (RPCAs n r) = hcat [pretty n, text "@:", pretty r]-        -- special case that would otherwise be buggy-        pretty (RPAs n (RPPat (PIrrPat p))) =-                myFsep [pretty n <> text "@:", char '~' <> pretty p]-        pretty (RPAs n r) = hcat [pretty n, char '@', pretty r]-        pretty (RPPat p) = pretty p-        pretty (RPParen rp) = parens . pretty $ rp--instance Pretty RPatOp where-        pretty RPStar  = char '*'-        pretty RPStarG = text "*!"-        pretty RPPlus  = char '+'-        pretty RPPlusG = text "+!"-        pretty RPOpt   = char '?'-        pretty RPOptG  = text "?!"--------------------------- Case bodies  --------------------------instance Pretty Alt where-        pretty (Alt _pos e gAlts binds) =-                pretty e <+> pretty (GuardedAlts gAlts) $$$ ppWhere binds--------------------------- Statements in monads, guards & list comprehensions ------instance Pretty Stmt where-        pretty (Generator _loc e from) =-                pretty e <+> text "<-" <+> pretty from-        pretty (Qualifier e) = pretty e-        -- two cases for lets-        pretty (LetStmt (BDecls declList)) =-                ppLetStmt declList-        pretty (LetStmt (IPBinds bindList)) =-                ppLetStmt bindList-        pretty (RecStmt stmtList) =-                text "rec" $$$ ppBody letIndent (map pretty stmtList)--ppLetStmt :: Pretty a => [a] -> Doc-ppLetStmt l = text "let" $$$ ppBody letIndent (map pretty l)--instance Pretty QualStmt where-        pretty (QualStmt s) = pretty s-        pretty (ThenTrans    f)    = myFsep [text "then", pretty f]-        pretty (ThenBy       f e)  = myFsep [text "then", pretty f, text "by", pretty e]-        pretty (GroupBy      e)    = myFsep [text "then", text "group", text "by", pretty e]-        pretty (GroupUsing   f)    = myFsep [text "then", text "group", text "using", pretty f]-        pretty (GroupByUsing e f)  = myFsep [text "then", text "group", text "by",-                                                pretty e, text "using", pretty f]----------------------------- Record updates-instance Pretty FieldUpdate where-        pretty (FieldUpdate name e) =-                myFsep [pretty name, equals, pretty e]-        pretty (FieldPun name) = pretty name-        pretty (FieldWildcard) = text ".."--------------------------- Names --------------------------instance Pretty QOp where-        pretty (QVarOp n) = ppQNameInfix n-        pretty (QConOp n) = ppQNameInfix n--ppQNameInfix :: QName -> Doc-ppQNameInfix name-        | isSymbolName (getName name) = ppQName name-        | otherwise = char '`' <> ppQName name <> char '`'--instance Pretty QName where-        pretty name = case name of-                UnQual (Symbol ('#':_)) -> char '(' <+> ppQName name <+> char ')'-                _ -> parensIf (isSymbolName (getName name)) (ppQName name)--ppQName :: QName -> Doc-ppQName (UnQual name) = ppName name-ppQName (Qual m name) = pretty m <> char '.' <> ppName name-ppQName (Special sym) = text (specialName sym)--instance Pretty Op where-        pretty (VarOp n) = ppNameInfix n-        pretty (ConOp n) = ppNameInfix n--ppNameInfix :: Name -> Doc-ppNameInfix name-        | isSymbolName name = ppName name-        | otherwise = char '`' <> ppName name <> char '`'--instance Pretty Name where-        pretty name = case name of-                Symbol ('#':_) -> char '(' <+> ppName name <+> char ')'-                _ -> parensIf (isSymbolName name) (ppName name)--ppName :: Name -> Doc-ppName (Ident s) = text s-ppName (Symbol s) = text s--instance Pretty IPName where-        pretty (IPDup s) = char '?' <> text s-        pretty (IPLin s) = char '%' <> text s--instance PrettyDeclLike IPBind where-  wantsBlankline _ = False--instance Pretty IPBind where-        pretty (IPBind _loc ipname exp) =-                myFsep [pretty ipname, equals, pretty exp]--instance Pretty CName where-        pretty (VarName n) = pretty n-        pretty (ConName n) = pretty n--instance Pretty SpecialCon where-        pretty sc = text $ specialName sc--isSymbolName :: Name -> Bool-isSymbolName (Symbol _) = True-isSymbolName _ = False--getSpecialName :: QName -> Maybe SpecialCon-getSpecialName (Special n) = Just n-getSpecialName _           = Nothing--getName :: QName -> Name-getName (UnQual s) = s-getName (Qual _ s) = s-getName (Special Cons) = Symbol ":"-getName (Special FunCon) = Symbol "->"-getName (Special s) = Ident (specialName s)--specialName :: SpecialCon -> String-specialName UnitCon = "()"-specialName ListCon = "[]"-specialName FunCon = "->"-specialName (TupleCon b n) = "(" ++ hash ++ replicate (n-1) ',' ++ hash ++ ")"-    where hash = if b == Unboxed then "#" else ""-specialName Cons = ":"-specialName UnboxedSingleCon = "(# #)"---- Contexts are "sets" of assertions. Several members really means it's a--- CxTuple, but we can't represent that in our list of assertions.--- Therefore: print single member contexts without parenthesis, and treat---            larger contexts as tuples.-ppContext :: Context -> Doc-ppContext []      = empty-ppContext [ctxt]  = pretty ctxt <+> text "=>"-ppContext context = mySep [parenList (map pretty context), text "=>"]---- hacked for multi-parameter type classes-instance Pretty Asst where-        pretty (ClassA a ts)   = myFsep $ pretty a : map ppAType ts-        pretty (AppA n ns)     = myFsep $ pretty n : map pretty ns-        pretty (InfixA a op b) = myFsep [pretty a, ppQNameInfix op, pretty b]-        pretty (IParam i t)    = myFsep [pretty i, text "::", pretty t]-        pretty (EqualP t1 t2)  = myFsep [pretty t1, text "~", pretty t2]-        pretty (ParenA a)      = parens (pretty a)-        pretty (WildCardA mn)  = char  '_' <> maybePP pretty mn---- Pretty print a source location, useful for printing out error messages-instance Pretty SrcLoc where-  pretty srcLoc =-    return $ P.hsep [ colonFollow (P.text $ srcFilename srcLoc)-                    , colonFollow (P.int  $ srcLine     srcLoc)-                    , P.int $ srcColumn srcLoc-                    ]--colonFollow :: P.Doc -> P.Doc-colonFollow p = P.hcat [ p, P.colon ]---instance Pretty SrcSpan where-    pretty srcSpan =-        return $ P.hsep [ colonFollow (P.text $ srcSpanFilename srcSpan)-                        , P.hcat [ P.text "("-                                 , P.int $ srcSpanStartLine srcSpan-                                 , P.colon-                                 , P.int $ srcSpanStartColumn srcSpan-                                 , P.text ")"-                                 ]-                        , P.text "-"-                        , P.hcat [ P.text "("-                                 , P.int $ srcSpanEndLine srcSpan-                                 , P.colon-                                 , P.int $ srcSpanEndColumn srcSpan-                                 , P.text ")"-                                 ]-                        ]-------------------------------------------------------------------------- Annotated version---------------------------  Pretty-Print a Module ---------------------instance SrcInfo pos => Pretty (A.Module pos) where-        pretty (A.Module pos mbHead os imp decls) =-                markLine pos $-                myVcat $ map pretty os ++-                    (case mbHead of-                        Nothing -> id-                        Just h  -> \x -> [topLevel (pretty h) x])-                    (map pretty imp ++-                         ppDecls (isJust mbHead ||-                                  not (null imp) ||-                                  not (null os))-                           decls)-        pretty (A.XmlPage pos _mn os n attrs mattr cs) =-                markLine pos $-                myVcat $ map pretty os ++-                    [let ax = maybe [] (return . pretty) mattr-                      in hcat $-                         (myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [char '>']):-                            map pretty cs ++ [myFsep [text "</" <> pretty n, char '>']]]-        pretty (A.XmlHybrid pos mbHead os imp decls n attrs mattr cs) =-                markLine pos $-                myVcat $ map pretty os ++ [text "<%"] ++-                    (case mbHead of-                        Nothing -> id-                        Just h  -> \x -> [topLevel (pretty h) x])-                    (map pretty imp ++-                      ppDecls (isJust mbHead || not (null imp) || not (null os)) decls ++-                        [let ax = maybe [] (return . pretty) mattr-                          in hcat $-                             (myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [char '>']):-                                map pretty cs ++ [myFsep [text "</" <> pretty n, char '>']]])------------------------------  Module Header -------------------------------instance Pretty (A.ModuleHead l) where-    pretty (A.ModuleHead _ m mbWarn mbExportList) = mySep [-        text "module",-        pretty m,-        maybePP pretty mbWarn,-        maybePP pretty mbExportList,-        text "where"]--instance Pretty (A.WarningText l) where-    pretty = ppWarnTxt. sWarningText--instance Pretty (A.ModuleName l) where-        pretty = pretty . sModuleName--instance Pretty (A.ExportSpecList l) where-        pretty (A.ExportSpecList _ especs)  = parenList $ map pretty especs--instance Pretty (A.ExportSpec l) where-        pretty = pretty . sExportSpec--instance SrcInfo pos => Pretty (A.ImportDecl pos) where-        pretty = pretty . sImportDecl--instance Pretty (A.ImportSpecList l) where-        pretty (A.ImportSpecList _ b ispecs)  =-            (if b then text "hiding" else empty)-                <+> parenList (map pretty ispecs)--instance Pretty (A.ImportSpec l) where-        pretty = pretty . sImportSpec---------------------------  Declarations -------------------------------instance SrcInfo pos => Pretty (A.Decl pos) where-        pretty = pretty . sDecl--instance SrcInfo pos => PrettyDeclLike (A.Decl pos) where-        wantsBlankline = wantsBlankline . sDecl--instance Pretty (A.DeclHead l) where-    pretty (A.DHead _ n)           = pretty n-    pretty (A.DHInfix _ tva n)     = mySep [pretty tva, pretty n]-    pretty (A.DHParen _ dh)        = parens (pretty dh)-    pretty (A.DHApp _ dh t)        = myFsep [pretty dh, pretty t]--instance SrcInfo l => Pretty (A.InstRule l) where-    pretty (A.IRule _ tvs mctxt qn)    =-            mySep [ppForall (fmap (map sTyVarBind) tvs)-                  , ppContext $ maybe [] sContext mctxt, pretty qn]-    pretty (A.IParen _ ih)        = parens (pretty ih)--instance SrcInfo l => Pretty (A.InstHead l) where-    pretty (A.IHCon _ qn)          = pretty qn-    pretty (A.IHInfix _ ta qn)     = mySep [pretty ta, pretty qn]-    pretty (A.IHParen _ ih)        = parens (pretty ih)-    pretty (A.IHApp _ ih t)        = myFsep [pretty ih, pretty t]--instance Pretty (A.DataOrNew l) where-        pretty = pretty . sDataOrNew--instance Pretty (A.Assoc l) where-        pretty = pretty . sAssoc--instance SrcInfo pos => Pretty (A.Match pos) where-        pretty = pretty . sMatch--instance SrcInfo loc => Pretty (A.ClassDecl loc) where-        pretty = pretty . sClassDecl--instance SrcInfo loc => Pretty (A.InstDecl loc) where-        pretty = pretty . sInstDecl--------------------------- FFI stuff --------------------------------------instance Pretty (A.Safety l) where-        pretty = pretty . sSafety--instance Pretty (A.CallConv l) where-        pretty = pretty . sCallConv--------------------------- Pragmas ----------------------------------------instance SrcInfo loc => Pretty (A.Rule loc) where-        pretty = pretty . sRule--instance Pretty (A.Activation l) where-    pretty = pretty . sActivation--instance SrcInfo l => Pretty (A.RuleVar l) where-    pretty = pretty . sRuleVar--instance SrcInfo loc => Pretty (A.ModulePragma loc) where-    pretty (A.LanguagePragma _ ns) =-        myFsep $ text "{-# LANGUAGE" : punctuate (char ',') (map pretty ns) ++ [text "#-}"]-    pretty (A.OptionsPragma _ (Just tool) s) =-        myFsep [text "{-# OPTIONS_" <> pretty tool, text s, text "#-}"]-    pretty (A.OptionsPragma _ _ s) =-        myFsep [text "{-# OPTIONS", text s, text "#-}"]-    pretty (A.AnnModulePragma _ ann) =-        myFsep [text "{-# ANN", pretty ann, text "#-}"]--instance SrcInfo loc => Pretty (A.Annotation loc) where-    pretty = pretty . sAnnotation--------------------------- Data & Newtype Bodies --------------------------instance SrcInfo l => Pretty (A.QualConDecl l) where-        pretty (A.QualConDecl _pos mtvs ctxt con) =-                myFsep [ppForall (fmap (map sTyVarBind) mtvs), ppContext $ maybe [] sContext ctxt, pretty con]--instance SrcInfo l => Pretty (A.GadtDecl l) where-        pretty (A.GadtDecl _pos name names ty) =-            case names of-                Nothing ->-                    myFsep [pretty name, text "::", pretty ty]-                Just ts ->-                    mySep $ [pretty name, text "::", char '{'] ++-                              map pretty ts ++ [char '}', text "->", pretty ty]--instance SrcInfo l => Pretty (A.ConDecl l) where-        pretty = pretty . sConDecl--instance SrcInfo l => Pretty (A.FieldDecl l) where-        pretty (A.FieldDecl _ names ty) =-                myFsepSimple $ (punctuate comma . map pretty $ names) ++-                       [text "::", pretty ty]---instance SrcInfo l => Pretty (A.BangType l) where-        pretty = pretty . sBangType--instance SrcInfo l => Pretty (A.Deriving l) where-        pretty (A.Deriving _ []) = text "deriving" <+> parenList []-        pretty (A.Deriving _ [A.IRule _ _ _ d]) = text "deriving" <+> pretty d-        pretty (A.Deriving _ ihs) = text "deriving" <+> parenList (map pretty ihs)--------------------------- Types --------------------------instance SrcInfo l => Pretty (A.Type l) where-        pretty = pretty . sType--instance Pretty (A.TyVarBind l) where-        pretty = pretty . sTyVarBind------------------------------ Kinds ------------------------------instance Pretty (A.Kind l) where-        pretty = pretty . sKind--------------------- Functional Dependencies --------------------instance Pretty (A.FunDep l) where-        pretty = pretty . sFunDep--------------------------- Expressions --------------------------instance SrcInfo loc => Pretty (A.Rhs loc) where-        pretty = pretty . sRhs--instance SrcInfo loc => Pretty (A.GuardedRhs loc) where-        pretty = pretty . sGuardedRhs--instance Pretty (A.Literal l) where-        pretty = pretty . sLiteral--instance SrcInfo loc => Pretty (A.Exp loc) where-        pretty = pretty . sExp--instance SrcInfo loc => Pretty (A.XAttr loc) where-        pretty = pretty . sXAttr--instance Pretty (A.XName l) where-        pretty = pretty . sXName----------------------- Template Haskell ---------------------------instance SrcInfo loc => Pretty (A.Bracket loc) where-        pretty = pretty . sBracket--instance SrcInfo loc => Pretty (A.Splice loc) where-        pretty = pretty . sSplice--------------------------- Patterns -------------------------------instance SrcInfo loc => Pretty (A.Pat loc) where-        pretty = pretty . sPat--instance SrcInfo loc => Pretty (A.PXAttr loc) where-        pretty = pretty . sPXAttr--instance SrcInfo loc => Pretty (A.PatField loc) where-        pretty = pretty . sPatField----------------------- Regular Patterns ---------------------------instance SrcInfo loc => Pretty (A.RPat loc) where-        pretty = pretty . sRPat--instance Pretty (A.RPatOp l) where-        pretty = pretty . sRPatOp--------------------------- Case bodies  --------------------------instance SrcInfo loc => Pretty (A.Alt loc) where-        pretty = pretty . sAlt--------------------------- Statements in monads, guards & list comprehensions ------instance SrcInfo loc => Pretty (A.Stmt loc) where-        pretty = pretty . sStmt--instance SrcInfo loc => Pretty (A.QualStmt loc) where-        pretty = pretty . sQualStmt--------------------------- Record updates-instance SrcInfo loc => Pretty (A.FieldUpdate loc) where-        pretty = pretty . sFieldUpdate--------------------------- Names --------------------------instance Pretty (A.QOp l) where-        pretty = pretty . sQOp--instance Pretty (A.QName l) where-        pretty = pretty . sQName--instance Pretty (A.Op l) where-        pretty = pretty . sOp--instance Pretty (A.Name l) where-        pretty = pretty . sName--instance Pretty (A.IPName l) where-        pretty = pretty . sIPName--instance SrcInfo loc => Pretty (A.IPBind loc) where-        pretty = pretty . sIPBind--instance SrcInfo loc => PrettyDeclLike (A.IPBind loc) where-        wantsBlankline = wantsBlankline . sIPBind--instance Pretty (A.CName l) where-        pretty = pretty . sCName--instance SrcInfo l => Pretty (A.Context l) where-        pretty (A.CxEmpty _) = mySep [text "()", text "=>"]-        pretty (A.CxSingle _ asst) = mySep [pretty asst, text "=>"]-        pretty (A.CxTuple _ assts) = myFsep [parenList (map pretty assts), text "=>"]---- hacked for multi-parameter type classes-instance SrcInfo l => Pretty (A.Asst l) where-        pretty = pretty . sAsst--------------------------- pp utils --------------------------maybePP :: (a -> Doc) -> Maybe a -> Doc-maybePP _  Nothing = empty-maybePP pp (Just a) = pp a--parenList :: [Doc] -> Doc-parenList = parens . myFsepSimple . punctuate comma--hashParenList :: [Doc] -> Doc-hashParenList = hashParens . myFsepSimple . punctuate comma-  where hashParens = parens . hashes-        hashes doc = char '#' <+> doc <+> char '#'--braceList :: [Doc] -> Doc-braceList = braces . myFsepSimple . punctuate comma--bracketList :: [Doc] -> Doc-bracketList = brackets . myFsepSimple--bracketColonList :: [Doc] -> Doc-bracketColonList = bracketColons . myFsepSimple-    where bracketColons = brackets . colons-          colons doc = char ':' <> doc <> char ':'---- Wrap in braces and semicolons, with an extra space at the start in--- case the first doc begins with "-", which would be scanned as {--flatBlock :: [Doc] -> Doc-flatBlock = braces . (space <>) . hsep . punctuate semi---- Same, but put each thing on a separate line-prettyBlock :: [Doc] -> Doc-prettyBlock = braces . (space <>) . vcat . punctuate semi---- Monadic PP Combinators -- these examine the env--blankline :: Doc -> Doc-blankline dl = do{e<-getPPEnv;if spacing e && layout e /= PPNoLayout-                              then text "" $+$ dl else dl}-topLevel :: Doc -> [Doc] -> Doc-topLevel header dl = do-         e <- fmap layout getPPEnv-         case e of-             PPOffsideRule -> header $$ vcat dl-             PPSemiColon -> header $$ prettyBlock dl-             PPInLine -> header $$ prettyBlock dl-             PPNoLayout -> header <+> flatBlock dl--ppBody :: (PPHsMode -> Int) -> [Doc] -> Doc-ppBody f dl = do-         e <- fmap layout getPPEnv-         case e of PPOffsideRule -> indent-                   PPSemiColon   -> indentExplicit-                   _ -> flatBlock dl-                   where-                   indent  = do{i <-fmap f getPPEnv;nest i . vcat $ dl}-                   indentExplicit = do {i <- fmap f getPPEnv;-                           nest i . prettyBlock $ dl}---- | Indent without braces. Useful for deriving clauses etc.-ppIndent :: (PPHsMode -> Int) -> [Doc] -> Doc-ppIndent f dl = do-            i <- fmap f getPPEnv-            nest i . vcat $ dl--($$$) :: Doc -> Doc -> Doc-a $$$ b = layoutChoice (a $$) (a <+>) b--mySep :: [Doc] -> Doc-mySep = layoutChoice mySep' hsep-        where-        -- ensure paragraph fills with indentation.-        mySep' [x]    = x-        mySep' (x:xs) = x <+> fsep xs-        mySep' []     = error "Internal error: mySep"--myVcat :: [Doc] -> Doc-myVcat = layoutChoice vcat hsep--myFsepSimple :: [Doc] -> Doc-myFsepSimple = layoutChoice fsep hsep---- same, except that continuation lines are indented,--- which is necessary to avoid triggering the offside rule.-myFsep :: [Doc] -> Doc-myFsep = layoutChoice fsep' hsep-        where   fsep' [] = empty-                fsep' (d:ds) = do-                        e <- getPPEnv-                        let n = onsideIndent e-                        nest n (fsep (nest (-n) d:ds))--layoutChoice :: (a -> Doc) -> (a -> Doc) -> a -> Doc-layoutChoice a b dl = do e <- getPPEnv-                         if layout e == PPOffsideRule ||-                            layout e == PPSemiColon-                          then a dl else b dl---- Prefix something with a LINE pragma, if requested.--- GHC's LINE pragma actually sets the current line number to n-1, so--- that the following line is line n.  But if there's no newline before--- the line we're talking about, we need to compensate by adding 1.--markLine :: SrcInfo s => s -> Doc -> Doc-markLine loc doc = do-        e <- getPPEnv-        let y = startLine loc-        let line l =-              text ("{-# LINE " ++ show l ++ " \"" ++ fileName loc ++ "\" #-}")-        if linePragmas e then layoutChoice (line y $$) (line (y+1) <+>) doc-              else doc------------------------------------------------------------------------------------- Pretty-printing of internal constructs, for error messages while parsing--instance SrcInfo loc => Pretty (P.PExp loc) where-        pretty (P.Lit _ l) = pretty l-        pretty (P.InfixApp _ a op b) = myFsep [pretty a, pretty op, pretty b]-        pretty (P.NegApp _ e) = myFsep [char '-', pretty e]-        pretty (P.App _ a b) = myFsep [pretty a, pretty b]-        pretty (P.Lambda _loc expList ppBody') = myFsep $-                char '\\' : map pretty expList ++ [text "->", pretty ppBody']-        pretty (P.Let _ (A.BDecls _ declList) letBody) =-                ppLetExp declList letBody-        pretty (P.Let _ (A.IPBinds _ bindList) letBody) =-                ppLetExp bindList letBody-        pretty (P.If _ cond thenexp elsexp) =-                myFsep [text "if", pretty cond,-                        text "then", pretty thenexp,-                        text "else", pretty elsexp]-        pretty (P.MultiIf _ alts) =-                text "if"-                $$$ ppBody caseIndent (map pretty alts)-        pretty (P.Case _ cond altList) =-                myFsep [text "case", pretty cond, text "of"]-                $$$ ppBody caseIndent (map pretty altList)-        pretty (P.Do _ stmtList) =-                text "do" $$$ ppBody doIndent (map pretty stmtList)-        pretty (P.MDo _ stmtList) =-                text "mdo" $$$ ppBody doIndent (map pretty stmtList)-        pretty (P.Var _ name) = pretty name-        pretty (P.IPVar _ ipname) = pretty ipname-        pretty (P.Con _ name) = pretty name-        pretty (P.TupleSection _ bxd mExpList) =-                let ds = map (maybePP pretty) mExpList-                in case bxd of-                       Boxed   -> parenList ds-                       Unboxed -> hashParenList ds-        pretty (P.Paren _ e) = parens . pretty $ e-        pretty (P.RecConstr _ c fieldList) =-                pretty c <> (braceList . map pretty $ fieldList)-        pretty (P.RecUpdate _ e fieldList) =-                pretty e <> (braceList . map pretty $ fieldList)-        pretty (P.List _ list) =-                bracketList . punctuate comma . map pretty $ list-        pretty (P.ParArray _ arr) =-                bracketColonList . punctuate comma . map pretty $ arr-        pretty (P.EnumFrom _ e) =-                bracketList [pretty e, text ".."]-        pretty (P.EnumFromTo _ from to) =-                bracketList [pretty from, text "..", pretty to]-        pretty (P.EnumFromThen _ from thenE) =-                bracketList [pretty from <> comma, pretty thenE, text ".."]-        pretty (P.EnumFromThenTo _ from thenE to) =-                bracketList [pretty from <> comma, pretty thenE,-                             text "..", pretty to]-        pretty (P.ParArrayFromTo _ from to) =-                bracketColonList [pretty from, text "..", pretty to]-        pretty (P.ParArrayFromThenTo _ from thenE to) =-                bracketColonList [pretty from <> comma, pretty thenE,-                             text "..", pretty to]-        pretty (P.ParComp _ e qualLists) =-                bracketList (intersperse (char '|') $-                                pretty e : (punctuate comma . concatMap (map pretty) $ qualLists))-        pretty (P.ParArrayComp _ e qualArrs) =-                bracketColonList (intersperse (char '|') $-                                pretty e : (punctuate comma . concatMap (map pretty) $ qualArrs))-        pretty (P.ExpTypeSig _pos e ty) =-                myFsep [pretty e, text "::", pretty ty]-        pretty (P.BracketExp _ b) = pretty b-        pretty (P.SpliceExp _ s) = pretty s-        pretty (P.TypQuote _ t)  = text "\'\'" <> pretty t-        pretty (P.VarQuote _ x)  = text "\'" <> pretty x-        pretty (P.QuasiQuote _ n qt) = text ("[$" ++ n ++ "|" ++ qt ++ "|]")-        pretty (P.XTag _ n attrs mattr cs) =-                let ax = maybe [] (return . pretty) mattr-                 in hcat $-                     (myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [char '>']):-                        map pretty cs ++ [myFsep [text "</" <> pretty n, char '>']]-        pretty (P.XETag _ n attrs mattr) =-                let ax = maybe [] (return . pretty) mattr-                 in myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [text "/>"]-        pretty (P.XPcdata _ s) = text s-        pretty (P.XExpTag _ e) =-                myFsep [text "<%", pretty e, text "%>"]-        pretty (P.XChildTag _ es) =-                myFsep $ text "<%>" : map pretty es ++ [text "</%>"]-        pretty (P.CorePragma _ s e) = myFsep $ map text ["{-# CORE", show s, "#-}"] ++ [pretty e]-        pretty (P.SCCPragma  _ s e) = myFsep $ map text ["{-# SCC",  show s, "#-}"] ++ [pretty e]-        pretty (P.GenPragma  _ s (a,b) (c,d) e) =-                myFsep [text "{-# GENERATED", text $ show s,-                            int a, char ':', int b, char '-',-                            int c, char ':', int d, text "#-}", pretty e]-        pretty (P.Proc _ p e) = myFsep [text "proc", pretty p, text "->", pretty e]-        pretty (P.LeftArrApp _ l r)      = myFsep [pretty l, text "-<",  pretty r]-        pretty (P.RightArrApp _ l r)     = myFsep [pretty l, text ">-",  pretty r]-        pretty (P.LeftArrHighApp _ l r)  = myFsep [pretty l, text "-<<", pretty r]-        pretty (P.RightArrHighApp _ l r) = myFsep [pretty l, text ">>-", pretty r]-        pretty (P.AsPat _ name (P.IrrPat _ pat)) =-                myFsep [pretty name <> char '@', char '~' <> pretty pat]-        pretty (P.AsPat _ name pat) =-                hcat [pretty name, char '@', pretty pat]-        pretty (P.WildCard _) = char '_'-        pretty (P.IrrPat _ pat) = char '~' <> pretty pat-        pretty (P.PostOp _ e op) = pretty e <+> pretty op-        pretty (P.PreOp _ op e)  = pretty op <+> pretty e-        pretty (P.ViewPat _ e p) =-                myFsep [pretty e, text "->", pretty p]-        pretty (P.SeqRP _ rs) =-            myFsep $ text "(|" : (punctuate comma . map pretty $ rs) ++ [text "|)"]-        pretty (P.GuardRP _ r gs) =-                myFsep $ text "(|" : pretty r : char '|' :-                           (punctuate comma . map pretty $ gs) ++ [text "|)"]-        pretty (P.EitherRP _ r1 r2) = parens . myFsep $ [pretty r1, char '|', pretty r2]-        pretty (P.CAsRP _ n (P.IrrPat _ e)) =-                myFsep [pretty n <> text "@:", char '~' <> pretty e]-        pretty (P.CAsRP _ n r) = hcat [pretty n, text "@:", pretty r]-        pretty (P.XRPats _ ps) =-                myFsep $ text "<[" : map pretty ps ++ [text "%>"]-        pretty (P.BangPat _ e) = text "!" <> pretty e-        pretty (P.LCase _ altList) = text "\\case" $$$ ppBody caseIndent (map pretty altList)--instance SrcInfo loc => Pretty (P.PFieldUpdate loc) where-        pretty (P.FieldUpdate _ name e) =-                myFsep [pretty name, equals, pretty e]-        pretty (P.FieldPun _ name) = pretty name-        pretty (P.FieldWildcard _) = text ".."--instance SrcInfo loc => Pretty (P.ParseXAttr loc) where-        pretty (P.XAttr _ n v) =-                myFsep [pretty n, char '=', pretty v]--instance SrcInfo loc => Pretty (P.PContext loc) where-        pretty (P.CxEmpty _) = mySep [text "()", text "=>"]-        pretty (P.CxSingle _ asst) = mySep [pretty asst, text "=>"]-        pretty (P.CxTuple _ assts) = myFsep [parenList (map pretty assts), text "=>"]--instance SrcInfo loc => Pretty (P.PAsst loc) where-        pretty (P.ClassA _ a ts)   = myFsep $ pretty (sQName a) : map (prettyPrec prec_atype) ts-        pretty (P.AppA _ n ns)     = myFsep $ pretty n : map (prettyPrec prec_atype) ns-        pretty (P.InfixA _ a op b) = myFsep [pretty a, ppQNameInfix (sQName op), pretty b]-        pretty (P.IParam _ i t)    = myFsep [pretty i, text "::", pretty t]-        pretty (P.EqualP _ t1 t2)  = myFsep [pretty t1, text "~", pretty t2]-        pretty (P.ParenA _ a)      = parens (pretty a)-        pretty (P.WildCardA _ mn)  = char '_' <> maybePP pretty mn--instance SrcInfo loc => Pretty (P.PType loc) where-        prettyPrec p (P.TyForall _ mtvs ctxt htype) = parensIf (p > 0) $-                myFsep [ppForall (fmap (map sTyVarBind) mtvs), maybePP pretty ctxt, pretty htype]-        prettyPrec p (P.TyFun _ a b) = parensIf (p > 0) $-                myFsep [prettyPrec prec_btype a, text "->", pretty b]-        prettyPrec _ (P.TyTuple _ bxd l) =-                let ds = map pretty l-                 in case bxd of-                        Boxed   -> parenList ds-                        Unboxed -> hashParenList ds-        prettyPrec _ (P.TyList _ t)  = brackets $ pretty t-        prettyPrec _ (P.TyParArray _ t) = bracketColonList [pretty t]-        prettyPrec p (P.TyApp _ a b) =-                {--                | a == list_tycon = brackets $ pretty b         -- special case-                | otherwise = -} parensIf (p > prec_btype) $-                                    myFsep [pretty a, prettyPrec prec_atype b]-        prettyPrec _ (P.TyVar _ name) = pretty name-        prettyPrec _ (P.TyCon _ name) = pretty name-        prettyPrec _ (P.TyParen _ t) = parens (pretty t)-        prettyPrec _ (P.TyPred _ asst) = pretty asst-        prettyPrec _ (P.TyInfix _ a op b) = myFsep [pretty a, ppQNameInfix (sQName op), pretty b]-        prettyPrec _ (P.TyKind _ t k) = parens (myFsep [pretty t, text "::", pretty k])-        prettyPrec _ (P.TyPromoted _ p) = pretty $ sPromoted p-        prettyPrec _ (P.TySplice _ s) = pretty s-        prettyPrec _ (P.TyBang _ b t) = pretty b <> prettyPrec prec_atype t-        prettyPrec _ (P.TyWildCard _ mn) = char '_' <> maybePP pretty mn+{-# LANGUAGE CPP #-}+-----------------------------------------------------------------------------+-- |+-- Module      :  Language.Haskell.Exts.Pretty+-- Copyright   :  (c) Niklas Broberg 2004-2009,+--                (c) The GHC Team, Noel Winstanley 1997-2000+-- License     :  BSD-style (see the file LICENSE.txt)+--+-- Maintainer  :  Niklas Broberg, d00nibro@chalmers.se+-- Stability   :  stable+-- Portability :  portable+--+-- Pretty printer for Haskell with extensions.+--+-----------------------------------------------------------------------------++module Language.Haskell.Exts.Pretty (+                -- * Pretty printing+                Pretty,+                prettyPrintStyleMode, prettyPrintWithMode, prettyPrint,+                -- * Pretty-printing styles (from "Text.PrettyPrint.HughesPJ")+                P.Style(..), P.style, P.Mode(..),+                -- * Haskell formatting modes+                PPHsMode(..), Indent, PPLayout(..), defaultMode+                -- * Primitive Printers+                , prettyPrim, prettyPrimWithMode+                ) where++import Language.Haskell.Exts.Syntax+import qualified Language.Haskell.Exts.ParseSyntax as P++import Language.Haskell.Exts.SrcLoc hiding (loc)++import Prelude hiding ( exp+#if MIN_VERSION_base(4,11,0)+                      , (<>)+#endif+                      )+import qualified Text.PrettyPrint as P+import Data.List (intersperse)+import Data.Maybe (isJust , fromMaybe)+#if __GLASGOW_HASKELL__ < 710+import Control.Applicative (Applicative(..), (<$>))+#endif+import qualified Control.Monad as M (ap)++infixl 5 $$$++-----------------------------------------------------------------------------++-- | Varieties of layout we can use.+data PPLayout = PPOffsideRule   -- ^ classical layout+              | PPSemiColon     -- ^ classical layout made explicit+              | PPInLine        -- ^ inline decls, with newlines between them+              | PPNoLayout      -- ^ everything on a single line+              deriving Eq++type Indent = Int++-- | Pretty-printing parameters.+--+-- /Note:/ the 'onsideIndent' must be positive and less than all other indents.+data PPHsMode = PPHsMode {+                                -- | indentation of a class or instance+                classIndent :: Indent,+                                -- | indentation of a @do@-expression+                doIndent :: Indent,+                                -- | indentation of the body of a+                                -- @case@ expression+                multiIfIndent :: Indent,+                                -- | indentation of the body of a+                                -- multi-@if@ expression+                caseIndent :: Indent,+                                -- | indentation of the declarations in a+                                -- @let@ expression+                letIndent :: Indent,+                                -- | indentation of the declarations in a+                                -- @where@ clause+                whereIndent :: Indent,+                                -- | indentation added for continuation+                                -- lines that would otherwise be offside+                onsideIndent :: Indent,+                                -- | blank lines between statements?+                spacing :: Bool,+                                -- | Pretty-printing style to use+                layout :: PPLayout,+                                -- | add GHC-style @LINE@ pragmas to output?+                linePragmas :: Bool+                }++-- | The default mode: pretty-print using the offside rule and sensible+-- defaults.+defaultMode :: PPHsMode+defaultMode = PPHsMode{+                      classIndent = 8,+                      doIndent = 3,+                      multiIfIndent = 3,+                      caseIndent = 4,+                      letIndent = 4,+                      whereIndent = 6,+                      onsideIndent = 2,+                      spacing = True,+                      layout = PPOffsideRule,+                      linePragmas = False+                      }++-- | Pretty printing monad+newtype DocM s a = DocM (s -> a)++instance Functor (DocM s) where+         fmap f xs = do x <- xs; return (f x)++instance Applicative (DocM s) where+        pure = retDocM+        (<*>) = M.ap++instance Monad (DocM s) where+        (>>=) = thenDocM+        (>>) = then_DocM++{-# INLINE thenDocM #-}+{-# INLINE then_DocM #-}+{-# INLINE retDocM #-}+{-# INLINE unDocM #-}+{-# INLINE getPPEnv #-}++thenDocM :: DocM s a -> (a -> DocM s b) -> DocM s b+thenDocM m k = DocM $ \s -> case unDocM m s of a -> unDocM (k a) s++then_DocM :: DocM s a -> DocM s b -> DocM s b+then_DocM m k = DocM $ \s -> case unDocM m s of _ -> unDocM k s++retDocM :: a -> DocM s a+retDocM a = DocM $ const a++unDocM :: DocM s a -> s -> a+unDocM (DocM f) = f++-- all this extra stuff, just for this one function.+getPPEnv :: DocM s s+getPPEnv = DocM id++-- So that pp code still looks the same+-- this means we lose some generality though++-- | The document type produced by these pretty printers uses a 'PPHsMode'+-- environment.+type Doc = DocM PPHsMode P.Doc++-- | Things that can be pretty-printed, including all the syntactic objects+-- in "Language.Haskell.Exts.Syntax".+class Pretty a where+        -- | Pretty-print something in isolation.+        pretty :: a -> Doc+        -- | Pretty-print something in a precedence context.+        prettyPrec :: Int -> a -> Doc+        pretty = prettyPrec 0+        prettyPrec _ = pretty++-- The pretty printing combinators++empty :: Doc+empty = return P.empty++nest :: Int -> Doc -> Doc+nest i m = m >>= return . P.nest i+++-- Literals++text :: String -> Doc+text = return . P.text++char :: Char -> Doc+char = return . P.char++int :: Int -> Doc+int = return . P.int++integer :: Integer -> Doc+integer = return . P.integer++float :: Float -> Doc+float = return . P.float++double :: Double -> Doc+double = return . P.double++-- rational :: Rational -> Doc+-- rational = return . P.rational++-- Simple Combining Forms++parens, brackets, braces, doubleQuotes :: Doc -> Doc+parens d = d >>= return . P.parens+brackets d = d >>= return . P.brackets+braces d = d >>= return . P.braces+-- quotes :: Doc -> Doc+-- quotes d = d >>= return . P.quotes+doubleQuotes d = d >>= return . P.doubleQuotes++parensIf :: Bool -> Doc -> Doc+parensIf True = parens+parensIf False = id++-- Constants++semi,comma,space,equals :: Doc+semi = return P.semi+comma = return P.comma+-- colon :: Doc+-- colon = return P.colon+space = return P.space+equals = return P.equals++{-+lparen,rparen,lbrack,rbrack,lbrace,rbrace :: Doc+lparen = return  P.lparen+rparen = return  P.rparen+lbrack = return  P.lbrack+rbrack = return  P.rbrack+lbrace = return  P.lbrace+rbrace = return  P.rbrace+-}++-- Combinators++(<>),(<+>),($$) :: Doc -> Doc -> Doc+aM <> bM = do{a<-aM;b<-bM;return (a P.<> b)}+aM <+> bM = do{a<-aM;b<-bM;return (a P.<+> b)}+aM $$ bM = do{a<-aM;b<-bM;return (a P.$$ b)}+($+$) :: Doc -> Doc -> Doc+aM $+$ bM = do{a<-aM;b<-bM;return (a P.$+$ b)}++hcat,hsep,vcat,fsep :: [Doc] -> Doc+hcat dl = sequence dl >>= return . P.hcat+hsep dl = sequence dl >>= return . P.hsep+vcat dl = sequence dl >>= return . P.vcat+-- sep, cat, fcat :: [Doc] -> Doc+-- sep dl = sequence dl >>= return . P.sep+-- cat dl = sequence dl >>= return . P.cat+fsep dl = sequence dl >>= return . P.fsep+-- fcat dl = sequence dl >>= return . P.fcat++-- Some More++-- hang :: Doc -> Int -> Doc -> Doc+-- hang dM i rM = do{d<-dM;r<-rM;return $ P.hang d i r}++-- Yuk, had to cut-n-paste this one from Pretty.hs+punctuate :: Doc -> [Doc] -> [Doc]+punctuate _ []     = []+punctuate p (d1:ds) = go d1 ds+                   where+                     go d [] = [d]+                     go d (e:es) = (d <> p) : go e es++-- | render the document with a given style and mode.+renderStyleMode :: P.Style -> PPHsMode -> Doc -> String+renderStyleMode ppStyle ppMode d = P.renderStyle ppStyle . unDocM d $ ppMode++-- | render the document with a given mode.+-- renderWithMode :: PPHsMode -> Doc -> String+-- renderWithMode = renderStyleMode P.style++-- | render the document with 'defaultMode'.+-- render :: Doc -> String+-- render = renderWithMode defaultMode++-- | pretty-print with a given style and mode.+prettyPrintStyleMode :: Pretty a => P.Style -> PPHsMode -> a -> String+prettyPrintStyleMode ppStyle ppMode = renderStyleMode ppStyle ppMode . pretty++-- | pretty-print with the default style and a given mode.+prettyPrintWithMode :: Pretty a => PPHsMode -> a -> String+prettyPrintWithMode = prettyPrintStyleMode P.style++-- | pretty-print with the default style and 'defaultMode'.+prettyPrint :: Pretty a => a -> String+prettyPrint = prettyPrintWithMode defaultMode++-- fullRenderWithMode :: PPHsMode -> P.Mode -> Int -> Float ->+--                       (P.TextDetails -> a -> a) -> a -> Doc -> a+-- fullRenderWithMode ppMode m i f fn e mD =+--                   P.fullRender m i f fn e $ (unDocM mD) ppMode+++-- fullRender :: P.Mode -> Int -> Float -> (P.TextDetails -> a -> a)+--               -> a -> Doc -> a+-- fullRender = fullRenderWithMode defaultMode++-- | pretty-print with the default style and 'defaultMode'.+prettyPrim :: Pretty a => a -> P.Doc+prettyPrim = prettyPrimWithMode defaultMode++-- | pretty-print with the default style and a given mode.+prettyPrimWithMode :: Pretty a => PPHsMode -> a -> P.Doc+prettyPrimWithMode pphs doc = unDocM (pretty doc) pphs+++-------------------------  Pretty-Print a Module --------------------+{-+instance  Pretty (Module l) where+        pretty (Module pos m os mbWarn mbExports imp decls) =+                markLine pos $ (myVcat $ map pretty os) $$+                myVcat (+                    (if m == ModuleName "" then id+                     else \x -> [topLevel (ppModuleHeader m mbWarn mbExports) x])+                    (map pretty imp +++                      ppDecls (m /= ModuleName "" ||+                               not (null imp) ||+                               not (null os))+                              decls]-}++--------------------------  Module Header ------------------------------+instance Pretty (ModuleHead l) where+  pretty (ModuleHead _ m mbWarn mbExportList) =+    mySep [+        text "module",+        pretty m,+        maybePP ppWarnTxt mbWarn,+        maybePP pretty mbExportList,+        text "where"]++instance Pretty (ExportSpecList l) where+        pretty (ExportSpecList _ especs)  = parenList $ map pretty especs++ppWarnTxt :: WarningText l -> Doc+ppWarnTxt (DeprText _ s) = mySep [text "{-# DEPRECATED", text (show s), text "#-}"]+ppWarnTxt (WarnText _ s) = mySep [text "{-# WARNING",    text (show s), text "#-}"]++instance  Pretty (ModuleName l) where+        pretty (ModuleName _ modName) = text modName++instance  Pretty (Namespace l) where+        pretty NoNamespace {}     = empty+        pretty TypeNamespace {}   = text "type"+        pretty PatternNamespace {} = text "pattern"++instance  Pretty (ExportSpec l) where+        pretty (EVar _ name)                = pretty name+        pretty (EAbs _ ns name)             = pretty ns <+> pretty name+        pretty (EThingWith _ wc name nameList) =+          let prettyNames = map pretty nameList+              names = case wc of+                        NoWildcard {} -> prettyNames+                        EWildcard _ n  ->+                          let (before,after) = splitAt n prettyNames+                          in before ++ [text ".."] ++ after+           in pretty name <> (parenList names)+        pretty (EModuleContents _ m)        = text "module" <+> pretty m++instance  Pretty (ImportDecl l) where+        pretty (ImportDecl _ m qual src safe mbPkg mbName mbSpecs) =+                mySep [text "import",+                       if src  then text "{-# SOURCE #-}" else empty,+                       if safe then text "safe" else empty,+                       if qual then text "qualified" else empty,+                       maybePP (\s -> text (show s)) mbPkg,+                       pretty m,+                       maybePP (\m' -> text "as" <+> pretty m') mbName,+                       maybePP pretty mbSpecs]++instance Pretty (ImportSpecList l) where+        pretty (ImportSpecList _ b ispecs)  =+            (if b then text "hiding" else empty)+                <+> parenList (map pretty ispecs)++instance  Pretty (ImportSpec l) where+        pretty (IVar _ name  )              = pretty name+        pretty (IAbs _ ns name)             = pretty ns <+> pretty name+        pretty (IThingAll _ name)           = pretty name <> text "(..)"+        pretty (IThingWith _ name nameList) =+                pretty name <> (parenList . map pretty $ nameList)++instance  Pretty (TypeEqn l) where+        pretty (TypeEqn _ pat eqn) = mySep [pretty pat, equals, pretty eqn]++-------------------------  Declarations ------------------------------+class Pretty a => PrettyDeclLike a where+  wantsBlankline :: a -> Bool++instance  PrettyDeclLike (Decl l) where+  wantsBlankline (FunBind {}) = False+  wantsBlankline (PatBind {}) = False+  wantsBlankline _ = True++condBlankline :: PrettyDeclLike a => a -> Doc+condBlankline d = (if wantsBlankline d then blankline else id) $ pretty d++ppDecls :: PrettyDeclLike a => Bool -> [a] -> [Doc]+ppDecls True  ds     = map condBlankline ds+ppDecls False (d:ds) = pretty d : map condBlankline ds+ppDecls _ _ = []+--ppDecls = map condBlankline++instance Pretty (InjectivityInfo l) where+  pretty (InjectivityInfo _ from to) =+    char '|' <+> pretty from <+> text "->" <+> hsep (map pretty to)++instance Pretty (ResultSig l) where+  pretty (KindSig _ kind) = text "::" <+> pretty kind+  pretty (TyVarSig _ tv)  = char '='  <+> pretty tv++instance  Pretty (Decl l) where+        pretty (TypeDecl _ dHead htype) =+                mySep ( [text "type", pretty dHead]+                        ++ [equals, pretty htype])++        pretty (DataDecl _ don context dHead constrList derives) =+                mySep ( [pretty don, maybePP pretty context, pretty dHead])++                  <+> (myVcat (zipWith (<+>) (equals : repeat (char '|'))+                                             (map pretty constrList))+                        $$$ ppIndent letIndent (map pretty derives))++        pretty (GDataDecl _ don context dHead optkind gadtList derives) =+                mySep ( [pretty don, maybePP pretty context, pretty dHead]+                        ++ ppOptKind optkind ++ [text "where"])+                        $$$ ppBody classIndent (map pretty gadtList)+                        $$$ ppIndent letIndent (map pretty derives)++        pretty (TypeFamDecl _ dHead optkind optinj) =+                mySep ([text "type", text "family", pretty dHead+                       , maybePP pretty optkind, maybePP pretty optinj])++        pretty (ClosedTypeFamDecl _ dHead optkind optinj eqns) =+                mySep ([text "type", text "family", pretty dHead+                       , maybePP pretty optkind ,maybePP pretty optinj+                       , text "where"]) $$$ ppBody classIndent (map pretty eqns)++        pretty (DataFamDecl _ context dHead optkind) =+                mySep ( [text "data", text "family", maybePP pretty context, pretty dHead+                        , maybePP pretty optkind])++        pretty (TypeInsDecl _ ntype htype) =+                mySep [text "type", text "instance", pretty ntype, equals, pretty htype]++        pretty (DataInsDecl _ don ntype constrList derives) =+                mySep [pretty don, text "instance ", pretty ntype]+                        <+> (myVcat (zipWith (<+>) (equals : repeat (char '|'))+                                                   (map pretty constrList))+                              $$$ ppIndent letIndent (map pretty derives))++        pretty (GDataInsDecl _ don ntype optkind gadtList derives) =+                mySep ( [pretty don, text "instance ", pretty ntype]+                        ++ ppOptKind optkind ++ [text "where"])+                        $$$ ppBody classIndent (map pretty gadtList)+                        $$$ ppIndent letIndent (map pretty derives)++        --m{spacing=False}+        -- special case for empty class declaration+        pretty (ClassDecl _ context dHead fundeps Nothing) =+                mySep ( [text "class", maybePP pretty context, pretty dHead+                        , ppFunDeps fundeps])+        pretty (ClassDecl _ context dHead fundeps declList) =+                mySep ( [text "class", maybePP pretty context, pretty dHead+                        , ppFunDeps fundeps, text "where"])+                $$$ ppBody classIndent (fromMaybe [] ((ppDecls False) <$> declList))++        -- m{spacing=False}+        -- special case for empty instance  declaration+        pretty (InstDecl _ moverlap iHead Nothing) =+                  mySep ( [text "instance", maybePP pretty moverlap, pretty iHead])+        pretty (InstDecl _ overlap iHead declList) =+                mySep ( [ text "instance", maybePP pretty overlap+                           , pretty iHead, text "where"])+                $$$ ppBody classIndent (fromMaybe [] ((ppDecls False) <$> declList))++        pretty (DerivDecl _ mds overlap irule) =+                  mySep ( [ text "deriving"+                          , maybePP pretty mds+                          , text "instance"+                          , maybePP pretty overlap+                          , pretty irule])+        pretty (DefaultDecl _ htypes) =+                text "default" <+> parenList (map pretty htypes)++        pretty (SpliceDecl _ splice) =+                pretty splice++        pretty (TSpliceDecl _ splice) =+                pretty splice++        pretty (TypeSig _ nameList qualType) =+                mySep ((punctuate comma . map pretty $ nameList)+                      ++ [text "::", pretty qualType])++        --  Req can be ommitted if it is empty+        --  We must print prov if req is nonempty+        pretty (PatSynSig _ ns mtvs prov mtvs2 req t) =+                let contexts = [maybePP pretty prov, ppForall mtvs2, maybePP pretty req]+                 in+                  mySep ( [text "pattern" ]+                           ++ punctuate comma (map pretty ns)+                           ++ [ text "::", ppForall mtvs] +++                          contexts ++ [pretty t] )+++        pretty (FunBind _ matches) = do+                e <- fmap layout getPPEnv+                case e of PPOffsideRule -> foldr ($$$) empty (map pretty matches)+                          _ -> hsep $ punctuate semi (map pretty matches)++        pretty (PatBind _ pat rhs whereBinds) =+                myFsep [pretty pat, pretty rhs] $$$ ppWhere whereBinds++        pretty (InfixDecl _ assoc prec opList) =+                mySep ([pretty assoc, maybePP int prec]+                       ++ (punctuate comma . map pretty $ opList))++        pretty (PatSyn _ pat rhs dir) =+                let sep = case dir of+                            ImplicitBidirectional {}   -> "="+                            ExplicitBidirectional {}   -> "<-"+                            Unidirectional {}          -> "<-"+                in+                 (mySep ([text "pattern", pretty pat, text sep, pretty rhs])) $$$+                    (case dir of+                      ExplicitBidirectional _ ds ->+                        nest 2 (text "where" $$$ ppBody whereIndent (ppDecls False ds))+                      _ -> empty)++        pretty (ForImp _ cconv saf str name typ) =+                mySep [text "foreign import", pretty cconv, maybePP pretty saf,+                       maybe empty (text . show) str, pretty name, text "::", pretty typ]++        pretty (ForExp _ cconv str name typ) =+                mySep [text "foreign export", pretty cconv,+                       text (show str), pretty name, text "::", pretty typ]++        pretty (RulePragmaDecl _ rules) =+                myVcat $ text "{-# RULES" : map pretty rules ++ [text " #-}"]++        pretty (DeprPragmaDecl _ deprs) =+                myVcat $ text "{-# DEPRECATED" : map ppWarnDepr deprs ++ [text " #-}"]++        pretty (WarnPragmaDecl _ deprs) =+                myVcat $ text "{-# WARNING" : map ppWarnDepr deprs ++ [text " #-}"]++        pretty (InlineSig _ inl activ name) =+                mySep [text (if inl then "{-# INLINE" else "{-# NOINLINE")+                      , maybePP pretty activ, pretty name, text "#-}"]++        pretty (InlineConlikeSig _ activ name) =+                mySep [ text "{-# INLINE CONLIKE", maybePP pretty activ+                      , pretty name, text "#-}"]++        pretty (SpecSig _ activ name types) =+                mySep $ [text "{-# SPECIALISE", maybePP pretty activ+                        , pretty name, text "::"]+                         ++ punctuate comma (map pretty types) ++ [text "#-}"]++        pretty (SpecInlineSig _ inl activ name types) =+                mySep $ [text "{-# SPECIALISE", text (if inl then "INLINE" else "NOINLINE"),+                        maybePP pretty activ, pretty name, text "::"]+                        ++ (punctuate comma $ map pretty types) ++ [text "#-}"]++        pretty (InstSig _ irule) =+                mySep $ [ text "{-# SPECIALISE", text "instance", pretty irule+                        , text "#-}"]++        pretty (AnnPragma _ annp) =+                mySep [text "{-# ANN", pretty annp, text "#-}"]++        pretty (MinimalPragma _ b) =+                let bs = case b of { Just b' -> pretty b'; _ -> empty }+                in myFsep [text "{-# MINIMAL", bs, text "#-}"]++        pretty (RoleAnnotDecl _ qn rs) =+                mySep ( [text "type", text "role", pretty qn]+                        ++ map pretty rs )+        pretty (CompletePragma _ cls opt_ts) =+                let cls_p = punctuate comma $ map pretty cls+                    ts_p  = maybe empty (\tc -> text "::" <+> pretty tc) opt_ts+                in myFsep $ [text "{-# COMPLETE"] ++ cls_p ++ [ts_p, text "#-}"]++instance Pretty (InstRule l) where+    pretty (IRule _ tvs mctxt qn)  =+            mySep [ppForall tvs+                  , maybePP pretty mctxt, pretty qn]+    pretty (IParen _ ih)        = parens (pretty ih)++instance  Pretty (InstHead l) where+    pretty (IHCon _ qn)          = pretty qn+    pretty (IHInfix _ ta qn)     = mySep [pretty ta, pretty qn]+    pretty (IHParen _ ih)        = parens (pretty ih)+    pretty (IHApp _ ih t)        = myFsep [pretty ih, pretty t]+++instance  Pretty (Annotation l) where+        pretty (Ann _ n e) = myFsep [pretty n, pretty e]+        pretty (TypeAnn _ n e) = myFsep [text "type", pretty n, pretty e]+        pretty (ModuleAnn _ e) = myFsep [text "module", pretty e]++instance  Pretty (BooleanFormula l) where+        pretty (VarFormula _ n)   = pretty n+        pretty (AndFormula _ bs)  = myFsep $ punctuate (text " ,") $ map pretty bs+        pretty (OrFormula _ bs)   = myFsep $ punctuate (text " |") $ map pretty bs+        pretty (ParenFormula _ b) = parens $ pretty b++instance  Pretty (Role l) where+        pretty RoleWildcard{}     = char '_'+        pretty Nominal{}          = text "nominal"+        pretty Representational{} = text "representational"+        pretty Phantom{}          = text "phantom"++instance  Pretty (DataOrNew l) where+        pretty DataType{} = text "data"+        pretty NewType{}  = text "newtype"++instance  Pretty (Assoc l) where+        pretty AssocNone{}  = text "infix"+        pretty AssocLeft{}  = text "infixl"+        pretty AssocRight{} = text "infixr"++instance  Pretty (Match l) where+        pretty (InfixMatch _ l op rs rhs wbinds) =+          let+              lhs = case rs of+                      []  -> [] -- Should never reach+                      (r:rs') ->+                        let hd = [prettyPrec 2 l, ppNameInfix op, prettyPrec 2 r]+                        in if null rs'+                            then hd+                            else parens (myFsep hd) : map (prettyPrec 3) rs'++          in myFsep (lhs ++ [pretty rhs]) $$$ ppWhere wbinds+        pretty (Match _ f ps rhs whereBinds) =+                myFsep (pretty f : map (prettyPrec 3) ps ++ [pretty rhs])+                $$$ ppWhere whereBinds++ppWhere :: Maybe (Binds l) -> Doc+ppWhere Nothing            = empty+ppWhere (Just (BDecls _ l))  = nest 2 (text "where" $$$ ppBody whereIndent (ppDecls False l))+ppWhere (Just (IPBinds _ b)) = nest 2 (text "where" $$$ ppBody whereIndent (ppDecls False b))++instance  PrettyDeclLike (ClassDecl l) where+    wantsBlankline (ClsDecl _ d) = wantsBlankline d+    wantsBlankline (ClsDefSig {}) = True+    wantsBlankline _ = False++instance  Pretty (ClassDecl l) where+    pretty (ClsDecl _ decl) = pretty decl++    pretty (ClsDataFam _ context declHead optkind) =+                mySep ( [text "data", maybePP pretty context, pretty declHead+                        , maybePP pretty optkind])++    pretty (ClsTyFam _ declHead optkind optinj) =+                mySep ( [text "type", pretty declHead+                        , maybePP pretty optkind, maybePP pretty optinj])++    pretty (ClsTyDef _ ntype) =+                mySep [text "type", pretty ntype]++    pretty (ClsDefSig _ name typ) =+                mySep [+                    text "default",+                    pretty name,+                    text "::",+                    pretty typ]++instance Pretty (DeclHead l) where+  pretty (DHead _ n) = pretty n+  pretty (DHInfix _ tv n) =  pretty tv <+> ppNameInfix n+  pretty (DHParen _ d) = parens (pretty d)+  pretty (DHApp _ dh tv) = pretty dh <+> pretty tv++++instance  PrettyDeclLike (InstDecl l) where+    wantsBlankline (InsDecl _ d) = wantsBlankline d+    wantsBlankline _ = False++instance  Pretty (InstDecl l) where+        pretty (InsDecl _ decl) = pretty decl++        pretty (InsType _ ntype htype) =+                mySep [text "type", pretty ntype, equals, pretty htype]++        pretty (InsData _ don ntype constrList derives) =+                mySep [pretty don, pretty ntype]+                        <+> (myVcat (zipWith (<+>) (equals : repeat (char '|'))+                                                   (map pretty constrList))+                              $$$ ppIndent letIndent (map pretty derives))++        pretty (InsGData _ don ntype optkind gadtList derives) =+                mySep ( [pretty don, pretty ntype]+                        ++ ppOptKind optkind ++ [text "where"])+                        $$$ ppBody classIndent (map pretty gadtList)+                        $$$ ppIndent letIndent (map pretty derives)++--        pretty (InsInline loc inl activ name) =+--                markLine loc $+--                mySep [text (if inl then "{-# INLINE" else "{-# NOINLINE"), pretty activ, pretty name, text "#-}"]+++------------------------- FFI stuff -------------------------------------+instance  Pretty (Safety l) where+        pretty PlayRisky {}        = text "unsafe"+        pretty (PlaySafe _ b)      = text $ if b then "threadsafe" else "safe"+        pretty PlayInterruptible {} = text "interruptible"++instance  Pretty (CallConv l) where+        pretty StdCall {}    = text "stdcall"+        pretty CCall {}     = text "ccall"+        pretty CPlusPlus {}  = text "cplusplus"+        pretty DotNet {}     = text "dotnet"+        pretty Jvm {}        = text "jvm"+        pretty Js {}         = text "js"+        pretty JavaScript {} = text "javascript"+        pretty CApi {}       = text "capi"++------------------------- Pragmas ---------------------------------------+ppWarnDepr :: ([Name l], String) -> Doc+ppWarnDepr (names, txt) = mySep $ punctuate comma (map pretty names) ++ [text $ show txt]++instance  Pretty (Rule l) where+        pretty (Rule _ tag activ rvs rhs lhs) =+            mySep [text $ show tag, maybePP pretty activ,+                        maybePP ppRuleVars rvs,+                        pretty rhs, char '=', pretty lhs]++ppRuleVars :: [RuleVar l] -> Doc+ppRuleVars []  = empty+ppRuleVars rvs = mySep $ text "forall" : map pretty rvs ++ [char '.']++instance  Pretty (Activation l) where+    pretty (ActiveFrom _ i)  = char '['  <> int i <> char ']'+    pretty (ActiveUntil _ i) = text "[~" <> int i <> char ']'++instance  Pretty (Overlap l) where+    pretty Overlap {}   = text "{-# OVERLAP #-}"+    pretty Overlaps {}   = text "{-# OVERLAPS #-}"+    pretty Overlapping {}   = text "{-# OVERLAPPING #-}"+    pretty Overlappable {}   = text "{-# OVERLAPPABLE #-}"+    pretty NoOverlap {}  = text "{-# NO_OVERLAP #-}"+    pretty Incoherent {} = text "{-# INCOHERENT #-}"++instance  Pretty (RuleVar l) where+    pretty (RuleVar _ n) = pretty n+    pretty (TypedRuleVar _ n t) = parens $ mySep [pretty n, text "::", pretty t]++-- Spaces are stripped from the pragma text but other whitespace+-- is not.+ppOptionsPragma :: Doc -> String -> Doc+ppOptionsPragma opt s =+  case s of+    ('\n':_) -> opt <> text s <> text "#-}"+    _ ->  myFsep [opt, text s <> text "#-}"]++instance  Pretty (ModulePragma l) where+    pretty (LanguagePragma _ ns) =+        myFsep $ text "{-# LANGUAGE" : punctuate (char ',') (map pretty ns) ++ [text "#-}"]+    pretty (OptionsPragma _ (Just tool) s) =+        ppOptionsPragma (text "{-# OPTIONS_" <> pretty tool) s+    pretty (OptionsPragma _ _ s) =+        ppOptionsPragma (text "{-# OPTIONS") s+    pretty (AnnModulePragma _ mann) =+        myFsep [text "{-# ANN", pretty mann, text "#-}"]+++instance Pretty Tool where+    pretty (UnknownTool s) = text s+    pretty t               = text $ show t++------------------------- Data & Newtype Bodies -------------------------+instance  Pretty (QualConDecl l) where+        pretty (QualConDecl _pos tvs ctxt con) =+                myFsep [ppForall tvs, maybePP pretty ctxt, pretty con]++instance  Pretty (GadtDecl l) where+        pretty (GadtDecl _pos name tvs ctxt names ty) =+            case names of+                Nothing ->+                    myFsep [pretty name, text "::", pretty ty]+                Just ts' ->+                    myFsep [pretty name, text "::" , ppForall tvs, maybePP pretty ctxt,+                         braceList . map pretty $ ts', text "->", pretty ty]++instance  Pretty (ConDecl l) where+        pretty (RecDecl _ name fieldList) =+                pretty name <> braceList (map pretty fieldList)++{-        pretty (ConDecl name@(Symbol _) [l, r]) =+                myFsep [prettyPrec prec_btype l, ppName name,+                        prettyPrec prec_btype r] -}+        pretty (ConDecl _ name typeList) =+                mySep $ pretty name : map (prettyPrec prec_atype) typeList+        pretty (InfixConDecl _ l name r) =+                myFsep [prettyPrec prec_btype l, ppNameInfix name,+                         prettyPrec prec_btype r]+++instance Pretty (FieldDecl l) where+  pretty (FieldDecl _ names ty) =+        myFsepSimple $ (punctuate comma . map pretty $ names) +++                       [text "::", pretty ty]++instance  Pretty (BangType l) where+        pretty BangedTy {}  = char '!'+        pretty LazyTy {}    = char '~'+        pretty NoStrictAnnot {} = empty++instance Pretty (Unpackedness l) where+        pretty Unpack {}  = text "{-# UNPACK #-} "+        pretty NoUnpack {} = text "{-# NOUNPACK #-} "+        pretty NoUnpackPragma {} = empty++instance Pretty (Deriving l) where+  pretty (Deriving _ mds d) =+    hsep [ text "deriving"+         , pp_strat_before+         , pp_dct+         , pp_strat_after ]+    where+      pp_dct =+        case d of+          [d'] -> pretty d'+          _    -> parenList (map pretty d)++      -- @via@ is unique in that in comes /after/ the class being derived,+      -- so we must special-case it.+      (pp_strat_before, pp_strat_after) =+        case mds of+          Just (via@DerivVia{}) -> (empty, pretty via)+          _                     -> (maybePP pretty mds, empty)++instance Pretty (DerivStrategy l) where+  pretty ds =+    case ds of+      DerivStock _    -> text "stock"+      DerivAnyclass _ -> text "anyclass"+      DerivNewtype _  -> text "newtype"+      DerivVia _ ty   -> text "via" <+> pretty ty++------------------------- Types -------------------------+ppBType :: Type l -> Doc+ppBType = prettyPrec prec_btype++ppAType :: Type l -> Doc+ppAType = prettyPrec prec_atype++-- precedences for types+prec_btype, prec_atype :: Int+prec_btype = 1  -- left argument of ->,+                -- or either argument of an infix data constructor+prec_atype = 2  -- argument of type or data constructor, or of a class++instance  Pretty (Type l) where+        prettyPrec p (TyForall _ mtvs ctxt htype) = parensIf (p > 0) $+                myFsep [ppForall mtvs, maybePP pretty ctxt, pretty htype]+        prettyPrec _ (TyStar _) = text "*"+        prettyPrec p (TyFun _ a b) = parensIf (p > 0) $+                myFsep [ppBType a, text "->", pretty b]+        prettyPrec _ (TyTuple _ bxd l) =+                let ds = map pretty l+                 in case bxd of+                        Boxed   -> parenList ds+                        Unboxed -> hashParenList ds+        prettyPrec _ (TyUnboxedSum _ es) = unboxedSumType (map pretty es)++        prettyPrec _ (TyList _ t)  = brackets $ pretty t+        prettyPrec _ (TyParArray _ t) = bracketColonList [pretty t]+        prettyPrec p (TyApp _ a b) =+                {-+                | a == list_tycon = brackets $ pretty b         -- special case+                | otherwise = -} parensIf (p > prec_btype) $+                                    myFsep [pretty a, ppAType b]+        prettyPrec _ (TyVar _ name) = pretty name+        prettyPrec _ (TyCon _ name) = pretty name+        prettyPrec _ (TyParen _ t) = parens (pretty t)+        prettyPrec _ (TyInfix _ a op b) = myFsep [pretty a, pretty op, pretty b]+        prettyPrec _ (TyKind _ t k) = parens (myFsep [pretty t, text "::", pretty k])+        prettyPrec _ (TyPromoted _ p) = pretty p+        prettyPrec p (TyEquals _ a b) = parensIf (p > 0) (myFsep [pretty a, text "~", pretty b])+        prettyPrec _ (TySplice _ s) = pretty s+        prettyPrec _ (TyBang _ b u t) = pretty u <> pretty b <> prettyPrec prec_atype t+        prettyPrec _ (TyWildCard _ mn) = char '_' <> maybePP pretty mn+        prettyPrec _ (TyQuasiQuote _ n qt) = text ("[" ++ n ++ "|" ++ qt ++ "|]")++instance Pretty (MaybePromotedName l) where+  pretty (PromotedName _ q) = char '\'' <> ppQNameInfix q+  pretty (UnpromotedName _ q) = ppQNameInfix q+++instance  Pretty (Promoted l) where+  pretty p =+    case p of+      PromotedInteger _ n _ -> integer n+      PromotedString _ s _ -> doubleQuotes $ text s+      PromotedCon _ hasQuote qn ->+        addQuote hasQuote (pretty qn)+      PromotedList _ hasQuote list ->+        addQuote hasQuote $ brackets . addSpace list . prettyList $ list+      PromotedTuple _ list ->+        addQuote True $ parens . addSpace list . prettyList $ list+      PromotedUnit {} -> addQuote True $ text "()"+    where+      addQuote True doc = char '\'' <> doc+      addQuote False doc = doc++      checkQuote (PromotedCon _ q _) = q+      checkQuote (PromotedList _ q _) = q+      checkQuote (PromotedTuple _ _) = True+      checkQuote _ = False++      addSpace (TyPromoted _ l0:_) | checkQuote l0 = (space <>)+      addSpace _ = id++      prettyList = myFsepSimple . punctuate comma . map pretty+++instance  Pretty (TyVarBind l) where+        pretty (KindedVar _ var kind) = parens $ myFsep [pretty var, text "::", pretty kind]+        pretty (UnkindedVar _ var)    = pretty var++ppForall :: Maybe [TyVarBind l] -> Doc+ppForall Nothing   = empty+ppForall (Just []) = empty+ppForall (Just vs) =    myFsep (text "forall" : map pretty vs ++ [char '.'])++---------------------------- Kinds ----------------------------++ppOptKind :: Maybe (Kind l) -> [Doc]+ppOptKind Nothing  = []+ppOptKind (Just k) = [text "::", pretty k]++------------------- Functional Dependencies -------------------+instance  Pretty (FunDep l) where+        pretty (FunDep _ from to) =+                myFsep $ map pretty from ++ [text "->"] ++ map pretty to+++ppFunDeps :: [FunDep l] -> Doc+ppFunDeps []  = empty+ppFunDeps fds = myFsep $ (char '|':) . punctuate comma . map pretty $ fds++------------------------- Expressions -------------------------+instance  Pretty (Rhs l) where+        pretty (UnGuardedRhs _ e) = equals <+> pretty e+        pretty (GuardedRhss _ guardList) = myVcat . map pretty $ guardList++instance  Pretty (GuardedRhs l) where+        pretty (GuardedRhs _pos guards ppBody') =+                myFsep $ [char '|'] ++ (punctuate comma . map pretty $ guards) ++ [equals, pretty ppBody']++newtype GuardedAlts l = GuardedAlts (Rhs l)+newtype GuardedAlt l = GuardedAlt (GuardedRhs l)++instance  Pretty (GuardedAlts l) where+        pretty (GuardedAlts (UnGuardedRhs _ e)) = text "->" <+> pretty e+        pretty (GuardedAlts (GuardedRhss _ guardList)) = myVcat . map (pretty . GuardedAlt) $ guardList++instance  Pretty (GuardedAlt l) where+        pretty (GuardedAlt (GuardedRhs _pos guards ppBody')) =+                myFsep $ [char '|'] ++ (punctuate comma . map pretty $ guards) ++ [text "->", pretty ppBody']++instance  Pretty (Literal l) where+        pretty (Int _ i _)        = integer i+        pretty (Char _ c _)       = text (show c)+        pretty (String _ s _)     = text (show s)+        pretty (Frac _ r _)       = double (fromRational r)+        -- GHC unboxed literals:+        pretty (PrimChar _ c _)   = text (show c)           <> char '#'+        pretty (PrimString _ s _) = text (show s)           <> char '#'+        pretty (PrimInt _ i _)    = integer i               <> char '#'+        pretty (PrimWord _ w _)   = integer w               <> text "##"+        pretty (PrimFloat _ r _)  = float  (fromRational r) <> char '#'+        pretty (PrimDouble _ r _) = double (fromRational r) <> text "##"++instance  Pretty (Exp l) where+        prettyPrec _ (Lit _ l) = pretty l+        -- lambda stuff+        -- WARNING: This stuff is fragile. See #152 for one example of how+        -- things can break.+        prettyPrec p (InfixApp _ a op b) = parensIf (p > 2) $ myFsep [prettyPrec 1 a, pretty op, prettyPrec 1 b]+        prettyPrec p (NegApp _ e) = parensIf (p > 0) $ char '-' <> prettyPrec 2 e+        prettyPrec p (App _ a b) = parensIf (p > 3) $ myFsep [prettyPrec 3 a, prettyPrec 4 b]+        prettyPrec p (Lambda _loc patList ppBody') = parensIf (p > 1) $ myFsep $+                char '\\' : map (prettyPrec 3) patList ++ [text "->", pretty ppBody']+        -- keywords+        -- two cases for lets+        prettyPrec p (Let _ (BDecls _ declList) letBody) =+                parensIf (p > 1) $ ppLetExp declList letBody+        prettyPrec p (Let _ (IPBinds _ bindList) letBody) =+                parensIf (p > 1) $ ppLetExp bindList letBody++        prettyPrec p (If _ cond thenexp elsexp) = parensIf (p > 1) $+                myFsep [text "if", pretty cond,+                        text "then", pretty thenexp,+                        text "else", pretty elsexp]+        prettyPrec p (MultiIf _ alts) = parensIf (p > 1) $+                text "if"+                $$$ ppBody multiIfIndent (map (pretty . GuardedAlt) alts)+        prettyPrec p (Case _ cond altList) = parensIf (p > 1) $+                myFsep ([text "case", pretty cond, text "of"] +++                       if null altList then [text "{", text "}"] else [])+                $$$ ppBody caseIndent (map pretty altList)+        prettyPrec p (Do _ stmtList) = parensIf (p > 1) $+                text "do" $$$ ppBody doIndent (map pretty stmtList)+        prettyPrec p (MDo _ stmtList) = parensIf (p > 1) $+                text "mdo" $$$ ppBody doIndent (map pretty stmtList)+        -- Constructors & Vars+        prettyPrec _ (Var _ name) = pretty name+        prettyPrec _ (OverloadedLabel _ name) = text ('#':name)+        prettyPrec _ (IPVar _ ipname) = pretty ipname+        prettyPrec _ (Con _ name) = pretty name+        prettyPrec _ (Tuple _ bxd expList) =+                let ds = map pretty expList+                in case bxd of+                       Boxed   -> parenList ds+                       Unboxed -> hashParenList ds+        prettyPrec _ (UnboxedSum _ before after exp) =+          printUnboxedSum before after exp+        prettyPrec _ (TupleSection _ bxd mExpList) =+                let ds = map (maybePP pretty) mExpList+                in case bxd of+                       Boxed   -> parenList ds+                       Unboxed -> hashParenList ds+        -- weird stuff+        prettyPrec _ (Paren _ e) = parens . pretty $ e+        prettyPrec _ (LeftSection _ e op) = parens (pretty e <+> pretty op)+        prettyPrec _ (RightSection _ op e) = parens (pretty op <+> pretty e)+        prettyPrec _ (RecConstr _ c fieldList) =+                pretty c <> (braceList . map pretty $ fieldList)+        prettyPrec _ (RecUpdate _ e fieldList) =+                pretty e <> (braceList . map pretty $ fieldList)+        -- Lists and parallel arrays+        prettyPrec _ (List _ list) =+                bracketList . punctuate comma . map pretty $ list+        prettyPrec _ (ParArray _ arr) =+                bracketColonList . map pretty $ arr+        prettyPrec _ (EnumFrom _ e) =+                bracketList [pretty e, text ".."]+        prettyPrec _ (EnumFromTo _ from to) =+                bracketList [pretty from, text "..", pretty to]+        prettyPrec _ (EnumFromThen _ from thenE) =+                bracketList [pretty from <> comma, pretty thenE, text ".."]+        prettyPrec _ (EnumFromThenTo _ from thenE to) =+                bracketList [pretty from <> comma, pretty thenE,+                             text "..", pretty to]+        prettyPrec _ (ParArrayFromTo _ from to) =+                bracketColonList [pretty from, text "..", pretty to]+        prettyPrec _ (ParArrayFromThenTo _ from thenE to) =+                bracketColonList [pretty from <> comma, pretty thenE,+                             text "..", pretty to]+        prettyPrec _ (ListComp _ e qualList) =+                bracketList ([pretty e, char '|']+                             ++ (punctuate comma . map pretty $ qualList))+        prettyPrec _ (ParComp _ e qualLists) =+                bracketList (punctuate (char '|') $+                                pretty e : map (hsep . punctuate comma . map pretty) qualLists)+        prettyPrec _ (ParArrayComp _ e qualArrs) =+                bracketColonList (punctuate (char '|') $+                                pretty e : map (hsep . punctuate comma . map pretty) qualArrs)+        prettyPrec p (ExpTypeSig _pos e ty) = parensIf (p > 0) $+                myFsep [pretty e, text "::", pretty ty]+        -- Template Haskell+        prettyPrec _ (BracketExp _ b) = pretty b+        prettyPrec _ (SpliceExp _ s) = pretty s+        prettyPrec _ (TypQuote _ t)  = text "\'\'" <> pretty t+        prettyPrec _ (VarQuote _ x)  = text "\'" <> pretty x+        prettyPrec _ (QuasiQuote _ n qt) = text ("[" ++ n ++ "|" ++ qt ++ "|]")+        -- Hsx+        prettyPrec _ (XTag _ n attrs mattr cs) =+                let ax = maybe [] (return . pretty) mattr+                 in hcat $+                     (myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [char '>']):+                        map pretty cs ++ [myFsep [text "</" <> pretty n, char '>']]+        prettyPrec _ (XETag _ n attrs mattr) =+                let ax = maybe [] (return . pretty) mattr+                 in myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [text "/>"]+        prettyPrec _ (XPcdata _ s) = text s+        prettyPrec _ (XExpTag _ e) =+                myFsep [text "<%", pretty e, text "%>"]+        prettyPrec _ (XChildTag _ cs) =+                myFsep $ text "<%>" : map pretty cs ++ [text "</%>"]++        -- Pragmas+        prettyPrec _ (CorePragma _ s e) = myFsep $ map text ["{-# CORE", show s, "#-}"] ++ [pretty e]+        prettyPrec _ (SCCPragma  _ s e) = myFsep $ map text ["{-# SCC",  show s, "#-}"] ++ [pretty e]+        prettyPrec _ (GenPragma  _ s (a,b) (c,d) e) =+                myFsep [text "{-# GENERATED", text $ show s,+                            int a, char ':', int b, char '-',+                            int c, char ':', int d, text "#-}", pretty e]+        -- Arrows+        prettyPrec p (Proc _ pat e) = parensIf (p > 1) $ myFsep [text "proc", pretty pat, text "->", pretty e]+        prettyPrec p (LeftArrApp _ l r)      = parensIf (p > 0) $ myFsep [pretty l, text "-<",  pretty r]+        prettyPrec p (RightArrApp _ l r)     = parensIf (p > 0) $ myFsep [pretty l, text ">-",  pretty r]+        prettyPrec p (LeftArrHighApp _ l r)  = parensIf (p > 0) $ myFsep [pretty l, text "-<<", pretty r]+        prettyPrec p (RightArrHighApp _ l r) = parensIf (p > 0) $ myFsep [pretty l, text ">>-", pretty r]+        prettyPrec _ (ArrOp _ e) = myFsep [text "(|", pretty e, text "|)"]++        -- LamdaCase+        prettyPrec p (LCase _ altList) = parensIf (p > 1) $+                myFsep (text "\\case":+                       if null altList then [text "{", text "}"] else [])+                $$$ ppBody caseIndent (map pretty altList)+        prettyPrec _ (TypeApp _ ty)   = char '@' <> pretty ty++printUnboxedSum :: Pretty e => Int -> Int -> e -> Doc+printUnboxedSum before after exp =+          hashParens . myFsep $ (replicate before (text "|")+                                ++ [pretty exp]+                                ++ (replicate after (text "|")))+++instance  Pretty (XAttr l) where+        pretty (XAttr _ n v) =+                myFsep [pretty n, char '=', pretty v]++instance  Pretty (XName l) where+        pretty (XName _ n) = text n+        pretty (XDomName _ d n) = text d <> char ':' <> text n++ppLetExp :: (PrettyDeclLike a, Pretty b) => [a] -> b -> Doc+ppLetExp l b = myFsep [text "let" <+> ppBody letIndent (ppDecls False l),+                        text "in", pretty b]++--------------------- Template Haskell -------------------------++instance  Pretty (Bracket l) where+        pretty (ExpBracket _ e) = ppBracket "[|" e+        pretty (TExpBracket _ e) = myFsep [text "[||", pretty e, text "||]"]+        pretty (PatBracket _ p) = ppBracket "[p|" p+        pretty (TypeBracket _ t) = ppBracket "[t|" t+        pretty (DeclBracket _ d) =+                myFsep $ text "[d|" : ppDecls True d ++ [text "|]"]++ppBracket :: Pretty a => String -> a -> Doc+ppBracket o x = myFsep [text o, pretty x, text "|]"]++instance  Pretty (Splice l) where+        pretty (IdSplice _ s) = char '$' <> text s+        pretty (TIdSplice _ s) = char '$' <> char '$' <> text s+        pretty (TParenSplice _ e) =+                myFsep [text "$$(", pretty e, char ')']+        pretty (ParenSplice _ e) =+                myFsep [text "$(", pretty e, char ')']++------------------------- Patterns -----------------------------++instance  Pretty (Pat l) where+        prettyPrec _ (PVar _ name) = pretty name+        prettyPrec _ (PLit _ (Signless {}) lit) = pretty lit+        prettyPrec p (PLit _ (Negative{}) lit) = parensIf (p > 1) $ char '-' <> pretty lit+        prettyPrec p (PInfixApp l a op b) = parensIf (p > 0) $+                myFsep [prettyPrec 1 a, pretty (QConOp l op), prettyPrec 1 b]+        prettyPrec p (PApp _ n ps) = parensIf (p > 2 && not (null ps)) $+                myFsep (pretty n : map (prettyPrec 3) ps)+        prettyPrec _ (PTuple _ bxd ps) =+                let ds = map pretty ps+                in case bxd of+                       Boxed   -> parenList ds+                       Unboxed -> hashParenList ds+        prettyPrec _ (PUnboxedSum _ before after exp) =+          printUnboxedSum before after exp+        prettyPrec _ (PList _ ps) =+                bracketList . punctuate comma . map pretty $ ps+        prettyPrec _ (PParen _ pat) = parens . pretty $ pat+        prettyPrec _ (PRec _ c fields) =+                pretty c <> (braceList . map pretty $ fields)+        -- special case that would otherwise be buggy+        prettyPrec _ (PAsPat _ name (PIrrPat _ pat)) =+                myFsep [pretty name <> char '@', char '~' <> prettyPrec 3 pat]+        prettyPrec _ (PAsPat _ name pat) =+                hcat [pretty name, char '@', prettyPrec 3 pat]+        prettyPrec _ PWildCard {} = char '_'+        prettyPrec _ (PIrrPat _ pat) = char '~' <> prettyPrec 3 pat+        prettyPrec p (PatTypeSig _pos pat ty) = parensIf (p > 0) $+                myFsep [pretty pat, text "::", pretty ty]+        prettyPrec p (PViewPat _ e pat) = parensIf (p > 0) $+                myFsep [pretty e, text "->", pretty pat]+        prettyPrec p (PNPlusK _ n k) = parensIf (p > 0) $+                myFsep [pretty n, text "+", text $ show k]+        -- HaRP+        prettyPrec _ (PRPat _ rs) =+                bracketList . punctuate comma . map pretty $ rs+        -- Hsx+        prettyPrec _ (PXTag _ n attrs mattr cp) =+            let ap = maybe [] (return . pretty) mattr+             in hcat $ -- TODO: should not introduce blanks+                  (myFsep $ (char '<' <> pretty n): map pretty attrs ++ ap ++ [char '>']):+                    map pretty cp ++ [myFsep [text "</" <> pretty n, char '>']]+        prettyPrec _ (PXETag _ n attrs mattr) =+                let ap = maybe [] (return . pretty) mattr+                 in myFsep $ (char '<' <> pretty n): map pretty attrs ++ ap ++ [text "/>"]+        prettyPrec _ (PXPcdata _ s) = text s+        prettyPrec _ (PXPatTag _ p) =+                myFsep [text "<%", pretty p, text "%>"]+        prettyPrec _ (PXRPats _ ps) =+                myFsep $ text "<[" : map pretty ps ++ [text "%>"]+        -- BangPatterns+        prettyPrec _ (PBangPat _ pat) = text "!" <> prettyPrec 3 pat+        prettyPrec _ (PSplice _ s) = pretty s+        prettyPrec _ (PQuasiQuote _ n qt) = text ("[$" ++ n ++ "|" ++ qt ++ "|]")++instance  Pretty (PXAttr l) where+        pretty (PXAttr _ n p) =+                myFsep [pretty n, char '=', pretty p]++instance  Pretty (PatField l) where+        pretty (PFieldPat _ name pat) =+                myFsep [pretty name, equals, pretty pat]+        pretty (PFieldPun _ name) = pretty name+        pretty (PFieldWildcard{}) = text ".."++--------------------- Regular Patterns -------------------------++instance  Pretty (RPat l) where+        pretty (RPOp _ r op) = pretty r <> pretty op+        pretty (RPEither _ r1 r2) = parens . myFsep $+                [pretty r1, char '|', pretty r2]+        pretty (RPSeq _ rs) =+                myFsep $ text "(|" : (punctuate comma . map pretty $ rs)+                           ++ [text "|)"]+        pretty (RPGuard _ r gs) =+                myFsep $ text "(|" : pretty r : char '|' :+                           (punctuate comma . map pretty $ gs) ++ [text "|)"]+        -- special case that would otherwise be buggy+        pretty (RPCAs _ n (RPPat _ (PIrrPat _ p))) =+                myFsep [pretty n <> text "@:", char '~' <> pretty p]+        pretty (RPCAs _ n r) = hcat [pretty n, text "@:", pretty r]+        -- special case that would otherwise be buggy+        pretty (RPAs _ n (RPPat _ (PIrrPat _ p))) =+                myFsep [pretty n <> text "@:", char '~' <> pretty p]+        pretty (RPAs _ n r) = hcat [pretty n, char '@', pretty r]+        pretty (RPPat _ p) = pretty p+        pretty (RPParen _ rp) = parens . pretty $ rp++instance  Pretty (RPatOp l) where+        pretty RPStar{}  = char '*'+        pretty RPStarG{} = text "*!"+        pretty RPPlus{}  = char '+'+        pretty RPPlusG{} = text "+!"+        pretty RPOpt{}   = char '?'+        pretty RPOptG{}  = text "?!"++------------------------- Case bodies  -------------------------+instance  Pretty (Alt l) where+        pretty (Alt _pos e gAlts binds) =+                pretty e <+> pretty (GuardedAlts gAlts) $$$ ppWhere binds++------------------------- Statements in monads, guards & list comprehensions -----+instance  Pretty (Stmt l) where+        pretty (Generator _loc e from) =+                pretty e <+> text "<-" <+> pretty from+        pretty (Qualifier _ e) = pretty e+        -- two cases for lets+        pretty (LetStmt _ (BDecls _ declList)) =+                ppLetStmt declList+        pretty (LetStmt _ (IPBinds _ bindList)) =+                ppLetStmt bindList+        pretty (RecStmt _ stmtList) =+                text "rec" $$$ ppBody letIndent (map pretty stmtList)++ppLetStmt :: Pretty a => [a] -> Doc+ppLetStmt l = text "let" $$$ ppBody letIndent (map pretty l)++instance  Pretty (QualStmt l) where+        pretty (QualStmt _ s) = pretty s+        pretty (ThenTrans _ f)    = myFsep [text "then", pretty f]+        pretty (ThenBy _ f e)  = myFsep [text "then", pretty f, text "by", pretty e]+        pretty (GroupBy _ e)    = myFsep [text "then", text "group", text "by", pretty e]+        pretty (GroupUsing _ f)    = myFsep [text "then", text "group", text "using", pretty f]+        pretty (GroupByUsing _ e f)  = myFsep [text "then", text "group", text "by",+                                                pretty e, text "using", pretty f]++++------------------------- Record updates+instance  Pretty (FieldUpdate l) where+        pretty (FieldUpdate _ name e) =+                myFsep [pretty name, equals, pretty e]+        pretty (FieldPun _ name) = pretty name+        pretty (FieldWildcard {}) = text ".."++------------------------- Names -------------------------+instance  Pretty (QOp l) where+        pretty (QVarOp _ n) = ppQNameInfix n+        pretty (QConOp _ n) = ppQNameInfix n++ppQNameInfix :: QName l -> Doc+ppQNameInfix name+        | isSymbolQName name = ppQName name+        | otherwise = char '`' <> ppQName name <> char '`'++instance  Pretty (QName l) where+        pretty name = case name of+                UnQual _ (Symbol _ ('#':_)) -> char '(' <+> ppQName name <+> char ')'+                _ -> parensIf (isSymbolQName name) (ppQName name)++ppQName :: QName l -> Doc+ppQName (UnQual _ name) = ppName name+ppQName (Qual _ m name) = pretty m <> char '.' <> ppName name+ppQName (Special _ sym) = pretty sym++instance  Pretty (Op l) where+        pretty (VarOp _ n) = ppNameInfix n+        pretty (ConOp _ n) = ppNameInfix n++ppNameInfix :: Name l -> Doc+ppNameInfix name+        | isSymbolName name = ppName name+        | otherwise = char '`' <> ppName name <> char '`'++instance  Pretty (Name l) where+        pretty name = case name of+                Symbol _ ('#':_) -> char '(' <+> ppName name <+> char ')'+                _ -> parensIf (isSymbolName name) (ppName name)++ppName :: Name l -> Doc+ppName (Ident _ s) = text s+ppName (Symbol _ s) = text s++instance  Pretty (IPName l) where+        pretty (IPDup _ s) = char '?' <> text s+        pretty (IPLin _ s) = char '%' <> text s++instance  PrettyDeclLike (IPBind l) where+  wantsBlankline _ = False++instance  Pretty (IPBind l) where+        pretty (IPBind _loc ipname exp) =+                myFsep [pretty ipname, equals, pretty exp]++instance  Pretty (CName l) where+        pretty (VarName _ n) = pretty n+        pretty (ConName _ n) = pretty n++instance Pretty (SpecialCon l) where+        pretty (UnitCon {})         = text "()"+        pretty (ListCon {})         = text "[]"+        pretty (FunCon  {})         = text "->"+        pretty (TupleCon _ b n)   = listFun $ foldr (<>) empty (replicate (n-1) comma)+          where listFun = if b == Unboxed then hashParens else parens+        pretty (Cons {})             = text ":"+        pretty (UnboxedSingleCon {}) = text "(# #)"+        pretty (ExprHole {}) = text "_"++isSymbolName :: Name l -> Bool+isSymbolName (Symbol {}) = True+isSymbolName _ = False++isSymbolQName :: QName l -> Bool+isSymbolQName (UnQual _ n)       = isSymbolName n+isSymbolQName (Qual _ _ n)       = isSymbolName n+isSymbolQName (Special _ (Cons {}))   = True+isSymbolQName (Special _ (FunCon {})) = True+isSymbolQName _                  = False++--getSpecialName :: QName l -> Maybe (SpecialCon l)+--getSpecialName (Special _ n) = Just n+--getSpecialName _           = Nothing++-- Contexts are "sets" of assertions. Several members really means it's a+-- CxTuple, but we can't represent that in our list of assertions.+-- Therefore: print single member contexts without parenthesis, and treat+--            larger contexts as tuples.+instance (Pretty (Context l)) where+  pretty (CxEmpty _)      = text "()" <+> text "=>"+  pretty (CxSingle _ ctxt)  = pretty ctxt <+> text "=>"+  pretty (CxTuple _ context) = mySep [parenList (map pretty context), text "=>"]++instance  Pretty (Asst l) where+        pretty (TypeA _ t)       = pretty t+        pretty (IParam _ i t)    = myFsep [pretty i, text "::", pretty t]+        pretty (ParenA _ a)      = parens (pretty a)++-- Pretty print a source location, useful for printing out error messages+instance Pretty SrcLoc where+  pretty srcLoc =+    return $ P.hcat [ colonFollow (P.text $ srcFilename srcLoc)+                    , colonFollow (P.int  $ srcLine     srcLoc)+                    , P.int $ srcColumn srcLoc+                    ]++colonFollow :: P.Doc -> P.Doc+colonFollow p = P.hcat [ p, P.colon ]+++instance Pretty SrcSpan where+    pretty srcSpan =+        return $ P.hsep [ colonFollow (P.text $ srcSpanFilename srcSpan)+                        , P.hcat [ P.text "("+                                 , P.int $ srcSpanStartLine srcSpan+                                 , P.colon+                                 , P.int $ srcSpanStartColumn srcSpan+                                 , P.text ")"+                                 ]+                        , P.text "-"+                        , P.hcat [ P.text "("+                                 , P.int $ srcSpanEndLine srcSpan+                                 , P.colon+                                 , P.int $ srcSpanEndColumn srcSpan+                                 , P.text ")"+                                 ]+                        ]++---------------------------------------------------------------------+-- Annotated version+++-------------------------  Pretty-Print a Module --------------------+instance Pretty (Module pos) where+        pretty (Module _ mbHead os imp decls) =+                myVcat $ map pretty os +++                    (case mbHead of+                        Nothing -> id+                        Just h  -> \x -> [topLevel (pretty h) x])+                    (map pretty imp +++                         ppDecls (isJust mbHead ||+                                  not (null imp) ||+                                  not (null os))+                           decls)+        pretty (XmlPage _ _mn os n attrs mattr cs) =+                myVcat $ map pretty os +++                    [let ax = maybe [] (return . pretty) mattr+                      in hcat $+                         (myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [char '>']):+                            map pretty cs ++ [myFsep [text "</" <> pretty n, char '>']]]+        pretty (XmlHybrid _ mbHead os imp decls n attrs mattr cs) =+                myVcat $ map pretty os ++ [text "<%"] +++                    (case mbHead of+                        Nothing -> id+                        Just h  -> \x -> [topLevel (pretty h) x])+                    (map pretty imp +++                      ppDecls (isJust mbHead || not (null imp) || not (null os)) decls +++                        [let ax = maybe [] (return . pretty) mattr+                          in hcat $+                             (myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [char '>']):+                                map pretty cs ++ [myFsep [text "</" <> pretty n, char '>']]])++++------------------------- pp utils -------------------------+maybePP :: (a -> Doc) -> Maybe a -> Doc+maybePP _  Nothing = empty+maybePP pp (Just a) = pp a++parenList :: [Doc] -> Doc+parenList = parens . myFsepSimple . punctuate comma++hashParenList :: [Doc] -> Doc+hashParenList = hashParens . myFsepSimple . punctuate comma++unboxedSumType :: [Doc] -> Doc+unboxedSumType = hashParens . myFsepSimple . punctuate (text " |")++hashParens :: Doc -> Doc+hashParens = parens . hashes+  where+    hashes doc = char '#' <+> doc <+> char '#'++braceList :: [Doc] -> Doc+braceList = braces . myFsepSimple . punctuate comma++bracketList :: [Doc] -> Doc+bracketList = brackets . myFsepSimple++bracketColonList :: [Doc] -> Doc+bracketColonList = bracketColons . myFsepSimple+    where bracketColons = brackets . colons+          colons doc = char ':' <> doc <> char ':'++-- Wrap in braces and semicolons, with an extra space at the start in+-- case the first doc begins with "-", which would be scanned as {-+flatBlock :: [Doc] -> Doc+flatBlock = braces . (space <>) . hsep . punctuate semi++-- Same, but put each thing on a separate line+prettyBlock :: [Doc] -> Doc+prettyBlock = braces . (space <>) . vcat . punctuate semi++-- Monadic PP Combinators -- these examine the env++blankline :: Doc -> Doc+blankline dl = do{e<-getPPEnv;if spacing e && layout e /= PPNoLayout+                              then text "" $+$ dl else dl}+topLevel :: Doc -> [Doc] -> Doc+topLevel header dl = do+         e <- fmap layout getPPEnv+         case e of+             PPOffsideRule -> header $$ vcat dl+             PPSemiColon -> header $$ prettyBlock dl+             PPInLine -> header $$ prettyBlock dl+             PPNoLayout -> header <+> flatBlock dl++ppBody :: (PPHsMode -> Int) -> [Doc] -> Doc+ppBody f dl = do+         e <- fmap layout getPPEnv+         case e of PPOffsideRule -> indent+                   PPSemiColon   -> indentExplicit+                   _ -> flatBlock dl+                   where+                   indent  = do{i <-fmap f getPPEnv;nest i . vcat $ dl}+                   indentExplicit = do {i <- fmap f getPPEnv;+                           nest i . prettyBlock $ dl}++-- | Indent without braces. Useful for deriving clauses etc.+ppIndent :: (PPHsMode -> Int) -> [Doc] -> Doc+ppIndent f dl = do+            i <- fmap f getPPEnv+            nest i . vcat $ dl++($$$) :: Doc -> Doc -> Doc+a $$$ b = layoutChoice (a $$) (a <+>) b++mySep :: [Doc] -> Doc+mySep = layoutChoice mySep' hsep+        where+        -- ensure paragraph fills with indentation.+        mySep' [x]    = x+        mySep' (x:xs) = x <+> fsep xs+        mySep' []     = error "Internal error: mySep"++myVcat :: [Doc] -> Doc+myVcat = layoutChoice vcat hsep++myFsepSimple :: [Doc] -> Doc+myFsepSimple = layoutChoice fsep hsep++-- same, except that continuation lines are indented,+-- which is necessary to avoid triggering the offside rule.+myFsep :: [Doc] -> Doc+myFsep = layoutChoice fsep' hsep+        where   fsep' [] = empty+                fsep' (d:ds) = do+                        e <- getPPEnv+                        let n = onsideIndent e+                        nest n (fsep (nest (-n) d:ds))++layoutChoice :: (a -> Doc) -> (a -> Doc) -> a -> Doc+layoutChoice a b dl = do e <- getPPEnv+                         if layout e == PPOffsideRule ||+                            layout e == PPSemiColon+                          then a dl else b dl++--------------------------------------------------------------------------------+-- Pretty-printing of internal constructs, for error messages while parsing++instance SrcInfo loc => Pretty (P.PExp loc) where+        pretty (P.Lit _ l) = pretty l+        pretty (P.InfixApp _ a op b) = myFsep [pretty a, pretty op, pretty b]+        pretty (P.NegApp _ e) = myFsep [char '-', pretty e]+        pretty (P.App _ a b) = myFsep [pretty a, pretty b]+        pretty (P.Lambda _loc expList ppBody') = myFsep $+                char '\\' : map pretty expList ++ [text "->", pretty ppBody']+        pretty (P.Let _ (BDecls _ declList) letBody) =+                ppLetExp declList letBody+        pretty (P.Let _ (IPBinds _ bindList) letBody) =+                ppLetExp bindList letBody+        pretty (P.If _ cond thenexp elsexp) =+                myFsep [text "if", pretty cond,+                        text "then", pretty thenexp,+                        text "else", pretty elsexp]+        pretty (P.MultiIf _ alts) =+                text "if"+                $$$ ppBody caseIndent (map pretty alts)+        pretty (P.Case _ cond altList) =+                myFsep [text "case", pretty cond, text "of"]+                $$$ ppBody caseIndent (map pretty altList)+        pretty (P.Do _ stmtList) =+                text "do" $$$ ppBody doIndent (map pretty stmtList)+        pretty (P.MDo _ stmtList) =+                text "mdo" $$$ ppBody doIndent (map pretty stmtList)+        pretty (P.Var _ name) = pretty name+        pretty (P.OverloadedLabel _ name) = text name+        pretty (P.IPVar _ ipname) = pretty ipname+        pretty (P.Con _ name) = pretty name+        pretty (P.TupleSection _ bxd mExpList) =+                let ds = map (maybePP pretty) mExpList+                in case bxd of+                       Boxed   -> parenList ds+                       Unboxed -> hashParenList ds+        pretty (P.UnboxedSum _ before after exp) =+          printUnboxedSum before after exp+        pretty (P.Paren _ e) = parens . pretty $ e+        pretty (P.RecConstr _ c fieldList) =+                pretty c <> (braceList . map pretty $ fieldList)+        pretty (P.RecUpdate _ e fieldList) =+                pretty e <> (braceList . map pretty $ fieldList)+        pretty (P.List _ list) =+                bracketList . punctuate comma . map pretty $ list+        pretty (P.ParArray _ arr) =+                bracketColonList . punctuate comma . map pretty $ arr+        pretty (P.EnumFrom _ e) =+                bracketList [pretty e, text ".."]+        pretty (P.EnumFromTo _ from to) =+                bracketList [pretty from, text "..", pretty to]+        pretty (P.EnumFromThen _ from thenE) =+                bracketList [pretty from <> comma, pretty thenE, text ".."]+        pretty (P.EnumFromThenTo _ from thenE to) =+                bracketList [pretty from <> comma, pretty thenE,+                             text "..", pretty to]+        pretty (P.ParArrayFromTo _ from to) =+                bracketColonList [pretty from, text "..", pretty to]+        pretty (P.ParArrayFromThenTo _ from thenE to) =+                bracketColonList [pretty from <> comma, pretty thenE,+                             text "..", pretty to]+        pretty (P.ParComp _ e qualLists) =+                bracketList (intersperse (char '|') $+                                pretty e : (punctuate comma . concatMap (map pretty) $ qualLists))+        pretty (P.ParArrayComp _ e qualArrs) =+                bracketColonList (intersperse (char '|') $+                                pretty e : (punctuate comma . concatMap (map pretty) $ qualArrs))+        pretty (P.ExpTypeSig _pos e ty) =+                myFsep [pretty e, text "::", pretty ty]+        pretty (P.BracketExp _ b) = pretty b+        pretty (P.SpliceExp _ s) = pretty s+        pretty (P.TypQuote _ t)  = text "\'\'" <> pretty t+        pretty (P.VarQuote _ x)  = text "\'" <> pretty x+        pretty (P.QuasiQuote _ n qt) = text ("[$" ++ n ++ "|" ++ qt ++ "|]")+        pretty (P.XTag _ n attrs mattr cs) =+                let ax = maybe [] (return . pretty) mattr+                 in hcat $+                     (myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [char '>']):+                        map pretty cs ++ [myFsep [text "</" <> pretty n, char '>']]+        pretty (P.XETag _ n attrs mattr) =+                let ax = maybe [] (return . pretty) mattr+                 in myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [text "/>"]+        pretty (P.XPcdata _ s) = text s+        pretty (P.XExpTag _ e) =+                myFsep [text "<%", pretty e, text "%>"]+        pretty (P.XChildTag _ es) =+                myFsep $ text "<%>" : map pretty es ++ [text "</%>"]+        pretty (P.CorePragma _ s e) = myFsep $ map text ["{-# CORE", show s, "#-}"] ++ [pretty e]+        pretty (P.SCCPragma  _ s e) = myFsep $ map text ["{-# SCC",  show s, "#-}"] ++ [pretty e]+        pretty (P.GenPragma  _ s (a,b) (c,d) e) =+                myFsep [text "{-# GENERATED", text $ show s,+                            int a, char ':', int b, char '-',+                            int c, char ':', int d, text "#-}", pretty e]+        pretty (P.Proc _ p e) = myFsep [text "proc", pretty p, text "->", pretty e]+        pretty (P.LeftArrApp _ l r)      = myFsep [pretty l, text "-<",  pretty r]+        pretty (P.RightArrApp _ l r)     = myFsep [pretty l, text ">-",  pretty r]+        pretty (P.LeftArrHighApp _ l r)  = myFsep [pretty l, text "-<<", pretty r]+        pretty (P.RightArrHighApp _ l r) = myFsep [pretty l, text ">>-", pretty r]+        pretty (P.ArrOp _ e) = myFsep [text "(|", pretty e, text "|)"]+        pretty (P.AsPat _ name (P.IrrPat _ pat)) =+                myFsep [pretty name <> char '@', char '~' <> pretty pat]+        pretty (P.AsPat _ name pat) =+                hcat [pretty name, char '@', pretty pat]+        pretty (P.WildCard _) = char '_'+        pretty (P.IrrPat _ pat) = char '~' <> pretty pat+        pretty (P.PostOp _ e op) = pretty e <+> pretty op+        pretty (P.PreOp _ op e)  = pretty op <+> pretty e+        pretty (P.ViewPat _ e p) =+                myFsep [pretty e, text "->", pretty p]+        pretty (P.SeqRP _ rs) =+            myFsep $ text "(|" : (punctuate comma . map pretty $ rs) ++ [text "|)"]+        pretty (P.GuardRP _ r gs) =+                myFsep $ text "(|" : pretty r : char '|' :+                           (punctuate comma . map pretty $ gs) ++ [text "|)"]+        pretty (P.EitherRP _ r1 r2) = parens . myFsep $ [pretty r1, char '|', pretty r2]+        pretty (P.CAsRP _ n (P.IrrPat _ e)) =+                myFsep [pretty n <> text "@:", char '~' <> pretty e]+        pretty (P.CAsRP _ n r) = hcat [pretty n, text "@:", pretty r]+        pretty (P.XRPats _ ps) =+                myFsep $ text "<[" : map pretty ps ++ [text "%>"]+        pretty (P.BangPat _ e) = text "!" <> pretty e+        pretty (P.LCase _ altList) = text "\\case" $$$ ppBody caseIndent (map pretty altList)+        pretty (P.TypeApp _ ty) = char '@' <> pretty ty++instance SrcInfo loc => Pretty (P.PFieldUpdate loc) where+        pretty (P.FieldUpdate _ name e) =+                myFsep [pretty name, equals, pretty e]+        pretty (P.FieldPun _ name) = pretty name+        pretty (P.FieldWildcard _) = text ".."++instance SrcInfo loc => Pretty (P.ParseXAttr loc) where+        pretty (P.XAttr _ n v) =+                myFsep [pretty n, char '=', pretty v]++instance SrcInfo loc => Pretty (P.PContext loc) where+        pretty (P.CxEmpty _) = mySep [text "()", text "=>"]+        pretty (P.CxSingle _ asst) = mySep [pretty asst, text "=>"]+        pretty (P.CxTuple _ assts) = myFsep [parenList (map pretty assts), text "=>"]++instance SrcInfo loc => Pretty (P.PAsst loc) where+        pretty (P.TypeA _ t)       = pretty t+        pretty (P.IParam _ i t)    = myFsep [pretty i, text "::", pretty t]+        pretty (P.ParenA _ a)      = parens (pretty a)++instance SrcInfo loc => Pretty (P.PType loc) where+        prettyPrec p (P.TyForall _ mtvs ctxt htype) = parensIf (p > 0) $+                myFsep [ppForall mtvs, maybePP pretty ctxt, pretty htype]+        prettyPrec _ (P.TyStar _) = text "*"+        prettyPrec p (P.TyFun _ a b) = parensIf (p > 0) $+                myFsep [prettyPrec prec_btype a, text "->", pretty b]+        prettyPrec _ (P.TyTuple _ bxd l) =+                let ds = map pretty l+                 in case bxd of+                        Boxed   -> parenList ds+                        Unboxed -> hashParenList ds+        prettyPrec _ (P.TyUnboxedSum _ es) =+          unboxedSumType (map pretty es)+        prettyPrec _ (P.TyList _ t)  = brackets $ pretty t+        prettyPrec _ (P.TyParArray _ t) = bracketColonList [pretty t]+        prettyPrec p (P.TyApp _ a b) =+                {-+                | a == list_tycon = brackets $ pretty b         -- special case+                | otherwise = -} parensIf (p > prec_btype) $+                                    myFsep [pretty a, prettyPrec prec_atype b]+        prettyPrec _ (P.TyVar _ name) = pretty name+        prettyPrec _ (P.TyCon _ name) = pretty name+        prettyPrec _ (P.TyParen _ t) = parens (pretty t)+        prettyPrec _ (P.TyPred _ asst) = pretty asst+        prettyPrec _ (P.TyInfix _ a op b) = myFsep [pretty a, pretty op, pretty b]+        prettyPrec _ (P.TyKind _ t k) = parens (myFsep [pretty t, text "::", pretty k])+        prettyPrec _ (P.TyPromoted _ p) = pretty p+        prettyPrec _ (P.TyEquals _ a b) = myFsep [pretty a, text "~", pretty b]+        prettyPrec _ (P.TySplice _ s) = pretty s+        prettyPrec _ (P.TyBang _ b u t) = pretty u <+> pretty b <> prettyPrec prec_atype t+        prettyPrec _ (P.TyWildCard _ mn) = char '_' <> maybePP pretty mn+        prettyPrec _ (P.TyQuasiQuote _ n qt) = text ("[$" ++ n ++ "|" ++ qt ++ "|]")
src/Language/Haskell/Exts/SrcLoc.hs view
@@ -18,6 +18,10 @@ import Data.Data import GHC.Generics (Generic) +showInt :: Int -> String+showInt i | i < 0 = "(" ++ show i ++ ")"+showInt i = show i+ -- | A single position in the source. data SrcLoc = SrcLoc     { srcFilename :: String@@ -29,7 +33,7 @@ instance Show SrcLoc where   showsPrec n (SrcLoc fn sl sc) =     showParen (n >= 11) $-      showString $ "SrcLoc " ++ show fn ++ " " ++ unwords (map show [sl,sc])+      showString $ "SrcLoc " ++ show fn ++ " " ++ unwords (map showInt [sl,sc])  noLoc :: SrcLoc noLoc = SrcLoc "" (-1) (-1)@@ -42,12 +46,12 @@     , srcSpanEndLine     :: Int     , srcSpanEndColumn   :: Int     }-  deriving (Eq,Ord,Typeable,Data)+  deriving (Eq,Ord,Typeable,Data,Generic)  instance Show SrcSpan where   showsPrec n (SrcSpan fn sl sc el ec) =     showParen (n >= 11) $-      showString $ "SrcSpan " ++ show fn ++ " " ++ unwords (map show [sl,sc,el,ec])+      showString $ "SrcSpan " ++ show fn ++ " " ++ unwords (map showInt [sl,sc,el,ec])   -- | Returns 'srcSpanStartLine' and 'srcSpanStartColumn' in a pair.@@ -87,7 +91,7 @@     { loc :: SrcSpan     , unLoc :: a     }-  deriving (Eq,Ord,Show)+  deriving (Eq,Ord,Show,Generic)   -- | A portion of the source, extended with information on the position of entities within the span.@@ -96,7 +100,7 @@ --    , explLayout     :: Bool     , srcInfoPoints  :: [SrcSpan]    -- Marks the location of specific entities inside the span     }-  deriving (Eq,Ord,Typeable,Data)+  deriving (Eq,Ord,Typeable,Data,Generic)  -- Identical output to the derived show instance for GHC 7.10 and earlier. instance Show SrcSpanInfo where@@ -106,6 +110,11 @@ -- | Generate a 'SrcSpanInfo' with no positional information for entities. noInfoSpan :: SrcSpan -> SrcSpanInfo noInfoSpan ss = SrcSpanInfo ss []++-- | A bogus `SrcSpanInfo`, the location is @noLoc@.+-- `noSrcSpan = noInfoSpan (mkSrcSpan noLoc noLoc)`+noSrcSpan :: SrcSpanInfo+noSrcSpan = noInfoSpan (mkSrcSpan noLoc noLoc)  -- | Generate a 'SrcSpanInfo' with the supplied positional information for entities. infoSpan :: SrcSpan -> [SrcSpan] -> SrcSpanInfo
src/Language/Haskell/Exts/Syntax.hs view
@@ -1,866 +1,1952 @@-{-# LANGUAGE DeriveDataTypeable, DeriveGeneric #-}--------------------------------------------------------------------------------- |--- Module      :  Language.Haskell.Exts.Syntax--- Copyright   :  (c) Niklas Broberg 2004-2009,---                (c) The GHC Team, 1997-2000--- License     :  BSD-style (see the file LICENSE.txt)------ Maintainer  :  Niklas Broberg, d00nibro@chalmers.se--- Stability   :  stable--- Portability :  portable------ A suite of datatypes describing the abstract syntax of Haskell 98--- <http://www.haskell.org/onlinereport/> plus registered extensions, including:------   * multi-parameter type classes with functional dependencies (MultiParamTypeClasses, FunctionalDependencies)------   * parameters of type class assertions are unrestricted (FlexibleContexts)------   * 'forall' types as universal and existential quantification (RankNTypes, ExistentialQuantification, etc)------   * pattern guards (PatternGuards)------   * implicit parameters (ImplicitParameters)------   * generalised algebraic data types (GADTs)------   * template haskell (TemplateHaskell)------   * empty data type declarations (EmptyDataDecls)------   * unboxed tuples (UnboxedTuples)------   * regular patterns (RegularPatterns)------   * HSP-style XML expressions and patterns (XmlSyntax)-----------------------------------------------------------------------------------module Language.Haskell.Exts.Syntax (-    -- * Modules-    Module(..), WarningText(..), ExportSpec(..),-    ImportDecl(..), ImportSpec(..), Assoc(..), Namespace(..),-    -- * Declarations-    Decl(..), Binds(..), IPBind(..), PatternSynDirection(..),-    -- ** Type classes and instances-    ClassDecl(..), InstDecl(..), Deriving,-    -- ** Data type declarations-    DataOrNew(..), ConDecl(..), QualConDecl(..), GadtDecl(..), BangType(..),-    -- ** Function bindings-    Match(..), Rhs(..), GuardedRhs(..),-    -- * Class Assertions and Contexts-    Context, FunDep(..), Asst(..),-    -- * Types-    Type(..), Boxed(..), Kind(..), TyVarBind(..), Promoted(..),-    TypeEqn (..),-    -- * Expressions-    Exp(..), Stmt(..), QualStmt(..), FieldUpdate(..),-    Alt(..), XAttr(..),-    -- * Patterns-    Pat(..), PatField(..), PXAttr(..), RPat(..), RPatOp(..),-    -- * Literals-    Literal(..), Sign(..),-    -- * Variables, Constructors and Operators-    ModuleName(..), QName(..), Name(..), QOp(..), Op(..),-    SpecialCon(..), CName(..), IPName(..), XName(..), Role(..),--    -- * Template Haskell-    Bracket(..), Splice(..),--    -- * FFI-    Safety(..), CallConv(..),--    -- * Pragmas-    ModulePragma(..), Tool(..), Overlap(..),-    Rule(..), RuleVar(..), Activation(..),-    Annotation(..), BooleanFormula(..),--    -- * Builtin names--    -- ** Modules-    prelude_mod, main_mod,-    -- ** Main function of a program-    main_name,-    -- ** Constructors-    unit_con_name, tuple_con_name, list_cons_name, unboxed_singleton_con_name,-    unit_con, tuple_con, unboxed_singleton_con,-    -- ** Special identifiers-    as_name, qualified_name, hiding_name, minus_name, bang_name, dot_name, star_name,-    export_name, safe_name, unsafe_name, interruptible_name, threadsafe_name,-    stdcall_name, ccall_name, cplusplus_name, dotnet_name, jvm_name, js_name,-    javascript_name, capi_name, forall_name, family_name,-    -- ** Type constructors-    unit_tycon_name, fun_tycon_name, list_tycon_name, tuple_tycon_name, unboxed_singleton_tycon_name,-    unit_tycon, fun_tycon, list_tycon, tuple_tycon, unboxed_singleton_tycon,--    -- * Source coordinates-    SrcLoc(..),-  ) where---import Data.Data-import GHC.Generics (Generic)-import Language.Haskell.Exts.SrcLoc (SrcLoc(..))-import Language.Haskell.Exts.Annotated.Syntax (Boxed(..), Tool(..))----- | The name of a Haskell module.-newtype ModuleName = ModuleName String-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | Constructors with special syntax.--- These names are never qualified, and always refer to builtin type or--- data constructors.-data SpecialCon-    = UnitCon               -- ^ unit type and data constructor @()@-    | ListCon               -- ^ list type constructor @[]@-    | FunCon                -- ^ function type constructor @->@-    | TupleCon Boxed Int    -- ^ /n/-ary tuple type and data-                            --   constructors @(,)@ etc, possibly boxed @(\#,\#)@-    | Cons                  -- ^ list data constructor @(:)@-    | UnboxedSingleCon      -- ^ unboxed singleton tuple constructor @(\# \#)@-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | This type is used to represent qualified variables, and also---   qualified constructors.-data QName-    = Qual ModuleName Name    -- ^ name qualified with a module name-    | UnQual Name             -- ^ unqualified local name-    | Special SpecialCon      -- ^ built-in constructor with special syntax-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | This type is used to represent variables, and also constructors.-data Name-    = Ident String    -- ^ /varid/ or /conid/.-    | Symbol String   -- ^ /varsym/ or /consym/-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | An implicit parameter name.-data IPName-    = IPDup String -- ^ ?/ident/, non-linear implicit parameter-    | IPLin String -- ^ %/ident/, linear implicit parameter-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | Possibly qualified infix operators (/qop/), appearing in expressions.-data QOp-    = QVarOp QName  -- ^ variable operator (/qvarop/)-    | QConOp QName  -- ^ constructor operator (/qconop/)-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | Operators appearing in @infix@ declarations are never qualified.-data Op-    = VarOp Name    -- ^ variable operator (/varop/)-    | ConOp Name    -- ^ constructor operator (/conop/)-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A name (/cname/) of a component of a class or data type in an @import@---   or export specification.-data CName-    = VarName Name  -- ^ name of a method or field-    | ConName Name  -- ^ name of a data constructor-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A complete Haskell source module.-data Module = Module SrcLoc ModuleName [ModulePragma] (Maybe WarningText)-                        (Maybe [ExportSpec]) [ImportDecl] [Decl]-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | An item in a module's export specification.-data ExportSpec-     = EVar QName                   -- ^ variable.-     | EAbs Namespace QName         -- ^ @T@:-                                    --   a class or datatype exported abstractly,-                                    --   or a type synonym.-     | EThingAll QName              -- ^ @T(..)@:-                                    --   a class exported with all of its methods, or-                                    --   a datatype exported with all of its constructors.-     | EThingWith QName [CName]     -- ^ @T(C_1,...,C_n)@:-                                    --   a class exported with some of its methods, or-                                    --   a datatype exported with some of its constructors.-     | EModuleContents ModuleName   -- ^ @module M@:-                                    --   re-export a module.-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | Namespaces for imports/exports.-data Namespace = NoNamespace | TypeNamespace | PatternNamespace-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | An import declaration.-data ImportDecl = ImportDecl-    { importLoc :: SrcLoc           -- ^ position of the @import@ keyword.-    , importModule :: ModuleName    -- ^ name of the module imported.-    , importQualified :: Bool       -- ^ imported @qualified@?-    , importSrc :: Bool             -- ^ imported with @{-\# SOURCE \#-}@?-    , importSafe :: Bool            -- ^ Import @safe@?-    , importPkg :: Maybe String     -- ^ imported with explicit package name-    , importAs :: Maybe ModuleName  -- ^ optional alias name in an @as@ clause.-    , importSpecs :: Maybe (Bool,[ImportSpec])-            -- ^ optional list of import specifications.-            -- The 'Bool' is 'True' if the names are excluded-            -- by @hiding@.-    }-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | An import specification, representing a single explicit item imported---   (or hidden) from a module.-data ImportSpec-     = IVar Name                -- ^ variable.-     | IAbs Namespace Name      -- ^ @T@:-                                --   the name of a class, datatype or type synonym.-     | IThingAll Name           -- ^ @T(..)@:-                                --   a class imported with all of its methods, or-                                --   a datatype imported with all of its constructors.-     | IThingWith Name [CName]  -- ^ @T(C_1,...,C_n)@:-                                --   a class imported with some of its methods, or-                                --   a datatype imported with some of its constructors.-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | Associativity of an operator.-data Assoc-     = AssocNone  -- ^ non-associative operator (declared with @infix@)-     | AssocLeft  -- ^ left-associative operator (declared with @infixl@).-     | AssocRight -- ^ right-associative operator (declared with @infixr@)-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A single derived instance, which may have arguments since it may be a MPTC.-type Deriving = (QName, [Type])---- | A top-level declaration.-data Decl-     = TypeDecl     SrcLoc Name [TyVarBind] Type-     -- ^ A type declaration-     | TypeFamDecl  SrcLoc Name [TyVarBind] (Maybe Kind)-     -- ^ A type family declaration-     | ClosedTypeFamDecl  SrcLoc Name [TyVarBind] (Maybe Kind) [TypeEqn]-     -- ^ A closed type family declaration-     | DataDecl     SrcLoc DataOrNew Context Name [TyVarBind]              [QualConDecl] [Deriving]-     -- ^ A data OR newtype declaration-     | GDataDecl    SrcLoc DataOrNew Context Name [TyVarBind] (Maybe Kind) [GadtDecl]    [Deriving]-     -- ^ A data OR newtype declaration, GADT style-     | DataFamDecl  SrcLoc {-data-}  Context Name [TyVarBind] (Maybe Kind)-     -- ^ A data family declaration-     | TypeInsDecl  SrcLoc Type Type-     -- ^ A type family instance declaration-     | DataInsDecl  SrcLoc DataOrNew Type              [QualConDecl] [Deriving]-     -- ^ A data family instance declaration-     | GDataInsDecl SrcLoc DataOrNew Type (Maybe Kind) [GadtDecl]    [Deriving]-     -- ^ A data family instance declaration, GADT style-     | ClassDecl    SrcLoc Context Name [TyVarBind] [FunDep] [ClassDecl]-     -- ^ A declaration of a type class-     | InstDecl     SrcLoc (Maybe Overlap) [TyVarBind] Context QName [Type] [InstDecl]-     -- ^ An declaration of a type class instance-     | DerivDecl    SrcLoc (Maybe Overlap) [TyVarBind] Context QName [Type]-     -- ^ A standalone deriving declaration-     | InfixDecl    SrcLoc Assoc Int [Op]-     -- ^ A declaration of operator fixity-     | DefaultDecl  SrcLoc [Type]-     -- ^ A declaration of default types-     | SpliceDecl   SrcLoc Exp-     -- ^ A Template Haskell splicing declaration-     | TypeSig      SrcLoc [Name] Type-     -- ^ A type signature declaration-     | PatSynSig    SrcLoc Name (Maybe [TyVarBind]) Context Context Type-     -- ^ Pattern Synonym Signature-     | FunBind      [Match]-     -- ^ A set of function binding clauses-     | PatBind      SrcLoc Pat Rhs {-where-} (Maybe Binds)-     -- ^ A pattern binding-     | ForImp   SrcLoc CallConv Safety String Name Type-     -- ^ A foreign import declaration-     | ForExp   SrcLoc CallConv          String Name Type-     -- ^ A foreign export declaration-     | PatSyn   SrcLoc Pat Pat PatternSynDirection--     | RulePragmaDecl   SrcLoc [Rule]-     -- ^ A RULES pragma-     | DeprPragmaDecl   SrcLoc [([Name], String)]-     -- ^ A DEPRECATED pragma-     | WarnPragmaDecl   SrcLoc [([Name], String)]-     -- ^ A WARNING pragma-     | InlineSig        SrcLoc Bool Activation QName-     -- ^ An INLINE pragma-     | InlineConlikeSig SrcLoc      Activation QName-     -- ^ An INLINE CONLIKE pragma-     | SpecSig          SrcLoc      Activation QName [Type]-     -- ^ A SPECIALISE pragma-     | SpecInlineSig    SrcLoc Bool Activation QName [Type]-     -- ^ A SPECIALISE INLINE pragma-     | InstSig          SrcLoc [TyVarBind] Context QName [Type]-     -- ^ A SPECIALISE instance pragma-     | AnnPragma        SrcLoc Annotation-     -- ^ An ANN pragma-     | MinimalPragma    SrcLoc (Maybe BooleanFormula)-     -- ^ A MINIMAL pragma-     | RoleAnnotDecl    SrcLoc QName [Role]-     -- ^ A role annotation--  deriving (Eq,Ord,Show,Typeable,Data,Generic)--data  PatternSynDirection =-      Unidirectional -- ^ A unidirectional pattern synonym with "<-"-    | ImplicitBidirectional  -- ^ A bidirectional pattern synonym with "="-    | ExplicitBidirectional [Decl]  -- ^ A birectional pattern synonym with the construction specified.-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A type equation of the form @rhs = lhs@ used in closed type families.-data TypeEqn = TypeEqn Type Type deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | An annotation through an ANN pragma.-data Annotation-    = Ann       Name Exp-    -- ^ An annotation for a declared name.-    | TypeAnn   Name Exp-    -- ^ An annotation for a declared type.-    | ModuleAnn      Exp-    -- ^ An annotation for the defining module.-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A boolean formula for MINIMAL pragmas.-data BooleanFormula-    = VarFormula Name                -- ^ A variable.-    | AndFormula [BooleanFormula]    -- ^ And boolean formulas.-    | OrFormula [BooleanFormula]     -- ^ Or boolean formulas.-    | ParenFormula BooleanFormula    -- ^ Parenthesized boolean formulas.-  deriving (Eq,Ord,Show,Typeable,Data,Generic)--data Role-  = Nominal-  | Representational-  | Phantom-  | RoleWildcard-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A flag stating whether a declaration is a data or newtype declaration.-data DataOrNew = DataType | NewType-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A binding group inside a @let@ or @where@ clause.-data Binds-    = BDecls [Decl]     -- ^ An ordinary binding group-    | IPBinds [IPBind]  -- ^ A binding group for implicit parameters-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A binding of an implicit parameter.-data IPBind = IPBind SrcLoc IPName Exp-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | Clauses of a function binding.-data Match-     = Match SrcLoc Name [Pat] (Maybe Type) Rhs {-where-} (Maybe Binds)-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A single constructor declaration within a data type declaration,---   which may have an existential quantification binding.-data QualConDecl-    = QualConDecl SrcLoc-        {-forall-} [TyVarBind] {- . -} Context-        {- => -} ConDecl-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | Declaration of an ordinary data constructor.-data ConDecl-     = ConDecl Name [Type]-                -- ^ ordinary data constructor-     | InfixConDecl Type Name Type-                -- ^ infix data constructor-     | RecDecl Name [([Name],Type)]-                -- ^ record constructor-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A single constructor declaration in a GADT data type declaration.-data GadtDecl-    = GadtDecl SrcLoc Name [([Name], Type)] Type-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | Declarations inside a class declaration.-data ClassDecl-    = ClsDecl    Decl-            -- ^ ordinary declaration-    | ClsDataFam SrcLoc Context Name [TyVarBind] (Maybe Kind)-            -- ^ declaration of an associated data type-    | ClsTyFam   SrcLoc         Name [TyVarBind] (Maybe Kind)-            -- ^ declaration of an associated type synonym-    | ClsTyDef   SrcLoc Type    Type-            -- ^ default choice for an associated type synonym-    | ClsDefSig  SrcLoc Name Type-            -- ^ default signature-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | Declarations inside an instance declaration.-data InstDecl-    = InsDecl   Decl-            -- ^ ordinary declaration-    | InsType   SrcLoc Type Type-            -- ^ an associated type definition-    | InsData   SrcLoc DataOrNew Type [QualConDecl] [Deriving]-            -- ^ an associated data type implementation-    | InsGData  SrcLoc DataOrNew Type (Maybe Kind) [GadtDecl] [Deriving]-            -- ^ an associated data type implemented using GADT style-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | The type of a constructor argument or field, optionally including---   a strictness annotation.-data BangType-     = BangedTy    -- ^ strict component, marked with \"@!@\"-     | UnpackedTy  -- ^ unboxed component, marked with an UNPACK pragma-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | The right hand side of a function binding, pattern binding, or a case---   alternative.-data Rhs-     = UnGuardedRhs Exp -- ^ unguarded right hand side (/exp/)-     | GuardedRhss  [GuardedRhs]-                        -- ^ guarded right hand side (/gdrhs/)-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A guarded right hand side @|@ /stmts/ @=@ /exp/, or @|@ /stmts/ @->@ /exp/---   for case alternatives.---   The guard is a series of statements when using pattern guards,---   otherwise it will be a single qualifier expression.-data GuardedRhs-     = GuardedRhs SrcLoc [Stmt] Exp-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A type qualified with a context.---   An unqualified type has an empty context.-data Type-     = TyForall-        (Maybe [TyVarBind])-        Context-        Type                    -- ^ qualified type-     | TyFun   Type Type        -- ^ function type-     | TyTuple Boxed [Type]     -- ^ tuple type, possibly boxed-     | TyList  Type             -- ^ list syntax, e.g. [a], as opposed to [] a-     | TyParArray Type          -- ^ parallel array syntax, e.g. [:a:]-     | TyApp   Type Type        -- ^ application of a type constructor-     | TyVar   Name             -- ^ type variable-     | TyCon   QName            -- ^ named type or type constructor-     | TyParen Type             -- ^ type surrounded by parentheses-     | TyInfix Type QName Type  -- ^ infix type constructor-     | TyKind  Type Kind        -- ^ type with explicit kind signature-     | TyPromoted Promoted      -- ^ promoted data type (-XDataKinds)-     | TyEquals Type Type       -- ^ type equality predicate enabled by ConstraintKinds-     | TySplice Splice          -- ^ template haskell splice type-     | TyBang BangType Type     -- ^ Strict type marked with \"@!@\" or type marked with UNPACK pragma.-     | TyWildCard (Maybe Name)  -- ^ Type wildcard-  deriving (Eq,Ord,Show,Typeable,Data)--data Promoted-        = PromotedInteger Integer-        | PromotedString String-        | PromotedCon Bool QName-        | PromotedList Bool [Type]-        | PromotedTuple [Type]-        | PromotedUnit-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A type variable declaration, optionally with an explicit kind annotation.-data TyVarBind-    = KindedVar Name Kind   -- ^ variable binding with kind annotation-    | UnkindedVar Name      -- ^ ordinary variable binding-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | An explicit kind annotation.-data Kind-    = KindStar          -- ^ @*@, the kind of types-    | KindFn Kind Kind  -- ^ @->@, the kind of a type constructor-    | KindParen Kind    -- ^ a kind surrounded by parentheses-    | KindVar QName     -- ^ a kind variable (as of yet unsupported by compilers)-    | KindApp Kind Kind -- ^ @k1 k2@-    | KindTuple [Kind]  -- ^ @(k1,k2,k3)@, kind of a promoted tuple-    | KindList Kind     -- ^ @[k1]@, kind of a promoted list-  deriving (Eq,Ord,Show,Typeable,Data,Generic)----- | A functional dependency, given on the form---   l1 l2 ... ln -> r2 r3 .. rn-data FunDep-    = FunDep [Name] [Name]-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A context is a set of assertions-type Context = [Asst]---- | Class assertions.---   In Haskell 98, the argument would be a /tyvar/, but this definition---   allows multiple parameters, and allows them to be /type/s.---   Also extended with support for implicit parameters and equality constraints.-data Asst = ClassA QName [Type]     -- ^ ordinary class assertion-          | AppA Name [Type]        -- ^ constraint kind assertion, @Dict :: cxt a => Dict cxt@-          | InfixA Type QName Type  -- ^ class assertion where the class name is given infix-          | IParam IPName Type      -- ^ implicit parameter assertion-          | EqualP Type   Type      -- ^ type equality constraint-          | ParenA Asst             -- ^ parenthesised class assertion-          | WildCardA (Maybe Name) -- ^ A wildcard-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | /literal/--- Values of this type hold the abstract value of the literal, not the--- precise string representation used.  For example, @10@, @0o12@ and @0xa@--- have the same representation.-data Literal-    = Char    Char          -- ^ character literal-    | String  String        -- ^ string literal-    | Int     Integer       -- ^ integer literal-    | Frac    Rational      -- ^ floating point literal-    | PrimInt    Integer    -- ^ unboxed integer literal-    | PrimWord   Integer    -- ^ unboxed word literal-    | PrimFloat  Rational   -- ^ unboxed float literal-    | PrimDouble Rational   -- ^ unboxed double literal-    | PrimChar   Char       -- ^ unboxed character literal-    | PrimString String     -- ^ unboxed string literal-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | An indication whether a literal pattern has been negated or not.-data Sign-    = Signless-    | Negative-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | Haskell expressions.-data Exp-    = Var QName                 -- ^ variable-    | IPVar IPName              -- ^ implicit parameter variable-    | Con QName                 -- ^ data constructor-    | Lit Literal               -- ^ literal constant-    | InfixApp Exp QOp Exp      -- ^ infix application-    | App Exp Exp               -- ^ ordinary application-    | NegApp Exp                -- ^ negation expression @-/exp/@ (unary minus)-    | Lambda SrcLoc [Pat] Exp   -- ^ lambda expression-    | Let Binds Exp             -- ^ local declarations with @let@ ... @in@ ...-    | If Exp Exp Exp            -- ^ @if@ /exp/ @then@ /exp/ @else@ /exp/-    | MultiIf [GuardedRhs]      -- ^ @if@ @|@ /exp/ @->@ /exp/ ...-    | Case Exp [Alt]            -- ^ @case@ /exp/ @of@ /alts/-    | Do [Stmt]                 -- ^ @do@-expression:-                                --   the last statement in the list-                                --   should be an expression.-    | MDo [Stmt]                -- ^ @mdo@-expression-    | Tuple Boxed [Exp]         -- ^ tuple expression-    | TupleSection Boxed [Maybe Exp]  -- ^ tuple section expression, e.g. @(,,3)@-    | List [Exp]                -- ^ list expression-    | ParArray [Exp]            -- ^ parallel array expression-    | Paren Exp                 -- ^ parenthesised expression-    | LeftSection Exp QOp       -- ^ left section @(@/exp/ /qop/@)@-    | RightSection QOp Exp      -- ^ right section @(@/qop/ /exp/@)@-    | RecConstr QName [FieldUpdate]-                                -- ^ record construction expression-    | RecUpdate Exp [FieldUpdate]-                                -- ^ record update expression-    | EnumFrom Exp              -- ^ unbounded arithmetic sequence,-                                --   incrementing by 1: @[from ..]@-    | EnumFromTo Exp Exp        -- ^ bounded arithmetic sequence,-                                --   incrementing by 1 @[from .. to]@-    | EnumFromThen Exp Exp      -- ^ unbounded arithmetic sequence,-                                --   with first two elements given @[from, then ..]@-    | EnumFromThenTo Exp Exp Exp-                                -- ^ bounded arithmetic sequence,-                                --   with first two elements given @[from, then .. to]@-    | ParArrayFromTo Exp Exp    -- ^ bounded arithmetic sequence,-                                --   incrementing by 1 @[from .. to]@-    | ParArrayFromThenTo Exp Exp Exp-                                -- ^ bounded arithmetic sequence,-                                --   with first two elements given @[from, then .. to]@-    | ListComp Exp  [QualStmt]    -- ^ ordinary list comprehension-    | ParComp  Exp [[QualStmt]]   -- ^ parallel list comprehension-    | ParArrayComp  Exp [[QualStmt]]-                                  -- ^ parallel array comprehension-    | ExpTypeSig SrcLoc Exp Type  -- ^ expression with explicit type signature--    | VarQuote QName            -- ^ @'x@ for template haskell reifying of expressions-    | TypQuote QName            -- ^ @''T@ for template haskell reifying of types-    | BracketExp Bracket        -- ^ template haskell bracket expression-    | SpliceExp Splice          -- ^ template haskell splice expression-    | QuasiQuote String String  -- ^ quasi-quotaion: @[$/name/| /string/ |]@---- Hsx-    | XTag SrcLoc XName [XAttr] (Maybe Exp) [Exp]-                                -- ^ xml element, with attributes and children-    | XETag SrcLoc XName [XAttr] (Maybe Exp)-                                -- ^ empty xml element, with attributes-    | XPcdata String            -- ^ PCDATA child element-    | XExpTag Exp               -- ^ escaped haskell expression inside xml-    | XChildTag SrcLoc [Exp]    -- ^ children of an xml element---- Pragmas-    | CorePragma        String Exp      -- ^ CORE pragma-    | SCCPragma         String Exp      -- ^ SCC pragma-    | GenPragma         String (Int, Int) (Int, Int) Exp-                                        -- ^ GENERATED pragma---- Arrows-    | Proc SrcLoc     Pat Exp   -- ^ arrows proc: @proc@ /pat/ @->@ /exp/-    | LeftArrApp      Exp Exp   -- ^ arrow application (from left): /exp/ @-<@ /exp/-    | RightArrApp     Exp Exp   -- ^ arrow application (from right): /exp/ @>-@ /exp/-    | LeftArrHighApp  Exp Exp   -- ^ higher-order arrow application (from left): /exp/ @-<<@ /exp/-    | RightArrHighApp Exp Exp   -- ^ higher-order arrow application (from right): /exp/ @>>-@ /exp/---- LambdaCase-    | LCase [Alt] -- ^ @\case@ /alts/---- Holes-    | ExprHole                  -- ^ Expression hole-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | The name of an xml element or attribute,---   possibly qualified with a namespace.-data XName-    = XName String              -- <name ...-    | XDomName String String    -- <dom:name ...-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | An xml attribute, which is a name-expression pair.-data XAttr = XAttr XName Exp-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A template haskell bracket expression.-data Bracket-    = ExpBracket Exp        -- ^ expression bracket: @[| ... |]@-    | PatBracket Pat        -- ^ pattern bracket: @[p| ... |]@-    | TypeBracket Type      -- ^ type bracket: @[t| ... |]@-    | DeclBracket [Decl]    -- ^ declaration bracket: @[d| ... |]@-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A template haskell splice expression-data Splice-    = IdSplice String       -- ^ variable splice: @$var@-    | ParenSplice Exp       -- ^ parenthesised expression splice: @$(/exp/)@-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | The safety of a foreign function call.-data Safety-    = PlayRisky         -- ^ unsafe-    | PlaySafe Bool     -- ^ safe ('False') or threadsafe ('True')-    | PlayInterruptible -- ^ interruptible-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | The calling convention of a foreign function call.-data CallConv-    = StdCall-    | CCall-    | CPlusPlus-    | DotNet-    | Jvm-    | Js-    | JavaScript-    | CApi-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A top level options pragma, preceding the module header.-data ModulePragma-    = LanguagePragma   SrcLoc [Name]    -- ^ LANGUAGE pragma-    | OptionsPragma    SrcLoc (Maybe Tool) String-                        -- ^ OPTIONS pragma, possibly qualified with a tool, e.g. OPTIONS_GHC-    | AnnModulePragma  SrcLoc Annotation-                        -- ^ ANN pragma with module scope-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | Recognised overlaps for overlap pragmas.-data Overlap-    = NoOverlap   -- ^ NO_OVERLAP pragma-    | Overlap     -- ^ OVERLAP pragma-    | Incoherent  -- ^ INCOHERENT pragma-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | Activation clause of a RULES pragma.-data Activation-    = AlwaysActive-    | ActiveFrom  Int-    | ActiveUntil Int-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | The body of a RULES pragma.-data Rule-    = Rule String Activation (Maybe [RuleVar]) Exp Exp-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | Variables used in a RULES pragma, optionally annotated with types-data RuleVar-    = RuleVar Name-    | TypedRuleVar Name Type-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | Warning text to optionally use in the module header of e.g.---   a deprecated module.-data WarningText-    = DeprText String-    | WarnText String-  deriving (Eq,Ord,Show,Typeable,Data,Generic)----- | A pattern, to be matched against a value.-data Pat-    = PVar Name                     -- ^ variable-    | PLit Sign Literal             -- ^ literal constant-    | PNPlusK Name Integer          -- ^ n+k pattern-    | PInfixApp Pat QName Pat       -- ^ pattern with an infix data constructor-    | PApp QName [Pat]              -- ^ data constructor and argument patterns-    | PTuple Boxed [Pat]            -- ^ tuple pattern-    | PList [Pat]                   -- ^ list pattern-    | PParen Pat                    -- ^ parenthesized pattern-    | PRec QName [PatField]         -- ^ labelled pattern, record style-    | PAsPat Name Pat               -- ^ @\@@-pattern-    | PWildCard                     -- ^ wildcard pattern: @_@-    | PIrrPat Pat                   -- ^ irrefutable pattern: @~/pat/@-    | PatTypeSig SrcLoc Pat Type    -- ^ pattern with type signature-    | PViewPat Exp Pat              -- ^ view patterns of the form @(/exp/ -> /pat/)@-    | PRPat [RPat]                  -- ^ regular list pattern-    | PXTag SrcLoc XName [PXAttr] (Maybe Pat) [Pat]-                                    -- ^ XML element pattern-    | PXETag SrcLoc XName [PXAttr] (Maybe Pat)-                                    -- ^ XML singleton element pattern-    | PXPcdata String               -- ^ XML PCDATA pattern-    | PXPatTag Pat                  -- ^ XML embedded pattern-    | PXRPats [RPat]                -- ^ XML regular list pattern-    | PQuasiQuote String String     -- ^ quasi quote patter: @[$/name/| /string/ |]@-    | PBangPat Pat                  -- ^ strict (bang) pattern: @f !x = ...@-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | An XML attribute in a pattern.-data PXAttr = PXAttr XName Pat-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A regular pattern operator.-data RPatOp-    = RPStar    -- ^ @*@ = 0 or more-    | RPStarG   -- ^ @*!@ = 0 or more, greedy-    | RPPlus    -- ^ @+@ = 1 or more-    | RPPlusG   -- ^ @+!@ = 1 or more, greedy-    | RPOpt     -- ^ @?@ = 0 or 1-    | RPOptG    -- ^ @?!@ = 0 or 1, greedy-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | An entity in a regular pattern.-data RPat-    = RPOp RPat RPatOp      -- ^ operator pattern, e.g. pat*-    | RPEither RPat RPat    -- ^ choice pattern, e.g. (1 | 2)-    | RPSeq [RPat]          -- ^ sequence pattern, e.g. (| 1, 2, 3 |)-    | RPGuard Pat [Stmt]    -- ^ guarded pattern, e.g. (| p | p < 3 |)-    | RPCAs Name RPat       -- ^ non-linear variable binding, e.g. (foo\@:(1 | 2))*-    | RPAs Name RPat        -- ^ linear variable binding, e.g. foo\@(1 | 2)-    | RPParen RPat          -- ^ parenthesised pattern, e.g. (2*)-    | RPPat Pat             -- ^ an ordinary pattern-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | An /fpat/ in a labeled record pattern.-data PatField-    = PFieldPat QName Pat       -- ^ ordinary label-pattern pair-    | PFieldPun QName           -- ^ record field pun-    | PFieldWildcard            -- ^ record field wildcard-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A statement, representing both a /stmt/ in a @do@-expression,---   an ordinary /qual/ in a list comprehension, as well as a /stmt/---   in a pattern guard.-data Stmt-    = Generator SrcLoc Pat Exp-                        -- ^ a generator: /pat/ @<-@ /exp/-    | Qualifier Exp     -- ^ an /exp/ by itself: in a @do@-expression,-                        --   an action whose result is discarded;-                        --   in a list comprehension and pattern guard,-                        --   a guard expression-    | LetStmt Binds     -- ^ local bindings-    | RecStmt [Stmt]    -- ^ a recursive binding group for arrows-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A general /transqual/ in a list comprehension,---   which could potentially be a transform of the kind---   enabled by TransformListComp.-data QualStmt-    = QualStmt     Stmt         -- ^ an ordinary statement-    | ThenTrans    Exp          -- ^ @then@ /exp/-    | ThenBy       Exp Exp      -- ^ @then@ /exp/ @by@ /exp/-    | GroupBy      Exp          -- ^ @then@ @group@ @by@ /exp/-    | GroupUsing   Exp          -- ^ @then@ @group@ @using@ /exp/-    | GroupByUsing Exp Exp      -- ^ @then@ @group@ @by@ /exp/ @using@ /exp/-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | An /fbind/ in a labeled construction or update expression.-data FieldUpdate-    = FieldUpdate QName Exp     -- ^ ordinary label-expresion pair-    | FieldPun QName            -- ^ record field pun-    | FieldWildcard             -- ^ record field wildcard-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | An /alt/ alternative in a @case@ expression.-data Alt-    = Alt SrcLoc Pat Rhs (Maybe Binds)-  deriving (Eq,Ord,Show,Typeable,Data,Generic)---------------------------------------------------------------------------------- Builtin names.--prelude_mod, main_mod :: ModuleName-prelude_mod = ModuleName "Prelude"-main_mod    = ModuleName "Main"--main_name :: Name-main_name = Ident "main"--unit_con_name :: QName-unit_con_name = Special UnitCon--tuple_con_name :: Boxed -> Int -> QName-tuple_con_name b i = Special (TupleCon b (i+1))--list_cons_name :: QName-list_cons_name = Special Cons--unboxed_singleton_con_name :: QName-unboxed_singleton_con_name = Special UnboxedSingleCon--unit_con :: Exp-unit_con = Con unit_con_name--tuple_con :: Boxed -> Int -> Exp-tuple_con b i = Con (tuple_con_name b i)--unboxed_singleton_con :: Exp-unboxed_singleton_con = Con unboxed_singleton_con_name--as_name, qualified_name, hiding_name, minus_name, bang_name, dot_name, star_name :: Name-as_name        = Ident "as"-qualified_name = Ident "qualified"-hiding_name    = Ident "hiding"-minus_name     = Symbol "-"-bang_name      = Symbol "!"-dot_name       = Symbol "."-star_name      = Symbol "*"--export_name, safe_name, unsafe_name, interruptible_name, threadsafe_name,-  stdcall_name, ccall_name, cplusplus_name, dotnet_name,-  jvm_name, js_name, javascript_name, capi_name, forall_name,-  family_name :: Name-export_name     = Ident "export"-safe_name       = Ident "safe"-unsafe_name     = Ident "unsafe"-interruptible_name = Ident "interruptible"-threadsafe_name = Ident "threadsafe"-stdcall_name    = Ident "stdcall"-ccall_name      = Ident "ccall"-cplusplus_name  = Ident "cplusplus"-dotnet_name     = Ident "dotnet"-jvm_name        = Ident "jvm"-js_name         = Ident "js"-javascript_name = Ident "js"-capi_name       = Ident "capi"-forall_name     = Ident "forall"-family_name     = Ident "family"--unit_tycon_name, fun_tycon_name, list_tycon_name, unboxed_singleton_tycon_name :: QName-unit_tycon_name = unit_con_name-fun_tycon_name  = Special FunCon-list_tycon_name = Special ListCon-unboxed_singleton_tycon_name = Special UnboxedSingleCon--tuple_tycon_name :: Boxed -> Int -> QName-tuple_tycon_name b i = tuple_con_name b i--unit_tycon, fun_tycon, list_tycon, unboxed_singleton_tycon :: Type-unit_tycon = TyCon unit_tycon_name-fun_tycon  = TyCon fun_tycon_name-list_tycon = TyCon list_tycon_name-unboxed_singleton_tycon = TyCon unboxed_singleton_tycon_name--tuple_tycon :: Boxed -> Int -> Type-tuple_tycon b i = TyCon (tuple_tycon_name b i)+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveFoldable #-}+{-# LANGUAGE DeriveTraversable #-}+{-# LANGUAGE DeriveFunctor #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE CPP #-}++-----------------------------------------------------------------------------+-- |+-- Module      :  Language.Haskell.Exts.Syntax+-- Copyright   :  (c) Niklas Broberg 2004-2009,+--                (c) The GHC Team, 1997-2000+-- License     :  BSD-style (see the file LICENSE.txt)+--+-- Maintainer  :  Niklas Broberg, d00nibro@chalmers.se+-- Stability   :  stable+-- Portability :  portable+--+-- A suite of datatypes describing the (semi-concrete) abstract syntax of Haskell 98+-- <http://www.haskell.org/onlinereport/> plus registered extensions, including:+--+--   * multi-parameter type classes with functional dependencies (MultiParamTypeClasses, FunctionalDependencies)+--+--   * parameters of type class assertions are unrestricted (FlexibleContexts)+--+--   * 'forall' types as universal and existential quantification (RankNTypes, ExistentialQuantification, etc)+--+--   * pattern guards (PatternGuards)+--+--   * implicit parameters (ImplicitParameters)+--+--   * generalised algebraic data types (GADTs)+--+--   * template haskell (TemplateHaskell)+--+--   * empty data type declarations (EmptyDataDecls)+--+--   * unboxed tuples (UnboxedTuples)+--+--   * regular patterns (RegularPatterns)+--+--   * HSP-style XML expressions and patterns (XmlSyntax)+--+-- All nodes in the syntax tree are annotated with something of a user-definable data type.+-- When parsing, this annotation will contain information about the source location that the+-- particular node comes from.+--+-----------------------------------------------------------------------------++module Language.Haskell.Exts.Syntax (+    -- * Modules+    Module(..), ModuleHead(..), WarningText(..), ExportSpecList(..), ExportSpec(..),+    EWildcard(..),+    ImportDecl(..), ImportSpecList(..), ImportSpec(..), Assoc(..), Namespace(..),+    -- * Declarations+    Decl(..), DeclHead(..), InstRule(..), InstHead(..), Binds(..), IPBind(..), PatternSynDirection(..),+    InjectivityInfo(..), ResultSig(..),+    -- ** Type classes and instances+    ClassDecl(..), InstDecl(..), Deriving(..), DerivStrategy(..),+    -- ** Data type declarations+    DataOrNew(..), ConDecl(..), FieldDecl(..), QualConDecl(..), GadtDecl(..), BangType(..),+    Unpackedness(..),+    -- ** Function bindings+    Match(..), Rhs(..), GuardedRhs(..),+    -- * Class Assertions and Contexts+    Context(..), FunDep(..), Asst(..),+    -- * Types+    Type(..), Boxed(..), Kind, TyVarBind(..), Promoted(..),+    TypeEqn (..),+    -- * Expressions+    Exp(..), Stmt(..), QualStmt(..), FieldUpdate(..),+    Alt(..), XAttr(..),+    -- * Patterns+    Pat(..), PatField(..), PXAttr(..), RPat(..), RPatOp(..),+    -- * Literals+    Literal(..), Sign(..),+    -- * Variables, Constructors and Operators+    ModuleName(..), QName(..), Name(..), QOp(..), Op(..),+    SpecialCon(..), CName(..), IPName(..), XName(..), Role(..),+    MaybePromotedName(..),++    -- * Template Haskell+    Bracket(..), Splice(..),++    -- * FFI+    Safety(..), CallConv(..),++    -- * Pragmas+    ModulePragma(..), Tool(..), Overlap(..),+    Rule(..), RuleVar(..), Activation(..),+    Annotation(..), BooleanFormula(..),++    -- * Builtin names++    -- ** Modules+    prelude_mod, main_mod,+    -- ** Main function of a program+    main_name,+    -- ** Constructors+    unit_con_name, tuple_con_name, list_con_name, list_cons_name, unboxed_singleton_con_name,+    unit_con, tuple_con, unboxed_singleton_con,+    -- ** Special identifiers+    as_name, qualified_name, hiding_name, minus_name, bang_name, dot_name, star_name,+    export_name, safe_name, unsafe_name, interruptible_name, threadsafe_name,+    stdcall_name, ccall_name, cplusplus_name, dotnet_name, jvm_name, js_name,+    javascript_name, capi_name, forall_name, family_name, role_name, hole_name,+    stock_name, anyclass_name, via_name,+    -- ** Type constructors+    unit_tycon_name, fun_tycon_name, list_tycon_name, tuple_tycon_name, unboxed_singleton_tycon_name,+    unit_tycon, fun_tycon, list_tycon, tuple_tycon, unboxed_singleton_tycon,++    -- * Source coordinates+    -- SrcLoc(..),++    -- * Annotated trees+    Annotated(..), (=~=),+  ) where++import Prelude hiding (id)++import Data.Data+import GHC.Generics (Generic)+#if __GLASGOW_HASKELL__ < 710+import Data.Foldable (Foldable)+import Data.Traversable (Traversable)+#endif++-- | The name of a Haskell module.+data ModuleName l = ModuleName l String+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Constructors with special syntax.+-- These names are never qualified, and always refer to builtin type or+-- data constructors.+data SpecialCon l+    = UnitCon l             -- ^ unit type and data constructor @()@+    | ListCon l             -- ^ list type and data constructor @[]@+    | FunCon  l             -- ^ function type constructor @->@+    | TupleCon l Boxed Int  -- ^ /n/-ary tuple type and data+                            --   constructors @(,)@ etc, possibly boxed @(\#,\#)@+    | Cons l                -- ^ list data constructor @(:)@+    | UnboxedSingleCon l    -- ^ unboxed singleton tuple constructor @(\# \#)@+    | ExprHole l            -- ^ An expression hole _+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | This type is used to represent qualified variables, and also+-- qualified constructors.+data QName l+    = Qual    l (ModuleName l) (Name l) -- ^ name qualified with a module name+    | UnQual  l                (Name l) -- ^ unqualified local name+    | Special l (SpecialCon l)          -- ^ built-in constructor with special syntax+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | This type is used to represent variables, and also constructors.+data Name l+    = Ident  l String   -- ^ /varid/ or /conid/.+    | Symbol l String   -- ^ /varsym/ or /consym/+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | An implicit parameter name.+data IPName l+    = IPDup l String -- ^ ?/ident/, non-linear implicit parameter+    | IPLin l String -- ^ %/ident/, linear implicit parameter+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Possibly qualified infix operators (/qop/), appearing in expressions.+data QOp l+    = QVarOp l (QName l) -- ^ variable operator (/qvarop/)+    | QConOp l (QName l) -- ^ constructor operator (/qconop/)+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Operators appearing in @infix@ declarations are never qualified.+data Op l+    = VarOp l (Name l)    -- ^ variable operator (/varop/)+    | ConOp l (Name l)    -- ^ constructor operator (/conop/)+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A name (/cname/) of a component of a class or data type in an @import@+-- or export specification.+data CName l+    = VarName l (Name l) -- ^ name of a method or field+    | ConName l (Name l) -- ^ name of a data constructor+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A complete Haskell source module.+data Module l+    = Module l (Maybe (ModuleHead l)) [ModulePragma l] [ImportDecl l] [Decl l]+    -- ^ an ordinary Haskell module+    | XmlPage l (ModuleName l) [ModulePragma l] (XName l) [XAttr l] (Maybe (Exp l)) [Exp l]+    -- ^ a module consisting of a single XML document. The ModuleName never appears in the source+    --   but is needed for semantic purposes, it will be the same as the file name.+    | XmlHybrid l (Maybe (ModuleHead l)) [ModulePragma l] [ImportDecl l] [Decl l]+                (XName l) [XAttr l] (Maybe (Exp l)) [Exp l]+    -- ^ a hybrid module combining an XML document with an ordinary module+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | The head of a module, including the name and export specification.+data ModuleHead l = ModuleHead l (ModuleName l) (Maybe (WarningText l)) (Maybe (ExportSpecList l))+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | An explicit export specification.+data ExportSpecList l+    = ExportSpecList l [ExportSpec l]+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | An item in a module's export specification.+data ExportSpec l+     = EVar l (QName l)                 -- ^ variable.+     | EAbs l (Namespace l) (QName l)   -- ^ @T@:+                                        --   a class or datatype exported abstractly,+                                        --   or a type synonym.+     | EThingWith l (EWildcard l) (QName l) [CName l] -- ^ @T(C_1,...,C_n)@:+                                        --   a class exported with some of its methods, or+                                        --   a datatype exported with some of its constructors.+     | EModuleContents l (ModuleName l) -- ^ @module M@:+                                        --   re-export a module.+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Indicates the position of the wildcard in an export list+data EWildcard l = NoWildcard l | EWildcard l Int+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Namespaces for imports/exports.+data Namespace l = NoNamespace l | TypeNamespace l | PatternNamespace l+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | An import declaration.+data ImportDecl l = ImportDecl+    { importAnn :: l                   -- ^ annotation, used by parser for position of the @import@ keyword.+    , importModule :: ModuleName l     -- ^ name of the module imported.+    , importQualified :: Bool          -- ^ imported @qualified@?+    , importSrc :: Bool                -- ^ imported with @{-\# SOURCE \#-}@?+    , importSafe :: Bool               -- ^ Import @safe@?+    , importPkg :: Maybe String        -- ^ imported with explicit package name+    , importAs :: Maybe (ModuleName l) -- ^ optional alias name in an @as@ clause.+    , importSpecs :: Maybe (ImportSpecList l)+            -- ^ optional list of import specifications.+    }+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | An explicit import specification list.+data ImportSpecList l+    = ImportSpecList l Bool [ImportSpec l]+            -- ^ A list of import specifications.+            -- The 'Bool' is 'True' if the names are excluded+            -- by @hiding@.+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | An import specification, representing a single explicit item imported+--   (or hidden) from a module.+data ImportSpec l+     = IVar l (Name l)                  -- ^ variable+     | IAbs l (Namespace l) (Name l)    -- ^ @T@:+                                        --   the name of a class, datatype or type synonym.+     | IThingAll l (Name l)             -- ^ @T(..)@:+                                        --   a class imported with all of its methods, or+                                        --   a datatype imported with all of its constructors.+     | IThingWith l (Name l) [CName l]  -- ^ @T(C_1,...,C_n)@:+                                        --   a class imported with some of its methods, or+                                        --   a datatype imported with some of its constructors.+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Associativity of an operator.+data Assoc l+     = AssocNone  l -- ^ non-associative operator (declared with @infix@)+     | AssocLeft  l -- ^ left-associative operator (declared with @infixl@).+     | AssocRight l -- ^ right-associative operator (declared with @infixr@)+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A top-level declaration.+data Decl l+     = TypeDecl     l (DeclHead l) (Type l)+     -- ^ A type declaration+     | TypeFamDecl  l (DeclHead l) (Maybe (ResultSig l)) (Maybe (InjectivityInfo l))+     -- ^ A type family declaration+     | ClosedTypeFamDecl  l (DeclHead l) (Maybe (ResultSig l)) (Maybe (InjectivityInfo l)) [TypeEqn l]+     -- ^ A closed type family declaration+     | DataDecl     l (DataOrNew l) (Maybe (Context l)) (DeclHead l)                  [QualConDecl l] [Deriving l]+     -- ^ A data OR newtype declaration+     | GDataDecl    l (DataOrNew l) (Maybe (Context l)) (DeclHead l) (Maybe (Kind l)) [GadtDecl l]    [Deriving l]+     -- ^ A data OR newtype declaration, GADT style+     | DataFamDecl  l {-data-}      (Maybe (Context l)) (DeclHead l) (Maybe (ResultSig l))+     -- ^ A data family declaration+     | TypeInsDecl  l (Type l) (Type l)+     -- ^ A type family instance declaration+     | DataInsDecl  l (DataOrNew l) (Type l)                  [QualConDecl l] [Deriving l]+     -- ^ A data family instance declaration+     | GDataInsDecl l (DataOrNew l) (Type l) (Maybe (Kind l)) [GadtDecl l]    [Deriving l]+     -- ^ A data family instance declaration, GADT style+     | ClassDecl    l (Maybe (Context l)) (DeclHead l) [FunDep l] (Maybe [ClassDecl l])+     -- ^ A declaration of a type class+     | InstDecl     l (Maybe (Overlap l)) (InstRule l) (Maybe [InstDecl l])+     -- ^ An declaration of a type class instance+     | DerivDecl    l (Maybe (DerivStrategy l)) (Maybe (Overlap l)) (InstRule l)+     -- ^ A standalone deriving declaration+     | InfixDecl    l (Assoc l) (Maybe Int) [Op l]+     -- ^ A declaration of operator fixity+     | DefaultDecl  l [Type l]+     -- ^ A declaration of default types+     | SpliceDecl   l (Exp l)+     -- ^ A Template Haskell splicing declaration+     | TSpliceDecl  l (Exp l)+     -- ^ A typed Template Haskell splicing declaration+     | TypeSig      l [Name l] (Type l)+     -- ^ A type signature declaration+     | PatSynSig    l [Name l] (Maybe [TyVarBind l]) (Maybe (Context l))+                               (Maybe [TyVarBind l]) (Maybe (Context l))+                                                     (Type l)+     -- ^ A pattern synonym signature declation+     | FunBind      l [Match l]+     -- ^ A set of function binding clauses+     | PatBind      l (Pat l) (Rhs l) {-where-} (Maybe (Binds l))+     -- ^ A pattern binding+     | PatSyn l (Pat l) (Pat l) (PatternSynDirection l)+     -- ^ A pattern synonym binding+     | ForImp       l (CallConv l) (Maybe (Safety l)) (Maybe String) (Name l) (Type l)+     -- ^ A foreign import declaration+     | ForExp       l (CallConv l)                    (Maybe String) (Name l) (Type l)+     -- ^ A foreign export declaration+     | RulePragmaDecl   l [Rule l]+     -- ^ A RULES pragma+     | DeprPragmaDecl   l [([Name l], String)]+     -- ^ A DEPRECATED pragma+     | WarnPragmaDecl   l [([Name l], String)]+     -- ^ A WARNING pragma+     | InlineSig        l Bool (Maybe (Activation l)) (QName l)+     -- ^ An INLINE pragma+     | InlineConlikeSig l      (Maybe (Activation l)) (QName l)+     -- ^ An INLINE CONLIKE pragma+     | SpecSig          l      (Maybe (Activation l)) (QName l) [Type l]+     -- ^ A SPECIALISE pragma+     | SpecInlineSig    l Bool (Maybe (Activation l)) (QName l) [Type l]+     -- ^ A SPECIALISE INLINE pragma+     | InstSig          l      (InstRule l)+     -- ^ A SPECIALISE instance pragma+     | AnnPragma        l (Annotation l)+     -- ^ An ANN pragma+     | MinimalPragma    l (Maybe (BooleanFormula l))+     -- ^ A MINIMAL pragma+     | RoleAnnotDecl    l (QName l) [Role l]+     -- ^ A role annotation+     | CompletePragma l [Name l] (Maybe (QName l))+     -- ^ A COMPLETE pragma+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++data  PatternSynDirection l =+      Unidirectional -- ^ A unidirectional pattern synonym with "<-"+    | ImplicitBidirectional  -- ^ A bidirectional pattern synonym with "="+    | ExplicitBidirectional l [Decl l]  -- ^ A birectional pattern synonym with the construction specified.+    deriving (Eq, Ord, Show, Data, Typeable, Foldable, Traversable, Functor, Generic)++-- | A type equation as found in closed type families.+data TypeEqn l = TypeEqn l (Type l) (Type l) deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | An annotation through an ANN pragma.+data Annotation l+    = Ann       l (Name l)  (Exp l)+    -- ^ An annotation for a declared name.+    | TypeAnn   l (Name l)  (Exp l)+    -- ^ An annotation for a declared type.+    | ModuleAnn l           (Exp l)+    -- ^ An annotation for the defining module.+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A boolean formula for MINIMAL pragmas.+data BooleanFormula l+    = VarFormula l (Name l)              -- ^ A variable.+    | AndFormula l [BooleanFormula l]    -- ^ And boolean formulas.+    | OrFormula l [BooleanFormula l]     -- ^ Or boolean formulas.+    | ParenFormula l (BooleanFormula l)  -- ^ Parenthesized boolean formulas.+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++data Role l+  = Nominal l+  | Representational l+  | Phantom l+  | RoleWildcard l+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A flag stating whether a declaration is a data or newtype declaration.+data DataOrNew l = DataType l | NewType l+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)+++-- | Injectivity info for injective type families+data InjectivityInfo l = InjectivityInfo l (Name l) [Name l]+  deriving (Eq, Ord, Show, Typeable, Data, Foldable, Traversable, Functor, Generic)++data ResultSig l = KindSig l (Kind l) | TyVarSig l (TyVarBind l)+  deriving (Eq, Ord, Show, Typeable, Data, Foldable, Traversable, Functor, Generic)++-- | The head of a type or class declaration, which consists of the type+-- or class name applied to some type variables+--+-- @class C a b@ is represented as+--+-- >DHApp+-- >   ()+-- >   (DHApp+-- >      () (DHead () (Ident () "C")) (UnkindedVar () (Ident () "a")))+-- >   (UnkindedVar () (Ident () "b"))+--+-- (where the annotation type @l@ is instantiated with @()@)+--+-- @class (a :< b) c@ is represented as+--+-- >DHApp+-- >   ()+-- >   (DHParen+-- >      ()+-- >      (DHApp+-- >         ()+-- >         (DHInfix () (UnkindedVar () (Ident () "a")) (Symbol () ":<"))+-- >         (UnkindedVar () (Ident () "b"))))+-- >   (UnkindedVar () (Ident () "c"))+data DeclHead l+    = DHead l (Name l) -- ^ type or class name+    | DHInfix l (TyVarBind l) (Name l) -- ^ infix application of the type/class name to the left operand+    | DHParen l (DeclHead l) -- ^ parenthesized declaration head+    | DHApp   l (DeclHead l) (TyVarBind l) -- ^ application to one more type variable+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | The instance declaration rule, which is, roughly, the part of the instance declaration before the @where@ keyword.+--+-- Example: @instance Ord a => Ord (Maybe a)@ is represented as+--+-- >IRule+-- >   ()+-- >   Nothing+-- >   (Just+-- >      (CxSingle+-- >         ()+-- >         (ClassA+-- >            () (UnQual () (Ident () "Ord")) [ TyVar () (Ident () "a") ])))+-- >   (IHApp+-- >      ()+-- >      (IHCon () (UnQual () (Ident () "Ord")))+-- >      (TyParen+-- >         ()+-- >         (TyApp+-- >            ()+-- >            (TyCon () (UnQual () (Ident () "Maybe")))+-- >            (TyVar () (Ident () "a")))))+--+-- An optional explicit forall after @instance@ is supported:+-- @instance forall a . Ord a => Ord (Maybe a) where@ becomes+--+-- >IRule+-- >   ()+-- >   (Just [ UnkindedVar () (Ident () "a") ])+-- >   ...+data InstRule l+    = IRule l (Maybe [TyVarBind l]) (Maybe (Context l)) (InstHead l)+    | IParen l (InstRule l)+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- See bugs #7 and #31 for more details and use cases for the rationale+-- of the split. DeclOrInstHead should be used by DeclHead as the name implies.++-- | The instance head. The split between rule/head allow us to represent+-- @instance (Bounded a => Bounded [a]) where@ faithfully.+--+-- The structure of 'InstHead' follows one of 'DeclHead'.+--+-- For example, @instance C (Maybe a) Int where@ is represented as+--+-- >IHApp+-- >   ()+-- >   (IHApp+-- >      ()+-- >      (IHCon () (UnQual () (Ident () "C")))+-- >      (TyParen+-- >         ()+-- >         (TyApp+-- >            ()+-- >            (TyCon () (UnQual () (Ident () "Maybe")))+-- >            (TyVar () (Ident () "a")))))+-- >   (TyCon () (UnQual () (Ident () "Int")))))+data InstHead l+    = IHCon l (QName l) -- ^ type or class name+    | IHInfix l (Type l) (QName l) -- ^ infix application of the type/class name to the left operand+    | IHParen l (InstHead l) -- ^ parenthesized instance head+    | IHApp   l (InstHead l) (Type l) -- ^ application to one more type+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A deriving clause following a data type declaration.+data Deriving l = Deriving l (Maybe (DerivStrategy l)) [InstRule l]+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Which technique the user explicitly requested when deriving an instance.+data DerivStrategy l+  = DerivStock l        -- ^ GHC's \"standard\" strategy, which is to implement a+                        --   custom instance for the data type. This only works for+                        --   certain types that GHC knows about (e.g., 'Eq', 'Show',+                        --   'Functor' when @-XDeriveFunctor@ is enabled, etc.)+  | DerivAnyclass l     -- ^ @-XDeriveAnyClass@+  | DerivNewtype l      -- ^ @-XGeneralizedNewtypeDeriving@+  | DerivVia l (Type l) -- ^ @-XDerivingVia@+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A binding group inside a @let@ or @where@ clause.+data Binds l+    = BDecls  l [Decl l]     -- ^ An ordinary binding group+    | IPBinds l [IPBind l]   -- ^ A binding group for implicit parameters+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A binding of an implicit parameter.+data IPBind l = IPBind l (IPName l) (Exp l)+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Clauses of a function binding.+data Match l+     = Match l      (Name l) [Pat l]         (Rhs l) {-where-} (Maybe (Binds l))+        -- ^ A clause defined with prefix notation, i.e. the function name+        --  followed by its argument patterns, the right-hand side and an+        --  optional where clause.+     | InfixMatch l (Pat l) (Name l) [Pat l] (Rhs l) {-where-} (Maybe (Binds l))+        -- ^ A clause defined with infix notation, i.e. first its first argument+        --  pattern, then the function name, then its following argument(s),+        --  the right-hand side and an optional where clause.+        --  Note that there can be more than two arguments to a function declared+        --  infix, hence the list of pattern arguments.+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A single constructor declaration within a data type declaration,+--   which may have an existential quantification binding.+data QualConDecl l+    = QualConDecl l+        {-forall-} (Maybe [TyVarBind l]) {- . -} (Maybe (Context l))+        {- => -} (ConDecl l)+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Declaration of an ordinary data constructor.+data ConDecl l+     = ConDecl l (Name l) [Type l]+                -- ^ ordinary data constructor+     | InfixConDecl l (Type l) (Name l) (Type l)+                -- ^ infix data constructor+     | RecDecl l (Name l) [FieldDecl l]+                -- ^ record constructor+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Declaration of a (list of) named field(s).+data FieldDecl l = FieldDecl l [Name l] (Type l)+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)+++-- | A single constructor declaration in a GADT data type declaration.+--+-- If the GADT is declared using the record syntax, e.g.+--+-- >data Ty where+-- >  TCon :: { field1 :: Int, field2 :: Bool } -> Ty+--+-- then the fields are stored as a list of 'FieldDecl's, and the final type+-- (@Ty@ in the above example) is stored in the last 'Type' field.+--+-- If the GADT is declared using the ordinary syntax, e.g.+--+-- >data Ty where+-- >  TCon :: Int -> Bool -> Ty+--+-- then @'Maybe' ['FieldDecl' l]@ is 'Nothing', and the whole constructor's+-- type (such as @Int -> Bool -> Ty@) is stored in the last 'Type' field.+data GadtDecl l+    = GadtDecl l (Name l)+        {-forall-} (Maybe [TyVarBind l]) {- . -} (Maybe (Context l))+        {- => -} (Maybe [FieldDecl l]) (Type l)+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Declarations inside a class declaration.+data ClassDecl l+    = ClsDecl    l (Decl l)+            -- ^ ordinary declaration+    | ClsDataFam l (Maybe (Context l)) (DeclHead l) (Maybe (ResultSig l))+            -- ^ declaration of an associated data type+    | ClsTyFam   l                     (DeclHead l) (Maybe (ResultSig l)) (Maybe (InjectivityInfo l))+            -- ^ declaration of an associated type synonym+    | ClsTyDef   l (TypeEqn l)+            -- ^ default choice for an associated type synonym+    | ClsDefSig  l (Name l) (Type l)+            -- ^ default signature+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Declarations inside an instance declaration.+data InstDecl l+    = InsDecl   l (Decl l)+            -- ^ ordinary declaration+    | InsType   l (Type l) (Type l)+            -- ^ an associated type definition+    | InsData   l (DataOrNew l) (Type l) [QualConDecl l] [Deriving l]+            -- ^ an associated data type implementation+    | InsGData  l (DataOrNew l) (Type l) (Maybe (Kind l)) [GadtDecl l] [Deriving l]+            -- ^ an associated data type implemented using GADT style+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | The type of a constructor argument or field, optionally including+--   a strictness annotation.+data BangType l+     = BangedTy   l -- ^ strict component, marked with \"@!@\"+     | LazyTy     l -- ^ lazy component, marked with \"@~@\"+     | NoStrictAnnot l -- ^ No strictness information+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++data Unpackedness l+    = Unpack l -- ^ \"@{-\# UNPACK \#-}@\"+    | NoUnpack l -- ^ \"@{-\# NOUNPACK \#-}@\"+    | NoUnpackPragma l -- ^ No unpack pragma+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | The right hand side of a function binding, pattern binding, or a case+--   alternative.+data Rhs l+     = UnGuardedRhs l (Exp l) -- ^ unguarded right hand side (/exp/)+     | GuardedRhss  l [GuardedRhs l]+                -- ^ guarded right hand side (/gdrhs/)+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A guarded right hand side @|@ /stmts/ @=@ /exp/, or @|@ /stmts/ @->@ /exp/+--   for case alternatives.+--   The guard is a series of statements when using pattern guards,+--   otherwise it will be a single qualifier expression.+data GuardedRhs l+     = GuardedRhs l [Stmt l] (Exp l)+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A type qualified with a context.+--   An unqualified type has an empty context.+data Type l+     = TyForall l+        (Maybe [TyVarBind l])+        (Maybe (Context l))+        (Type l)                                -- ^ qualified type+     | TyStar  l                                -- ^ @*@, the type of types+     | TyFun   l (Type l) (Type l)              -- ^ function type+     | TyTuple l Boxed [Type l]                 -- ^ tuple type, possibly boxed+     | TyUnboxedSum l [Type l]                  -- ^ unboxed tuple type+     | TyList  l (Type l)                       -- ^ list syntax, e.g. [a], as opposed to [] a+     | TyParArray  l (Type l)                   -- ^ parallel array syntax, e.g. [:a:]+     | TyApp   l (Type l) (Type l)              -- ^ application of a type constructor+     | TyVar   l (Name l)                       -- ^ type variable+     | TyCon   l (QName l)                      -- ^ named type or type constructor+     | TyParen l (Type l)                       -- ^ type surrounded by parentheses+     | TyInfix l (Type l) (MaybePromotedName l)+                          (Type l)              -- ^ infix type constructor+     | TyKind  l (Type l) (Kind l)              -- ^ type with explicit kind signature+     | TyPromoted l (Promoted l)                -- ^ @'K@, a promoted data type (-XDataKinds).+     | TyEquals l (Type l) (Type l)             -- ^ type equality predicate enabled by ConstraintKinds+     | TySplice l (Splice l)                    -- ^ template haskell splice type+     | TyBang l (BangType l) (Unpackedness l) (Type l)           -- ^ Strict type marked with \"@!@\" or type marked with UNPACK pragma.+     | TyWildCard l (Maybe (Name l))            -- ^ Either an anonymous of named type wildcard+     | TyQuasiQuote l String String             -- ^ @[$/name/| /string/ |]@+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++data MaybePromotedName l = PromotedName l (QName l) | UnpromotedName l (QName l)+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Bools here are True if there was a leading quote which may be+-- left out. For example @'[k1,k2]@ means the same thing as @[k1,k2]@.+data Promoted l+        = PromotedInteger l Integer String -- ^ parsed value and raw string+        | PromotedString l String String -- ^ parsed value and raw string+        | PromotedCon l Bool (QName l)+        | PromotedList l Bool [Type l]+        | PromotedTuple l [Type l]+        | PromotedUnit l+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Flag denoting whether a tuple is boxed or unboxed.+data Boxed = Boxed | Unboxed+  deriving (Eq,Ord,Show,Typeable,Data,Generic)++-- | A type variable declaration, optionally with an explicit kind annotation.+data TyVarBind l+    = KindedVar   l (Name l) (Kind l)  -- ^ variable binding with kind annotation+    | UnkindedVar l (Name l)           -- ^ ordinary variable binding+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | An explicit kind annotation.+type Kind = Type+++-- | A functional dependency, given on the form+--   l1 l2 ... ln -> r2 r3 .. rn+data FunDep l+    = FunDep l [Name l] [Name l]+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A context is a set of assertions+data Context l+    = CxSingle l (Asst l)+    | CxTuple  l [Asst l]+    | CxEmpty  l+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Class assertions.+data Asst l+        = TypeA l (Type l)                      -- ^ type assertion+        | IParam l (IPName l) (Type l)          -- ^ implicit parameter assertion+        | ParenA l (Asst l)                     -- ^ parenthesised class assertion+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | /literal/+-- Values of this type hold the abstract value of the literal, along with the+-- precise string representation used.  For example, @10@, @0o12@ and @0xa@+-- have the same value representation, but each carry a different string representation.+data Literal l+    = Char       l Char     String     -- ^ character literal+    | String     l String   String     -- ^ string literal+    | Int        l Integer  String     -- ^ integer literal+    | Frac       l Rational String     -- ^ floating point literal+    | PrimInt    l Integer  String     -- ^ unboxed integer literal+    | PrimWord   l Integer  String     -- ^ unboxed word literal+    | PrimFloat  l Rational String     -- ^ unboxed float literal+    | PrimDouble l Rational String     -- ^ unboxed double literal+    | PrimChar   l Char     String     -- ^ unboxed character literal+    | PrimString l String   String     -- ^ unboxed string literal+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | An indication whether a literal pattern has been negated or not.+data Sign l+    = Signless l+    | Negative l+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Haskell expressions.+data Exp l+    = Var l (QName l)                       -- ^ variable+    | OverloadedLabel l String              -- ^ Overloaded label #foo+    | IPVar l (IPName l)                    -- ^ implicit parameter variable+    | Con l (QName l)                       -- ^ data constructor+    | Lit l (Literal l)                     -- ^ literal constant+    | InfixApp l (Exp l) (QOp l) (Exp l)    -- ^ infix application+    | App l (Exp l) (Exp l)                 -- ^ ordinary application+    | NegApp l (Exp l)                      -- ^ negation expression @-/exp/@ (unary minus)+    | Lambda l [Pat l] (Exp l)              -- ^ lambda expression+    | Let l (Binds l) (Exp l)               -- ^ local declarations with @let@ ... @in@ ...+    | If l (Exp l) (Exp l) (Exp l)          -- ^ @if@ /exp/ @then@ /exp/ @else@ /exp/+    | MultiIf l [GuardedRhs l]              -- ^ @if@ @|@ /stmts/ @->@ /exp/ ...+    | Case l (Exp l) [Alt l]                -- ^ @case@ /exp/ @of@ /alts/+    | Do l [Stmt l]                         -- ^ @do@-expression:+                                            --   the last statement in the list+                                            --   should be an expression.+    | MDo l [Stmt l]                        -- ^ @mdo@-expression+    | Tuple l Boxed [Exp l]                 -- ^ tuple expression+    | UnboxedSum l Int Int (Exp l)          -- ^ unboxed sum+    | TupleSection l Boxed [Maybe (Exp l)]  -- ^ tuple section expression, e.g. @(,,3)@+    | List l [Exp l]                        -- ^ list expression+    | ParArray l [Exp l]                    -- ^ parallel array expression+    | Paren l (Exp l)                       -- ^ parenthesised expression+    | LeftSection l (Exp l) (QOp l)         -- ^ left section @(@/exp/ /qop/@)@+    | RightSection l (QOp l) (Exp l)        -- ^ right section @(@/qop/ /exp/@)@+    | RecConstr l (QName l) [FieldUpdate l] -- ^ record construction expression+    | RecUpdate l (Exp l)   [FieldUpdate l] -- ^ record update expression+    | EnumFrom l (Exp l)                    -- ^ unbounded arithmetic sequence,+                                            --   incrementing by 1: @[from ..]@+    | EnumFromTo l (Exp l) (Exp l)          -- ^ bounded arithmetic sequence,+                                            --   incrementing by 1 @[from .. to]@+    | EnumFromThen l (Exp l) (Exp l)        -- ^ unbounded arithmetic sequence,+                                            --   with first two elements given @[from, then ..]@+    | EnumFromThenTo l (Exp l) (Exp l) (Exp l)+                                            -- ^ bounded arithmetic sequence,+                                            --   with first two elements given @[from, then .. to]@+    | ParArrayFromTo l (Exp l) (Exp l)      -- ^ Parallel array bounded arithmetic sequence,+                                            --   incrementing by 1 @[:from .. to:]@+    | ParArrayFromThenTo l (Exp l) (Exp l) (Exp l)+                                            -- ^ bounded arithmetic sequence,+                                            --   with first two elements given @[:from, then .. to:]@+    | ListComp l (Exp l) [QualStmt l]       -- ^ ordinary list comprehension+    | ParComp  l (Exp l) [[QualStmt l]]     -- ^ parallel list comprehension+    | ParArrayComp  l (Exp l) [[QualStmt l]] -- ^ parallel array comprehension+    | ExpTypeSig l (Exp l) (Type l)         -- ^ expression with explicit type signature++    | VarQuote l (QName l)                  -- ^ @'x@ for template haskell reifying of expressions+    | TypQuote l (QName l)                  -- ^ @''T@ for template haskell reifying of types+    | BracketExp l (Bracket l)              -- ^ template haskell bracket expression+    | SpliceExp l (Splice l)                -- ^ template haskell splice expression+    | QuasiQuote l String String            -- ^ quasi-quotaion: @[$/name/| /string/ |]@+    | TypeApp l (Type l)                    -- ^ Visible type application++-- Hsx+    | XTag l (XName l) [XAttr l] (Maybe (Exp l)) [Exp l]+                                            -- ^ xml element, with attributes and children+    | XETag l (XName l) [XAttr l] (Maybe (Exp l))+                                            -- ^ empty xml element, with attributes+    | XPcdata l String                      -- ^ PCDATA child element+    | XExpTag l (Exp l)                     -- ^ escaped haskell expression inside xml+    | XChildTag l [Exp l]                   -- ^ children of an xml element+++-- Pragmas+    | CorePragma l      String (Exp l)      -- ^ CORE pragma+    | SCCPragma  l      String (Exp l)      -- ^ SCC pragma+    | GenPragma  l      String (Int, Int) (Int, Int) (Exp l)+                                            -- ^ GENERATED pragma++-- Arrows+    | Proc            l (Pat l) (Exp l)     -- ^ arrows proc: @proc@ /pat/ @->@ /exp/+    | LeftArrApp      l (Exp l) (Exp l)     -- ^ arrow application (from left): /exp/ @-<@ /exp/+    | RightArrApp     l (Exp l) (Exp l)     -- ^ arrow application (from right): /exp/ @>-@ /exp/+    | LeftArrHighApp  l (Exp l) (Exp l)     -- ^ higher-order arrow application (from left): /exp/ @-<<@ /exp/+    | RightArrHighApp l (Exp l) (Exp l)     -- ^ higher-order arrow application (from right): /exp/ @>>-@ /exp/+    | ArrOp           l (Exp l)             -- ^ arrow control operators: @(| /exp/ |)@++-- LambdaCase+    | LCase l [Alt l]                       -- ^ @\case@ /alts/++  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | The name of an xml element or attribute,+--   possibly qualified with a namespace.+data XName l+    = XName l String              -- <name ...+    | XDomName l String String    -- <dom:name ...+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | An xml attribute, which is a name-expression pair.+data XAttr l = XAttr l (XName l) (Exp l)+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A template haskell bracket expression.+data Bracket l+    = ExpBracket l (Exp l)        -- ^ expression bracket: @[| ... |]@+    | TExpBracket l (Exp l)       -- ^ typed expression bracket: @[|| ... ||]@+    | PatBracket l (Pat l)        -- ^ pattern bracket: @[p| ... |]@+    | TypeBracket l (Type l)      -- ^ type bracket: @[t| ... |]@+    | DeclBracket l [Decl l]      -- ^ declaration bracket: @[d| ... |]@+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A template haskell splice expression+data Splice l+    = IdSplice l String           -- ^ variable splice: @$var@+    | TIdSplice l String          -- ^ typed variable splice: @$$var@+    | ParenSplice l (Exp l)       -- ^ parenthesised expression splice: @$(/exp/)@+    | TParenSplice l (Exp l)      -- ^ parenthesised typed expression splice: @$$(/exp/)@+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | The safety of a foreign function call.+data Safety l+    = PlayRisky l         -- ^ unsafe+    | PlaySafe l Bool     -- ^ safe ('False') or threadsafe ('True')+    | PlayInterruptible l -- ^ interruptible+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | The calling convention of a foreign function call.+data CallConv l+    = StdCall l+    | CCall l+    | CPlusPlus l+    | DotNet l+    | Jvm l+    | Js l+    | JavaScript l+    | CApi l+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A top level options pragma, preceding the module header.+data ModulePragma l+    = LanguagePragma   l [Name l]  -- ^ LANGUAGE pragma+    | OptionsPragma    l (Maybe Tool) String+                        -- ^ OPTIONS pragma, possibly qualified with a tool, e.g. OPTIONS_GHC+    | AnnModulePragma  l (Annotation l)+                        -- ^ ANN pragma with module scope+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Recognised tools for OPTIONS pragmas.+data Tool = GHC | HUGS | NHC98 | YHC | HADDOCK | UnknownTool String+  deriving (Eq,Ord,Show,Typeable,Data,Generic)++-- | Recognised overlaps for overlap pragmas.+data Overlap l+    = NoOverlap l   -- ^ NO_OVERLAP pragma+    | Overlap l     -- ^ OVERLAP pragma+    | Overlapping l+    | Overlaps l+    | Overlappable l+    | Incoherent l  -- ^ INCOHERENT pragma+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Activation clause of a RULES pragma.+data Activation l+    = ActiveFrom   l Int+    | ActiveUntil  l Int+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | The body of a RULES pragma.+data Rule l+    = Rule l String (Maybe (Activation l)) (Maybe [RuleVar l]) (Exp l) (Exp l)+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Variables used in a RULES pragma, optionally annotated with types+data RuleVar l+    = RuleVar l (Name l)+    | TypedRuleVar l (Name l) (Type l)+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Warning text to optionally use in the module header of e.g.+--   a deprecated module.+data WarningText l+    = DeprText l String+    | WarnText l String+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)+++-- | A pattern, to be matched against a value.+data Pat l+    = PVar l (Name l)                       -- ^ variable+    | PLit l (Sign l) (Literal l)           -- ^ literal constant+    | PNPlusK l (Name l) Integer            -- ^ n+k pattern+    | PInfixApp l (Pat l) (QName l) (Pat l) -- ^ pattern with an infix data constructor+    | PApp l (QName l) [Pat l]              -- ^ data constructor and argument patterns+    | PTuple l Boxed [Pat l]                -- ^ tuple pattern+    | PUnboxedSum l Int Int (Pat l)         -- ^ unboxed sum+    | PList l [Pat l]                       -- ^ list pattern+    | PParen l (Pat l)                      -- ^ parenthesized pattern+    | PRec l (QName l) [PatField l]         -- ^ labelled pattern, record style+    | PAsPat l (Name l) (Pat l)             -- ^ @\@@-pattern+    | PWildCard l                           -- ^ wildcard pattern: @_@+    | PIrrPat l (Pat l)                     -- ^ irrefutable pattern: @~/pat/@+    | PatTypeSig l (Pat l) (Type l)         -- ^ pattern with type signature+    | PViewPat l (Exp l) (Pat l)            -- ^ view patterns of the form @(/exp/ -> /pat/)@+    | PRPat l [RPat l]                      -- ^ regular list pattern+    | PXTag l (XName l) [PXAttr l] (Maybe (Pat l)) [Pat l]+                                            -- ^ XML element pattern+    | PXETag l (XName l) [PXAttr l] (Maybe (Pat l))+                                            -- ^ XML singleton element pattern+    | PXPcdata l String                     -- ^ XML PCDATA pattern+    | PXPatTag l (Pat l)                    -- ^ XML embedded pattern+    | PXRPats  l [RPat l]                   -- ^ XML regular list pattern+    | PSplice l (Splice l)                  -- ^ template haskell splice pattern+    | PQuasiQuote l String String           -- ^ quasi quote pattern: @[$/name/| /string/ |]@+    | PBangPat l (Pat l)                    -- ^ strict (bang) pattern: @f !x = ...@+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | An XML attribute in a pattern.+data PXAttr l = PXAttr l (XName l) (Pat l)+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A regular pattern operator.+data RPatOp l+    = RPStar  l  -- ^ @*@ = 0 or more+    | RPStarG l  -- ^ @*!@ = 0 or more, greedy+    | RPPlus  l  -- ^ @+@ = 1 or more+    | RPPlusG l  -- ^ @+!@ = 1 or more, greedy+    | RPOpt   l  -- ^ @?@ = 0 or 1+    | RPOptG  l  -- ^ @?!@ = 0 or 1, greedy+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | An entity in a regular pattern.+data RPat l+    = RPOp l (RPat l) (RPatOp l)   -- ^ operator pattern, e.g. pat*+    | RPEither l (RPat l) (RPat l) -- ^ choice pattern, e.g. (1 | 2)+    | RPSeq l [RPat l]             -- ^ sequence pattern, e.g. (| 1, 2, 3 |)+    | RPGuard l (Pat l) [Stmt l]   -- ^ guarded pattern, e.g. (| p | p < 3 |)+    | RPCAs l (Name l) (RPat l)    -- ^ non-linear variable binding, e.g. (foo\@:(1 | 2))*+    | RPAs l (Name l) (RPat l)     -- ^ linear variable binding, e.g. foo\@(1 | 2)+    | RPParen l (RPat l)           -- ^ parenthesised pattern, e.g. (2*)+    | RPPat l (Pat l)              -- ^ an ordinary pattern+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | An /fpat/ in a labeled record pattern.+data PatField l+    = PFieldPat l (QName l) (Pat l)     -- ^ ordinary label-pattern pair+    | PFieldPun l (QName l)             -- ^ record field pun+    | PFieldWildcard l                  -- ^ record field wildcard+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A statement, representing both a /stmt/ in a @do@-expression,+--   an ordinary /qual/ in a list comprehension, as well as a /stmt/+--   in a pattern guard.+data Stmt l+    = Generator l (Pat l) (Exp l)+                            -- ^ a generator: /pat/ @<-@ /exp/+    | Qualifier l (Exp l)   -- ^ an /exp/ by itself: in a @do@-expression,+                            --   an action whose result is discarded;+                            --   in a list comprehension and pattern guard,+                            --   a guard expression+    | LetStmt l (Binds l)   -- ^ local bindings+    | RecStmt l [Stmt l]    -- ^ a recursive binding group for arrows+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A general /transqual/ in a list comprehension,+--   which could potentially be a transform of the kind+--   enabled by TransformListComp.+data QualStmt l+    = QualStmt     l (Stmt l)         -- ^ an ordinary statement+    | ThenTrans    l (Exp l)          -- ^ @then@ /exp/+    | ThenBy       l (Exp l) (Exp l)  -- ^ @then@ /exp/ @by@ /exp/+    | GroupBy      l (Exp l)          -- ^ @then@ @group@ @by@ /exp/+    | GroupUsing   l (Exp l)          -- ^ @then@ @group@ @using@ /exp/+    | GroupByUsing l (Exp l) (Exp l)  -- ^ @then@ @group@ @by@ /exp/ @using@ /exp/+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | An /fbind/ in a labeled construction or update expression.+data FieldUpdate l+    = FieldUpdate l (QName l) (Exp l)    -- ^ ordinary label-expresion pair+    | FieldPun l (QName l)               -- ^ record field pun+    | FieldWildcard l                    -- ^ record field wildcard+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | An /alt/ alternative in a @case@ expression.+data Alt l+    = Alt l (Pat l) (Rhs l) (Maybe (Binds l))+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-----------------------------------------------------------------------------+-- Builtin names.++prelude_mod, main_mod :: l -> ModuleName l+prelude_mod l = ModuleName l "Prelude"+main_mod    l = ModuleName l "Main"++main_name :: l -> Name l+main_name l = Ident l "main"++unit_con_name :: l -> QName l+unit_con_name l = Special l (UnitCon l)++tuple_con_name :: l -> Boxed -> Int -> QName l+tuple_con_name l b i = Special l (TupleCon l b (i+1))++list_con_name :: l -> QName l+list_con_name l = Special l (ListCon l)++list_cons_name :: l -> QName l+list_cons_name l = Special l (Cons l)++unboxed_singleton_con_name :: l -> QName l+unboxed_singleton_con_name l = Special l (UnboxedSingleCon l)++unit_con :: l -> Exp l+unit_con l = Con l $ unit_con_name l++tuple_con :: l -> Boxed -> Int -> Exp l+tuple_con l b i = Con l (tuple_con_name l b i)++unboxed_singleton_con :: l -> Exp l+unboxed_singleton_con l = Con l (unboxed_singleton_con_name l)++as_name, qualified_name, hiding_name, minus_name, bang_name, dot_name, star_name :: l -> Name l+as_name        l = Ident  l "as"+qualified_name l = Ident  l "qualified"+hiding_name    l = Ident  l "hiding"+minus_name     l = Symbol l "-"+bang_name      l = Symbol l "!"+dot_name       l = Symbol l "."+star_name      l = Symbol l "*"++hole_name :: l -> QName l+hole_name      l = Special l (ExprHole l)++export_name, safe_name, unsafe_name, interruptible_name, threadsafe_name,+  stdcall_name, ccall_name, cplusplus_name, dotnet_name,+  jvm_name, js_name, javascript_name, capi_name, forall_name,+  family_name, role_name, stock_name, anyclass_name, via_name :: l -> Name l+export_name     l = Ident l "export"+safe_name       l = Ident l "safe"+unsafe_name     l = Ident l "unsafe"+interruptible_name l = Ident l "interruptible"+threadsafe_name l = Ident l "threadsafe"+stdcall_name    l = Ident l "stdcall"+ccall_name      l = Ident l "ccall"+cplusplus_name  l = Ident l "cplusplus"+dotnet_name     l = Ident l "dotnet"+jvm_name        l = Ident l "jvm"+js_name         l = Ident l "js"+javascript_name l = Ident l "javascript"+capi_name       l = Ident l "capi"+forall_name     l = Ident l "forall"+family_name     l = Ident l "family"+role_name       l = Ident l "role"+stock_name      l = Ident l "stock"+anyclass_name   l = Ident l "anyclass"+via_name        l = Ident l "via"++unit_tycon_name, fun_tycon_name, list_tycon_name, unboxed_singleton_tycon_name :: l -> QName l+unit_tycon_name l = unit_con_name l+fun_tycon_name  l = Special l (FunCon l)+list_tycon_name l = Special l (ListCon l)+unboxed_singleton_tycon_name l = Special l (UnboxedSingleCon l)++tuple_tycon_name :: l -> Boxed -> Int -> QName l+tuple_tycon_name l b i = tuple_con_name l b i++unit_tycon, fun_tycon, list_tycon, unboxed_singleton_tycon :: l -> Type l+unit_tycon l = TyCon l $ unit_tycon_name l+fun_tycon  l = TyCon l $ fun_tycon_name  l+list_tycon l = TyCon l $ list_tycon_name l+unboxed_singleton_tycon l = TyCon l $ unboxed_singleton_tycon_name l++tuple_tycon :: l -> Boxed -> Int -> Type l+tuple_tycon l b i = TyCon l (tuple_tycon_name l b i)++-----------------------------------------------------------------------------+-- AST traversal, boiler-plate style++-- | Test if two AST elements are equal modulo annotations.+(=~=) :: (Annotated a, Eq (a ())) => a l1 -> a l2 -> Bool+a =~= b = fmap (const ()) a == fmap (const ()) b++-----------------------------------------------------------------------------+-- Reading annotations++-- | AST nodes are annotated, and this class allows manipulation of the annotations.+class Functor ast => Annotated ast where+    -- | Retrieve the annotation of an AST node.+    ann :: ast l -> l+    -- | Change the annotation of an AST node. Note that only the annotation of+    --   the node itself is affected, and not the annotations of any child nodes.+    --   if all nodes in the AST tree are to be affected, use 'fmap'.+    amap :: (l -> l) -> ast l -> ast l++instance Annotated ModuleName where+    ann (ModuleName l _) = l+    amap f (ModuleName l n) = ModuleName (f l) n++instance Annotated SpecialCon where+    ann sc = case sc of+        UnitCon l   -> l+        ListCon l   -> l+        FunCon  l   -> l+        TupleCon l _ _  -> l+        Cons l      -> l+        UnboxedSingleCon l  -> l+        ExprHole l  -> l+    amap = fmap++instance Annotated QName where+    ann qn = case qn of+        Qual    l _ _  -> l+        UnQual  l   _  -> l+        Special l _    -> l+    amap f qn = case qn of+        Qual    l mn n  -> Qual    (f l) mn n+        UnQual  l    n  -> UnQual  (f l)    n+        Special l sc    -> Special (f l) sc++instance Annotated Name where+    ann (Ident  l _) = l+    ann (Symbol l _) = l+    amap = fmap++instance Annotated IPName where+    ann (IPDup l _) = l+    ann (IPLin l _) = l+    amap = fmap++instance Annotated QOp where+    ann (QVarOp l _) = l+    ann (QConOp l _) = l+    amap f (QVarOp l qn) = QVarOp (f l) qn+    amap f (QConOp l qn) = QConOp (f l) qn++instance Annotated Op where+    ann (VarOp l _) = l+    ann (ConOp l _) = l+    amap f (VarOp l n) = VarOp (f l) n+    amap f (ConOp l n) = ConOp (f l) n++instance Annotated CName where+    ann (VarName l _) = l+    ann (ConName l _) = l+    amap f (VarName l n) = VarName (f l) n+    amap f (ConName l n) = ConName (f l) n++instance Annotated Module where+    ann (Module l _ _ _ _)            = l+    ann (XmlPage l _ _ _ _ _ _)       = l+    ann (XmlHybrid l _ _ _ _ _ _ _ _) = l++    amap f (Module l mmh ops iss dcls) =+        Module (f l) mmh ops iss dcls+    amap f (XmlPage l mn os xn xas me es) =+        XmlPage (f l) mn os xn xas me es+    amap f (XmlHybrid l mmh ops iss dcls xn xas me es) =+        XmlHybrid (f l) mmh ops iss dcls xn xas me es++instance Annotated ModuleHead where+    ann (ModuleHead l _ _ _)         = l+    amap f (ModuleHead l n mwt mesl) = ModuleHead (f l) n mwt mesl++instance Annotated ExportSpecList where+    ann (ExportSpecList l _)      = l+    amap f (ExportSpecList l ess) = ExportSpecList (f l) ess++instance Annotated ExportSpec where+    ann es = case es of+        EVar l _            -> l+        EAbs l _ _          -> l+        EThingWith l _ _ _    -> l+        EModuleContents l _ -> l+    amap f es = case es of+        EVar l qn     -> EVar (f l) qn+        EAbs l n qn       -> EAbs (f l) n qn+        EThingWith l wc qn cns -> EThingWith (f l) wc qn cns+        EModuleContents l mn    -> EModuleContents (f l) mn++instance Annotated EWildcard where+  ann ewc = case ewc of+      NoWildcard l  -> l+      EWildcard l _ -> l+  amap f ewc = case ewc of+      NoWildcard l  -> NoWildcard (f l)+      EWildcard l n -> EWildcard (f l) n++++instance Annotated Namespace where+    ann es = case es of+        NoNamespace l   -> l+        TypeNamespace l -> l+        PatternNamespace l -> l+    amap f es = case es of+        NoNamespace l   -> NoNamespace (f l)+        TypeNamespace l -> TypeNamespace (f l)+        PatternNamespace l -> PatternNamespace (f l)++instance Annotated ImportDecl where+    ann (ImportDecl l _ _ _ _ _ _ _) = l+    amap f (ImportDecl l mn qual src safe pkg mmn mis) =+        ImportDecl (f l) mn qual src safe pkg mmn mis++instance Annotated ImportSpecList where+    ann (ImportSpecList l _ _)      = l+    amap f (ImportSpecList l b iss) = ImportSpecList (f l) b iss++instance Annotated ImportSpec where+    ann is = case is of+        IVar l _         -> l+        IAbs l _ _       -> l+        IThingAll l _    -> l+        IThingWith l _ _ -> l+    amap f is = case is of+        IVar l n        -> IVar (f l) n+        IAbs l ns n     -> IAbs (f l) ns n+        IThingAll l n   -> IThingAll (f l) n+        IThingWith l n cns  -> IThingWith (f l) n cns++instance Annotated Assoc where+    ann (AssocNone  l) = l+    ann (AssocLeft  l) = l+    ann (AssocRight l) = l+    amap = fmap++instance Annotated Deriving where+    ann (Deriving l _ _)        = l+    amap f (Deriving l mds ihs) = Deriving (f l) mds ihs++instance Annotated DerivStrategy where+    ann (DerivStock l)    = l+    ann (DerivAnyclass l) = l+    ann (DerivNewtype l)  = l+    ann (DerivVia l _)    = l++    amap f (DerivStock l)    = DerivStock (f l)+    amap f (DerivAnyclass l) = DerivAnyclass (f l)+    amap f (DerivNewtype l)  = DerivNewtype (f l)+    amap f (DerivVia l t)    = DerivVia (f l) t++instance Annotated TypeEqn where+    ann (TypeEqn l _ _) = l+    amap f (TypeEqn l a b) = TypeEqn (f l) a b++instance Annotated InjectivityInfo where+  ann (InjectivityInfo l _ _) = l+  amap f (InjectivityInfo l to from) = InjectivityInfo (f l) to from++instance Annotated ResultSig where+  ann (KindSig l _) = l+  ann (TyVarSig l _) = l++  amap f (KindSig l k) = KindSig (f l) k+  amap f (TyVarSig l tv) = TyVarSig (f l) tv++instance Annotated Decl where+    ann decl = case decl of+        TypeDecl     l _ _              -> l+        TypeFamDecl  l _ _ _            -> l+        ClosedTypeFamDecl  l _ _ _ _    -> l+        DataDecl     l _ _ _ _ _        -> l+        GDataDecl    l _ _ _ _ _ _      -> l+        DataFamDecl  l    _ _ _         -> l+        TypeInsDecl  l _  _             -> l+        DataInsDecl  l _ _ _ _          -> l+        GDataInsDecl l _ _ _ _ _        -> l+        ClassDecl    l _ _ _ _          -> l+        InstDecl     l _ _ _            -> l+        DerivDecl    l _ _ _            -> l+        InfixDecl    l _ _ _            -> l+        DefaultDecl  l _                -> l+        SpliceDecl   l _                -> l+        TSpliceDecl  l _                -> l+        TypeSig      l _ _              -> l+        PatSynSig    l _ _ _ _ _ _      -> l+        FunBind      l _                -> l+        PatBind      l _ _ _            -> l+        ForImp       l _ _ _ _ _        -> l+        ForExp       l _ _ _ _          -> l+        RulePragmaDecl   l _            -> l+        DeprPragmaDecl   l _            -> l+        WarnPragmaDecl   l _            -> l+        InlineSig        l _ _ _        -> l+        InlineConlikeSig l   _ _        -> l+        SpecSig          l   _ _ _      -> l+        SpecInlineSig    l _ _ _ _      -> l+        InstSig          l _            -> l+        AnnPragma        l _            -> l+        MinimalPragma    l _            -> l+        RoleAnnotDecl    l _ _          -> l+        PatSyn           l _ _ _        -> l+        CompletePragma l _ _            -> l+    amap f decl = case decl of+        TypeDecl     l dh t      -> TypeDecl    (f l) dh t+        TypeFamDecl  l dh mk mi  -> TypeFamDecl (f l) dh mk mi+        ClosedTypeFamDecl  l dh mk mi eqns  -> ClosedTypeFamDecl (f l) dh mk mi eqns+        DataDecl     l dn mcx dh cds ders ->+            DataDecl (f l) dn mcx dh cds ders+        GDataDecl    l dn mcx dh mk gds ders ->+            GDataDecl (f l) dn mcx dh mk gds ders+        DataFamDecl  l mcx dh mk         -> DataFamDecl (f l) mcx dh mk+        TypeInsDecl  l t1 t2             -> TypeInsDecl (f l) t1 t2+        DataInsDecl  l dn t cds ders     -> DataInsDecl (f l) dn t cds ders+        GDataInsDecl l dn t mk gds ders  -> GDataInsDecl (f l) dn t mk gds ders+        ClassDecl    l mcx dh fds cds    -> ClassDecl (f l) mcx dh fds cds+        InstDecl     l mo ih ids         -> InstDecl (f l) mo ih ids+        DerivDecl    l mds mo ih         -> DerivDecl (f l) mds mo ih+        InfixDecl    l a k ops           -> InfixDecl (f l) a k ops+        DefaultDecl  l ts                -> DefaultDecl (f l) ts+        SpliceDecl   l sp                -> SpliceDecl (f l) sp+        TSpliceDecl  l sp                -> TSpliceDecl (f l) sp+        TypeSig      l ns t              -> TypeSig (f l) ns t+        PatSynSig    l n dh c1 dh2 c2 t      -> PatSynSig (f l) n dh c1 dh2 c2 t+        FunBind      l ms                -> FunBind (f l) ms+        PatBind      l p rhs bs          -> PatBind (f l) p rhs bs+        ForImp       l cc msf s n t      -> ForImp (f l) cc msf s n t+        ForExp       l cc     s n t      -> ForExp (f l) cc     s n t+        RulePragmaDecl   l rs            -> RulePragmaDecl (f l) rs+        DeprPragmaDecl   l nss           -> DeprPragmaDecl (f l) nss+        WarnPragmaDecl   l nss           -> WarnPragmaDecl (f l) nss+        InlineSig        l b act qn      -> InlineSig (f l) b act qn+        InlineConlikeSig l   act qn      -> InlineConlikeSig (f l) act qn+        SpecSig          l   act qn ts   -> SpecSig       (f l)   act qn ts+        SpecInlineSig    l b act qn ts   -> SpecInlineSig (f l) b act qn ts+        InstSig          l ih            -> InstSig (f l) ih+        AnnPragma        l ann'          -> AnnPragma (f l) ann'+        MinimalPragma    l b             -> MinimalPragma (f l) b+        RoleAnnotDecl    l t rs          -> RoleAnnotDecl (f l) t rs+        PatSyn           l p r d         -> PatSyn (f l) p r d+        CompletePragma   l cs ty         -> CompletePragma (f l) cs ty++instance Annotated Role where+    ann r = case r of+      RoleWildcard l -> l+      Representational l -> l+      Phantom l -> l+      Nominal l -> l+    amap f r = case r of+      RoleWildcard l -> RoleWildcard (f l)+      Representational l -> Representational (f l)+      Phantom l -> Phantom (f l)+      Nominal l -> Nominal (f l)++instance Annotated Annotation where+    ann (Ann     l _ _) = l+    ann (TypeAnn l _ _) = l+    ann (ModuleAnn l _) = l+    amap f (Ann     l n e) = Ann     (f l) n e+    amap f (TypeAnn l n e) = TypeAnn (f l) n e+    amap f (ModuleAnn l e) = ModuleAnn (f l) e++instance Annotated BooleanFormula where+    ann (VarFormula l _)   = l+    ann (AndFormula l _)   = l+    ann (OrFormula l _)    = l+    ann (ParenFormula l _) = l+    amap f (VarFormula l n)   = VarFormula (f l) n+    amap f (AndFormula l bs)  = AndFormula (f l) bs+    amap f (OrFormula l bs)   = OrFormula (f l) bs+    amap f (ParenFormula l b) = ParenFormula (f l) b++instance Annotated DataOrNew where+    ann (DataType l) = l+    ann (NewType  l) = l+    amap = fmap++instance Annotated DeclHead where+    ann (DHead l _)              = l+    ann (DHInfix l _ _)          = l+    ann (DHParen l _)            = l+    ann (DHApp l _ _)            = l+    amap f (DHead l n)           = DHead (f l) n+    amap f (DHInfix l tva n)     = DHInfix (f l) tva n+    amap f (DHParen l dh)        = DHParen (f l) dh+    amap f (DHApp l dh t)        = DHApp (f l) dh t++instance Annotated InstRule where+    ann (IRule l _ _ _)         = l+    ann (IParen l _)            = l+    amap f (IRule l mtv cxt qn) = IRule (f l) mtv cxt qn+    amap f (IParen l ih)        = IParen (f l) ih++instance Annotated InstHead where+    ann (IHCon l _)              = l+    ann (IHInfix l _ _)          = l+    ann (IHParen l _)            = l+    ann (IHApp l _ _)            = l+    amap f (IHCon l n)           = IHCon (f l) n+    amap f (IHInfix l tva n)     = IHInfix (f l) tva n+    amap f (IHParen l dh)        = IHParen (f l) dh+    amap f (IHApp l dh t)        = IHApp (f l) dh t++instance Annotated Binds where+    ann (BDecls  l _) = l+    ann (IPBinds l _) = l+    amap f (BDecls  l decls) = BDecls (f l) decls+    amap f (IPBinds l ibs)   = IPBinds (f l) ibs++instance Annotated IPBind where+    ann (IPBind l _ _) = l+    amap f (IPBind l ipn e) = IPBind (f l) ipn e++instance Annotated Match where+    ann (Match l _ _ _ _)        = l+    ann (InfixMatch l _ _ _ _ _) = l+    amap f (Match l n ps rhs bs) = Match (f l) n ps rhs bs+    amap f (InfixMatch l a n b rhs bs) = InfixMatch (f l) a n b rhs bs++instance Annotated QualConDecl where+    ann (QualConDecl l _ _ _) = l+    amap f (QualConDecl l tvs cx cd) = QualConDecl (f l) tvs cx cd++instance Annotated ConDecl where+    ann (ConDecl l _ _)        = l+    ann (InfixConDecl l _ _ _) = l+    ann (RecDecl l _ _)        = l+    amap f (ConDecl l n bts) = ConDecl (f l) n bts+    amap f (InfixConDecl l ta n tb) = InfixConDecl (f l) ta n tb+    amap f (RecDecl l n fds) = RecDecl (f l) n fds++instance Annotated FieldDecl where+    ann (FieldDecl l _ _) = l+    amap f (FieldDecl l ns t) = FieldDecl (f l) ns t++instance Annotated GadtDecl where+    ann (GadtDecl l _ _ _ _ _) = l+    amap f (GadtDecl l n t1 t2 t3 t4) = GadtDecl (f l) n t1 t2 t3 t4++instance Annotated ClassDecl where+    ann (ClsDecl    l _)      = l+    ann (ClsDataFam l _ _ _)  = l+    ann (ClsTyFam   l _ _ _) = l+    ann (ClsTyDef   l _)    = l+    ann (ClsDefSig  l _ _)    = l+    amap f (ClsDecl    l d) = ClsDecl (f l) d+    amap f (ClsDataFam l mcx dh mk) = ClsDataFam (f l) mcx dh mk+    amap f (ClsTyFam   l dh mk mi) = ClsTyFam (f l) dh mk mi+    amap f (ClsTyDef   l t ) = ClsTyDef (f l) t+    amap f (ClsDefSig  l n t) = ClsDefSig (f l) n t++instance Annotated InstDecl where+    ann id = case id of+        InsDecl   l _            -> l+        InsType   l _ _          -> l+        InsData   l _ _  _ _     -> l+        InsGData  l _ _ _ _ _    -> l+--        InsInline l _ _ _    -> l+    amap f id = case id of+        InsDecl   l d           -> InsDecl (f l) d+        InsType   l t1 t2       -> InsType (f l) t1 t2+        InsData   l dn t    cds ders -> InsData  (f l) dn t    cds ders+        InsGData  l dn t mk gds ders -> InsGData (f l) dn t mk gds ders+--        InsInline l b act qn    -> InsInline (f l) b act qn++instance Annotated BangType where+     ann (BangedTy   l)       = l+     ann (LazyTy   l)         = l+     ann (NoStrictAnnot l)    = l++     amap f (BangedTy   l) = BangedTy (f l)+     amap f (LazyTy   l)   = LazyTy (f l)+     amap f (NoStrictAnnot l) = NoStrictAnnot (f l)++instance Annotated Unpackedness where+    ann (Unpack l) = l+    ann (NoUnpack l) = l+    ann (NoUnpackPragma l) = l++    amap f (Unpack l) = Unpack (f l)+    amap f (NoUnpack l) = Unpack (f l)+    amap f (NoUnpackPragma l) = Unpack (f l)++instance Annotated Rhs where+     ann (UnGuardedRhs l _) = l+     ann (GuardedRhss  l _) = l+     amap f (UnGuardedRhs l e)     = UnGuardedRhs (f l) e+     amap f (GuardedRhss  l grhss) = GuardedRhss  (f l) grhss++instance Annotated GuardedRhs where+     ann (GuardedRhs l _ _) = l+     amap f (GuardedRhs l ss e) = GuardedRhs (f l) ss e++instance Annotated Type where+    ann t = case t of+      TyForall l _ _ _              -> l+      TyStar  l                     -> l+      TyFun   l _ _                 -> l+      TyTuple l _ _                 -> l+      TyUnboxedSum l _              -> l+      TyList  l _                   -> l+      TyParArray  l _               -> l+      TyApp   l _ _                 -> l+      TyVar   l _                   -> l+      TyCon   l _                   -> l+      TyParen l _                   -> l+      TyInfix l _ _ _               -> l+      TyKind  l _ _                 -> l+      TyPromoted l   _              -> l+      TyEquals l _ _                -> l+      TySplice l _                  -> l+      TyBang l _ _ _                  -> l+      TyWildCard l _                -> l+      TyQuasiQuote l _ _            -> l+    amap f t1 = case t1 of+      TyForall l mtvs mcx t         -> TyForall (f l) mtvs mcx t+      TyStar  l                     -> TyStar (f l)+      TyFun   l t1' t2              -> TyFun (f l) t1' t2+      TyTuple l b ts                -> TyTuple (f l) b ts+      TyUnboxedSum l s              -> TyUnboxedSum (f l) s+      TyList  l t                   -> TyList (f l) t+      TyParArray  l t               -> TyParArray (f l) t+      TyApp   l t1' t2              -> TyApp (f l) t1' t2+      TyVar   l n                   -> TyVar (f l) n+      TyCon   l qn                  -> TyCon (f l) qn+      TyParen l t                   -> TyParen (f l) t+      TyInfix l ta qn tb            -> TyInfix (f l) ta qn tb+      TyKind  l t k                 -> TyKind (f l) t k+      TyPromoted l   p              -> TyPromoted (f l)   p+      TyEquals l a b                -> TyEquals (f l) a b+      TySplice l s                  -> TySplice (f l) s+      TyBang l b u t                  -> TyBang (f l) b u t+      TyWildCard l n                -> TyWildCard (f l) n+      TyQuasiQuote l n s            -> TyQuasiQuote (f l) n s++instance Annotated MaybePromotedName where+  ann t = case t of+    PromotedName l _ -> l+    UnpromotedName l _ -> l+  amap f tl =  case tl of+    PromotedName l q -> PromotedName (f l)     q+    UnpromotedName l q -> UnpromotedName (f l) q++instance Annotated TyVarBind where+    ann (KindedVar   l _ _) = l+    ann (UnkindedVar l _)   = l+    amap f (KindedVar   l n k) = KindedVar   (f l) n k+    amap f (UnkindedVar l n)   = UnkindedVar (f l) n++instance Annotated FunDep where+    ann (FunDep l _ _) = l+    amap f (FunDep l ns1 ns2) = FunDep (f l) ns1 ns2++instance Annotated Context where+    ann (CxSingle l _) = l+    ann (CxTuple  l _) = l+    ann (CxEmpty  l)   = l+    amap f (CxSingle l asst ) = CxSingle (f l) asst+    amap f (CxTuple  l assts) = CxTuple  (f l) assts+    amap f (CxEmpty l) = CxEmpty (f l)++instance Annotated Asst where+    ann asst = case asst of+        TypeA l _        -> l+        IParam l _ _     -> l+        ParenA l _       -> l+    amap f asst = case asst of+        TypeA l t           -> TypeA (f l) t+        IParam l ipn t      -> IParam (f l) ipn t+        ParenA l a          -> ParenA (f l) a++instance Annotated Literal where+    ann lit = case lit of+        Char    l _    _  -> l+        String  l _    _  -> l+        Int     l _    _  -> l+        Frac    l _    _  -> l+        PrimInt    l _ _  -> l+        PrimWord   l _ _  -> l+        PrimFloat  l _ _  -> l+        PrimDouble l _ _  -> l+        PrimChar   l _ _  -> l+        PrimString l _ _  -> l+    amap = fmap++instance Annotated Sign where+    ann sg = case sg of+        Signless l -> l+        Negative l -> l+    amap = fmap++instance Annotated Exp where+    ann e = case e of+        Var l _                -> l+        OverloadedLabel l _    -> l+        IPVar l _              -> l+        Con l _                -> l+        Lit l _                -> l+        InfixApp l _ _ _       -> l+        App l _ _              -> l+        NegApp l _             -> l+        Lambda l _ _           -> l+        Let l _ _              -> l+        If l _ _ _             -> l+        MultiIf l _            -> l+        Case l _ _             -> l+        Do l _                 -> l+        MDo l _                -> l+        Tuple l _ _            -> l+        UnboxedSum l _ _ _     -> l+        TupleSection l _ _     -> l+        List l _               -> l+        ParArray l _           -> l+        Paren l _              -> l+        LeftSection l _ _      -> l+        RightSection l _ _     -> l+        RecConstr l _ _        -> l+        RecUpdate l _ _        -> l+        EnumFrom l _           -> l+        EnumFromTo l _ _       -> l+        EnumFromThen l _ _     -> l+        EnumFromThenTo l _ _ _ -> l+        ParArrayFromTo l _ _   -> l+        ParArrayFromThenTo l _ _ _ -> l+        ListComp l _ _         -> l+        ParComp  l _ _         -> l+        ParArrayComp  l _ _    -> l+        ExpTypeSig l _ _       -> l+        VarQuote l _           -> l+        TypQuote l _           -> l+        BracketExp l _         -> l+        SpliceExp l _          -> l+        QuasiQuote l _ _       -> l+        TypeApp l _            -> l++        XTag  l _ _ _ _        -> l+        XETag l _ _ _          -> l+        XPcdata l _            -> l+        XExpTag l _            -> l+        XChildTag l _          -> l++        CorePragma l _ _       -> l+        SCCPragma  l _ _       -> l+        GenPragma  l _ _ _ _   -> l++        Proc            l _ _  -> l+        LeftArrApp      l _ _  -> l+        RightArrApp     l _ _  -> l+        LeftArrHighApp  l _ _  -> l+        RightArrHighApp l _ _  -> l+        ArrOp           l _    -> l++        LCase l _              -> l++    amap f e1 = case e1 of+        Var l qn        -> Var (f l) qn+        OverloadedLabel l qn -> OverloadedLabel (f l) qn+        IPVar l ipn     -> IPVar (f l) ipn+        Con l qn        -> Con (f l) qn+        Lit l lit       -> Lit (f l) lit+        InfixApp l e1' qop e2    -> InfixApp (f l) e1' qop e2+        App l e1' e2    -> App (f l) e1' e2+        NegApp l e      -> NegApp (f l) e+        Lambda l ps e   -> Lambda (f l) ps e+        Let l bs e      -> Let (f l) bs e+        If l ec et ee   -> If (f l) ec et ee+        Case l e alts   -> Case (f l) e alts+        Do l ss         -> Do (f l) ss+        MDo l ss        -> MDo (f l) ss+        Tuple l bx es   -> Tuple (f l) bx es+        UnboxedSum l b a es -> UnboxedSum (f l) b a es+        TupleSection l bx mes -> TupleSection (f l) bx mes+        List l es       -> List (f l) es+        ParArray l es   -> ParArray (f l) es+        Paren l e       -> Paren (f l) e+        LeftSection l e qop     -> LeftSection (f l) e qop+        RightSection l qop e    -> RightSection (f l) qop e+        RecConstr l qn fups     -> RecConstr (f l) qn fups+        RecUpdate l e  fups     -> RecUpdate (f l) e  fups+        EnumFrom l e            -> EnumFrom (f l) e+        EnumFromTo l ef et      -> EnumFromTo (f l) ef et+        EnumFromThen l ef et    -> EnumFromThen (f l) ef et+        EnumFromThenTo l ef eth eto -> EnumFromThenTo (f l) ef eth eto+        ParArrayFromTo l ef et  -> ParArrayFromTo (f l) ef et+        ParArrayFromThenTo l ef eth eto -> ParArrayFromThenTo (f l) ef eth eto+        ListComp l e qss        -> ListComp (f l) e qss+        ParComp  l e qsss       -> ParComp  (f l) e qsss+        ParArrayComp  l e qsss  -> ParArrayComp  (f l) e qsss+        ExpTypeSig l e t        -> ExpTypeSig (f l) e t+        VarQuote l qn           -> VarQuote (f l) qn+        TypQuote l qn           -> TypQuote (f l) qn+        BracketExp l br         -> BracketExp (f l) br+        SpliceExp l sp          -> SpliceExp (f l) sp+        QuasiQuote l sn se      -> QuasiQuote (f l) sn se+        TypeApp l t             -> TypeApp (f l) t++        XTag  l xn xas me es     -> XTag  (f l) xn xas me es+        XETag l xn xas me        -> XETag (f l) xn xas me+        XPcdata l s              -> XPcdata (f l) s+        XExpTag l e              -> XExpTag (f l) e+        XChildTag l es           -> XChildTag (f l) es++        CorePragma l s e   -> CorePragma (f l) s e+        SCCPragma  l s e   -> SCCPragma (f l) s e+        GenPragma  l s n12 n34 e -> GenPragma (f l) s n12 n34 e++        Proc            l p e  -> Proc (f l) p e+        LeftArrApp      l e1' e2 -> LeftArrApp      (f l) e1' e2+        RightArrApp     l e1' e2 -> RightArrApp     (f l) e1' e2+        LeftArrHighApp  l e1' e2 -> LeftArrHighApp  (f l) e1' e2+        RightArrHighApp l e1' e2 -> RightArrHighApp (f l) e1' e2+        ArrOp           l e      -> ArrOp           (f l) e++        LCase l alts -> LCase (f l) alts+        MultiIf l alts -> MultiIf (f l) alts+++instance Annotated XName where+    ann (XName l _)      = l+    ann (XDomName l _ _) = l+    amap = fmap++instance Annotated XAttr where+    ann (XAttr l _ _) = l+    amap f (XAttr l xn e) = XAttr (f l) xn e++instance Annotated Bracket where+    ann (ExpBracket l _)  = l+    ann (TExpBracket l _) = l+    ann (PatBracket l _)  = l+    ann (TypeBracket l _) = l+    ann (DeclBracket l _) = l+    amap f (ExpBracket l e) = ExpBracket (f l) e+    amap f (TExpBracket l e) = TExpBracket (f l) e+    amap f (PatBracket l p) = PatBracket (f l) p+    amap f (TypeBracket l t) = TypeBracket (f l) t+    amap f (DeclBracket l ds) = DeclBracket (f l) ds++instance Annotated Splice where+    ann (IdSplice l _)    = l+    ann (TIdSplice l _)   = l+    ann (ParenSplice l _) = l+    ann (TParenSplice l _) = l+    amap f (IdSplice l s) = IdSplice (f l) s+    amap f (TIdSplice l s) = TIdSplice (f l) s+    amap f (ParenSplice l e) = ParenSplice (f l) e+    amap f (TParenSplice l e) = TParenSplice (f l) e++instance Annotated Safety where+    ann (PlayRisky l) = l+    ann (PlaySafe l _) = l+    ann (PlayInterruptible l) = l+    amap = fmap++instance Annotated CallConv where+    ann (StdCall l) = l+    ann (CCall l) = l+    ann (CPlusPlus l) = l+    ann (DotNet l) = l+    ann (Jvm l) = l+    ann (Js l) = l+    ann (JavaScript l) = l+    ann (CApi l) = l+    amap = fmap++instance Annotated ModulePragma where+    ann (LanguagePragma   l _)   = l+    ann (OptionsPragma    l _ _) = l+    ann (AnnModulePragma  l _)   = l+    amap f (LanguagePragma   l ns) = LanguagePragma (f l) ns+    amap f (AnnModulePragma  l a) = AnnModulePragma (f l) a+    amap f p = fmap f p++instance Annotated Overlap where+    ann (NoOverlap l)  = l+    ann (Overlap l)    = l+    ann (Overlaps l)   = l+    ann (Overlappable l) = l+    ann (Overlapping l)  = l+    ann (Incoherent l) = l+    amap = fmap++instance Annotated Activation where+    ann (ActiveFrom   l _) = l+    ann (ActiveUntil  l _) = l+    amap = fmap++instance Annotated Rule where+    ann (Rule l _ _ _ _ _) = l+    amap f (Rule l s act mrvs e1 e2) = Rule (f l) s act mrvs e1 e2++instance Annotated RuleVar where+    ann (RuleVar l _)        = l+    ann (TypedRuleVar l _ _) = l+    amap f (RuleVar l n) = RuleVar (f l) n+    amap f (TypedRuleVar l n t) = TypedRuleVar (f l) n t++instance Annotated WarningText where+    ann (DeprText l _) = l+    ann (WarnText l _) = l+    amap = fmap++instance Annotated Pat where+    ann p = case p of+      PVar l _          -> l+      PLit l _ _        -> l+      PNPlusK l _ _     -> l+      PInfixApp l _ _ _ -> l+      PApp l _ _        -> l+      PTuple l _ _      -> l+      PUnboxedSum l _ _ _ -> l+      PList l _         -> l+      PParen l _        -> l+      PRec l _ _        -> l+      PAsPat l _ _      -> l+      PWildCard l       -> l+      PIrrPat l _       -> l+      PatTypeSig l _ _  -> l+      PViewPat l _ _    -> l+      PRPat l _         -> l+      PXTag l _ _ _ _   -> l+      PXETag l _ _ _    -> l+      PXPcdata l _      -> l+      PXPatTag l _      -> l+      PXRPats  l _      -> l+      PSplice l _       -> l+      PQuasiQuote l _ _ -> l+      PBangPat l _      -> l+    amap f p1 = case p1 of+      PVar l n          -> PVar (f l) n+      PLit l sg lit     -> PLit (f l) sg lit+      PNPlusK l n k     -> PNPlusK (f l) n k+      PInfixApp l pa qn pb  -> PInfixApp (f l) pa qn pb+      PApp l qn ps      -> PApp (f l) qn ps+      PTuple l bx ps    -> PTuple (f l) bx ps+      PUnboxedSum l b a ps -> PUnboxedSum (f l) b a ps+      PList l ps        -> PList (f l) ps+      PParen l p        -> PParen (f l) p+      PRec l qn pfs     -> PRec (f l) qn pfs+      PAsPat l n p      -> PAsPat (f l) n p+      PWildCard l       -> PWildCard (f l)+      PIrrPat l p       -> PIrrPat (f l) p+      PatTypeSig l p t  -> PatTypeSig (f l) p t+      PViewPat l e p    -> PViewPat (f l) e p+      PRPat l rps       -> PRPat (f l) rps+      PXTag l xn pxas mp ps -> PXTag  (f l) xn pxas mp ps+      PXETag l xn pxas mp   -> PXETag (f l) xn pxas mp+      PXPcdata l s      -> PXPcdata (f l) s+      PXPatTag l p      -> PXPatTag (f l) p+      PXRPats  l rps    -> PXRPats  (f l) rps+      PSplice l sp      -> PSplice (f l) sp+      PQuasiQuote l sn st   -> PQuasiQuote (f l) sn st+      PBangPat l p          -> PBangPat (f l) p++instance Annotated PXAttr where+    ann (PXAttr l _ _) = l+    amap f (PXAttr l xn p) = PXAttr (f l) xn p++instance Annotated RPatOp where+    ann (RPStar  l) = l+    ann (RPStarG l) = l+    ann (RPPlus  l) = l+    ann (RPPlusG l) = l+    ann (RPOpt   l) = l+    ann (RPOptG  l) = l+    amap = fmap++instance Annotated RPat where+    ann rp = case rp of+      RPOp l _ _            -> l+      RPEither l _ _        -> l+      RPSeq l _             -> l+      RPGuard l _ _         -> l+      RPCAs l _ _           -> l+      RPAs l _ _            -> l+      RPParen l _           -> l+      RPPat l _             -> l+    amap f rp1 = case rp1 of+      RPOp l rp rop         -> RPOp (f l) rp rop+      RPEither l rp1' rp2   -> RPEither (f l) rp1' rp2+      RPSeq l rps           -> RPSeq (f l) rps+      RPGuard l p ss        -> RPGuard (f l) p ss+      RPCAs l n rp          -> RPCAs (f l) n rp+      RPAs l n rp           -> RPAs (f l) n rp+      RPParen l rp          -> RPParen (f l) rp+      RPPat l p             -> RPPat (f l) p++instance Annotated PatField where+    ann (PFieldPat l _ _)  = l+    ann (PFieldPun l _)    = l+    ann (PFieldWildcard l) = l+    amap f (PFieldPat l qn p) = PFieldPat (f l) qn p+    amap f (PFieldPun l n) = PFieldPun (f l) n+    amap f (PFieldWildcard l) = PFieldWildcard (f l)++instance Annotated Stmt where+    ann (Generator l _ _) = l+    ann (Qualifier l _)   = l+    ann (LetStmt l _)     = l+    ann (RecStmt l _)     = l+    amap f (Generator l p e) = Generator (f l) p e+    amap f (Qualifier l e)   = Qualifier (f l) e+    amap f (LetStmt l bs)    = LetStmt (f l) bs+    amap f (RecStmt l ss)    = RecStmt (f l) ss++instance Annotated QualStmt where+    ann (QualStmt     l _)   = l+    ann (ThenTrans    l _)   = l+    ann (ThenBy       l _ _) = l+    ann (GroupBy      l _)   = l+    ann (GroupUsing   l _)   = l+    ann (GroupByUsing l _ _) = l+    amap f (QualStmt     l s) = QualStmt (f l) s+    amap f (ThenTrans    l e) = ThenTrans (f l) e+    amap f (ThenBy       l e1 e2) = ThenBy (f l) e1 e2+    amap f (GroupBy      l e) = GroupBy (f l) e+    amap f (GroupUsing   l e) = GroupUsing (f l) e+    amap f (GroupByUsing l e1 e2) = GroupByUsing (f l) e1 e2++instance Annotated FieldUpdate where+    ann (FieldUpdate l _ _)  = l+    ann (FieldPun l _)       = l+    ann (FieldWildcard l)    = l+    amap f (FieldUpdate l qn e) = FieldUpdate (f l) qn e+    amap f (FieldPun l n)       = FieldPun (f l) n+    amap f (FieldWildcard l)    = FieldWildcard (f l)++instance Annotated Alt where+    ann (Alt l _ _ _) = l+    amap f (Alt l p gs bs) = Alt (f l) p gs bs++instance Annotated Promoted where+    ann (PromotedInteger l _ _) = l+    ann (PromotedString l _ _)  = l+    ann (PromotedCon l _ _)     = l+    ann (PromotedList l _ _)    = l+    ann (PromotedTuple l _)     = l+    ann (PromotedUnit l)        = l+    amap f (PromotedInteger l int raw) = PromotedInteger (f l) int raw+    amap f (PromotedString l str raw) = PromotedString (f l) str raw+    amap f (PromotedCon l b qn)   = PromotedCon (f l) b qn+    amap f (PromotedList l b ps)  = PromotedList  (f l) b ps+    amap f (PromotedTuple l ps) = PromotedTuple (f l) ps+    amap f (PromotedUnit l)     = PromotedUnit (f l)
+ src/Language/Preprocessor/Unlit.hs view
@@ -0,0 +1,72 @@+-- | Part of this code is from "Report on the Programming Language Haskell",+--   version 1.2, appendix C.+{-# OPTIONS_GHC -Wwarn #-}+module Language.Preprocessor.Unlit (unlit) where++import Data.Char+import Data.List (isPrefixOf)++data Classified = Program String | Blank | Comment+                | Include Int String | Pre String++classify :: [String] -> [Classified]+classify []                = []+classify (('\\':x):xs) | x == "begin{code}" = Blank : allProg xs+   where allProg [] = []  -- Should give an error message,+                          -- but I have no good position information.+         allProg (('\\':y):ys) |  "end{code}" `isPrefixOf` y = Blank : classify ys+         allProg (y:ys) = Program y : allProg ys+classify (('>':x):xs)      = Program (' ' : x) : classify xs+classify (('#':x):xs)      = (case words x of+                                (line:rest) | all isDigit line+                                   -> Include (read line) (unwords rest)+                                _  -> Pre x+                             ) : classify xs+--classify (x:xs) | "{-# LINE" `isPrefixOf` x = Program x: classify xs+classify (x:xs) | all isSpace x = Blank : classify xs+classify (_:xs)                 = Comment : classify xs++unclassify :: Classified -> String+unclassify (Program s) = s+unclassify (Pre s)     = '#':s+unclassify (Include i f) = '#':' ':show i ++ ' ':f+unclassify Blank       = ""+unclassify Comment     = ""++-- | 'unlit' takes a filename (for error reports), and transforms the+--   given string, to eliminate the literate comments from the program text.+unlit :: FilePath -> String -> String+unlit file lhs = (unlines+                 . map unclassify+                 . adjacent file (0::Int) Blank+                 . classify) (inlines lhs)++adjacent :: FilePath -> Int -> Classified -> [Classified] -> [Classified]+adjacent file 0 _             (x              :xs) = x : adjacent file 1 x xs -- force evaluation of line number+adjacent file n   (Program _) (Comment        :_ ) = error (message file n "program" "comment")+adjacent _    _ y@(Program _) (x@(Include i f):xs) = x: adjacent f    i     y xs+adjacent file n y@(Program _) (x@(Pre _)      :xs) = x: adjacent file (n+1) y xs+adjacent file n   Comment     (  (Program _)  :_ ) = error (message file n "comment" "program")+adjacent _    _ y@Comment     (x@(Include i f):xs) = x: adjacent f    i     y xs+adjacent file n y@Comment     (x@(Pre _)      :xs) = x: adjacent file (n+1) y xs+adjacent _    _ y@Blank       (x@(Include i f):xs) = x: adjacent f    i     y xs+adjacent file n y@Blank       (x@(Pre _)      :xs) = x: adjacent file (n+1) y xs+adjacent file n _             (x              :xs) = x: adjacent file (n+1) x xs+adjacent _    _ _             []                   = []++message :: String -> Int -> String -> String -> String+message "\"\"" n p c = "Line "++show n++": "++p++ " line before "++c++" line.\n"+message []     n p c = "Line "++show n++": "++p++ " line before "++c++" line.\n"+message file   n p c = "In file " ++ file ++ " at line "++show n++": "++p++ " line before "++c++" line.\n"+++-- Re-implementation of 'lines', for better efficiency (but decreased laziness).+-- Also, importantly, accepts non-standard DOS and Mac line ending characters.+inlines :: String -> [String]+inlines = (`lines'` id)+  where+  lines' []             acc = [acc []]+  lines' ('\^M':'\n':s) acc = acc [] : lines' s id      -- DOS+  lines' ('\^M':s)      acc = acc [] : lines' s id      -- MacOS+  lines' ('\n':s)       acc = acc [] : lines' s id      -- Unix+  lines' (c:s)          acc = lines' s (acc . (c:))
tests/Extensions.hs view
@@ -5,7 +5,7 @@ import Test.Tasty import Test.Tasty.SmallCheck import Test.SmallCheck.Series-import Language.Haskell.Exts.Annotated+import Language.Haskell.Exts import Data.Function import Data.List @@ -22,12 +22,30 @@ (~~) :: Monad m => [Extension] -> [Extension] -> Property m xts1 ~~ xts2 = forAll $ \lang -> ((==) `on` sort . toExtensionList lang) xts1 xts2 +-- arbitrary examples+e1 :: KnownExtension+e1 = OverlappingInstances++e2 :: KnownExtension+e2 = UndecidableInstances+ extensionProperties :: TestTree extensionProperties =   localOption (SmallCheckDepth 2) $ testGroup "Properties of LANGUAGE extensions" $   [ testProperty "identity" $ \x -> x ~~ x   , testProperty "idempotence" $ \x -> x ++ x ~~ x-  , testProperty "right bias" $ \x y -> x ++ y ++ x ~~ y ++ x+  -- Actually, let's not exhaustively check n^2 cases+  -- , testProperty "right bias" $ \x y -> x ++ y ++ x ~~ y ++ x+  , testProperty "right bias - override to disabled" $+      [EnableExtension e1, DisableExtension e1] ~~ [DisableExtension e1]+  , testProperty "right bias - override to enabled" $+      [DisableExtension e1, EnableExtension e1] ~~ [EnableExtension e1]+  , testProperty "right bias - interleaved override to disabled" $+      [EnableExtension e1, EnableExtension e2, DisableExtension e1]+        ~~ [EnableExtension e2, DisableExtension e1]+  , testProperty "right bias - interleaved override to enabled" $+      [DisableExtension e1, EnableExtension e2, EnableExtension e1]+        ~~ [EnableExtension e2, EnableExtension e1]   , testProperty "closedness of implication" $ \x -> impliesExts (impliesExts x) == impliesExts x   , testProperty "closedness of toExtensionList" $ \l x -> let es = toExtensionList l x in es == impliesExts es   , testProperty "opposite extensions 1" $ \x -> [EnableExtension x, DisableExtension x] ~~ [DisableExtension x]
tests/Runner.hs view
@@ -2,8 +2,7 @@ -- | Use "runhaskell Setup.hs test" or "cabal test" to run these tests. module Main where -import Language.Haskell.Exts.Annotated-import qualified Language.Haskell.Exts as S -- S for "Simple", i.e. not annotated+import Language.Haskell.Exts  import Test.Tasty hiding (defaultMain) import Test.Tasty.Golden@@ -12,7 +11,6 @@ import System.IO import Control.Monad.Trans import Control.Applicative-import Data.Generics import Extensions import Text.Show.Pretty @@ -94,7 +92,7 @@       let         -- parse         mbAst =-          S.parseFileContentsWithMode+          parseFileContentsWithMode             (defaultParseMode { parseFilename = file })             contents         -- try to pretty-print; summarize the test result@@ -117,22 +115,22 @@       contents <- readUTF8File file       let         -- parse-        parse1Result :: ParseResult S.Module+        parse1Result :: ParseResult (Module SrcSpanInfo)         parse1Result =-          S.parseFileContentsWithMode+          parseFileContentsWithMode             (defaultParseMode { parseFilename = file })             contents          prettyResult :: ParseResult String         prettyResult = prettyPrint <$> parse1Result -        parse2Result :: ParseResult (ParseResult S.Module)-        parse2Result = S.parseFileContents <$> prettyResult+        parse2Result :: ParseResult (ParseResult (Module SrcSpanInfo))+        parse2Result = parseFileContents <$> prettyResult          -- Even the un-annotated AST contains certain locations.         -- Obviously, they may differ, so we have to erase them.-        eraseLocs :: S.Module -> S.Module-        eraseLocs = everywhere $ mkT $ const noLoc+        eraseLocs :: Module l -> Module ()+        eraseLocs = (() <$)          summary =           case liftA3 (,,) parse1Result prettyResult parse2Result of@@ -160,7 +158,7 @@  commentsTests :: FilePath -> TestTree  -- {{{ commentsTests dir = testGroup "Comments tests" $ do-    let file = dir </> "HaddockComments.hs"+    let file = dir ++ "/HaddockComments.hs"         out = file <.> "comments" <.> "out"         golden = file <.> "comments" <.> "golden"         run = do@@ -182,7 +180,9 @@ readUTF8File :: FilePath -> IO String readUTF8File fp = openFile fp ReadMode >>= \h -> do         hSetEncoding h utf8-        hGetContents h+        c <- hGetContents h >>= \s -> length s `seq` return s+        hClose h+        return c  parseUTF8FileWithComments :: ParseMode -> FilePath -> IO (ParseResult (Module SrcSpanInfo, [Comment])) parseUTF8FileWithComments p fp = readUTF8File fp >>= (return . parseFileContentsWithComments p)
tests/examples/AmbiguousFixities.hs.exactprinter.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc "" -1 -1) "Ambiguous infix expression"+ParseFailed (SrcLoc "" (-1) (-1)) "Ambiguous infix expression"
tests/examples/AmbiguousFixities.hs.parser.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc "" -1 -1) "Ambiguous infix expression"+ParseFailed (SrcLoc "" (-1) (-1)) "Ambiguous infix expression"
tests/examples/AmbiguousFixities.hs.prettyparser.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc "" -1 -1) "Ambiguous infix expression"+ParseFailed (SrcLoc "" (-1) (-1)) "Ambiguous infix expression"
tests/examples/AmbiguousFixities.hs.prettyprinter.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc "" -1 -1) "Ambiguous infix expression"+ParseFailed (SrcLoc "" (-1) (-1)) "Ambiguous infix expression"
+ tests/examples/ArrowBrackets.hs view
@@ -0,0 +1,8 @@+{-# LANGUAGE Arrows #-}+module ArrowBrackets where++foo = proc (x, y) -> (| f (g -< x) |) y++bar = proc (x, y) -> do+  z <- (| f (g -< x) |) y+  (| f (h -< z) |) y
+ tests/examples/ArrowBrackets.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ArrowBrackets.hs.parser.golden view
@@ -0,0 +1,541 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 1 1 9 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/ArrowBrackets.hs" 1 1 1 1+            , SrcSpan "tests/examples/ArrowBrackets.hs" 2 1 2 1+            , SrcSpan "tests/examples/ArrowBrackets.hs" 2 1 2 1+            , SrcSpan "tests/examples/ArrowBrackets.hs" 4 1 4 1+            , SrcSpan "tests/examples/ArrowBrackets.hs" 6 1 6 1+            , SrcSpan "tests/examples/ArrowBrackets.hs" 9 1 9 1+            , SrcSpan "tests/examples/ArrowBrackets.hs" 9 1 9 1+            ]+        }+      (Just+         (ModuleHead+            SrcSpanInfo+              { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 2 1 2 27+              , srcInfoPoints =+                  [ SrcSpan "tests/examples/ArrowBrackets.hs" 2 1 2 7+                  , SrcSpan "tests/examples/ArrowBrackets.hs" 2 22 2 27+                  ]+              }+            (ModuleName+               SrcSpanInfo+                 { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 2 8 2 21+                 , srcInfoPoints = []+                 }+               "ArrowBrackets")+            Nothing+            Nothing))+      [ LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 1 1 1 24+            , srcInfoPoints =+                [ SrcSpan "tests/examples/ArrowBrackets.hs" 1 1 1 13+                , SrcSpan "tests/examples/ArrowBrackets.hs" 1 21 1 24+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 1 14 1 20+                , srcInfoPoints = []+                }+              "Arrows"+          ]+      ]+      []+      [ PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 1 4 40+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 1 4 4+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 1 4 4+                  , srcInfoPoints = []+                  }+                "foo"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 5 4 40+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/ArrowBrackets.hs" 4 5 4 6 ]+               }+             (Proc+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 7 4 40+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/ArrowBrackets.hs" 4 7 4 11+                      , SrcSpan "tests/examples/ArrowBrackets.hs" 4 19 4 21+                      ]+                  }+                (PTuple+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 12 4 18+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/ArrowBrackets.hs" 4 12 4 13+                         , SrcSpan "tests/examples/ArrowBrackets.hs" 4 14 4 15+                         , SrcSpan "tests/examples/ArrowBrackets.hs" 4 17 4 18+                         ]+                     }+                   Boxed+                   [ PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 13 4 14+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 13 4 14+                            , srcInfoPoints = []+                            }+                          "x")+                   , PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 16 4 17+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 16 4 17+                            , srcInfoPoints = []+                            }+                          "y")+                   ])+                (App+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 22 4 40+                     , srcInfoPoints = []+                     }+                   (ArrOp+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 22 4 38+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/ArrowBrackets.hs" 4 22 4 24+                            , SrcSpan "tests/examples/ArrowBrackets.hs" 4 36 4 38+                            ]+                        }+                      (App+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 25 4 35+                           , srcInfoPoints = []+                           }+                         (Var+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 25 4 26+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 25 4 26+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/ArrowBrackets.hs" 4 25 4 26+                                    , srcInfoPoints = []+                                    }+                                  "f")))+                         (Paren+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 27 4 35+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/ArrowBrackets.hs" 4 27 4 28+                                  , SrcSpan "tests/examples/ArrowBrackets.hs" 4 34 4 35+                                  ]+                              }+                            (LeftArrApp+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 28 4 34+                                 , srcInfoPoints =+                                     [ SrcSpan "tests/examples/ArrowBrackets.hs" 4 30 4 32 ]+                                 }+                               (Var+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/ArrowBrackets.hs" 4 28 4 29+                                    , srcInfoPoints = []+                                    }+                                  (UnQual+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/ArrowBrackets.hs" 4 28 4 29+                                       , srcInfoPoints = []+                                       }+                                     (Ident+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/ArrowBrackets.hs" 4 28 4 29+                                          , srcInfoPoints = []+                                          }+                                        "g")))+                               (Var+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/ArrowBrackets.hs" 4 33 4 34+                                    , srcInfoPoints = []+                                    }+                                  (UnQual+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/ArrowBrackets.hs" 4 33 4 34+                                       , srcInfoPoints = []+                                       }+                                     (Ident+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/ArrowBrackets.hs" 4 33 4 34+                                          , srcInfoPoints = []+                                          }+                                        "x")))))))+                   (Var+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 39 4 40+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 39 4 40+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 39 4 40+                              , srcInfoPoints = []+                              }+                            "y"))))))+          Nothing+      , PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 6 1 8 21+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 6 1 6 4+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 6 1 6 4+                  , srcInfoPoints = []+                  }+                "bar"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 6 5 8 21+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/ArrowBrackets.hs" 6 5 6 6 ]+               }+             (Proc+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 6 7 8 21+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/ArrowBrackets.hs" 6 7 6 11+                      , SrcSpan "tests/examples/ArrowBrackets.hs" 6 19 6 21+                      ]+                  }+                (PTuple+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 6 12 6 18+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/ArrowBrackets.hs" 6 12 6 13+                         , SrcSpan "tests/examples/ArrowBrackets.hs" 6 14 6 15+                         , SrcSpan "tests/examples/ArrowBrackets.hs" 6 17 6 18+                         ]+                     }+                   Boxed+                   [ PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 6 13 6 14+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 6 13 6 14+                            , srcInfoPoints = []+                            }+                          "x")+                   , PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 6 16 6 17+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 6 16 6 17+                            , srcInfoPoints = []+                            }+                          "y")+                   ])+                (Do+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 6 22 8 21+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/ArrowBrackets.hs" 6 22 6 24+                         , SrcSpan "tests/examples/ArrowBrackets.hs" 7 3 7 3+                         , SrcSpan "tests/examples/ArrowBrackets.hs" 8 3 8 3+                         , SrcSpan "tests/examples/ArrowBrackets.hs" 9 1 9 0+                         ]+                     }+                   [ Generator+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 7 3 7 26+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/ArrowBrackets.hs" 7 5 7 7 ]+                         }+                       (PVar+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 7 3 7 4+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 7 3 7 4+                               , srcInfoPoints = []+                               }+                             "z"))+                       (App+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 7 8 7 26+                            , srcInfoPoints = []+                            }+                          (ArrOp+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 7 8 7 24+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/ArrowBrackets.hs" 7 8 7 10+                                   , SrcSpan "tests/examples/ArrowBrackets.hs" 7 22 7 24+                                   ]+                               }+                             (App+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/ArrowBrackets.hs" 7 11 7 21+                                  , srcInfoPoints = []+                                  }+                                (Var+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/ArrowBrackets.hs" 7 11 7 12+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/ArrowBrackets.hs" 7 11 7 12+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/ArrowBrackets.hs" 7 11 7 12+                                           , srcInfoPoints = []+                                           }+                                         "f")))+                                (Paren+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/ArrowBrackets.hs" 7 13 7 21+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/ArrowBrackets.hs" 7 13 7 14+                                         , SrcSpan "tests/examples/ArrowBrackets.hs" 7 20 7 21+                                         ]+                                     }+                                   (LeftArrApp+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/ArrowBrackets.hs" 7 14 7 20+                                        , srcInfoPoints =+                                            [ SrcSpan "tests/examples/ArrowBrackets.hs" 7 16 7 18 ]+                                        }+                                      (Var+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/ArrowBrackets.hs" 7 14 7 15+                                           , srcInfoPoints = []+                                           }+                                         (UnQual+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/ArrowBrackets.hs" 7 14 7 15+                                              , srcInfoPoints = []+                                              }+                                            (Ident+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/ArrowBrackets.hs" 7 14 7 15+                                                 , srcInfoPoints = []+                                                 }+                                               "g")))+                                      (Var+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/ArrowBrackets.hs" 7 19 7 20+                                           , srcInfoPoints = []+                                           }+                                         (UnQual+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/ArrowBrackets.hs" 7 19 7 20+                                              , srcInfoPoints = []+                                              }+                                            (Ident+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/ArrowBrackets.hs" 7 19 7 20+                                                 , srcInfoPoints = []+                                                 }+                                               "x")))))))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 7 25 7 26+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/ArrowBrackets.hs" 7 25 7 26+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/ArrowBrackets.hs" 7 25 7 26+                                     , srcInfoPoints = []+                                     }+                                   "y"))))+                   , Qualifier+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 8 3 8 21+                         , srcInfoPoints = []+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 8 3 8 21+                            , srcInfoPoints = []+                            }+                          (ArrOp+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 8 3 8 19+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/ArrowBrackets.hs" 8 3 8 5+                                   , SrcSpan "tests/examples/ArrowBrackets.hs" 8 17 8 19+                                   ]+                               }+                             (App+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 8 6 8 16+                                  , srcInfoPoints = []+                                  }+                                (Var+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/ArrowBrackets.hs" 8 6 8 7+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/ArrowBrackets.hs" 8 6 8 7+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/ArrowBrackets.hs" 8 6 8 7+                                           , srcInfoPoints = []+                                           }+                                         "f")))+                                (Paren+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/ArrowBrackets.hs" 8 8 8 16+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/ArrowBrackets.hs" 8 8 8 9+                                         , SrcSpan "tests/examples/ArrowBrackets.hs" 8 15 8 16+                                         ]+                                     }+                                   (LeftArrApp+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/ArrowBrackets.hs" 8 9 8 15+                                        , srcInfoPoints =+                                            [ SrcSpan "tests/examples/ArrowBrackets.hs" 8 11 8 13 ]+                                        }+                                      (Var+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/ArrowBrackets.hs" 8 9 8 10+                                           , srcInfoPoints = []+                                           }+                                         (UnQual+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan "tests/examples/ArrowBrackets.hs" 8 9 8 10+                                              , srcInfoPoints = []+                                              }+                                            (Ident+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/ArrowBrackets.hs" 8 9 8 10+                                                 , srcInfoPoints = []+                                                 }+                                               "h")))+                                      (Var+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/ArrowBrackets.hs" 8 14 8 15+                                           , srcInfoPoints = []+                                           }+                                         (UnQual+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/ArrowBrackets.hs" 8 14 8 15+                                              , srcInfoPoints = []+                                              }+                                            (Ident+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/ArrowBrackets.hs" 8 14 8 15+                                                 , srcInfoPoints = []+                                                 }+                                               "z")))))))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 8 20 8 21+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/ArrowBrackets.hs" 8 20 8 21+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/ArrowBrackets.hs" 8 20 8 21+                                     , srcInfoPoints = []+                                     }+                                   "y"))))+                   ])))+          Nothing+      ]+  , []+  )
+ tests/examples/ArrowBrackets.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ArrowBrackets.hs.prettyprinter.golden view
@@ -0,0 +1,7 @@+{-# LANGUAGE Arrows #-}+module ArrowBrackets where+foo = proc (x, y) -> (| f (g -< x) |) y+bar+  = proc (x, y) ->+      do z <- (| f (g -< x) |) y+         (| f (h -< z) |) y
+ tests/examples/AtOperator.hs view
@@ -0,0 +1,8 @@+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeOperators #-}++data a :+: b = Proxy++foo = id @(Int :+: Int)++_ @> m = m
+ tests/examples/AtOperator.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/AtOperator.hs.parser.golden view
@@ -0,0 +1,291 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 1 1 9 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/AtOperator.hs" 1 1 1 1+            , SrcSpan "tests/examples/AtOperator.hs" 2 1 2 1+            , SrcSpan "tests/examples/AtOperator.hs" 4 1 4 1+            , SrcSpan "tests/examples/AtOperator.hs" 4 1 4 1+            , SrcSpan "tests/examples/AtOperator.hs" 4 1 4 1+            , SrcSpan "tests/examples/AtOperator.hs" 6 1 6 1+            , SrcSpan "tests/examples/AtOperator.hs" 8 1 8 1+            , SrcSpan "tests/examples/AtOperator.hs" 9 1 9 1+            , SrcSpan "tests/examples/AtOperator.hs" 9 1 9 1+            ]+        }+      Nothing+      [ LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 1 1 1 34+            , srcInfoPoints =+                [ SrcSpan "tests/examples/AtOperator.hs" 1 1 1 13+                , SrcSpan "tests/examples/AtOperator.hs" 1 31 1 34+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 1 14 1 30+                , srcInfoPoints = []+                }+              "TypeApplications"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 2 1 2 31+            , srcInfoPoints =+                [ SrcSpan "tests/examples/AtOperator.hs" 2 1 2 13+                , SrcSpan "tests/examples/AtOperator.hs" 2 28 2 31+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 2 14 2 27+                , srcInfoPoints = []+                }+              "TypeOperators"+          ]+      ]+      []+      [ DataDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 1 4 21+            , srcInfoPoints =+                [ SrcSpan "tests/examples/AtOperator.hs" 4 14 4 15 ]+            }+          (DataType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 1 4 5+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 6 4 13+               , srcInfoPoints = []+               }+             (DHInfix+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 6 4 13+                  , srcInfoPoints = []+                  }+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 6 4 7+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 6 4 7+                        , srcInfoPoints = []+                        }+                      "a"))+                (Symbol+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 8 4 11+                     , srcInfoPoints = []+                     }+                   ":+:"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 12 4 13+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 12 4 13+                     , srcInfoPoints = []+                     }+                   "b")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 16 4 21+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 16 4 21+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 16 4 21+                      , srcInfoPoints = []+                      }+                    "Proxy")+                 [])+          ]+          []+      , PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 1 6 24+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 1 6 4+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 1 6 4+                  , srcInfoPoints = []+                  }+                "foo"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 5 6 24+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/AtOperator.hs" 6 5 6 6 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 7 6 24+                  , srcInfoPoints = []+                  }+                (Var+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 7 6 9+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 7 6 9+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 7 6 9+                           , srcInfoPoints = []+                           }+                         "id")))+                (TypeApp+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 10 6 24+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/AtOperator.hs" 6 10 6 11 ]+                     }+                   (TyParen+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 11 6 24+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/AtOperator.hs" 6 11 6 12+                            , SrcSpan "tests/examples/AtOperator.hs" 6 23 6 24+                            ]+                        }+                      (TyInfix+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 12 6 23+                           , srcInfoPoints = []+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 12 6 15+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 12 6 15+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 12 6 15+                                    , srcInfoPoints = []+                                    }+                                  "Int")))+                         (UnpromotedName+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 16 6 19+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 16 6 19+                                 , srcInfoPoints = []+                                 }+                               (Symbol+                                  SrcSpanInfo+                                    { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 16 6 19+                                    , srcInfoPoints = []+                                    }+                                  ":+:")))+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 20 6 23+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 20 6 23+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 20 6 23+                                    , srcInfoPoints = []+                                    }+                                  "Int"))))))))+          Nothing+      , FunBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 8 1 8 11+            , srcInfoPoints = []+            }+          [ InfixMatch+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 8 1 8 11+                , srcInfoPoints = []+                }+              (PWildCard+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 8 1 8 2+                   , srcInfoPoints = []+                   })+              (Symbol+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 8 3 8 5+                   , srcInfoPoints = []+                   }+                 "@>")+              [ PVar+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 8 6 8 7+                    , srcInfoPoints = []+                    }+                  (Ident+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 8 6 8 7+                       , srcInfoPoints = []+                       }+                     "m")+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 8 8 8 11+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/AtOperator.hs" 8 8 8 9 ]+                   }+                 (Var+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 8 10 8 11+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 8 10 8 11+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 8 10 8 11+                            , srcInfoPoints = []+                            }+                          "m"))))+              Nothing+          ]+      ]+  , []+  )
+ tests/examples/AtOperator.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/AtOperator.hs.prettyprinter.golden view
@@ -0,0 +1,6 @@+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeOperators #-}++data a :+: b = Proxy+foo = id @(Int :+: Int)+_ @> m = m
+ tests/examples/AtSign.hs view
@@ -0,0 +1,17 @@+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE TypeApplications #-}+{- |+Accelerate interface to the native CUDA implementation+of the Fourier Transform provided by the CUFFT library.+-}+module Data.Array.Accelerate.CUFFT.Private where+++transform hndl@(Handle fallback mode width _) =+   wrap mode (A.constant width) $+   A.foreignAcc+      (AF.CUDAForeignAcc "transformForeign" $ transformForeign hndl)+      (unwrap mode (A.constant width) fallback)++
+ tests/examples/AtSign.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/AtSign.hs.parser.golden view
@@ -0,0 +1,591 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 1 1 18 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/AtSign.hs" 1 1 1 1+            , SrcSpan "tests/examples/AtSign.hs" 2 1 2 1+            , SrcSpan "tests/examples/AtSign.hs" 3 1 3 1+            , SrcSpan "tests/examples/AtSign.hs" 8 1 8 1+            , SrcSpan "tests/examples/AtSign.hs" 8 1 8 1+            , SrcSpan "tests/examples/AtSign.hs" 11 1 11 1+            , SrcSpan "tests/examples/AtSign.hs" 18 1 18 1+            , SrcSpan "tests/examples/AtSign.hs" 18 1 18 1+            ]+        }+      (Just+         (ModuleHead+            SrcSpanInfo+              { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 8 1 8 49+              , srcInfoPoints =+                  [ SrcSpan "tests/examples/AtSign.hs" 8 1 8 7+                  , SrcSpan "tests/examples/AtSign.hs" 8 44 8 49+                  ]+              }+            (ModuleName+               SrcSpanInfo+                 { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 8 8 8 43+                 , srcInfoPoints = []+                 }+               "Data.Array.Accelerate.CUFFT.Private")+            Nothing+            Nothing))+      [ LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 1 1 1 30+            , srcInfoPoints =+                [ SrcSpan "tests/examples/AtSign.hs" 1 1 1 13+                , SrcSpan "tests/examples/AtSign.hs" 1 27 1 30+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 1 14 1 26+                , srcInfoPoints = []+                }+              "TypeFamilies"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 2 1 2 31+            , srcInfoPoints =+                [ SrcSpan "tests/examples/AtSign.hs" 2 1 2 13+                , SrcSpan "tests/examples/AtSign.hs" 2 28 2 31+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 2 14 2 27+                , srcInfoPoints = []+                }+              "TypeOperators"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 3 1 3 34+            , srcInfoPoints =+                [ SrcSpan "tests/examples/AtSign.hs" 3 1 3 13+                , SrcSpan "tests/examples/AtSign.hs" 3 31 3 34+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 3 14 3 30+                , srcInfoPoints = []+                }+              "TypeApplications"+          ]+      ]+      []+      [ FunBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 1 15 48+            , srcInfoPoints = []+            }+          [ Match+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 1 15 48+                , srcInfoPoints = []+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 1 11 10+                   , srcInfoPoints = []+                   }+                 "transform")+              [ PAsPat+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 11 11 46+                    , srcInfoPoints =+                        [ SrcSpan "tests/examples/AtSign.hs" 11 15 11 16 ]+                    }+                  (Ident+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 11 11 15+                       , srcInfoPoints = []+                       }+                     "hndl")+                  (PParen+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 16 11 46+                       , srcInfoPoints =+                           [ SrcSpan "tests/examples/AtSign.hs" 11 16 11 17+                           , SrcSpan "tests/examples/AtSign.hs" 11 45 11 46+                           ]+                       }+                     (PApp+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 17 11 45+                          , srcInfoPoints = []+                          }+                        (UnQual+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 17 11 23+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 17 11 23+                                , srcInfoPoints = []+                                }+                              "Handle"))+                        [ PVar+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 24 11 32+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 24 11 32+                                 , srcInfoPoints = []+                                 }+                               "fallback")+                        , PVar+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 33 11 37+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 33 11 37+                                 , srcInfoPoints = []+                                 }+                               "mode")+                        , PVar+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 38 11 43+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 38 11 43+                                 , srcInfoPoints = []+                                 }+                               "width")+                        , PWildCard+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 44 11 45+                              , srcInfoPoints = []+                              }+                        ]))+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 47 15 48+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/AtSign.hs" 11 47 11 48 ]+                   }+                 (InfixApp+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 4 15 48+                      , srcInfoPoints = []+                      }+                    (App+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 4 12 32+                         , srcInfoPoints = []+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 4 12 13+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 4 12 8+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 4 12 8+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 4 12 8+                                     , srcInfoPoints = []+                                     }+                                   "wrap")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 9 12 13+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 9 12 13+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 9 12 13+                                     , srcInfoPoints = []+                                     }+                                   "mode"))))+                       (Paren+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 14 12 32+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/AtSign.hs" 12 14 12 15+                                , SrcSpan "tests/examples/AtSign.hs" 12 31 12 32+                                ]+                            }+                          (App+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 15 12 31+                               , srcInfoPoints = []+                               }+                             (Var+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 15 12 25+                                  , srcInfoPoints = []+                                  }+                                (Qual+                                   SrcSpanInfo+                                     { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 15 12 25+                                     , srcInfoPoints = []+                                     }+                                   (ModuleName+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/AtSign.hs" 12 15 12 25+                                        , srcInfoPoints = []+                                        }+                                      "A")+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/AtSign.hs" 12 15 12 25+                                        , srcInfoPoints = []+                                        }+                                      "constant")))+                             (Var+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 26 12 31+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 26 12 31+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/AtSign.hs" 12 26 12 31+                                        , srcInfoPoints = []+                                        }+                                      "width"))))))+                    (QVarOp+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 33 12 34+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 33 12 34+                            , srcInfoPoints = []+                            }+                          (Symbol+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 33 12 34+                               , srcInfoPoints = []+                               }+                             "$")))+                    (App+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 13 4 15 48+                         , srcInfoPoints = []+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 13 4 14 69+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 13 4 13 16+                               , srcInfoPoints = []+                               }+                             (Qual+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 13 4 13 16+                                  , srcInfoPoints = []+                                  }+                                (ModuleName+                                   SrcSpanInfo+                                     { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 13 4 13 16+                                     , srcInfoPoints = []+                                     }+                                   "A")+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 13 4 13 16+                                     , srcInfoPoints = []+                                     }+                                   "foreignAcc")))+                          (Paren+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 14 7 14 69+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/AtSign.hs" 14 7 14 8+                                   , SrcSpan "tests/examples/AtSign.hs" 14 68 14 69+                                   ]+                               }+                             (InfixApp+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 14 8 14 68+                                  , srcInfoPoints = []+                                  }+                                (App+                                   SrcSpanInfo+                                     { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 14 8 14 44+                                     , srcInfoPoints = []+                                     }+                                   (Con+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/AtSign.hs" 14 8 14 25+                                        , srcInfoPoints = []+                                        }+                                      (Qual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/AtSign.hs" 14 8 14 25+                                           , srcInfoPoints = []+                                           }+                                         (ModuleName+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan "tests/examples/AtSign.hs" 14 8 14 25+                                              , srcInfoPoints = []+                                              }+                                            "AF")+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan "tests/examples/AtSign.hs" 14 8 14 25+                                              , srcInfoPoints = []+                                              }+                                            "CUDAForeignAcc")))+                                   (Lit+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/AtSign.hs" 14 26 14 44+                                        , srcInfoPoints = []+                                        }+                                      (String+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/AtSign.hs" 14 26 14 44+                                           , srcInfoPoints = []+                                           }+                                         "transformForeign"+                                         "transformForeign")))+                                (QVarOp+                                   SrcSpanInfo+                                     { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 14 45 14 46+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/AtSign.hs" 14 45 14 46+                                        , srcInfoPoints = []+                                        }+                                      (Symbol+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/AtSign.hs" 14 45 14 46+                                           , srcInfoPoints = []+                                           }+                                         "$")))+                                (App+                                   SrcSpanInfo+                                     { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 14 47 14 68+                                     , srcInfoPoints = []+                                     }+                                   (Var+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/AtSign.hs" 14 47 14 63+                                        , srcInfoPoints = []+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/AtSign.hs" 14 47 14 63+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan "tests/examples/AtSign.hs" 14 47 14 63+                                              , srcInfoPoints = []+                                              }+                                            "transformForeign")))+                                   (Var+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/AtSign.hs" 14 64 14 68+                                        , srcInfoPoints = []+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/AtSign.hs" 14 64 14 68+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan "tests/examples/AtSign.hs" 14 64 14 68+                                              , srcInfoPoints = []+                                              }+                                            "hndl")))))))+                       (Paren+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 15 7 15 48+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/AtSign.hs" 15 7 15 8+                                , SrcSpan "tests/examples/AtSign.hs" 15 47 15 48+                                ]+                            }+                          (App+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 15 8 15 47+                               , srcInfoPoints = []+                               }+                             (App+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 15 8 15 38+                                  , srcInfoPoints = []+                                  }+                                (App+                                   SrcSpanInfo+                                     { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 15 8 15 19+                                     , srcInfoPoints = []+                                     }+                                   (Var+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/AtSign.hs" 15 8 15 14+                                        , srcInfoPoints = []+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/AtSign.hs" 15 8 15 14+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan "tests/examples/AtSign.hs" 15 8 15 14+                                              , srcInfoPoints = []+                                              }+                                            "unwrap")))+                                   (Var+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/AtSign.hs" 15 15 15 19+                                        , srcInfoPoints = []+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/AtSign.hs" 15 15 15 19+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan "tests/examples/AtSign.hs" 15 15 15 19+                                              , srcInfoPoints = []+                                              }+                                            "mode"))))+                                (Paren+                                   SrcSpanInfo+                                     { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 15 20 15 38+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/AtSign.hs" 15 20 15 21+                                         , SrcSpan "tests/examples/AtSign.hs" 15 37 15 38+                                         ]+                                     }+                                   (App+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/AtSign.hs" 15 21 15 37+                                        , srcInfoPoints = []+                                        }+                                      (Var+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/AtSign.hs" 15 21 15 31+                                           , srcInfoPoints = []+                                           }+                                         (Qual+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan "tests/examples/AtSign.hs" 15 21 15 31+                                              , srcInfoPoints = []+                                              }+                                            (ModuleName+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan "tests/examples/AtSign.hs" 15 21 15 31+                                                 , srcInfoPoints = []+                                                 }+                                               "A")+                                            (Ident+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan "tests/examples/AtSign.hs" 15 21 15 31+                                                 , srcInfoPoints = []+                                                 }+                                               "constant")))+                                      (Var+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/AtSign.hs" 15 32 15 37+                                           , srcInfoPoints = []+                                           }+                                         (UnQual+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan "tests/examples/AtSign.hs" 15 32 15 37+                                              , srcInfoPoints = []+                                              }+                                            (Ident+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan "tests/examples/AtSign.hs" 15 32 15 37+                                                 , srcInfoPoints = []+                                                 }+                                               "width"))))))+                             (Var+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 15 39 15 47+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 15 39 15 47+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/AtSign.hs" 15 39 15 47+                                        , srcInfoPoints = []+                                        }+                                      "fallback"))))))))+              Nothing+          ]+      ]+  , [ Comment+        True+        (SrcSpan "tests/examples/AtSign.hs" 4 1 7 3)+        " |\nAccelerate interface to the native CUDA implementation\nof the Fourier Transform provided by the CUFFT library.\n"+    ]+  )
+ tests/examples/AtSign.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/AtSign.hs.prettyprinter.golden view
@@ -0,0 +1,9 @@+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE TypeApplications #-}+module Data.Array.Accelerate.CUFFT.Private where+transform hndl@(Handle fallback mode width _)+  = wrap mode (A.constant width) $+      A.foreignAcc+        (AF.CUDAForeignAcc "transformForeign" $ transformForeign hndl)+        (unwrap mode (A.constant width) fallback)
tests/examples/Attributes.hs.parser.golden view

file too large to diff

tests/examples/Attributes.hs.prettyprinter.golden view
@@ -169,7 +169,7 @@                | Weight Double                | Width Double                | Z Double-               deriving (Eq, Ord, Show, Read)+                   deriving (Eq, Ord, Show, Read)  type Attributes = [Attribute] @@ -675,7 +675,7 @@ type EscString = String  newtype URL = UStr{urlString :: EscString}-            deriving (Eq, Ord, Show, Read)+                deriving (Eq, Ord, Show, Read)  instance PrintDot URL where         unqtDot = wrap (char '<') (char '>') . text . urlString@@ -690,7 +690,7 @@         parse = parseUnqt  newtype ArrowType = AType [(ArrowModifier, ArrowShape)]-                  deriving (Eq, Ord, Show, Read)+                      deriving (Eq, Ord, Show, Read)  box, crow, diamond, dotArrow, inv, noArrow, normal, tee, vee ::      ArrowType@@ -747,7 +747,7 @@                 | Normal                 | Tee                 | Vee-                deriving (Eq, Ord, Bounded, Enum, Show, Read)+                    deriving (Eq, Ord, Bounded, Enum, Show, Read)  instance PrintDot ArrowShape where         unqtDot Box = unqtDot "box"@@ -771,7 +771,7 @@  data ArrowModifier = ArrMod{arrowFill :: ArrowFill,                             arrowSide :: ArrowSide}-                   deriving (Eq, Ord, Show, Read)+                       deriving (Eq, Ord, Show, Read)  noMods :: ArrowModifier noMods = ArrMod FilledArrow BothSides@@ -790,7 +790,7 @@  data ArrowFill = OpenArrow                | FilledArrow-               deriving (Eq, Ord, Bounded, Enum, Show, Read)+                   deriving (Eq, Ord, Bounded, Enum, Show, Read)  instance PrintDot ArrowFill where         unqtDot OpenArrow = char 'o'@@ -805,7 +805,7 @@ data ArrowSide = LeftSide                | RightSide                | BothSides-               deriving (Eq, Ord, Bounded, Enum, Show, Read)+                   deriving (Eq, Ord, Bounded, Enum, Show, Read)  instance PrintDot ArrowSide where         unqtDot LeftSide = char 'l'@@ -821,7 +821,7 @@  data AspectType = RatioOnly Double                 | RatioPassCount Double Int-                deriving (Eq, Ord, Show, Read)+                    deriving (Eq, Ord, Show, Read)  instance PrintDot AspectType where         unqtDot (RatioOnly r) = unqtDot r@@ -838,7 +838,7 @@               `onFail` liftM RatioOnly parse  data Rect = Rect Point Point-          deriving (Eq, Ord, Show, Read)+              deriving (Eq, Ord, Show, Read)  instance PrintDot Rect where         unqtDot (Rect p1 p2) = commaDel p1 p2@@ -851,7 +851,7 @@ data ClusterMode = Local                  | Global                  | NoCluster-                 deriving (Eq, Ord, Bounded, Enum, Show, Read)+                     deriving (Eq, Ord, Bounded, Enum, Show, Read)  instance PrintDot ClusterMode where         unqtDot Local = unqtDot "local"@@ -868,7 +868,7 @@              | Back              | Both              | NoDir-             deriving (Eq, Ord, Bounded, Enum, Show, Read)+                 deriving (Eq, Ord, Bounded, Enum, Show, Read)  instance PrintDot DirType where         unqtDot Forward = unqtDot "forward"@@ -885,7 +885,7 @@ data DEConstraints = EdgeConstraints                    | NoConstraints                    | HierConstraints-                   deriving (Eq, Ord, Bounded, Enum, Show, Read)+                       deriving (Eq, Ord, Bounded, Enum, Show, Read)  instance PrintDot DEConstraints where         unqtDot EdgeConstraints = unqtDot True@@ -899,7 +899,7 @@  data DPoint = DVal Double             | PVal Point-            deriving (Eq, Ord, Show, Read)+                deriving (Eq, Ord, Show, Read)  instance PrintDot DPoint where         unqtDot (DVal d) = unqtDot d@@ -915,7 +915,7 @@               | KK               | Hier               | IpSep-              deriving (Eq, Ord, Bounded, Enum, Show, Read)+                  deriving (Eq, Ord, Bounded, Enum, Show, Read)  instance PrintDot ModeType where         unqtDot Major = text "major"@@ -932,7 +932,7 @@ data Model = ShortPath            | SubSet            | Circuit-           deriving (Eq, Ord, Bounded, Enum, Show, Read)+               deriving (Eq, Ord, Bounded, Enum, Show, Read)  instance PrintDot Model where         unqtDot ShortPath = text "shortpath"@@ -947,7 +947,7 @@  data Label = StrLabel EscString            | URLLabel URL-           deriving (Eq, Ord, Show, Read)+               deriving (Eq, Ord, Show, Read)  instance PrintDot Label where         unqtDot (StrLabel s) = unqtDot s@@ -962,7 +962,7 @@  data Point = Point Int Int            | PointD Double Double-           deriving (Eq, Ord, Show, Read)+               deriving (Eq, Ord, Show, Read)  instance PrintDot Point where         unqtDot (Point x y) = commaDel x y@@ -992,7 +992,7 @@              | CompressOverlap              | VpscOverlap              | IpsepOverlap-             deriving (Eq, Ord, Show, Read)+                 deriving (Eq, Ord, Show, Read)  instance PrintDot Overlap where         unqtDot KeepOverlaps = unqtDot True@@ -1017,7 +1017,7 @@  data LayerRange = LRID LayerID                 | LRS LayerID String LayerID-                deriving (Eq, Ord, Show, Read)+                    deriving (Eq, Ord, Show, Read)  instance PrintDot LayerRange where         unqtDot (LRID lid) = unqtDot lid@@ -1060,7 +1060,7 @@ data LayerID = AllLayers              | LRInt Int              | LRName String-             deriving (Eq, Ord, Show, Read)+                 deriving (Eq, Ord, Show, Read)  instance PrintDot LayerID where         unqtDot AllLayers = text "all"@@ -1080,7 +1080,7 @@           = if map toLower str == "all" then AllLayers else LRName str  data LayerList = LL String [(String, String)]-               deriving (Eq, Ord, Show, Read)+                   deriving (Eq, Ord, Show, Read)  instance PrintDot LayerList where         unqtDot (LL l1 ols) = unqtDot l1 <> hcat (map subLL ols)@@ -1103,7 +1103,7 @@ data OutputMode = BreadthFirst                 | NodesFirst                 | EdgesFirst-                deriving (Eq, Ord, Bounded, Enum, Show, Read)+                    deriving (Eq, Ord, Bounded, Enum, Show, Read)  instance PrintDot OutputMode where         unqtDot BreadthFirst = text "breadthfirst"@@ -1120,7 +1120,7 @@ data Pack = DoPack           | DontPack           | PackMargin Int-          deriving (Eq, Ord, Show, Read)+              deriving (Eq, Ord, Show, Read)  instance PrintDot Pack where         unqtDot DoPack = unqtDot True@@ -1136,7 +1136,7 @@               | PackClust               | PackGraph               | PackArray Bool Bool (Maybe Int)-              deriving (Eq, Ord, Show, Read)+                  deriving (Eq, Ord, Show, Read)  instance PrintDot PackMode where         unqtDot PackNode = text "node"@@ -1167,7 +1167,7 @@  data Pos = PointPos Point          | SplinePos [Spline]-         deriving (Eq, Ord, Show, Read)+             deriving (Eq, Ord, Show, Read)  instance PrintDot Pos where         unqtDot (PointPos p) = unqtDot p@@ -1188,7 +1188,7 @@               | NoEdges               | PolyLine               | CompoundEdge-              deriving (Eq, Ord, Bounded, Enum, Show, Read)+                  deriving (Eq, Ord, Bounded, Enum, Show, Read)  instance PrintDot EdgeType where         unqtDot SplineEdges = toDot True@@ -1215,7 +1215,7 @@              | Rt              | Lb              | Lt-             deriving (Eq, Ord, Bounded, Enum, Show, Read)+                 deriving (Eq, Ord, Bounded, Enum, Show, Read)  instance PrintDot PageDir where         unqtDot Bl = text "BL"@@ -1235,7 +1235,7 @@                stringRep Lb "LB", stringRep Lt "LT"]  data Spline = Spline (Maybe Point) (Maybe Point) [Point]-            deriving (Eq, Ord, Show, Read)+                deriving (Eq, Ord, Show, Read)  instance PrintDot Spline where         unqtDot (Spline ms me ps) = addS . addE . hsep $ map unqtDot ps@@ -1263,7 +1263,7 @@ data QuadType = NormalQT               | FastQT               | NoQT-              deriving (Eq, Ord, Bounded, Enum, Show, Read)+                  deriving (Eq, Ord, Bounded, Enum, Show, Read)  instance PrintDot QuadType where         unqtDot NormalQT = text "normal"@@ -1280,7 +1280,7 @@ data Root = IsCentral           | NotCentral           | NodeName String-          deriving (Eq, Ord, Show, Read)+              deriving (Eq, Ord, Show, Read)  instance PrintDot Root where         unqtDot IsCentral = unqtDot True@@ -1302,7 +1302,7 @@               | SourceRank               | MaxRank               | SinkRank-              deriving (Eq, Ord, Bounded, Enum, Show, Read)+                  deriving (Eq, Ord, Bounded, Enum, Show, Read)  instance PrintDot RankType where         unqtDot SameRank = text "same"@@ -1322,7 +1322,7 @@              | FromLeft              | FromBottom              | FromRight-             deriving (Eq, Ord, Bounded, Enum, Show, Read)+                 deriving (Eq, Ord, Bounded, Enum, Show, Read)  instance PrintDot RankDir where         unqtDot FromTop = text "TB"@@ -1366,7 +1366,7 @@            | Folder            | Box3D            | Component-           deriving (Eq, Ord, Bounded, Enum, Show, Read)+               deriving (Eq, Ord, Bounded, Enum, Show, Read)  instance PrintDot Shape where         unqtDot BoxShape = text "box"@@ -1430,7 +1430,7 @@                 | RNG                 | Spring                 | TriangleSmooth-                deriving (Eq, Ord, Bounded, Enum, Show, Read)+                    deriving (Eq, Ord, Bounded, Enum, Show, Read)  instance PrintDot SmoothType where         unqtDot NoSmooth = text "none"@@ -1452,7 +1452,7 @@ data StartType = StartStyle STStyle                | StartSeed Int                | StartStyleSeed STStyle Int-               deriving (Eq, Ord, Show, Read)+                   deriving (Eq, Ord, Show, Read)  instance PrintDot StartType where         unqtDot (StartStyle ss) = unqtDot ss@@ -1470,7 +1470,7 @@ data STStyle = RegularStyle              | SelfStyle              | RandomStyle-             deriving (Eq, Ord, Bounded, Enum, Show, Read)+                 deriving (Eq, Ord, Bounded, Enum, Show, Read)  instance PrintDot STStyle where         unqtDot RegularStyle = text "regular"@@ -1484,7 +1484,7 @@                stringRep RandomStyle "random"]  data StyleItem = SItem StyleName [String]-               deriving (Eq, Ord, Show, Read)+                   deriving (Eq, Ord, Show, Read)  instance PrintDot StyleItem where         unqtDot (SItem nm args)@@ -1524,7 +1524,7 @@                | Diagonals                | Rounded                | DD String-               deriving (Eq, Ord, Show, Read)+                   deriving (Eq, Ord, Show, Read)  instance PrintDot StyleName where         unqtDot Dashed = text "dashed"@@ -1568,7 +1568,7 @@        return $ f : r  newtype PortPos = PP CompassPoint-                deriving (Eq, Ord, Show, Read)+                    deriving (Eq, Ord, Show, Read)  instance PrintDot PortPos where         unqtDot (PP cp) = unqtDot cp@@ -1587,7 +1587,7 @@                   | NorthWest                   | CenterPoint                   | NoCP-                  deriving (Eq, Ord, Bounded, Enum, Show, Read)+                      deriving (Eq, Ord, Bounded, Enum, Show, Read)  instance PrintDot CompassPoint where         unqtDot NorthEast = text "ne"@@ -1611,7 +1611,7 @@  data ViewPort = VP{wVal :: Double, hVal :: Double, zVal :: Double,                    focus :: Maybe FocusType}-              deriving (Eq, Ord, Show, Read)+                  deriving (Eq, Ord, Show, Read)  instance PrintDot ViewPort where         unqtDot vp = maybe vs ((<>) (vs <> comma) . unqtDot) $ focus vp@@ -1633,7 +1633,7 @@  data FocusType = XY Point                | NodeFocus String-               deriving (Eq, Ord, Show, Read)+                   deriving (Eq, Ord, Show, Read)  instance PrintDot FocusType where         unqtDot (XY p) = unqtDot p@@ -1648,7 +1648,7 @@ data VerticalPlacement = VTop                        | VCenter                        | VBottom-                       deriving (Eq, Ord, Bounded, Enum, Show, Read)+                           deriving (Eq, Ord, Bounded, Enum, Show, Read)  instance PrintDot VerticalPlacement where         unqtDot VTop = char 't'@@ -1665,7 +1665,7 @@                | FillWidth                | FillHeight                | FillBoth-               deriving (Eq, Ord, Bounded, Enum, Show, Read)+                   deriving (Eq, Ord, Bounded, Enum, Show, Read)  instance PrintDot ScaleType where         unqtDot UniformScale = unqtDot True@@ -1684,7 +1684,7 @@ data Justification = JLeft                    | JRight                    | JCenter-                   deriving (Eq, Ord, Bounded, Enum, Show, Read)+                       deriving (Eq, Ord, Bounded, Enum, Show, Read)  instance PrintDot Justification where         unqtDot JLeft = char 'l'@@ -1701,7 +1701,7 @@             | CompressRatio             | ExpandRatio             | AutoRatio-            deriving (Eq, Ord, Show, Read)+                deriving (Eq, Ord, Show, Read)  instance PrintDot Ratios where         unqtDot (AspectRatio r) = unqtDot r
tests/examples/BangViewPat.hs.prettyprinter.golden view
@@ -1,3 +1,2 @@ {-# LANGUAGE BangPatterns, ViewPatterns #-}-module Main (main) where someFun (id -> !arg) = undefined
tests/examples/BinaryLiteralsGood.hs.prettyparser.golden view
@@ -1,1 +1,10 @@-Match+Roundtrip test failed++AST 1:++Module () Nothing [LanguagePragma () [Ident () "BinaryLiterals"],LanguagePragma () [Ident () "MagicHash"]] [ImportDecl {importAnn = (), importModule = ModuleName () "GHC.Types", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing}] [PatBind () (PVar () (Ident () "main")) (UnGuardedRhs () (Do () [Qualifier () (App () (Var () (UnQual () (Ident () "print"))) (List () [App () (Con () (UnQual () (Ident () "I#"))) (Lit () (PrimInt () 0 "0b0")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 0 "0b0")),App () (Con () (UnQual () (Ident () "I#"))) (Lit () (PrimInt () 1 "0b1")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 1 "0b1")),App () (Con () (UnQual () (Ident () "I#"))) (Lit () (PrimInt () 1 "0b00000000000000000000000000000000000000000000000000000000000000000000000000001")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 1 "0b00000000000000000000000000000000000000000000000000000000000000000000000000001")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 201 "0b11001001")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 201 "0b11001001")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 255 "0b11111111")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 255 "0b11111111"))])),Qualifier () (App () (Var () (UnQual () (Ident () "print"))) (List () [App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 0 "0b0")),App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 1 "0b1")),App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 201 "0b11001001")),App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 3 "0b11")),App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 255 "0b11111111")),App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 1 "0b00000000000000000000000000000000000000000000000000000000000000000000000000001"))])),Qualifier () (App () (Var () (UnQual () (Ident () "print"))) (List () [Lit () (Int () 0 "0b0"),Lit () (Int () 1 "0b1"),Lit () (Int () 2 "0b10"),Lit () (Int () 3 "0b11"),Lit () (Int () 4 "0b100"),Lit () (Int () 5 "0b101"),Lit () (Int () 6 "0b110"),ExpTypeSig () (Lit () (Int () 7 "0b111")) (TyCon () (UnQual () (Ident () "Integer"))),NegApp () (Lit () (Int () 0 "0b0")),NegApp () (Lit () (Int () 1 "0b1")),NegApp () (Lit () (Int () 2 "0b10")),NegApp () (Lit () (Int () 3 "0b11")),NegApp () (Lit () (Int () 4 "0b100")),NegApp () (Lit () (Int () 5 "0b101")),NegApp () (Lit () (Int () 6 "0b110")),NegApp () (Lit () (Int () 7 "0b111")),Lit () (Int () 340282366920938463463374607431768211455 "0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"),NegApp () (Lit () (Int () 340282366920938463463374607431768211455 "0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"))])),Qualifier () (App () (Var () (UnQual () (Ident () "print"))) (List () [InfixApp () (Con () (UnQual () (Ident () "I8#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 128 "0B10000000")),App () (Con () (UnQual () (Ident () "I8#"))) (Lit () (PrimInt () 127 "0B1111111"))]))])) Nothing]++AST 2:++Module () Nothing [LanguagePragma () [Ident () "BinaryLiterals"],LanguagePragma () [Ident () "MagicHash"]] [ImportDecl {importAnn = (), importModule = ModuleName () "GHC.Types", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing}] [PatBind () (PVar () (Ident () "main")) (UnGuardedRhs () (Do () [Qualifier () (App () (Var () (UnQual () (Ident () "print"))) (List () [App () (Con () (UnQual () (Ident () "I#"))) (Lit () (PrimInt () 0 "0")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 0 "0")),App () (Con () (UnQual () (Ident () "I#"))) (Lit () (PrimInt () 1 "1")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 1 "1")),App () (Con () (UnQual () (Ident () "I#"))) (Lit () (PrimInt () 1 "1")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 1 "1")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 201 "201")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 201 "201")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 255 "255")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 255 "255"))])),Qualifier () (App () (Var () (UnQual () (Ident () "print"))) (List () [App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 0 "0")),App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 1 "1")),App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 201 "201")),App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 3 "3")),App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 255 "255")),App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 1 "1"))])),Qualifier () (App () (Var () (UnQual () (Ident () "print"))) (List () [Lit () (Int () 0 "0"),Lit () (Int () 1 "1"),Lit () (Int () 2 "2"),Lit () (Int () 3 "3"),Lit () (Int () 4 "4"),Lit () (Int () 5 "5"),Lit () (Int () 6 "6"),ExpTypeSig () (Lit () (Int () 7 "7")) (TyCon () (UnQual () (Ident () "Integer"))),NegApp () (Lit () (Int () 0 "0")),NegApp () (Lit () (Int () 1 "1")),NegApp () (Lit () (Int () 2 "2")),NegApp () (Lit () (Int () 3 "3")),NegApp () (Lit () (Int () 4 "4")),NegApp () (Lit () (Int () 5 "5")),NegApp () (Lit () (Int () 6 "6")),NegApp () (Lit () (Int () 7 "7")),Lit () (Int () 340282366920938463463374607431768211455 "340282366920938463463374607431768211455"),NegApp () (Lit () (Int () 340282366920938463463374607431768211455 "340282366920938463463374607431768211455"))])),Qualifier () (App () (Var () (UnQual () (Ident () "print"))) (List () [InfixApp () (Con () (UnQual () (Ident () "I8#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 128 "128")),App () (Con () (UnQual () (Ident () "I8#"))) (Lit () (PrimInt () 127 "127"))]))])) Nothing]+
tests/examples/BinaryLiteralsGood.hs.prettyprinter.golden view
@@ -1,6 +1,5 @@ {-# LANGUAGE BinaryLiterals #-} {-# LANGUAGE MagicHash #-}-module Main (main) where import GHC.Types main   = do print
+ tests/examples/BlockArguments.hs view
@@ -0,0 +1,16 @@+{-# LANGUAGE BlockArguments #-}+module BlockArguments where++foo = when (x > 0) do+  print x+  exitFailure++bar = withForeignPtr fptr \ptr -> c_memcpy buf ptr size++baz arg1 arg2 arg3 arg4 = initialValue+  &   someFunction arg1 arg2+  >>= traverse \(x, y) -> do+        a <- f x+        b <- g y+        h a b+  >>= anotherFunction arg3 arg4
+ tests/examples/BlockArguments.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/BlockArguments.hs.parser.golden view
@@ -0,0 +1,1099 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 1 1 17 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/BlockArguments.hs" 1 1 1 1+            , SrcSpan "tests/examples/BlockArguments.hs" 2 1 2 1+            , SrcSpan "tests/examples/BlockArguments.hs" 2 1 2 1+            , SrcSpan "tests/examples/BlockArguments.hs" 4 1 4 1+            , SrcSpan "tests/examples/BlockArguments.hs" 8 1 8 1+            , SrcSpan "tests/examples/BlockArguments.hs" 10 1 10 1+            , SrcSpan "tests/examples/BlockArguments.hs" 17 1 17 1+            , SrcSpan "tests/examples/BlockArguments.hs" 17 1 17 1+            ]+        }+      (Just+         (ModuleHead+            SrcSpanInfo+              { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 2 1 2 28+              , srcInfoPoints =+                  [ SrcSpan "tests/examples/BlockArguments.hs" 2 1 2 7+                  , SrcSpan "tests/examples/BlockArguments.hs" 2 23 2 28+                  ]+              }+            (ModuleName+               SrcSpanInfo+                 { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 2 8 2 22+                 , srcInfoPoints = []+                 }+               "BlockArguments")+            Nothing+            Nothing))+      [ LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 1 1 1 32+            , srcInfoPoints =+                [ SrcSpan "tests/examples/BlockArguments.hs" 1 1 1 13+                , SrcSpan "tests/examples/BlockArguments.hs" 1 29 1 32+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/BlockArguments.hs" 1 14 1 28+                , srcInfoPoints = []+                }+              "BlockArguments"+          ]+      ]+      []+      [ PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 4 1 6 14+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 4 1 4 4+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 4 1 4 4+                  , srcInfoPoints = []+                  }+                "foo"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 4 5 6 14+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/BlockArguments.hs" 4 5 4 6 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 4 7 6 14+                  , srcInfoPoints = []+                  }+                (App+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 4 7 4 19+                     , srcInfoPoints = []+                     }+                   (Var+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 4 7 4 11+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 4 7 4 11+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 4 7 4 11+                              , srcInfoPoints = []+                              }+                            "when")))+                   (Paren+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/BlockArguments.hs" 4 12 4 19+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/BlockArguments.hs" 4 12 4 13+                            , SrcSpan "tests/examples/BlockArguments.hs" 4 18 4 19+                            ]+                        }+                      (InfixApp+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/BlockArguments.hs" 4 13 4 18+                           , srcInfoPoints = []+                           }+                         (Var+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/BlockArguments.hs" 4 13 4 14+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/BlockArguments.hs" 4 13 4 14+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/BlockArguments.hs" 4 13 4 14+                                    , srcInfoPoints = []+                                    }+                                  "x")))+                         (QVarOp+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/BlockArguments.hs" 4 15 4 16+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/BlockArguments.hs" 4 15 4 16+                                 , srcInfoPoints = []+                                 }+                               (Symbol+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/BlockArguments.hs" 4 15 4 16+                                    , srcInfoPoints = []+                                    }+                                  ">")))+                         (Lit+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/BlockArguments.hs" 4 17 4 18+                              , srcInfoPoints = []+                              }+                            (Int+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/BlockArguments.hs" 4 17 4 18+                                 , srcInfoPoints = []+                                 }+                               0+                               "0")))))+                (Do+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/BlockArguments.hs" 4 20 6 14+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/BlockArguments.hs" 4 20 4 22+                         , SrcSpan "tests/examples/BlockArguments.hs" 5 3 5 3+                         , SrcSpan "tests/examples/BlockArguments.hs" 6 3 6 3+                         , SrcSpan "tests/examples/BlockArguments.hs" 8 1 8 0+                         ]+                     }+                   [ Qualifier+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 5 3 5 10+                         , srcInfoPoints = []+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 5 3 5 10+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 5 3 5 8+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 5 3 5 8+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/BlockArguments.hs" 5 3 5 8+                                     , srcInfoPoints = []+                                     }+                                   "print")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 5 9 5 10+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/BlockArguments.hs" 5 9 5 10+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/BlockArguments.hs" 5 9 5 10+                                     , srcInfoPoints = []+                                     }+                                   "x"))))+                   , Qualifier+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 6 3 6 14+                         , srcInfoPoints = []+                         }+                       (Var+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 6 3 6 14+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 6 3 6 14+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/BlockArguments.hs" 6 3 6 14+                                  , srcInfoPoints = []+                                  }+                                "exitFailure")))+                   ])))+          Nothing+      , PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 8 1 8 56+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 8 1 8 4+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 8 1 8 4+                  , srcInfoPoints = []+                  }+                "bar"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 8 5 8 56+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/BlockArguments.hs" 8 5 8 6 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 8 7 8 56+                  , srcInfoPoints = []+                  }+                (App+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 8 7 8 26+                     , srcInfoPoints = []+                     }+                   (Var+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 8 7 8 21+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 8 7 8 21+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 8 7 8 21+                              , srcInfoPoints = []+                              }+                            "withForeignPtr")))+                   (Var+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/BlockArguments.hs" 8 22 8 26+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/BlockArguments.hs" 8 22 8 26+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/BlockArguments.hs" 8 22 8 26+                              , srcInfoPoints = []+                              }+                            "fptr"))))+                (Lambda+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/BlockArguments.hs" 8 27 8 56+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/BlockArguments.hs" 8 27 8 28+                         , SrcSpan "tests/examples/BlockArguments.hs" 8 32 8 34+                         ]+                     }+                   [ PVar+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/BlockArguments.hs" 8 28 8 31+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/BlockArguments.hs" 8 28 8 31+                            , srcInfoPoints = []+                            }+                          "ptr")+                   ]+                   (App+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/BlockArguments.hs" 8 35 8 56+                        , srcInfoPoints = []+                        }+                      (App+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/BlockArguments.hs" 8 35 8 51+                           , srcInfoPoints = []+                           }+                         (App+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/BlockArguments.hs" 8 35 8 47+                              , srcInfoPoints = []+                              }+                            (Var+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/BlockArguments.hs" 8 35 8 43+                                 , srcInfoPoints = []+                                 }+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/BlockArguments.hs" 8 35 8 43+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/BlockArguments.hs" 8 35 8 43+                                       , srcInfoPoints = []+                                       }+                                     "c_memcpy")))+                            (Var+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/BlockArguments.hs" 8 44 8 47+                                 , srcInfoPoints = []+                                 }+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/BlockArguments.hs" 8 44 8 47+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/BlockArguments.hs" 8 44 8 47+                                       , srcInfoPoints = []+                                       }+                                     "buf"))))+                         (Var+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/BlockArguments.hs" 8 48 8 51+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/BlockArguments.hs" 8 48 8 51+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/BlockArguments.hs" 8 48 8 51+                                    , srcInfoPoints = []+                                    }+                                  "ptr"))))+                      (Var+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/BlockArguments.hs" 8 52 8 56+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/BlockArguments.hs" 8 52 8 56+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/BlockArguments.hs" 8 52 8 56+                                 , srcInfoPoints = []+                                 }+                               "size")))))))+          Nothing+      , FunBind+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/BlockArguments.hs" 10 1 16 32+            , srcInfoPoints = []+            }+          [ Match+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/BlockArguments.hs" 10 1 16 32+                , srcInfoPoints = []+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/BlockArguments.hs" 10 1 10 4+                   , srcInfoPoints = []+                   }+                 "baz")+              [ PVar+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/BlockArguments.hs" 10 5 10 9+                    , srcInfoPoints = []+                    }+                  (Ident+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/BlockArguments.hs" 10 5 10 9+                       , srcInfoPoints = []+                       }+                     "arg1")+              , PVar+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/BlockArguments.hs" 10 10 10 14+                    , srcInfoPoints = []+                    }+                  (Ident+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/BlockArguments.hs" 10 10 10 14+                       , srcInfoPoints = []+                       }+                     "arg2")+              , PVar+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/BlockArguments.hs" 10 15 10 19+                    , srcInfoPoints = []+                    }+                  (Ident+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/BlockArguments.hs" 10 15 10 19+                       , srcInfoPoints = []+                       }+                     "arg3")+              , PVar+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/BlockArguments.hs" 10 20 10 24+                    , srcInfoPoints = []+                    }+                  (Ident+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/BlockArguments.hs" 10 20 10 24+                       , srcInfoPoints = []+                       }+                     "arg4")+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/BlockArguments.hs" 10 25 16 32+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/BlockArguments.hs" 10 25 10 26 ]+                   }+                 (InfixApp+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/BlockArguments.hs" 10 27 16 32+                      , srcInfoPoints = []+                      }+                    (InfixApp+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/BlockArguments.hs" 10 27 11 29+                         , srcInfoPoints = []+                         }+                       (Var+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/BlockArguments.hs" 10 27 10 39+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/BlockArguments.hs" 10 27 10 39+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/BlockArguments.hs" 10 27 10 39+                                  , srcInfoPoints = []+                                  }+                                "initialValue")))+                       (QVarOp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/BlockArguments.hs" 11 3 11 4+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/BlockArguments.hs" 11 3 11 4+                               , srcInfoPoints = []+                               }+                             (Symbol+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/BlockArguments.hs" 11 3 11 4+                                  , srcInfoPoints = []+                                  }+                                "&")))+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/BlockArguments.hs" 11 7 11 29+                            , srcInfoPoints = []+                            }+                          (App+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/BlockArguments.hs" 11 7 11 24+                               , srcInfoPoints = []+                               }+                             (Var+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/BlockArguments.hs" 11 7 11 19+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/BlockArguments.hs" 11 7 11 19+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/BlockArguments.hs" 11 7 11 19+                                        , srcInfoPoints = []+                                        }+                                      "someFunction")))+                             (Var+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/BlockArguments.hs" 11 20 11 24+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/BlockArguments.hs" 11 20 11 24+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/BlockArguments.hs" 11 20 11 24+                                        , srcInfoPoints = []+                                        }+                                      "arg1"))))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/BlockArguments.hs" 11 25 11 29+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/BlockArguments.hs" 11 25 11 29+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/BlockArguments.hs" 11 25 11 29+                                     , srcInfoPoints = []+                                     }+                                   "arg2")))))+                    (QVarOp+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/BlockArguments.hs" 12 3 12 6+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/BlockArguments.hs" 12 3 12 6+                            , srcInfoPoints = []+                            }+                          (Symbol+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/BlockArguments.hs" 12 3 12 6+                               , srcInfoPoints = []+                               }+                             ">>=")))+                    (App+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/BlockArguments.hs" 12 7 16 32+                         , srcInfoPoints = []+                         }+                       (Var+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/BlockArguments.hs" 12 7 12 15+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/BlockArguments.hs" 12 7 12 15+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/BlockArguments.hs" 12 7 12 15+                                  , srcInfoPoints = []+                                  }+                                "traverse")))+                       (Lambda+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/BlockArguments.hs" 12 16 16 32+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/BlockArguments.hs" 12 16 12 17+                                , SrcSpan "tests/examples/BlockArguments.hs" 12 24 12 26+                                ]+                            }+                          [ PTuple+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/BlockArguments.hs" 12 17 12 23+                                , srcInfoPoints =+                                    [ SrcSpan "tests/examples/BlockArguments.hs" 12 17 12 18+                                    , SrcSpan "tests/examples/BlockArguments.hs" 12 19 12 20+                                    , SrcSpan "tests/examples/BlockArguments.hs" 12 22 12 23+                                    ]+                                }+                              Boxed+                              [ PVar+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/BlockArguments.hs" 12 18 12 19+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/BlockArguments.hs" 12 18 12 19+                                       , srcInfoPoints = []+                                       }+                                     "x")+                              , PVar+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/BlockArguments.hs" 12 21 12 22+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/BlockArguments.hs" 12 21 12 22+                                       , srcInfoPoints = []+                                       }+                                     "y")+                              ]+                          ]+                          (InfixApp+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/BlockArguments.hs" 12 27 16 32+                               , srcInfoPoints = []+                               }+                             (Do+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/BlockArguments.hs" 12 27 15 14+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/BlockArguments.hs" 12 27 12 29+                                      , SrcSpan "tests/examples/BlockArguments.hs" 13 9 13 9+                                      , SrcSpan "tests/examples/BlockArguments.hs" 14 9 14 9+                                      , SrcSpan "tests/examples/BlockArguments.hs" 15 9 15 9+                                      , SrcSpan "tests/examples/BlockArguments.hs" 16 3 16 0+                                      ]+                                  }+                                [ Generator+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/BlockArguments.hs" 13 9 13 17+                                      , srcInfoPoints =+                                          [ SrcSpan "tests/examples/BlockArguments.hs" 13 11 13 13 ]+                                      }+                                    (PVar+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/BlockArguments.hs" 13 9 13 10+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/BlockArguments.hs" 13 9 13 10+                                            , srcInfoPoints = []+                                            }+                                          "a"))+                                    (App+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/BlockArguments.hs" 13 14 13 17+                                         , srcInfoPoints = []+                                         }+                                       (Var+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/BlockArguments.hs" 13 14 13 15+                                            , srcInfoPoints = []+                                            }+                                          (UnQual+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/BlockArguments.hs" 13 14 13 15+                                               , srcInfoPoints = []+                                               }+                                             (Ident+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/BlockArguments.hs"+                                                        13+                                                        14+                                                        13+                                                        15+                                                  , srcInfoPoints = []+                                                  }+                                                "f")))+                                       (Var+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/BlockArguments.hs" 13 16 13 17+                                            , srcInfoPoints = []+                                            }+                                          (UnQual+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/BlockArguments.hs" 13 16 13 17+                                               , srcInfoPoints = []+                                               }+                                             (Ident+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/BlockArguments.hs"+                                                        13+                                                        16+                                                        13+                                                        17+                                                  , srcInfoPoints = []+                                                  }+                                                "x"))))+                                , Generator+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/BlockArguments.hs" 14 9 14 17+                                      , srcInfoPoints =+                                          [ SrcSpan "tests/examples/BlockArguments.hs" 14 11 14 13 ]+                                      }+                                    (PVar+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/BlockArguments.hs" 14 9 14 10+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/BlockArguments.hs" 14 9 14 10+                                            , srcInfoPoints = []+                                            }+                                          "b"))+                                    (App+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/BlockArguments.hs" 14 14 14 17+                                         , srcInfoPoints = []+                                         }+                                       (Var+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/BlockArguments.hs" 14 14 14 15+                                            , srcInfoPoints = []+                                            }+                                          (UnQual+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/BlockArguments.hs" 14 14 14 15+                                               , srcInfoPoints = []+                                               }+                                             (Ident+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/BlockArguments.hs"+                                                        14+                                                        14+                                                        14+                                                        15+                                                  , srcInfoPoints = []+                                                  }+                                                "g")))+                                       (Var+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/BlockArguments.hs" 14 16 14 17+                                            , srcInfoPoints = []+                                            }+                                          (UnQual+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/BlockArguments.hs" 14 16 14 17+                                               , srcInfoPoints = []+                                               }+                                             (Ident+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/BlockArguments.hs"+                                                        14+                                                        16+                                                        14+                                                        17+                                                  , srcInfoPoints = []+                                                  }+                                                "y"))))+                                , Qualifier+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/BlockArguments.hs" 15 9 15 14+                                      , srcInfoPoints = []+                                      }+                                    (App+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/BlockArguments.hs" 15 9 15 14+                                         , srcInfoPoints = []+                                         }+                                       (App+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/BlockArguments.hs" 15 9 15 12+                                            , srcInfoPoints = []+                                            }+                                          (Var+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/BlockArguments.hs" 15 9 15 10+                                               , srcInfoPoints = []+                                               }+                                             (UnQual+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/BlockArguments.hs"+                                                        15+                                                        9+                                                        15+                                                        10+                                                  , srcInfoPoints = []+                                                  }+                                                (Ident+                                                   SrcSpanInfo+                                                     { srcInfoSpan =+                                                         SrcSpan+                                                           "tests/examples/BlockArguments.hs"+                                                           15+                                                           9+                                                           15+                                                           10+                                                     , srcInfoPoints = []+                                                     }+                                                   "h")))+                                          (Var+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/BlockArguments.hs" 15 11 15 12+                                               , srcInfoPoints = []+                                               }+                                             (UnQual+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/BlockArguments.hs"+                                                        15+                                                        11+                                                        15+                                                        12+                                                  , srcInfoPoints = []+                                                  }+                                                (Ident+                                                   SrcSpanInfo+                                                     { srcInfoSpan =+                                                         SrcSpan+                                                           "tests/examples/BlockArguments.hs"+                                                           15+                                                           11+                                                           15+                                                           12+                                                     , srcInfoPoints = []+                                                     }+                                                   "a"))))+                                       (Var+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/BlockArguments.hs" 15 13 15 14+                                            , srcInfoPoints = []+                                            }+                                          (UnQual+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/BlockArguments.hs" 15 13 15 14+                                               , srcInfoPoints = []+                                               }+                                             (Ident+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/BlockArguments.hs"+                                                        15+                                                        13+                                                        15+                                                        14+                                                  , srcInfoPoints = []+                                                  }+                                                "b"))))+                                ])+                             (QVarOp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/BlockArguments.hs" 16 3 16 6+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/BlockArguments.hs" 16 3 16 6+                                     , srcInfoPoints = []+                                     }+                                   (Symbol+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/BlockArguments.hs" 16 3 16 6+                                        , srcInfoPoints = []+                                        }+                                      ">>=")))+                             (App+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/BlockArguments.hs" 16 7 16 32+                                  , srcInfoPoints = []+                                  }+                                (App+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/BlockArguments.hs" 16 7 16 27+                                     , srcInfoPoints = []+                                     }+                                   (Var+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/BlockArguments.hs" 16 7 16 22+                                        , srcInfoPoints = []+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/BlockArguments.hs" 16 7 16 22+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/BlockArguments.hs" 16 7 16 22+                                              , srcInfoPoints = []+                                              }+                                            "anotherFunction")))+                                   (Var+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/BlockArguments.hs" 16 23 16 27+                                        , srcInfoPoints = []+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan+                                                 "tests/examples/BlockArguments.hs" 16 23 16 27+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/BlockArguments.hs" 16 23 16 27+                                              , srcInfoPoints = []+                                              }+                                            "arg3"))))+                                (Var+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/BlockArguments.hs" 16 28 16 32+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/BlockArguments.hs" 16 28 16 32+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan+                                                 "tests/examples/BlockArguments.hs" 16 28 16 32+                                           , srcInfoPoints = []+                                           }+                                         "arg4")))))))))+              Nothing+          ]+      ]+  , []+  )
+ tests/examples/BlockArguments.hs.prettyparser.golden view
@@ -0,0 +1,10 @@+Roundtrip test failed++AST 1:++Module () (Just (ModuleHead () (ModuleName () "BlockArguments") Nothing Nothing)) [LanguagePragma () [Ident () "BlockArguments"]] [] [PatBind () (PVar () (Ident () "foo")) (UnGuardedRhs () (App () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "x"))) (QVarOp () (UnQual () (Symbol () ">"))) (Lit () (Int () 0 "0"))))) (Do () [Qualifier () (App () (Var () (UnQual () (Ident () "print"))) (Var () (UnQual () (Ident () "x")))),Qualifier () (Var () (UnQual () (Ident () "exitFailure")))]))) Nothing,PatBind () (PVar () (Ident () "bar")) (UnGuardedRhs () (App () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fptr")))) (Lambda () [PVar () (Ident () "ptr")] (App () (App () (App () (Var () (UnQual () (Ident () "c_memcpy"))) (Var () (UnQual () (Ident () "buf")))) (Var () (UnQual () (Ident () "ptr")))) (Var () (UnQual () (Ident () "size"))))))) Nothing,FunBind () [Match () (Ident () "baz") [PVar () (Ident () "arg1"),PVar () (Ident () "arg2"),PVar () (Ident () "arg3"),PVar () (Ident () "arg4")] (UnGuardedRhs () (InfixApp () (InfixApp () (Var () (UnQual () (Ident () "initialValue"))) (QVarOp () (UnQual () (Symbol () "&"))) (App () (App () (Var () (UnQual () (Ident () "someFunction"))) (Var () (UnQual () (Ident () "arg1")))) (Var () (UnQual () (Ident () "arg2"))))) (QVarOp () (UnQual () (Symbol () ">>="))) (App () (Var () (UnQual () (Ident () "traverse"))) (Lambda () [PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "y")]] (InfixApp () (Do () [Generator () (PVar () (Ident () "a")) (App () (Var () (UnQual () (Ident () "f"))) (Var () (UnQual () (Ident () "x")))),Generator () (PVar () (Ident () "b")) (App () (Var () (UnQual () (Ident () "g"))) (Var () (UnQual () (Ident () "y")))),Qualifier () (App () (App () (Var () (UnQual () (Ident () "h"))) (Var () (UnQual () (Ident () "a")))) (Var () (UnQual () (Ident () "b"))))]) (QVarOp () (UnQual () (Symbol () ">>="))) (App () (App () (Var () (UnQual () (Ident () "anotherFunction"))) (Var () (UnQual () (Ident () "arg3")))) (Var () (UnQual () (Ident () "arg4"))))))))) Nothing]]++AST 2:++Module () (Just (ModuleHead () (ModuleName () "BlockArguments") Nothing Nothing)) [LanguagePragma () [Ident () "BlockArguments"]] [] [PatBind () (PVar () (Ident () "foo")) (UnGuardedRhs () (App () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "x"))) (QVarOp () (UnQual () (Symbol () ">"))) (Lit () (Int () 0 "0"))))) (Paren () (Do () [Qualifier () (App () (Var () (UnQual () (Ident () "print"))) (Var () (UnQual () (Ident () "x")))),Qualifier () (Var () (UnQual () (Ident () "exitFailure")))])))) Nothing,PatBind () (PVar () (Ident () "bar")) (UnGuardedRhs () (App () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fptr")))) (Paren () (Lambda () [PVar () (Ident () "ptr")] (App () (App () (App () (Var () (UnQual () (Ident () "c_memcpy"))) (Var () (UnQual () (Ident () "buf")))) (Var () (UnQual () (Ident () "ptr")))) (Var () (UnQual () (Ident () "size")))))))) Nothing,FunBind () [Match () (Ident () "baz") [PVar () (Ident () "arg1"),PVar () (Ident () "arg2"),PVar () (Ident () "arg3"),PVar () (Ident () "arg4")] (UnGuardedRhs () (InfixApp () (InfixApp () (Var () (UnQual () (Ident () "initialValue"))) (QVarOp () (UnQual () (Symbol () "&"))) (App () (App () (Var () (UnQual () (Ident () "someFunction"))) (Var () (UnQual () (Ident () "arg1")))) (Var () (UnQual () (Ident () "arg2"))))) (QVarOp () (UnQual () (Symbol () ">>="))) (App () (Var () (UnQual () (Ident () "traverse"))) (Paren () (Lambda () [PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "y")]] (InfixApp () (Do () [Generator () (PVar () (Ident () "a")) (App () (Var () (UnQual () (Ident () "f"))) (Var () (UnQual () (Ident () "x")))),Generator () (PVar () (Ident () "b")) (App () (Var () (UnQual () (Ident () "g"))) (Var () (UnQual () (Ident () "y")))),Qualifier () (App () (App () (Var () (UnQual () (Ident () "h"))) (Var () (UnQual () (Ident () "a")))) (Var () (UnQual () (Ident () "b"))))]) (QVarOp () (UnQual () (Symbol () ">>="))) (App () (App () (Var () (UnQual () (Ident () "anotherFunction"))) (Var () (UnQual () (Ident () "arg3")))) (Var () (UnQual () (Ident () "arg4")))))))))) Nothing]]+
+ tests/examples/BlockArguments.hs.prettyprinter.golden view
@@ -0,0 +1,15 @@+{-# LANGUAGE BlockArguments #-}+module BlockArguments where+foo+  = when (x > 0)+      (do print x+          exitFailure)+bar = withForeignPtr fptr (\ ptr -> c_memcpy buf ptr size)+baz arg1 arg2 arg3 arg4+  = initialValue & someFunction arg1 arg2 >>=+      traverse+        (\ (x, y) ->+           do a <- f x+              b <- g y+              h a b+             >>= anotherFunction arg3 arg4)
tests/examples/BracketInstanceHead.hs.parser.golden view
@@ -51,40 +51,53 @@                         , srcInfoPoints =                             [ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 21 1 23 ]                         }-                      (ClassA+                      (TypeA                          SrcSpanInfo                            { srcInfoSpan =                                SrcSpan "tests/examples/BracketInstanceHead.hs" 1 11 1 23                            , srcInfoPoints =                                [ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 21 1 23 ]                            }-                         (UnQual+                         (TyApp                             SrcSpanInfo                               { srcInfoSpan =-                                  SrcSpan "tests/examples/BracketInstanceHead.hs" 1 11 1 18-                              , srcInfoPoints = []+                                  SrcSpan "tests/examples/BracketInstanceHead.hs" 1 11 1 23+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 21 1 23 ]                               }-                            (Ident+                            (TyCon                                SrcSpanInfo                                  { srcInfoSpan =-                                     SrcSpan "tests/examples/BracketInstanceHead.hs" 1 11 1 18+                                     SrcSpan "tests/examples/BracketInstanceHead.hs" 1 11 1 23+                                 , srcInfoPoints =+                                     [ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 21 1 23 ]+                                 }+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/BracketInstanceHead.hs" 1 11 1 18+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/BracketInstanceHead.hs" 1 11 1 18+                                       , srcInfoPoints = []+                                       }+                                     "Bounded")))+                            (TyVar+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/BracketInstanceHead.hs" 1 19 1 20                                  , srcInfoPoints = []                                  }-                               "Bounded"))-                         [ TyVar-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/BracketInstanceHead.hs" 1 19 1 20-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/BracketInstanceHead.hs" 1 19 1 20-                                  , srcInfoPoints = []-                                  }-                                "a")-                         ])))+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/BracketInstanceHead.hs" 1 19 1 20+                                    , srcInfoPoints = []+                                    }+                                  "a"))))))                 (IHApp                    SrcSpanInfo                      { srcInfoSpan =
tests/examples/BracketInstanceHead.hs.prettyprinter.golden view
@@ -1,3 +1,1 @@-module Main (main) where--instance Bounded a => Bounded [a]+instance (Bounded a => Bounded [a]) where
tests/examples/Bug.hs.prettyprinter.golden view
@@ -1,2 +1,1 @@-module Main (main) where import Test.QuickCheck
+ tests/examples/Bundles.hs view
@@ -0,0 +1,4 @@+{-# LANGUAGE PatternSynonyms #-}+module Bundles(Foo(..), Baz(..,Q), Qux(F,..), Tux(Q,..,F)) where++main = main
+ tests/examples/Bundles.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Bundles.hs.parser.golden view
@@ -0,0 +1,252 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 1 1 5 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/Bundles.hs" 1 1 1 1+            , SrcSpan "tests/examples/Bundles.hs" 2 1 2 1+            , SrcSpan "tests/examples/Bundles.hs" 2 1 2 1+            , SrcSpan "tests/examples/Bundles.hs" 4 1 4 1+            , SrcSpan "tests/examples/Bundles.hs" 5 1 5 1+            , SrcSpan "tests/examples/Bundles.hs" 5 1 5 1+            ]+        }+      (Just+         (ModuleHead+            SrcSpanInfo+              { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 1 2 65+              , srcInfoPoints =+                  [ SrcSpan "tests/examples/Bundles.hs" 2 1 2 7+                  , SrcSpan "tests/examples/Bundles.hs" 2 60 2 65+                  ]+              }+            (ModuleName+               SrcSpanInfo+                 { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 8 2 15+                 , srcInfoPoints = []+                 }+               "Bundles")+            Nothing+            (Just+               (ExportSpecList+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 15 2 59+                    , srcInfoPoints =+                        [ SrcSpan "tests/examples/Bundles.hs" 2 15 2 16+                        , SrcSpan "tests/examples/Bundles.hs" 2 23 2 24+                        , SrcSpan "tests/examples/Bundles.hs" 2 34 2 35+                        , SrcSpan "tests/examples/Bundles.hs" 2 45 2 46+                        , SrcSpan "tests/examples/Bundles.hs" 2 58 2 59+                        ]+                    }+                  [ EThingWith+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 16 2 23+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/Bundles.hs" 2 19 2 20+                            , SrcSpan "tests/examples/Bundles.hs" 2 22 2 23+                            ]+                        }+                      (EWildcard+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 20 2 22+                           , srcInfoPoints = []+                           }+                         0)+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 16 2 19+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 16 2 19+                              , srcInfoPoints = []+                              }+                            "Foo"))+                      []+                  , EThingWith+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 25 2 34+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/Bundles.hs" 2 28 2 29+                            , SrcSpan "tests/examples/Bundles.hs" 2 31 2 32+                            , SrcSpan "tests/examples/Bundles.hs" 2 33 2 34+                            ]+                        }+                      (EWildcard+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 29 2 31+                           , srcInfoPoints = []+                           }+                         0)+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 25 2 28+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 25 2 28+                              , srcInfoPoints = []+                              }+                            "Baz"))+                      [ ConName+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 32 2 33+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 32 2 33+                               , srcInfoPoints = []+                               }+                             "Q")+                      ]+                  , EThingWith+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 36 2 45+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/Bundles.hs" 2 39 2 40+                            , SrcSpan "tests/examples/Bundles.hs" 2 41 2 42+                            , SrcSpan "tests/examples/Bundles.hs" 2 44 2 45+                            ]+                        }+                      (EWildcard+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 42 2 44+                           , srcInfoPoints = []+                           }+                         1)+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 36 2 39+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 36 2 39+                              , srcInfoPoints = []+                              }+                            "Qux"))+                      [ ConName+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 40 2 41+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 40 2 41+                               , srcInfoPoints = []+                               }+                             "F")+                      ]+                  , EThingWith+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 47 2 58+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/Bundles.hs" 2 50 2 51+                            , SrcSpan "tests/examples/Bundles.hs" 2 52 2 53+                            , SrcSpan "tests/examples/Bundles.hs" 2 55 2 56+                            , SrcSpan "tests/examples/Bundles.hs" 2 57 2 58+                            ]+                        }+                      (EWildcard+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 53 2 55+                           , srcInfoPoints = []+                           }+                         1)+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 47 2 50+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 47 2 50+                              , srcInfoPoints = []+                              }+                            "Tux"))+                      [ ConName+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 51 2 52+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 51 2 52+                               , srcInfoPoints = []+                               }+                             "Q")+                      , ConName+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 56 2 57+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 56 2 57+                               , srcInfoPoints = []+                               }+                             "F")+                      ]+                  ]))))+      [ LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 1 1 1 33+            , srcInfoPoints =+                [ SrcSpan "tests/examples/Bundles.hs" 1 1 1 13+                , SrcSpan "tests/examples/Bundles.hs" 1 30 1 33+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 1 14 1 29+                , srcInfoPoints = []+                }+              "PatternSynonyms"+          ]+      ]+      []+      [ PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 4 1 4 12+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 4 1 4 5+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 4 1 4 5+                  , srcInfoPoints = []+                  }+                "main"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 4 6 4 12+               , srcInfoPoints = [ SrcSpan "tests/examples/Bundles.hs" 4 6 4 7 ]+               }+             (Var+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 4 8 4 12+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 4 8 4 12+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 4 8 4 12+                        , srcInfoPoints = []+                        }+                      "main"))))+          Nothing+      ]+  , []+  )
+ tests/examples/Bundles.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Bundles.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+{-# LANGUAGE PatternSynonyms #-}+module Bundles (Foo(..), Baz(.., Q), Qux(F, ..), Tux(Q, .., F))+       where+main = main
tests/examples/ByteStringUtils.hs.prettyparser.golden view
@@ -1,1 +1,10 @@-Match+Roundtrip test failed++AST 1:++Module () (Just (ModuleHead () (ModuleName () "ByteStringUtils") Nothing (Just (ExportSpecList () [EVar () (UnQual () (Ident () "unsafeWithInternals")),EVar () (UnQual () (Ident () "unpackPSfromUTF8")),EVar () (UnQual () (Ident () "gzReadFilePS")),EVar () (UnQual () (Ident () "mmapFilePS")),EVar () (UnQual () (Ident () "gzWriteFilePS")),EVar () (UnQual () (Ident () "gzWriteFilePSs")),EVar () (UnQual () (Ident () "ifHeadThenTail")),EVar () (UnQual () (Ident () "dropSpace")),EVar () (UnQual () (Ident () "breakSpace")),EVar () (UnQual () (Ident () "linesPS")),EVar () (UnQual () (Ident () "unlinesPS")),EVar () (UnQual () (Ident () "hashPS")),EVar () (UnQual () (Ident () "breakFirstPS")),EVar () (UnQual () (Ident () "breakLastPS")),EVar () (UnQual () (Ident () "substrPS")),EVar () (UnQual () (Ident () "readIntPS")),EVar () (UnQual () (Ident () "is_funky")),EVar () (UnQual () (Ident () "fromHex2PS")),EVar () (UnQual () (Ident () "fromPS2Hex")),EVar () (UnQual () (Ident () "betweenLinesPS")),EVar () (UnQual () (Ident () "break_after_nth_newline")),EVar () (UnQual () (Ident () "break_before_nth_newline")),EVar () (UnQual () (Ident () "intercalate"))])))) [LanguagePragma () [Ident () "BangPatterns",Ident () "ForeignFunctionInterface",Ident () "CPP"]] [ImportDecl {importAnn = (), importModule = ModuleName () "Prelude", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () True [IVar () (Ident () "catch")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString", importQualified = True, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Just (ModuleName () "B"), importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString.Char8", importQualified = True, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Just (ModuleName () "BC"), importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString.Internal", importQualified = True, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Just (ModuleName () "BI"), importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "intercalate"),IVar () (Ident () "uncons")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString.Internal", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "fromForeignPtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Control.Exception", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "catch")])},ImportDecl {importAnn = (), importModule = ModuleName () "System.IO", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "System.IO.Unsafe", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "unsafePerformIO")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Storable", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "peekElemOff"),IVar () (Ident () "peek")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Marshal.Alloc", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "free")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Marshal.Array", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "mallocArray"),IVar () (Ident () "peekArray"),IVar () (Ident () "advancePtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.C.Types", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "CInt")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.Bits", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "rotateL")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.Char", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "chr"),IVar () (Ident () "ord"),IVar () (Ident () "isSpace")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.Word", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "Word8")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.Int", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "Int32")])},ImportDecl {importAnn = (), importModule = ModuleName () "Control.Monad", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "when")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Ptr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "nullPtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.ForeignPtr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "ForeignPtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Ptr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "plusPtr"),IAbs () (NoNamespace ()) (Ident () "Ptr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.ForeignPtr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "withForeignPtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.ForeignPtr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "addForeignPtrFinalizer")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Ptr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "FunPtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString.Lazy", importQualified = True, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Just (ModuleName () "BL"), importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "Codec.Compression.GZip", importQualified = True, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Just (ModuleName () "GZ"), importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.C.String", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "CString"),IVar () (Ident () "withCString")])},ImportDecl {importAnn = (), importModule = ModuleName () "System.IO.MMap", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "mmapFileByteString")])},ImportDecl {importAnn = (), importModule = ModuleName () "System.Mem", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "performGC")])},ImportDecl {importAnn = (), importModule = ModuleName () "System.Posix.Files", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "fileSize"),IVar () (Ident () "getSymbolicLinkStatus")])}] [TypeSig () [Ident () "debugForeignPtr"] (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "ForeignPtr"))) (TyVar () (Ident () "a"))) (TyFun () (TyCon () (UnQual () (Ident () "String"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ())))))),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static fpstring.h debug_alloc") (Ident () "debug_alloc") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyVar () (Ident () "a"))) (TyFun () (TyCon () (UnQual () (Ident () "CString"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ())))))),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static fpstring.h & debug_free") (Ident () "debug_free") (TyApp () (TyCon () (UnQual () (Ident () "FunPtr"))) (TyParen () (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyVar () (Ident () "a"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ()))))))),FunBind () [Match () (Ident () "debugForeignPtr") [PVar () (Ident () "fp"),PVar () (Ident () "n")] (UnGuardedRhs () (InfixApp () (App () (Var () (UnQual () (Ident () "withCString"))) (Var () (UnQual () (Ident () "n")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "cname")] (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [Qualifier () (App () (App () (Var () (UnQual () (Ident () "debug_alloc"))) (Var () (UnQual () (Ident () "p")))) (Var () (UnQual () (Ident () "cname")))),Qualifier () (App () (App () (Var () (UnQual () (Ident () "addForeignPtrFinalizer"))) (Var () (UnQual () (Ident () "debug_free")))) (Var () (UnQual () (Ident () "fp"))))])))))) Nothing,Match () (Ident () "debugForeignPtr") [PWildCard (),PWildCard ()] (UnGuardedRhs () (App () (Var () (UnQual () (Ident () "return"))) (Con () (Special () (UnitCon ()))))) Nothing],TypeSig () [Ident () "unsafeWithInternals"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyFun () (TyParen () (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyVar () (Ident () "a")))))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyVar () (Ident () "a"))))),FunBind () [Match () (Ident () "unsafeWithInternals") [PVar () (Ident () "ps"),PVar () (Ident () "f")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "fp"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (App () (App () (Var () (UnQual () (Ident () "f"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Var () (UnQual () (Ident () "l"))))))) Nothing])) Nothing],TypeSig () [Ident () "readIntPS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyTuple () Boxed [TyCon () (UnQual () (Ident () "Int")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))]))),PatBind () (PVar () (Ident () "readIntPS")) (UnGuardedRhs () (InfixApp () (Var () (Qual () (ModuleName () "BC") (Ident () "readInt"))) (QVarOp () (UnQual () (Symbol () "."))) (App () (Var () (Qual () (ModuleName () "BC") (Ident () "dropWhile"))) (Var () (UnQual () (Ident () "isSpace")))))) Nothing,TypeSig () [Ident () "unpackPSfromUTF8"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (UnQual () (Ident () "String")))),FunBind () [Match () (Ident () "unpackPSfromUTF8") [PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PWildCard (),PWildCard (),PLit () (Signless ()) (Int () 0 "0")]) (UnGuardedRhs () (Lit () (String () "" ""))) Nothing,Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "unsafePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [Generator () (PVar () (Ident () "outbuf")) (App () (Var () (UnQual () (Ident () "mallocArray"))) (Var () (UnQual () (Ident () "l")))),Generator () (PVar () (Ident () "lout")) (InfixApp () (Var () (UnQual () (Ident () "fromIntegral"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (App () (App () (Var () (UnQual () (Ident () "utf8_to_ints"))) (Var () (UnQual () (Ident () "outbuf")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Paren () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "l"))))))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "lout"))) (QVarOp () (UnQual () (Symbol () "<"))) (Lit () (Int () 0 "0"))))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (Var () (UnQual () (Ident () "error"))) (Lit () (String () "Bad UTF8!" "Bad UTF8!")))),Generator () (PVar () (Ident () "str")) (InfixApp () (Paren () (App () (Var () (UnQual () (Ident () "map"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "chr"))) (QVarOp () (UnQual () (Symbol () "."))) (Var () (UnQual () (Ident () "fromIntegral"))))))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (App () (Var () (UnQual () (Ident () "peekArray"))) (Var () (UnQual () (Ident () "lout")))) (Var () (UnQual () (Ident () "outbuf"))))),Qualifier () (App () (Var () (UnQual () (Ident () "free"))) (Var () (UnQual () (Ident () "outbuf")))),Qualifier () (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "str"))))]))))) Nothing])) Nothing],ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static fpstring.h utf8_to_ints") (Ident () "utf8_to_ints") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Int")))) (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "CInt"))))))),InlineSig () True Nothing (UnQual () (Ident () "ifHeadThenTail")),TypeSig () [Ident () "ifHeadThenTail"] (TyFun () (TyCon () (UnQual () (Ident () "Word8"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))))),FunBind () [Match () (Ident () "ifHeadThenTail") [PVar () (Ident () "c"),PVar () (Ident () "s")] (UnGuardedRhs () (Case () (App () (Var () (UnQual () (Ident () "uncons"))) (Var () (UnQual () (Ident () "s")))) [Alt () (PApp () (UnQual () (Ident () "Just")) [PTuple () Boxed [PVar () (Ident () "w"),PVar () (Ident () "t")]]) (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "c"))))] (App () (Con () (UnQual () (Ident () "Just"))) (Var () (UnQual () (Ident () "t"))))]) Nothing,Alt () (PWildCard ()) (UnGuardedRhs () (Con () (UnQual () (Ident () "Nothing")))) Nothing])) Nothing],TypeSig () [Ident () "isSpaceWord8"] (TyFun () (TyCon () (UnQual () (Ident () "Word8"))) (TyCon () (UnQual () (Ident () "Bool")))),FunBind () [Match () (Ident () "isSpaceWord8") [PVar () (Ident () "w")] (UnGuardedRhs () (InfixApp () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 32 "0x20"))) (QVarOp () (UnQual () (Symbol () "||"))) (InfixApp () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 9 "0x09"))) (QVarOp () (UnQual () (Symbol () "||"))) (InfixApp () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 10 "0x0A"))) (QVarOp () (UnQual () (Symbol () "||"))) (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 13 "0x0D"))))))) Nothing],InlineSig () True Nothing (UnQual () (Ident () "isSpaceWord8")),TypeSig () [Ident () "firstnonspace"] (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "Int"))))))),FunBind () [Match () (Ident () "firstnonspace") [PBangPat () (PVar () (Ident () "ptr")),PBangPat () (PVar () (Ident () "n")),PBangPat () (PVar () (Ident () "m"))] (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () ">="))) (Var () (UnQual () (Ident () "m"))))] (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "n")))),GuardedRhs () [Qualifier () (Var () (UnQual () (Ident () "otherwise")))] (Do () [Generator () (PVar () (Ident () "w")) (App () (App () (Var () (UnQual () (Ident () "peekElemOff"))) (Var () (UnQual () (Ident () "ptr")))) (Var () (UnQual () (Ident () "n")))),Qualifier () (If () (App () (Var () (UnQual () (Ident () "isSpaceWord8"))) (Var () (UnQual () (Ident () "w")))) (App () (App () (App () (Var () (UnQual () (Ident () "firstnonspace"))) (Var () (UnQual () (Ident () "ptr")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (Var () (UnQual () (Ident () "m")))) (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "n")))))])]) Nothing],TypeSig () [Ident () "firstspace"] (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "Int"))))))),FunBind () [Match () (Ident () "firstspace") [PBangPat () (PVar () (Ident () "ptr")),PBangPat () (PVar () (Ident () "n")),PBangPat () (PVar () (Ident () "m"))] (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () ">="))) (Var () (UnQual () (Ident () "m"))))] (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "n")))),GuardedRhs () [Qualifier () (Var () (UnQual () (Ident () "otherwise")))] (Do () [Generator () (PVar () (Ident () "w")) (App () (App () (Var () (UnQual () (Ident () "peekElemOff"))) (Var () (UnQual () (Ident () "ptr")))) (Var () (UnQual () (Ident () "n")))),Qualifier () (If () (App () (Paren () (InfixApp () (Var () (UnQual () (Ident () "not"))) (QVarOp () (UnQual () (Symbol () "."))) (Var () (UnQual () (Ident () "isSpaceWord8"))))) (Var () (UnQual () (Ident () "w")))) (App () (App () (App () (Var () (UnQual () (Ident () "firstspace"))) (Var () (UnQual () (Ident () "ptr")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (Var () (UnQual () (Ident () "m")))) (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "n")))))])]) Nothing],TypeSig () [Ident () "dropSpace"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))),FunBind () [Match () (Ident () "dropSpace") [PParen () (PApp () (Qual () (ModuleName () "BI") (Ident () "PS")) [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")])] (UnGuardedRhs () (InfixApp () (Var () (Qual () (ModuleName () "BI") (Ident () "inlinePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [Generator () (PVar () (Ident () "i")) (App () (App () (App () (Var () (UnQual () (Ident () "firstnonspace"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Lit () (Int () 0 "0"))) (Var () (UnQual () (Ident () "l")))),Qualifier () (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$!"))) (If () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "l")))) (Var () (Qual () (ModuleName () "B") (Ident () "empty"))) (App () (App () (App () (Con () (Qual () (ModuleName () "BI") (Ident () "PS"))) (Var () (UnQual () (Ident () "x")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Var () (UnQual () (Ident () "i")))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "i"))))))))]))))) Nothing],InlineSig () True Nothing (UnQual () (Ident () "dropSpace")),TypeSig () [Ident () "breakSpace"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyTuple () Boxed [TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))])),FunBind () [Match () (Ident () "breakSpace") [PParen () (PApp () (Qual () (ModuleName () "BI") (Ident () "PS")) [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")])] (UnGuardedRhs () (InfixApp () (Var () (Qual () (ModuleName () "BI") (Ident () "inlinePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [Generator () (PVar () (Ident () "i")) (App () (App () (App () (Var () (UnQual () (Ident () "firstspace"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Lit () (Int () 0 "0"))) (Var () (UnQual () (Ident () "l")))),Qualifier () (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$!"))) (Case () (Con () (Special () (UnitCon ()))) [Alt () (PWildCard ()) (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 0 "0")))] (Tuple () Boxed [Var () (Qual () (ModuleName () "B") (Ident () "empty")),App () (App () (App () (Con () (Qual () (ModuleName () "BI") (Ident () "PS"))) (Var () (UnQual () (Ident () "x")))) (Var () (UnQual () (Ident () "s")))) (Var () (UnQual () (Ident () "l")))]),GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "l"))))] (Tuple () Boxed [App () (App () (App () (Con () (Qual () (ModuleName () "BI") (Ident () "PS"))) (Var () (UnQual () (Ident () "x")))) (Var () (UnQual () (Ident () "s")))) (Var () (UnQual () (Ident () "l"))),Var () (Qual () (ModuleName () "B") (Ident () "empty"))]),GuardedRhs () [Qualifier () (Var () (UnQual () (Ident () "otherwise")))] (Tuple () Boxed [App () (App () (App () (Con () (Qual () (ModuleName () "BI") (Ident () "PS"))) (Var () (UnQual () (Ident () "x")))) (Var () (UnQual () (Ident () "s")))) (Var () (UnQual () (Ident () "i"))),App () (App () (App () (Con () (Qual () (ModuleName () "BI") (Ident () "PS"))) (Var () (UnQual () (Ident () "x")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Var () (UnQual () (Ident () "i")))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "i")))))])]) Nothing]))]))))) Nothing],InlineSig () True Nothing (UnQual () (Ident () "breakSpace")),InlineSig () True Nothing (UnQual () (Ident () "is_funky")),TypeSig () [Ident () "is_funky"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (UnQual () (Ident () "Bool")))),FunBind () [Match () (Ident () "is_funky") [PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "unsafePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (InfixApp () (RightSection () (QVarOp () (UnQual () (Symbol () "/="))) (Lit () (Int () 0 "0"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (App () (Var () (UnQual () (Ident () "has_funky_char"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Paren () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "l"))))))))))) Nothing])) Nothing],ForImp () (CCall ()) (Just (PlayRisky ())) (Just "fpstring.h has_funky_char") (Ident () "has_funky_char") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "CInt")))))),InlineSig () True Nothing (UnQual () (Ident () "hashPS")),TypeSig () [Ident () "hashPS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (UnQual () (Ident () "Int32")))),FunBind () [Match () (Ident () "hashPS") [PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "unsafePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [Qualifier () (App () (App () (Var () (UnQual () (Ident () "hash"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Var () (UnQual () (Ident () "l"))))]))))) Nothing])) Nothing],TypeSig () [Ident () "hash"] (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "Int32")))))),FunBind () [Match () (Ident () "hash") [PVar () (Ident () "ptr"),PVar () (Ident () "len")] (UnGuardedRhs () (App () (App () (App () (Var () (UnQual () (Ident () "f"))) (Paren () (ExpTypeSig () (Lit () (Int () 0 "0")) (TyCon () (UnQual () (Ident () "Int32")))))) (Var () (UnQual () (Ident () "ptr")))) (Var () (UnQual () (Ident () "len"))))) (Just (BDecls () [FunBind () [Match () (Ident () "f") [PVar () (Ident () "h"),PWildCard (),PLit () (Signless ()) (Int () 0 "0")] (UnGuardedRhs () (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "h"))))) Nothing,Match () (Ident () "f") [PVar () (Ident () "h"),PVar () (Ident () "p"),PVar () (Ident () "n")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "x")) (App () (Var () (UnQual () (Ident () "peek"))) (Var () (UnQual () (Ident () "p")))),LetStmt () (BDecls () [PatBind () (PBangPat () (PVar () (Ident () "h'"))) (UnGuardedRhs () (InfixApp () (Paren () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "x"))))) (QVarOp () (UnQual () (Symbol () "+"))) (Paren () (App () (App () (Var () (UnQual () (Ident () "rotateL"))) (Var () (UnQual () (Ident () "h")))) (Lit () (Int () 8 "8")))))) Nothing]),Qualifier () (App () (App () (App () (Var () (UnQual () (Ident () "f"))) (Var () (UnQual () (Ident () "h'")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "advancePtr"))) (Lit () (Int () 1 "1"))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (Int () 1 "1")))))])) Nothing]]))],InlineSig () True Nothing (UnQual () (Ident () "substrPS")),TypeSig () [Ident () "substrPS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyCon () (UnQual () (Ident () "Int")))))),FunBind () [Match () (Ident () "substrPS") [PVar () (Ident () "tok"),PVar () (Ident () "str")] (GuardedRhss () [GuardedRhs () [Qualifier () (App () (Var () (Qual () (ModuleName () "B") (Ident () "null"))) (Var () (UnQual () (Ident () "tok"))))] (App () (Con () (UnQual () (Ident () "Just"))) (Lit () (Int () 0 "0"))),GuardedRhs () [Qualifier () (InfixApp () (App () (Var () (Qual () (ModuleName () "B") (Ident () "length"))) (Var () (UnQual () (Ident () "tok")))) (QVarOp () (UnQual () (Symbol () ">"))) (App () (Var () (Qual () (ModuleName () "B") (Ident () "length"))) (Var () (UnQual () (Ident () "str")))))] (Con () (UnQual () (Ident () "Nothing"))),GuardedRhs () [Qualifier () (Var () (UnQual () (Ident () "otherwise")))] (Do () [Generator () (PVar () (Ident () "n")) (App () (App () (Var () (Qual () (ModuleName () "BC") (Ident () "elemIndex"))) (Paren () (App () (Var () (Qual () (ModuleName () "BC") (Ident () "head"))) (Var () (UnQual () (Ident () "tok")))))) (Var () (UnQual () (Ident () "str")))),LetStmt () (BDecls () [PatBind () (PVar () (Ident () "ttok")) (UnGuardedRhs () (App () (Var () (Qual () (ModuleName () "B") (Ident () "tail"))) (Var () (UnQual () (Ident () "tok"))))) Nothing,PatBind () (PVar () (Ident () "reststr")) (UnGuardedRhs () (App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "drop"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (Var () (UnQual () (Ident () "str"))))) Nothing]),Qualifier () (If () (InfixApp () (Var () (UnQual () (Ident () "ttok"))) (QVarOp () (UnQual () (Symbol () "=="))) (App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "take"))) (Paren () (App () (Var () (Qual () (ModuleName () "B") (Ident () "length"))) (Var () (UnQual () (Ident () "ttok")))))) (Var () (UnQual () (Ident () "reststr"))))) (App () (Con () (UnQual () (Ident () "Just"))) (Var () (UnQual () (Ident () "n")))) (InfixApp () (LeftSection () (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1")))) (QVarOp () (UnQual () (Symbol () "+")))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (App () (Var () (UnQual () (Ident () "substrPS"))) (Var () (UnQual () (Ident () "tok")))) (Var () (UnQual () (Ident () "reststr"))))))])]) Nothing],InlineSig () True Nothing (UnQual () (Ident () "breakFirstPS")),TypeSig () [Ident () "breakFirstPS"] (TyFun () (TyCon () (UnQual () (Ident () "Char"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyTuple () Boxed [TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))])))),FunBind () [Match () (Ident () "breakFirstPS") [PVar () (Ident () "c"),PVar () (Ident () "p")] (UnGuardedRhs () (Case () (App () (App () (Var () (Qual () (ModuleName () "BC") (Ident () "elemIndex"))) (Var () (UnQual () (Ident () "c")))) (Var () (UnQual () (Ident () "p")))) [Alt () (PApp () (UnQual () (Ident () "Nothing")) []) (UnGuardedRhs () (Con () (UnQual () (Ident () "Nothing")))) Nothing,Alt () (PApp () (UnQual () (Ident () "Just")) [PVar () (Ident () "n")]) (UnGuardedRhs () (App () (Con () (UnQual () (Ident () "Just"))) (Tuple () Boxed [App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "take"))) (Var () (UnQual () (Ident () "n")))) (Var () (UnQual () (Ident () "p"))),App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "drop"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (Var () (UnQual () (Ident () "p")))]))) Nothing])) Nothing],InlineSig () True Nothing (UnQual () (Ident () "breakLastPS")),TypeSig () [Ident () "breakLastPS"] (TyFun () (TyCon () (UnQual () (Ident () "Char"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyTuple () Boxed [TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))])))),FunBind () [Match () (Ident () "breakLastPS") [PVar () (Ident () "c"),PVar () (Ident () "p")] (UnGuardedRhs () (Case () (App () (App () (Var () (Qual () (ModuleName () "BC") (Ident () "elemIndexEnd"))) (Var () (UnQual () (Ident () "c")))) (Var () (UnQual () (Ident () "p")))) [Alt () (PApp () (UnQual () (Ident () "Nothing")) []) (UnGuardedRhs () (Con () (UnQual () (Ident () "Nothing")))) Nothing,Alt () (PApp () (UnQual () (Ident () "Just")) [PVar () (Ident () "n")]) (UnGuardedRhs () (App () (Con () (UnQual () (Ident () "Just"))) (Tuple () Boxed [App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "take"))) (Var () (UnQual () (Ident () "n")))) (Var () (UnQual () (Ident () "p"))),App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "drop"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (Var () (UnQual () (Ident () "p")))]))) Nothing])) Nothing],InlineSig () True Nothing (UnQual () (Ident () "linesPS")),TypeSig () [Ident () "linesPS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyList () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))))),FunBind () [Match () (Ident () "linesPS") [PVar () (Ident () "ps")] (GuardedRhss () [GuardedRhs () [Qualifier () (App () (Var () (Qual () (ModuleName () "B") (Ident () "null"))) (Var () (UnQual () (Ident () "ps"))))] (List () [Var () (Qual () (ModuleName () "B") (Ident () "empty"))]),GuardedRhs () [Qualifier () (Var () (UnQual () (Ident () "otherwise")))] (App () (App () (Var () (Qual () (ModuleName () "BC") (Ident () "split"))) (Lit () (Char () '\n' "\\n"))) (Var () (UnQual () (Ident () "ps"))))]) Nothing],TypeSig () [Ident () "unlinesPS"] (TyFun () (TyList () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))),FunBind () [Match () (Ident () "unlinesPS") [PList () []] (UnGuardedRhs () (Var () (Qual () (ModuleName () "BC") (Ident () "empty")))) Nothing,Match () (Ident () "unlinesPS") [PVar () (Ident () "x")] (UnGuardedRhs () (InfixApp () (Var () (Qual () (ModuleName () "BC") (Ident () "init"))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (Var () (Qual () (ModuleName () "BC") (Ident () "unlines"))) (Var () (UnQual () (Ident () "x")))))) Nothing],InlineSig () True Nothing (UnQual () (Ident () "unlinesPS")),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static zlib.h gzopen") (Ident () "c_gzopen") (TyFun () (TyCon () (UnQual () (Ident () "CString"))) (TyFun () (TyCon () (UnQual () (Ident () "CString"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyParen () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (Special () (UnitCon ())))))))),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static zlib.h gzclose") (Ident () "c_gzclose") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (Special () (UnitCon ())))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ()))))),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static zlib.h gzread") (Ident () "c_gzread") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (Special () (UnitCon ())))) (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "CInt"))))))),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static zlib.h gzwrite") (Ident () "c_gzwrite") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (Special () (UnitCon ())))) (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "CInt"))))))),TypeSig () [Ident () "gzReadFilePS"] (TyFun () (TyCon () (UnQual () (Ident () "FilePath"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))))),FunBind () [Match () (Ident () "gzReadFilePS") [PVar () (Ident () "f")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "h")) (App () (App () (Var () (UnQual () (Ident () "openBinaryFile"))) (Var () (UnQual () (Ident () "f")))) (Con () (UnQual () (Ident () "ReadMode")))),Generator () (PVar () (Ident () "header")) (App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "hGet"))) (Var () (UnQual () (Ident () "h")))) (Lit () (Int () 2 "2"))),Qualifier () (If () (InfixApp () (Var () (UnQual () (Ident () "header"))) (QVarOp () (UnQual () (Symbol () "/="))) (App () (Var () (Qual () (ModuleName () "BC") (Ident () "pack"))) (Lit () (String () "\US\139" "\\31\\139")))) (Do () [Qualifier () (App () (Var () (UnQual () (Ident () "hClose"))) (Var () (UnQual () (Ident () "h")))),Qualifier () (App () (Var () (UnQual () (Ident () "mmapFilePS"))) (Var () (UnQual () (Ident () "f"))))]) (Do () [Qualifier () (App () (App () (App () (Var () (UnQual () (Ident () "hSeek"))) (Var () (UnQual () (Ident () "h")))) (Con () (UnQual () (Ident () "SeekFromEnd")))) (Paren () (NegApp () (Lit () (Int () 4 "4"))))),Generator () (PVar () (Ident () "len")) (App () (Var () (UnQual () (Ident () "hGetLittleEndInt"))) (Var () (UnQual () (Ident () "h")))),Qualifier () (App () (Var () (UnQual () (Ident () "hClose"))) (Var () (UnQual () (Ident () "h")))),LetStmt () (BDecls () [PatBind () (PVar () (Ident () "decompress")) (UnGuardedRhs () (App () (Var () (Qual () (ModuleName () "GZ") (Ident () "decompressWith"))) (RecUpdate () (Var () (Qual () (ModuleName () "GZ") (Ident () "defaultDecompressParams"))) [FieldUpdate () (Qual () (ModuleName () "GZ") (Ident () "decompressBufferSize")) (Var () (UnQual () (Ident () "len")))]))) Nothing]),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "fmap"))) (Paren () (InfixApp () (Var () (Qual () (ModuleName () "B") (Ident () "concat"))) (QVarOp () (UnQual () (Symbol () "."))) (InfixApp () (Var () (Qual () (ModuleName () "BL") (Ident () "toChunks"))) (QVarOp () (UnQual () (Symbol () "."))) (Var () (UnQual () (Ident () "decompress"))))))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "fmap"))) (Paren () (InfixApp () (Var () (Qual () (ModuleName () "BL") (Ident () "fromChunks"))) (QVarOp () (UnQual () (Symbol () "."))) (RightSection () (QConOp () (Special () (Cons ()))) (List () []))))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "readFile"))) (Var () (UnQual () (Ident () "f")))) (Var () (Qual () (ModuleName () "BL") (Ident () "readFile")))) (Var () (UnQual () (Ident () "f")))))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "withCString"))) (Var () (UnQual () (Ident () "f")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "fstr")] (InfixApp () (App () (Var () (UnQual () (Ident () "withCString"))) (Lit () (String () "rb" "rb"))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "rb")] (Do () [Generator () (PVar () (Ident () "gzf")) (App () (App () (Var () (UnQual () (Ident () "c_gzopen"))) (Var () (UnQual () (Ident () "fstr")))) (Var () (UnQual () (Ident () "rb")))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "gzf"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "nullPtr")))))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (UnQual () (Ident () "fail"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Lit () (String () "problem opening file " "problem opening file ")) (QVarOp () (UnQual () (Symbol () "++"))) (Var () (UnQual () (Ident () "f")))))),Generator () (PVar () (Ident () "fp")) (App () (Var () (Qual () (ModuleName () "BI") (Ident () "mallocByteString"))) (Var () (UnQual () (Ident () "len")))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "debugForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Lit () (String () "gzReadFilePS " "gzReadFilePS ")) (QVarOp () (UnQual () (Symbol () "++"))) (Var () (UnQual () (Ident () "f"))))),Generator () (PVar () (Ident () "lread")) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (App () (App () (App () (Var () (UnQual () (Ident () "c_gzread"))) (Var () (UnQual () (Ident () "gzf")))) (Var () (UnQual () (Ident () "p")))) (Paren () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "len")))))))),Qualifier () (App () (Var () (UnQual () (Ident () "c_gzclose"))) (Var () (UnQual () (Ident () "gzf")))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "lread")))) (QVarOp () (UnQual () (Symbol () "/="))) (Var () (UnQual () (Ident () "len")))))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (UnQual () (Ident () "fail"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Lit () (String () "problem gzreading file " "problem gzreading file ")) (QVarOp () (UnQual () (Symbol () "++"))) (Var () (UnQual () (Ident () "f")))))),Qualifier () (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (Lit () (Int () 0 "0"))) (Var () (UnQual () (Ident () "len")))))])))))]))])) Nothing],TypeSig () [Ident () "hGetLittleEndInt"] (TyFun () (TyCon () (UnQual () (Ident () "Handle"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "Int"))))),FunBind () [Match () (Ident () "hGetLittleEndInt") [PVar () (Ident () "h")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "b1")) (InfixApp () (Var () (UnQual () (Ident () "ord"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (Var () (UnQual () (Ident () "hGetChar"))) (Var () (UnQual () (Ident () "h"))))),Generator () (PVar () (Ident () "b2")) (InfixApp () (Var () (UnQual () (Ident () "ord"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (Var () (UnQual () (Ident () "hGetChar"))) (Var () (UnQual () (Ident () "h"))))),Generator () (PVar () (Ident () "b3")) (InfixApp () (Var () (UnQual () (Ident () "ord"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (Var () (UnQual () (Ident () "hGetChar"))) (Var () (UnQual () (Ident () "h"))))),Generator () (PVar () (Ident () "b4")) (InfixApp () (Var () (UnQual () (Ident () "ord"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (Var () (UnQual () (Ident () "hGetChar"))) (Var () (UnQual () (Ident () "h"))))),Qualifier () (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (InfixApp () (InfixApp () (Var () (UnQual () (Ident () "b1"))) (QVarOp () (UnQual () (Symbol () "+"))) (InfixApp () (Lit () (Int () 256 "256")) (QVarOp () (UnQual () (Symbol () "*"))) (Var () (UnQual () (Ident () "b2"))))) (QVarOp () (UnQual () (Symbol () "+"))) (InfixApp () (Lit () (Int () 65536 "65536")) (QVarOp () (UnQual () (Symbol () "*"))) (Var () (UnQual () (Ident () "b3"))))) (QVarOp () (UnQual () (Symbol () "+"))) (InfixApp () (Lit () (Int () 16777216 "16777216")) (QVarOp () (UnQual () (Symbol () "*"))) (Var () (UnQual () (Ident () "b4"))))))])) Nothing],TypeSig () [Ident () "gzWriteFilePS"] (TyFun () (TyCon () (UnQual () (Ident () "FilePath"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ())))))),FunBind () [Match () (Ident () "gzWriteFilePS") [PVar () (Ident () "f"),PVar () (Ident () "ps")] (UnGuardedRhs () (App () (App () (Var () (UnQual () (Ident () "gzWriteFilePSs"))) (Var () (UnQual () (Ident () "f")))) (List () [Var () (UnQual () (Ident () "ps"))]))) Nothing],TypeSig () [Ident () "gzWriteFilePSs"] (TyFun () (TyCon () (UnQual () (Ident () "FilePath"))) (TyFun () (TyList () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ())))))),FunBind () [Match () (Ident () "gzWriteFilePSs") [PVar () (Ident () "f"),PVar () (Ident () "pss")] (UnGuardedRhs () (InfixApp () (App () (Var () (Qual () (ModuleName () "BL") (Ident () "writeFile"))) (Var () (UnQual () (Ident () "f")))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (Qual () (ModuleName () "GZ") (Ident () "compress"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (App () (App () (Var () (Qual () (ModuleName () "BL") (Ident () "fromChunks"))) (Var () (UnQual () (Ident () "pss")))) (Var () (UnQual () (Ident () "withCString")))) (Var () (UnQual () (Ident () "f")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "fstr")] (InfixApp () (App () (Var () (UnQual () (Ident () "withCString"))) (Lit () (String () "wb" "wb"))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "wb")] (Do () [Generator () (PVar () (Ident () "gzf")) (App () (App () (Var () (UnQual () (Ident () "c_gzopen"))) (Var () (UnQual () (Ident () "fstr")))) (Var () (UnQual () (Ident () "wb")))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "gzf"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "nullPtr")))))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (UnQual () (Ident () "fail"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Lit () (String () "problem gzopening file for write: " "problem gzopening file for write: ")) (QVarOp () (UnQual () (Symbol () "++"))) (Var () (UnQual () (Ident () "f")))))),Qualifier () (InfixApp () (App () (App () (Var () (UnQual () (Ident () "mapM_"))) (Paren () (App () (Var () (UnQual () (Ident () "gzWriteToGzf"))) (Var () (UnQual () (Ident () "gzf")))))) (Var () (UnQual () (Ident () "pss")))) (QVarOp () (UnQual () (Ident () "catch"))) (Lambda () [PWildCard ()] (InfixApp () (Var () (UnQual () (Ident () "fail"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Lit () (String () "problem gzwriting file: " "problem gzwriting file: ")) (QVarOp () (UnQual () (Symbol () "++"))) (Var () (UnQual () (Ident () "f"))))))),Qualifier () (App () (Var () (UnQual () (Ident () "c_gzclose"))) (Var () (UnQual () (Ident () "gzf"))))])))))))) Nothing],TypeSig () [Ident () "gzWriteToGzf"] (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (Special () (UnitCon ())))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ())))))),FunBind () [Match () (Ident () "gzWriteToGzf") [PVar () (Ident () "gzf"),PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PWildCard (),PWildCard (),PLit () (Signless ()) (Int () 0 "0")]) (UnGuardedRhs () (App () (Var () (UnQual () (Ident () "return"))) (Con () (Special () (UnitCon ()))))) Nothing,Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "lw")) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (App () (App () (App () (Var () (UnQual () (Ident () "c_gzwrite"))) (Var () (UnQual () (Ident () "gzf")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Paren () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "l")))))))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "lw")))) (QVarOp () (UnQual () (Symbol () "/="))) (Var () (UnQual () (Ident () "l")))))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (UnQual () (Ident () "fail"))) (QVarOp () (UnQual () (Symbol () "$"))) (Lit () (String () "problem in gzWriteToGzf" "problem in gzWriteToGzf"))))])) Nothing])) Nothing],TypeSig () [Ident () "mmapFilePS"] (TyFun () (TyCon () (UnQual () (Ident () "FilePath"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))))),FunBind () [Match () (Ident () "mmapFilePS") [PVar () (Ident () "f")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "x")) (InfixApp () (App () (App () (Var () (UnQual () (Ident () "mmapFileByteString"))) (Var () (UnQual () (Ident () "f")))) (Con () (UnQual () (Ident () "Nothing")))) (QVarOp () (UnQual () (Ident () "catch"))) (Paren () (Lambda () [PWildCard ()] (Do () [Generator () (PVar () (Ident () "size")) (InfixApp () (Var () (UnQual () (Ident () "fileSize"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (Var () (UnQual () (Ident () "getSymbolicLinkStatus"))) (Var () (UnQual () (Ident () "f"))))),Qualifier () (If () (InfixApp () (Var () (UnQual () (Ident () "size"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 0 "0"))) (App () (Var () (UnQual () (Ident () "return"))) (Var () (Qual () (ModuleName () "B") (Ident () "empty")))) (InfixApp () (Var () (UnQual () (Ident () "performGC"))) (QVarOp () (UnQual () (Symbol () ">>"))) (App () (App () (Var () (UnQual () (Ident () "mmapFileByteString"))) (Var () (UnQual () (Ident () "f")))) (Con () (UnQual () (Ident () "Nothing"))))))])))),Qualifier () (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "x"))))])) Nothing],PatBind () (PVar () (Ident () "mmapFilePS")) (UnGuardedRhs () (Var () (Qual () (ModuleName () "B") (Ident () "readFile")))) Nothing,ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static fpstring.h conv_to_hex") (Ident () "conv_to_hex") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ()))))))),TypeSig () [Ident () "fromPS2Hex"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))),FunBind () [Match () (Ident () "fromPS2Hex") [PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "unsafeCreate"))) (Paren () (InfixApp () (Lit () (Int () 2 "2")) (QVarOp () (UnQual () (Symbol () "*"))) (Var () (UnQual () (Ident () "l")))))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "f")] (InfixApp () (App () (App () (Var () (UnQual () (Ident () "conv_to_hex"))) (Var () (UnQual () (Ident () "p")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "f"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "l")))))))))) Nothing])) Nothing],ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static fpstring.h conv_from_hex") (Ident () "conv_from_hex") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ()))))))),TypeSig () [Ident () "fromHex2PS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))),FunBind () [Match () (Ident () "fromHex2PS") [PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "unsafeCreate"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Ident () "div"))) (Lit () (Int () 2 "2"))))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "f")] (App () (App () (App () (Var () (UnQual () (Ident () "conv_from_hex"))) (Var () (UnQual () (Ident () "p")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "f"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "fromIntegral"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Ident () "div"))) (Lit () (Int () 2 "2"))))))))))) Nothing])) Nothing],TypeSig () [Ident () "betweenLinesPS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyParen () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))))))),FunBind () [Match () (Ident () "betweenLinesPS") [PVar () (Ident () "start"),PVar () (Ident () "end"),PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (App () (Var () (UnQual () (Ident () "break"))) (LeftSection () (Var () (UnQual () (Ident () "start"))) (QVarOp () (UnQual () (Symbol () "=="))))) (Paren () (App () (Var () (UnQual () (Ident () "linesPS"))) (Var () (UnQual () (Ident () "ps")))))) [Alt () (PTuple () Boxed [PWildCard (),PInfixApp () (PWildCard ()) (Special () (Cons ())) (PAsPat () (Ident () "rest") (PParen () (PInfixApp () (PVar () (Ident () "bs1")) (Special () (Cons ())) (PWildCard ()))))]) (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "bs1")))) [Alt () (PTuple () Boxed [PVar () (Ident () "ps1"),PVar () (Ident () "s1"),PWildCard ()]) (UnGuardedRhs () (Case () (App () (App () (Var () (UnQual () (Ident () "break"))) (LeftSection () (Var () (UnQual () (Ident () "end"))) (QVarOp () (UnQual () (Symbol () "=="))))) (Var () (UnQual () (Ident () "rest")))) [Alt () (PTuple () Boxed [PWildCard (),PInfixApp () (PVar () (Ident () "bs2")) (Special () (Cons ())) (PWildCard ())]) (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "bs2")))) [Alt () (PTuple () Boxed [PWildCard (),PVar () (Ident () "s2"),PWildCard ()]) (UnGuardedRhs () (InfixApp () (Con () (UnQual () (Ident () "Just"))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "ps1")))) (Var () (UnQual () (Ident () "s1")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s2"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "s1")))))))) Nothing])) Nothing,Alt () (PWildCard ()) (UnGuardedRhs () (Con () (UnQual () (Ident () "Nothing")))) Nothing])) Nothing])) Nothing,Alt () (PWildCard ()) (UnGuardedRhs () (Con () (UnQual () (Ident () "Nothing")))) Nothing])) Nothing],TypeSig () [Ident () "break_after_nth_newline"] (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyTuple () Boxed [TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))])))),FunBind () [Match () (Ident () "break_after_nth_newline") [PLit () (Signless ()) (Int () 0 "0"),PVar () (Ident () "the_ps")] (GuardedRhss () [GuardedRhs () [Qualifier () (App () (Var () (Qual () (ModuleName () "B") (Ident () "null"))) (Var () (UnQual () (Ident () "the_ps"))))] (App () (Con () (UnQual () (Ident () "Just"))) (Tuple () Boxed [Var () (Qual () (ModuleName () "B") (Ident () "empty")),Var () (Qual () (ModuleName () "B") (Ident () "empty"))]))]) Nothing,Match () (Ident () "break_after_nth_newline") [PVar () (Ident () "n"),PVar () (Ident () "the_ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "the_ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "fp"),PVar () (Ident () "the_s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "unsafePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [LetStmt () (BDecls () [FunBind () [Match () (Ident () "findit") [PLit () (Signless ()) (Int () 0 "0"),PVar () (Ident () "s")] (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "end"))))] (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (Con () (UnQual () (Ident () "Just"))) (Tuple () Boxed [Var () (UnQual () (Ident () "the_ps")),Var () (Qual () (ModuleName () "B") (Ident () "empty"))])))]) Nothing,Match () (Ident () "findit") [PWildCard (),PVar () (Ident () "s")] (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "end"))))] (App () (Var () (UnQual () (Ident () "return"))) (Con () (UnQual () (Ident () "Nothing"))))]) Nothing,Match () (Ident () "findit") [PLit () (Signless ()) (Int () 0 "0"),PVar () (Ident () "s")] (UnGuardedRhs () (Let () (BDecls () [PatBind () (PVar () (Ident () "left_l")) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "the_s"))))) Nothing]) (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (Con () (UnQual () (Ident () "Just"))) (Tuple () Boxed [App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (Var () (UnQual () (Ident () "the_s")))) (Var () (UnQual () (Ident () "left_l"))),App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (Var () (UnQual () (Ident () "s")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "left_l")))))]))))) Nothing,Match () (Ident () "findit") [PVar () (Ident () "i"),PVar () (Ident () "s")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "w")) (App () (App () (Var () (UnQual () (Ident () "peekElemOff"))) (Var () (UnQual () (Ident () "p")))) (Var () (UnQual () (Ident () "s")))),Qualifier () (If () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "nl")))) (App () (App () (Var () (UnQual () (Ident () "findit"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (Int () 1 "1"))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (App () (App () (Var () (UnQual () (Ident () "findit"))) (Var () (UnQual () (Ident () "i")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))))])) Nothing],PatBind () (PVar () (Ident () "nl")) (UnGuardedRhs () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "c2w"))) (Lit () (Char () '\n' "\\n")))) Nothing,PatBind () (PVar () (Ident () "end")) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "the_s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Var () (UnQual () (Ident () "l"))))) Nothing]),Qualifier () (App () (App () (Var () (UnQual () (Ident () "findit"))) (Var () (UnQual () (Ident () "n")))) (Var () (UnQual () (Ident () "the_s"))))]))))) Nothing])) Nothing],TypeSig () [Ident () "break_before_nth_newline"] (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyTuple () Boxed [TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))]))),FunBind () [Match () (Ident () "break_before_nth_newline") [PLit () (Signless ()) (Int () 0 "0"),PVar () (Ident () "the_ps")] (GuardedRhss () [GuardedRhs () [Qualifier () (App () (Var () (Qual () (ModuleName () "B") (Ident () "null"))) (Var () (UnQual () (Ident () "the_ps"))))] (Tuple () Boxed [Var () (Qual () (ModuleName () "B") (Ident () "empty")),Var () (Qual () (ModuleName () "B") (Ident () "empty"))])]) Nothing,Match () (Ident () "break_before_nth_newline") [PVar () (Ident () "n"),PVar () (Ident () "the_ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "the_ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "fp"),PVar () (Ident () "the_s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "unsafePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [LetStmt () (BDecls () [FunBind () [Match () (Ident () "findit") [PWildCard (),PVar () (Ident () "s")] (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "end"))))] (App () (Var () (UnQual () (Ident () "return"))) (Tuple () Boxed [Var () (UnQual () (Ident () "the_ps")),Var () (Qual () (ModuleName () "B") (Ident () "empty"))]))]) Nothing,Match () (Ident () "findit") [PVar () (Ident () "i"),PVar () (Ident () "s")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "w")) (App () (App () (Var () (UnQual () (Ident () "peekElemOff"))) (Var () (UnQual () (Ident () "p")))) (Var () (UnQual () (Ident () "s")))),Qualifier () (If () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "nl")))) (If () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 0 "0"))) (Let () (BDecls () [PatBind () (PVar () (Ident () "left_l")) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "the_s"))))) Nothing]) (App () (Var () (UnQual () (Ident () "return"))) (Tuple () Boxed [App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (Var () (UnQual () (Ident () "the_s")))) (Var () (UnQual () (Ident () "left_l"))),App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (Var () (UnQual () (Ident () "s")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "left_l")))))]))) (App () (App () (Var () (UnQual () (Ident () "findit"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (Int () 1 "1"))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1")))))) (App () (App () (Var () (UnQual () (Ident () "findit"))) (Var () (UnQual () (Ident () "i")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))))])) Nothing],PatBind () (PVar () (Ident () "nl")) (UnGuardedRhs () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "c2w"))) (Lit () (Char () '\n' "\\n")))) Nothing,PatBind () (PVar () (Ident () "end")) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "the_s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Var () (UnQual () (Ident () "l"))))) Nothing]),Qualifier () (App () (App () (Var () (UnQual () (Ident () "findit"))) (Var () (UnQual () (Ident () "n")))) (Var () (UnQual () (Ident () "the_s"))))]))))) Nothing])) Nothing]]++AST 2:++Module () (Just (ModuleHead () (ModuleName () "ByteStringUtils") Nothing (Just (ExportSpecList () [EVar () (UnQual () (Ident () "unsafeWithInternals")),EVar () (UnQual () (Ident () "unpackPSfromUTF8")),EVar () (UnQual () (Ident () "gzReadFilePS")),EVar () (UnQual () (Ident () "mmapFilePS")),EVar () (UnQual () (Ident () "gzWriteFilePS")),EVar () (UnQual () (Ident () "gzWriteFilePSs")),EVar () (UnQual () (Ident () "ifHeadThenTail")),EVar () (UnQual () (Ident () "dropSpace")),EVar () (UnQual () (Ident () "breakSpace")),EVar () (UnQual () (Ident () "linesPS")),EVar () (UnQual () (Ident () "unlinesPS")),EVar () (UnQual () (Ident () "hashPS")),EVar () (UnQual () (Ident () "breakFirstPS")),EVar () (UnQual () (Ident () "breakLastPS")),EVar () (UnQual () (Ident () "substrPS")),EVar () (UnQual () (Ident () "readIntPS")),EVar () (UnQual () (Ident () "is_funky")),EVar () (UnQual () (Ident () "fromHex2PS")),EVar () (UnQual () (Ident () "fromPS2Hex")),EVar () (UnQual () (Ident () "betweenLinesPS")),EVar () (UnQual () (Ident () "break_after_nth_newline")),EVar () (UnQual () (Ident () "break_before_nth_newline")),EVar () (UnQual () (Ident () "intercalate"))])))) [LanguagePragma () [Ident () "BangPatterns",Ident () "ForeignFunctionInterface",Ident () "CPP"]] [ImportDecl {importAnn = (), importModule = ModuleName () "Prelude", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () True [IVar () (Ident () "catch")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString", importQualified = True, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Just (ModuleName () "B"), importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString.Char8", importQualified = True, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Just (ModuleName () "BC"), importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString.Internal", importQualified = True, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Just (ModuleName () "BI"), importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "intercalate"),IVar () (Ident () "uncons")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString.Internal", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "fromForeignPtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Control.Exception", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "catch")])},ImportDecl {importAnn = (), importModule = ModuleName () "System.IO", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "System.IO.Unsafe", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "unsafePerformIO")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Storable", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "peekElemOff"),IVar () (Ident () "peek")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Marshal.Alloc", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "free")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Marshal.Array", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "mallocArray"),IVar () (Ident () "peekArray"),IVar () (Ident () "advancePtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.C.Types", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "CInt")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.Bits", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "rotateL")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.Char", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "chr"),IVar () (Ident () "ord"),IVar () (Ident () "isSpace")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.Word", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "Word8")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.Int", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "Int32")])},ImportDecl {importAnn = (), importModule = ModuleName () "Control.Monad", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "when")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Ptr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "nullPtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.ForeignPtr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "ForeignPtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Ptr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "plusPtr"),IAbs () (NoNamespace ()) (Ident () "Ptr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.ForeignPtr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "withForeignPtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.ForeignPtr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "addForeignPtrFinalizer")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Ptr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "FunPtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString.Lazy", importQualified = True, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Just (ModuleName () "BL"), importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "Codec.Compression.GZip", importQualified = True, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Just (ModuleName () "GZ"), importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.C.String", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "CString"),IVar () (Ident () "withCString")])},ImportDecl {importAnn = (), importModule = ModuleName () "System.IO.MMap", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "mmapFileByteString")])},ImportDecl {importAnn = (), importModule = ModuleName () "System.Mem", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "performGC")])},ImportDecl {importAnn = (), importModule = ModuleName () "System.Posix.Files", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "fileSize"),IVar () (Ident () "getSymbolicLinkStatus")])}] [TypeSig () [Ident () "debugForeignPtr"] (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "ForeignPtr"))) (TyVar () (Ident () "a"))) (TyFun () (TyCon () (UnQual () (Ident () "String"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ())))))),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static fpstring.h debug_alloc") (Ident () "debug_alloc") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyVar () (Ident () "a"))) (TyFun () (TyCon () (UnQual () (Ident () "CString"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ())))))),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static fpstring.h & debug_free") (Ident () "debug_free") (TyApp () (TyCon () (UnQual () (Ident () "FunPtr"))) (TyParen () (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyVar () (Ident () "a"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ()))))))),FunBind () [Match () (Ident () "debugForeignPtr") [PVar () (Ident () "fp"),PVar () (Ident () "n")] (UnGuardedRhs () (InfixApp () (App () (Var () (UnQual () (Ident () "withCString"))) (Var () (UnQual () (Ident () "n")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "cname")] (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [Qualifier () (App () (App () (Var () (UnQual () (Ident () "debug_alloc"))) (Var () (UnQual () (Ident () "p")))) (Var () (UnQual () (Ident () "cname")))),Qualifier () (App () (App () (Var () (UnQual () (Ident () "addForeignPtrFinalizer"))) (Var () (UnQual () (Ident () "debug_free")))) (Var () (UnQual () (Ident () "fp"))))])))))) Nothing,Match () (Ident () "debugForeignPtr") [PWildCard (),PWildCard ()] (UnGuardedRhs () (App () (Var () (UnQual () (Ident () "return"))) (Con () (Special () (UnitCon ()))))) Nothing],TypeSig () [Ident () "unsafeWithInternals"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyFun () (TyParen () (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyVar () (Ident () "a")))))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyVar () (Ident () "a"))))),FunBind () [Match () (Ident () "unsafeWithInternals") [PVar () (Ident () "ps"),PVar () (Ident () "f")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "fp"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (App () (App () (Var () (UnQual () (Ident () "f"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Var () (UnQual () (Ident () "l"))))))) Nothing])) Nothing],TypeSig () [Ident () "readIntPS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyTuple () Boxed [TyCon () (UnQual () (Ident () "Int")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))]))),PatBind () (PVar () (Ident () "readIntPS")) (UnGuardedRhs () (InfixApp () (Var () (Qual () (ModuleName () "BC") (Ident () "readInt"))) (QVarOp () (UnQual () (Symbol () "."))) (App () (Var () (Qual () (ModuleName () "BC") (Ident () "dropWhile"))) (Var () (UnQual () (Ident () "isSpace")))))) Nothing,TypeSig () [Ident () "unpackPSfromUTF8"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (UnQual () (Ident () "String")))),FunBind () [Match () (Ident () "unpackPSfromUTF8") [PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PWildCard (),PWildCard (),PLit () (Signless ()) (Int () 0 "0")]) (UnGuardedRhs () (Lit () (String () "" ""))) Nothing,Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "unsafePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [Generator () (PVar () (Ident () "outbuf")) (App () (Var () (UnQual () (Ident () "mallocArray"))) (Var () (UnQual () (Ident () "l")))),Generator () (PVar () (Ident () "lout")) (InfixApp () (Var () (UnQual () (Ident () "fromIntegral"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (App () (App () (Var () (UnQual () (Ident () "utf8_to_ints"))) (Var () (UnQual () (Ident () "outbuf")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Paren () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "l"))))))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "lout"))) (QVarOp () (UnQual () (Symbol () "<"))) (Lit () (Int () 0 "0"))))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (Var () (UnQual () (Ident () "error"))) (Lit () (String () "Bad UTF8!" "Bad UTF8!")))),Generator () (PVar () (Ident () "str")) (InfixApp () (Paren () (App () (Var () (UnQual () (Ident () "map"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "chr"))) (QVarOp () (UnQual () (Symbol () "."))) (Var () (UnQual () (Ident () "fromIntegral"))))))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (App () (Var () (UnQual () (Ident () "peekArray"))) (Var () (UnQual () (Ident () "lout")))) (Var () (UnQual () (Ident () "outbuf"))))),Qualifier () (App () (Var () (UnQual () (Ident () "free"))) (Var () (UnQual () (Ident () "outbuf")))),Qualifier () (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "str"))))]))))) Nothing])) Nothing],ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static fpstring.h utf8_to_ints") (Ident () "utf8_to_ints") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Int")))) (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "CInt"))))))),InlineSig () True Nothing (UnQual () (Ident () "ifHeadThenTail")),TypeSig () [Ident () "ifHeadThenTail"] (TyFun () (TyCon () (UnQual () (Ident () "Word8"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))))),FunBind () [Match () (Ident () "ifHeadThenTail") [PVar () (Ident () "c"),PVar () (Ident () "s")] (UnGuardedRhs () (Case () (App () (Var () (UnQual () (Ident () "uncons"))) (Var () (UnQual () (Ident () "s")))) [Alt () (PApp () (UnQual () (Ident () "Just")) [PTuple () Boxed [PVar () (Ident () "w"),PVar () (Ident () "t")]]) (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "c"))))] (App () (Con () (UnQual () (Ident () "Just"))) (Var () (UnQual () (Ident () "t"))))]) Nothing,Alt () (PWildCard ()) (UnGuardedRhs () (Con () (UnQual () (Ident () "Nothing")))) Nothing])) Nothing],TypeSig () [Ident () "isSpaceWord8"] (TyFun () (TyCon () (UnQual () (Ident () "Word8"))) (TyCon () (UnQual () (Ident () "Bool")))),FunBind () [Match () (Ident () "isSpaceWord8") [PVar () (Ident () "w")] (UnGuardedRhs () (InfixApp () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 32 "32"))) (QVarOp () (UnQual () (Symbol () "||"))) (InfixApp () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 9 "9"))) (QVarOp () (UnQual () (Symbol () "||"))) (InfixApp () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 10 "10"))) (QVarOp () (UnQual () (Symbol () "||"))) (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 13 "13"))))))) Nothing],InlineSig () True Nothing (UnQual () (Ident () "isSpaceWord8")),TypeSig () [Ident () "firstnonspace"] (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "Int"))))))),FunBind () [Match () (Ident () "firstnonspace") [PBangPat () (PVar () (Ident () "ptr")),PBangPat () (PVar () (Ident () "n")),PBangPat () (PVar () (Ident () "m"))] (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () ">="))) (Var () (UnQual () (Ident () "m"))))] (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "n")))),GuardedRhs () [Qualifier () (Var () (UnQual () (Ident () "otherwise")))] (Do () [Generator () (PVar () (Ident () "w")) (App () (App () (Var () (UnQual () (Ident () "peekElemOff"))) (Var () (UnQual () (Ident () "ptr")))) (Var () (UnQual () (Ident () "n")))),Qualifier () (If () (App () (Var () (UnQual () (Ident () "isSpaceWord8"))) (Var () (UnQual () (Ident () "w")))) (App () (App () (App () (Var () (UnQual () (Ident () "firstnonspace"))) (Var () (UnQual () (Ident () "ptr")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (Var () (UnQual () (Ident () "m")))) (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "n")))))])]) Nothing],TypeSig () [Ident () "firstspace"] (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "Int"))))))),FunBind () [Match () (Ident () "firstspace") [PBangPat () (PVar () (Ident () "ptr")),PBangPat () (PVar () (Ident () "n")),PBangPat () (PVar () (Ident () "m"))] (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () ">="))) (Var () (UnQual () (Ident () "m"))))] (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "n")))),GuardedRhs () [Qualifier () (Var () (UnQual () (Ident () "otherwise")))] (Do () [Generator () (PVar () (Ident () "w")) (App () (App () (Var () (UnQual () (Ident () "peekElemOff"))) (Var () (UnQual () (Ident () "ptr")))) (Var () (UnQual () (Ident () "n")))),Qualifier () (If () (App () (Paren () (InfixApp () (Var () (UnQual () (Ident () "not"))) (QVarOp () (UnQual () (Symbol () "."))) (Var () (UnQual () (Ident () "isSpaceWord8"))))) (Var () (UnQual () (Ident () "w")))) (App () (App () (App () (Var () (UnQual () (Ident () "firstspace"))) (Var () (UnQual () (Ident () "ptr")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (Var () (UnQual () (Ident () "m")))) (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "n")))))])]) Nothing],TypeSig () [Ident () "dropSpace"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))),FunBind () [Match () (Ident () "dropSpace") [PParen () (PApp () (Qual () (ModuleName () "BI") (Ident () "PS")) [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")])] (UnGuardedRhs () (InfixApp () (Var () (Qual () (ModuleName () "BI") (Ident () "inlinePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [Generator () (PVar () (Ident () "i")) (App () (App () (App () (Var () (UnQual () (Ident () "firstnonspace"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Lit () (Int () 0 "0"))) (Var () (UnQual () (Ident () "l")))),Qualifier () (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$!"))) (If () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "l")))) (Var () (Qual () (ModuleName () "B") (Ident () "empty"))) (App () (App () (App () (Con () (Qual () (ModuleName () "BI") (Ident () "PS"))) (Var () (UnQual () (Ident () "x")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Var () (UnQual () (Ident () "i")))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "i"))))))))]))))) Nothing],InlineSig () True Nothing (UnQual () (Ident () "dropSpace")),TypeSig () [Ident () "breakSpace"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyTuple () Boxed [TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))])),FunBind () [Match () (Ident () "breakSpace") [PParen () (PApp () (Qual () (ModuleName () "BI") (Ident () "PS")) [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")])] (UnGuardedRhs () (InfixApp () (Var () (Qual () (ModuleName () "BI") (Ident () "inlinePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [Generator () (PVar () (Ident () "i")) (App () (App () (App () (Var () (UnQual () (Ident () "firstspace"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Lit () (Int () 0 "0"))) (Var () (UnQual () (Ident () "l")))),Qualifier () (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$!"))) (Case () (Con () (Special () (UnitCon ()))) [Alt () (PWildCard ()) (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 0 "0")))] (Tuple () Boxed [Var () (Qual () (ModuleName () "B") (Ident () "empty")),App () (App () (App () (Con () (Qual () (ModuleName () "BI") (Ident () "PS"))) (Var () (UnQual () (Ident () "x")))) (Var () (UnQual () (Ident () "s")))) (Var () (UnQual () (Ident () "l")))]),GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "l"))))] (Tuple () Boxed [App () (App () (App () (Con () (Qual () (ModuleName () "BI") (Ident () "PS"))) (Var () (UnQual () (Ident () "x")))) (Var () (UnQual () (Ident () "s")))) (Var () (UnQual () (Ident () "l"))),Var () (Qual () (ModuleName () "B") (Ident () "empty"))]),GuardedRhs () [Qualifier () (Var () (UnQual () (Ident () "otherwise")))] (Tuple () Boxed [App () (App () (App () (Con () (Qual () (ModuleName () "BI") (Ident () "PS"))) (Var () (UnQual () (Ident () "x")))) (Var () (UnQual () (Ident () "s")))) (Var () (UnQual () (Ident () "i"))),App () (App () (App () (Con () (Qual () (ModuleName () "BI") (Ident () "PS"))) (Var () (UnQual () (Ident () "x")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Var () (UnQual () (Ident () "i")))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "i")))))])]) Nothing]))]))))) Nothing],InlineSig () True Nothing (UnQual () (Ident () "breakSpace")),InlineSig () True Nothing (UnQual () (Ident () "is_funky")),TypeSig () [Ident () "is_funky"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (UnQual () (Ident () "Bool")))),FunBind () [Match () (Ident () "is_funky") [PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "unsafePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (InfixApp () (RightSection () (QVarOp () (UnQual () (Symbol () "/="))) (Lit () (Int () 0 "0"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (App () (Var () (UnQual () (Ident () "has_funky_char"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Paren () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "l"))))))))))) Nothing])) Nothing],ForImp () (CCall ()) (Just (PlayRisky ())) (Just "fpstring.h has_funky_char") (Ident () "has_funky_char") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "CInt")))))),InlineSig () True Nothing (UnQual () (Ident () "hashPS")),TypeSig () [Ident () "hashPS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (UnQual () (Ident () "Int32")))),FunBind () [Match () (Ident () "hashPS") [PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "unsafePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [Qualifier () (App () (App () (Var () (UnQual () (Ident () "hash"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Var () (UnQual () (Ident () "l"))))]))))) Nothing])) Nothing],TypeSig () [Ident () "hash"] (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "Int32")))))),FunBind () [Match () (Ident () "hash") [PVar () (Ident () "ptr"),PVar () (Ident () "len")] (UnGuardedRhs () (App () (App () (App () (Var () (UnQual () (Ident () "f"))) (Paren () (ExpTypeSig () (Lit () (Int () 0 "0")) (TyCon () (UnQual () (Ident () "Int32")))))) (Var () (UnQual () (Ident () "ptr")))) (Var () (UnQual () (Ident () "len"))))) (Just (BDecls () [FunBind () [Match () (Ident () "f") [PVar () (Ident () "h"),PWildCard (),PLit () (Signless ()) (Int () 0 "0")] (UnGuardedRhs () (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "h"))))) Nothing,Match () (Ident () "f") [PVar () (Ident () "h"),PVar () (Ident () "p"),PVar () (Ident () "n")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "x")) (App () (Var () (UnQual () (Ident () "peek"))) (Var () (UnQual () (Ident () "p")))),LetStmt () (BDecls () [PatBind () (PBangPat () (PVar () (Ident () "h'"))) (UnGuardedRhs () (InfixApp () (Paren () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "x"))))) (QVarOp () (UnQual () (Symbol () "+"))) (Paren () (App () (App () (Var () (UnQual () (Ident () "rotateL"))) (Var () (UnQual () (Ident () "h")))) (Lit () (Int () 8 "8")))))) Nothing]),Qualifier () (App () (App () (App () (Var () (UnQual () (Ident () "f"))) (Var () (UnQual () (Ident () "h'")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "advancePtr"))) (Lit () (Int () 1 "1"))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (Int () 1 "1")))))])) Nothing]]))],InlineSig () True Nothing (UnQual () (Ident () "substrPS")),TypeSig () [Ident () "substrPS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyCon () (UnQual () (Ident () "Int")))))),FunBind () [Match () (Ident () "substrPS") [PVar () (Ident () "tok"),PVar () (Ident () "str")] (GuardedRhss () [GuardedRhs () [Qualifier () (App () (Var () (Qual () (ModuleName () "B") (Ident () "null"))) (Var () (UnQual () (Ident () "tok"))))] (App () (Con () (UnQual () (Ident () "Just"))) (Lit () (Int () 0 "0"))),GuardedRhs () [Qualifier () (InfixApp () (App () (Var () (Qual () (ModuleName () "B") (Ident () "length"))) (Var () (UnQual () (Ident () "tok")))) (QVarOp () (UnQual () (Symbol () ">"))) (App () (Var () (Qual () (ModuleName () "B") (Ident () "length"))) (Var () (UnQual () (Ident () "str")))))] (Con () (UnQual () (Ident () "Nothing"))),GuardedRhs () [Qualifier () (Var () (UnQual () (Ident () "otherwise")))] (Do () [Generator () (PVar () (Ident () "n")) (App () (App () (Var () (Qual () (ModuleName () "BC") (Ident () "elemIndex"))) (Paren () (App () (Var () (Qual () (ModuleName () "BC") (Ident () "head"))) (Var () (UnQual () (Ident () "tok")))))) (Var () (UnQual () (Ident () "str")))),LetStmt () (BDecls () [PatBind () (PVar () (Ident () "ttok")) (UnGuardedRhs () (App () (Var () (Qual () (ModuleName () "B") (Ident () "tail"))) (Var () (UnQual () (Ident () "tok"))))) Nothing,PatBind () (PVar () (Ident () "reststr")) (UnGuardedRhs () (App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "drop"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (Var () (UnQual () (Ident () "str"))))) Nothing]),Qualifier () (If () (InfixApp () (Var () (UnQual () (Ident () "ttok"))) (QVarOp () (UnQual () (Symbol () "=="))) (App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "take"))) (Paren () (App () (Var () (Qual () (ModuleName () "B") (Ident () "length"))) (Var () (UnQual () (Ident () "ttok")))))) (Var () (UnQual () (Ident () "reststr"))))) (App () (Con () (UnQual () (Ident () "Just"))) (Var () (UnQual () (Ident () "n")))) (InfixApp () (LeftSection () (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1")))) (QVarOp () (UnQual () (Symbol () "+")))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (App () (Var () (UnQual () (Ident () "substrPS"))) (Var () (UnQual () (Ident () "tok")))) (Var () (UnQual () (Ident () "reststr"))))))])]) Nothing],InlineSig () True Nothing (UnQual () (Ident () "breakFirstPS")),TypeSig () [Ident () "breakFirstPS"] (TyFun () (TyCon () (UnQual () (Ident () "Char"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyTuple () Boxed [TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))])))),FunBind () [Match () (Ident () "breakFirstPS") [PVar () (Ident () "c"),PVar () (Ident () "p")] (UnGuardedRhs () (Case () (App () (App () (Var () (Qual () (ModuleName () "BC") (Ident () "elemIndex"))) (Var () (UnQual () (Ident () "c")))) (Var () (UnQual () (Ident () "p")))) [Alt () (PApp () (UnQual () (Ident () "Nothing")) []) (UnGuardedRhs () (Con () (UnQual () (Ident () "Nothing")))) Nothing,Alt () (PApp () (UnQual () (Ident () "Just")) [PVar () (Ident () "n")]) (UnGuardedRhs () (App () (Con () (UnQual () (Ident () "Just"))) (Tuple () Boxed [App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "take"))) (Var () (UnQual () (Ident () "n")))) (Var () (UnQual () (Ident () "p"))),App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "drop"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (Var () (UnQual () (Ident () "p")))]))) Nothing])) Nothing],InlineSig () True Nothing (UnQual () (Ident () "breakLastPS")),TypeSig () [Ident () "breakLastPS"] (TyFun () (TyCon () (UnQual () (Ident () "Char"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyTuple () Boxed [TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))])))),FunBind () [Match () (Ident () "breakLastPS") [PVar () (Ident () "c"),PVar () (Ident () "p")] (UnGuardedRhs () (Case () (App () (App () (Var () (Qual () (ModuleName () "BC") (Ident () "elemIndexEnd"))) (Var () (UnQual () (Ident () "c")))) (Var () (UnQual () (Ident () "p")))) [Alt () (PApp () (UnQual () (Ident () "Nothing")) []) (UnGuardedRhs () (Con () (UnQual () (Ident () "Nothing")))) Nothing,Alt () (PApp () (UnQual () (Ident () "Just")) [PVar () (Ident () "n")]) (UnGuardedRhs () (App () (Con () (UnQual () (Ident () "Just"))) (Tuple () Boxed [App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "take"))) (Var () (UnQual () (Ident () "n")))) (Var () (UnQual () (Ident () "p"))),App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "drop"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (Var () (UnQual () (Ident () "p")))]))) Nothing])) Nothing],InlineSig () True Nothing (UnQual () (Ident () "linesPS")),TypeSig () [Ident () "linesPS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyList () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))))),FunBind () [Match () (Ident () "linesPS") [PVar () (Ident () "ps")] (GuardedRhss () [GuardedRhs () [Qualifier () (App () (Var () (Qual () (ModuleName () "B") (Ident () "null"))) (Var () (UnQual () (Ident () "ps"))))] (List () [Var () (Qual () (ModuleName () "B") (Ident () "empty"))]),GuardedRhs () [Qualifier () (Var () (UnQual () (Ident () "otherwise")))] (App () (App () (Var () (Qual () (ModuleName () "BC") (Ident () "split"))) (Lit () (Char () '\n' "\\n"))) (Var () (UnQual () (Ident () "ps"))))]) Nothing],TypeSig () [Ident () "unlinesPS"] (TyFun () (TyList () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))),FunBind () [Match () (Ident () "unlinesPS") [PList () []] (UnGuardedRhs () (Var () (Qual () (ModuleName () "BC") (Ident () "empty")))) Nothing,Match () (Ident () "unlinesPS") [PVar () (Ident () "x")] (UnGuardedRhs () (InfixApp () (Var () (Qual () (ModuleName () "BC") (Ident () "init"))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (Var () (Qual () (ModuleName () "BC") (Ident () "unlines"))) (Var () (UnQual () (Ident () "x")))))) Nothing],InlineSig () True Nothing (UnQual () (Ident () "unlinesPS")),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static zlib.h gzopen") (Ident () "c_gzopen") (TyFun () (TyCon () (UnQual () (Ident () "CString"))) (TyFun () (TyCon () (UnQual () (Ident () "CString"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyParen () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (Special () (UnitCon ())))))))),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static zlib.h gzclose") (Ident () "c_gzclose") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (Special () (UnitCon ())))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ()))))),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static zlib.h gzread") (Ident () "c_gzread") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (Special () (UnitCon ())))) (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "CInt"))))))),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static zlib.h gzwrite") (Ident () "c_gzwrite") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (Special () (UnitCon ())))) (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "CInt"))))))),TypeSig () [Ident () "gzReadFilePS"] (TyFun () (TyCon () (UnQual () (Ident () "FilePath"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))))),FunBind () [Match () (Ident () "gzReadFilePS") [PVar () (Ident () "f")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "h")) (App () (App () (Var () (UnQual () (Ident () "openBinaryFile"))) (Var () (UnQual () (Ident () "f")))) (Con () (UnQual () (Ident () "ReadMode")))),Generator () (PVar () (Ident () "header")) (App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "hGet"))) (Var () (UnQual () (Ident () "h")))) (Lit () (Int () 2 "2"))),Qualifier () (If () (InfixApp () (Var () (UnQual () (Ident () "header"))) (QVarOp () (UnQual () (Symbol () "/="))) (App () (Var () (Qual () (ModuleName () "BC") (Ident () "pack"))) (Lit () (String () "\US\139" "\\US\\139")))) (Do () [Qualifier () (App () (Var () (UnQual () (Ident () "hClose"))) (Var () (UnQual () (Ident () "h")))),Qualifier () (App () (Var () (UnQual () (Ident () "mmapFilePS"))) (Var () (UnQual () (Ident () "f"))))]) (Do () [Qualifier () (App () (App () (App () (Var () (UnQual () (Ident () "hSeek"))) (Var () (UnQual () (Ident () "h")))) (Con () (UnQual () (Ident () "SeekFromEnd")))) (Paren () (NegApp () (Lit () (Int () 4 "4"))))),Generator () (PVar () (Ident () "len")) (App () (Var () (UnQual () (Ident () "hGetLittleEndInt"))) (Var () (UnQual () (Ident () "h")))),Qualifier () (App () (Var () (UnQual () (Ident () "hClose"))) (Var () (UnQual () (Ident () "h")))),LetStmt () (BDecls () [PatBind () (PVar () (Ident () "decompress")) (UnGuardedRhs () (App () (Var () (Qual () (ModuleName () "GZ") (Ident () "decompressWith"))) (RecUpdate () (Var () (Qual () (ModuleName () "GZ") (Ident () "defaultDecompressParams"))) [FieldUpdate () (Qual () (ModuleName () "GZ") (Ident () "decompressBufferSize")) (Var () (UnQual () (Ident () "len")))]))) Nothing]),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "fmap"))) (Paren () (InfixApp () (Var () (Qual () (ModuleName () "B") (Ident () "concat"))) (QVarOp () (UnQual () (Symbol () "."))) (InfixApp () (Var () (Qual () (ModuleName () "BL") (Ident () "toChunks"))) (QVarOp () (UnQual () (Symbol () "."))) (Var () (UnQual () (Ident () "decompress"))))))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "fmap"))) (Paren () (InfixApp () (Var () (Qual () (ModuleName () "BL") (Ident () "fromChunks"))) (QVarOp () (UnQual () (Symbol () "."))) (RightSection () (QConOp () (Special () (Cons ()))) (List () []))))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "readFile"))) (Var () (UnQual () (Ident () "f")))) (Var () (Qual () (ModuleName () "BL") (Ident () "readFile")))) (Var () (UnQual () (Ident () "f")))))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "withCString"))) (Var () (UnQual () (Ident () "f")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "fstr")] (InfixApp () (App () (Var () (UnQual () (Ident () "withCString"))) (Lit () (String () "rb" "rb"))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "rb")] (Do () [Generator () (PVar () (Ident () "gzf")) (App () (App () (Var () (UnQual () (Ident () "c_gzopen"))) (Var () (UnQual () (Ident () "fstr")))) (Var () (UnQual () (Ident () "rb")))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "gzf"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "nullPtr")))))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (UnQual () (Ident () "fail"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Lit () (String () "problem opening file " "problem opening file ")) (QVarOp () (UnQual () (Symbol () "++"))) (Var () (UnQual () (Ident () "f")))))),Generator () (PVar () (Ident () "fp")) (App () (Var () (Qual () (ModuleName () "BI") (Ident () "mallocByteString"))) (Var () (UnQual () (Ident () "len")))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "debugForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Lit () (String () "gzReadFilePS " "gzReadFilePS ")) (QVarOp () (UnQual () (Symbol () "++"))) (Var () (UnQual () (Ident () "f"))))),Generator () (PVar () (Ident () "lread")) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (App () (App () (App () (Var () (UnQual () (Ident () "c_gzread"))) (Var () (UnQual () (Ident () "gzf")))) (Var () (UnQual () (Ident () "p")))) (Paren () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "len")))))))),Qualifier () (App () (Var () (UnQual () (Ident () "c_gzclose"))) (Var () (UnQual () (Ident () "gzf")))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "lread")))) (QVarOp () (UnQual () (Symbol () "/="))) (Var () (UnQual () (Ident () "len")))))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (UnQual () (Ident () "fail"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Lit () (String () "problem gzreading file " "problem gzreading file ")) (QVarOp () (UnQual () (Symbol () "++"))) (Var () (UnQual () (Ident () "f")))))),Qualifier () (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (Lit () (Int () 0 "0"))) (Var () (UnQual () (Ident () "len")))))])))))]))])) Nothing],TypeSig () [Ident () "hGetLittleEndInt"] (TyFun () (TyCon () (UnQual () (Ident () "Handle"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "Int"))))),FunBind () [Match () (Ident () "hGetLittleEndInt") [PVar () (Ident () "h")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "b1")) (InfixApp () (Var () (UnQual () (Ident () "ord"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (Var () (UnQual () (Ident () "hGetChar"))) (Var () (UnQual () (Ident () "h"))))),Generator () (PVar () (Ident () "b2")) (InfixApp () (Var () (UnQual () (Ident () "ord"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (Var () (UnQual () (Ident () "hGetChar"))) (Var () (UnQual () (Ident () "h"))))),Generator () (PVar () (Ident () "b3")) (InfixApp () (Var () (UnQual () (Ident () "ord"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (Var () (UnQual () (Ident () "hGetChar"))) (Var () (UnQual () (Ident () "h"))))),Generator () (PVar () (Ident () "b4")) (InfixApp () (Var () (UnQual () (Ident () "ord"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (Var () (UnQual () (Ident () "hGetChar"))) (Var () (UnQual () (Ident () "h"))))),Qualifier () (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (InfixApp () (InfixApp () (Var () (UnQual () (Ident () "b1"))) (QVarOp () (UnQual () (Symbol () "+"))) (InfixApp () (Lit () (Int () 256 "256")) (QVarOp () (UnQual () (Symbol () "*"))) (Var () (UnQual () (Ident () "b2"))))) (QVarOp () (UnQual () (Symbol () "+"))) (InfixApp () (Lit () (Int () 65536 "65536")) (QVarOp () (UnQual () (Symbol () "*"))) (Var () (UnQual () (Ident () "b3"))))) (QVarOp () (UnQual () (Symbol () "+"))) (InfixApp () (Lit () (Int () 16777216 "16777216")) (QVarOp () (UnQual () (Symbol () "*"))) (Var () (UnQual () (Ident () "b4"))))))])) Nothing],TypeSig () [Ident () "gzWriteFilePS"] (TyFun () (TyCon () (UnQual () (Ident () "FilePath"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ())))))),FunBind () [Match () (Ident () "gzWriteFilePS") [PVar () (Ident () "f"),PVar () (Ident () "ps")] (UnGuardedRhs () (App () (App () (Var () (UnQual () (Ident () "gzWriteFilePSs"))) (Var () (UnQual () (Ident () "f")))) (List () [Var () (UnQual () (Ident () "ps"))]))) Nothing],TypeSig () [Ident () "gzWriteFilePSs"] (TyFun () (TyCon () (UnQual () (Ident () "FilePath"))) (TyFun () (TyList () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ())))))),FunBind () [Match () (Ident () "gzWriteFilePSs") [PVar () (Ident () "f"),PVar () (Ident () "pss")] (UnGuardedRhs () (InfixApp () (App () (Var () (Qual () (ModuleName () "BL") (Ident () "writeFile"))) (Var () (UnQual () (Ident () "f")))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (Qual () (ModuleName () "GZ") (Ident () "compress"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (App () (App () (Var () (Qual () (ModuleName () "BL") (Ident () "fromChunks"))) (Var () (UnQual () (Ident () "pss")))) (Var () (UnQual () (Ident () "withCString")))) (Var () (UnQual () (Ident () "f")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "fstr")] (InfixApp () (App () (Var () (UnQual () (Ident () "withCString"))) (Lit () (String () "wb" "wb"))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "wb")] (Do () [Generator () (PVar () (Ident () "gzf")) (App () (App () (Var () (UnQual () (Ident () "c_gzopen"))) (Var () (UnQual () (Ident () "fstr")))) (Var () (UnQual () (Ident () "wb")))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "gzf"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "nullPtr")))))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (UnQual () (Ident () "fail"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Lit () (String () "problem gzopening file for write: " "problem gzopening file for write: ")) (QVarOp () (UnQual () (Symbol () "++"))) (Var () (UnQual () (Ident () "f")))))),Qualifier () (InfixApp () (App () (App () (Var () (UnQual () (Ident () "mapM_"))) (Paren () (App () (Var () (UnQual () (Ident () "gzWriteToGzf"))) (Var () (UnQual () (Ident () "gzf")))))) (Var () (UnQual () (Ident () "pss")))) (QVarOp () (UnQual () (Ident () "catch"))) (Lambda () [PWildCard ()] (InfixApp () (Var () (UnQual () (Ident () "fail"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Lit () (String () "problem gzwriting file: " "problem gzwriting file: ")) (QVarOp () (UnQual () (Symbol () "++"))) (Var () (UnQual () (Ident () "f"))))))),Qualifier () (App () (Var () (UnQual () (Ident () "c_gzclose"))) (Var () (UnQual () (Ident () "gzf"))))])))))))) Nothing],TypeSig () [Ident () "gzWriteToGzf"] (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (Special () (UnitCon ())))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ())))))),FunBind () [Match () (Ident () "gzWriteToGzf") [PVar () (Ident () "gzf"),PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PWildCard (),PWildCard (),PLit () (Signless ()) (Int () 0 "0")]) (UnGuardedRhs () (App () (Var () (UnQual () (Ident () "return"))) (Con () (Special () (UnitCon ()))))) Nothing,Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "lw")) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (App () (App () (App () (Var () (UnQual () (Ident () "c_gzwrite"))) (Var () (UnQual () (Ident () "gzf")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Paren () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "l")))))))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "lw")))) (QVarOp () (UnQual () (Symbol () "/="))) (Var () (UnQual () (Ident () "l")))))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (UnQual () (Ident () "fail"))) (QVarOp () (UnQual () (Symbol () "$"))) (Lit () (String () "problem in gzWriteToGzf" "problem in gzWriteToGzf"))))])) Nothing])) Nothing],TypeSig () [Ident () "mmapFilePS"] (TyFun () (TyCon () (UnQual () (Ident () "FilePath"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))))),FunBind () [Match () (Ident () "mmapFilePS") [PVar () (Ident () "f")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "x")) (InfixApp () (App () (App () (Var () (UnQual () (Ident () "mmapFileByteString"))) (Var () (UnQual () (Ident () "f")))) (Con () (UnQual () (Ident () "Nothing")))) (QVarOp () (UnQual () (Ident () "catch"))) (Paren () (Lambda () [PWildCard ()] (Do () [Generator () (PVar () (Ident () "size")) (InfixApp () (Var () (UnQual () (Ident () "fileSize"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (Var () (UnQual () (Ident () "getSymbolicLinkStatus"))) (Var () (UnQual () (Ident () "f"))))),Qualifier () (If () (InfixApp () (Var () (UnQual () (Ident () "size"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 0 "0"))) (App () (Var () (UnQual () (Ident () "return"))) (Var () (Qual () (ModuleName () "B") (Ident () "empty")))) (InfixApp () (Var () (UnQual () (Ident () "performGC"))) (QVarOp () (UnQual () (Symbol () ">>"))) (App () (App () (Var () (UnQual () (Ident () "mmapFileByteString"))) (Var () (UnQual () (Ident () "f")))) (Con () (UnQual () (Ident () "Nothing"))))))])))),Qualifier () (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "x"))))])) Nothing],PatBind () (PVar () (Ident () "mmapFilePS")) (UnGuardedRhs () (Var () (Qual () (ModuleName () "B") (Ident () "readFile")))) Nothing,ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static fpstring.h conv_to_hex") (Ident () "conv_to_hex") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ()))))))),TypeSig () [Ident () "fromPS2Hex"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))),FunBind () [Match () (Ident () "fromPS2Hex") [PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "unsafeCreate"))) (Paren () (InfixApp () (Lit () (Int () 2 "2")) (QVarOp () (UnQual () (Symbol () "*"))) (Var () (UnQual () (Ident () "l")))))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "f")] (InfixApp () (App () (App () (Var () (UnQual () (Ident () "conv_to_hex"))) (Var () (UnQual () (Ident () "p")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "f"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "l")))))))))) Nothing])) Nothing],ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static fpstring.h conv_from_hex") (Ident () "conv_from_hex") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ()))))))),TypeSig () [Ident () "fromHex2PS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))),FunBind () [Match () (Ident () "fromHex2PS") [PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "unsafeCreate"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Ident () "div"))) (Lit () (Int () 2 "2"))))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "f")] (App () (App () (App () (Var () (UnQual () (Ident () "conv_from_hex"))) (Var () (UnQual () (Ident () "p")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "f"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "fromIntegral"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Ident () "div"))) (Lit () (Int () 2 "2"))))))))))) Nothing])) Nothing],TypeSig () [Ident () "betweenLinesPS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyParen () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))))))),FunBind () [Match () (Ident () "betweenLinesPS") [PVar () (Ident () "start"),PVar () (Ident () "end"),PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (App () (Var () (UnQual () (Ident () "break"))) (LeftSection () (Var () (UnQual () (Ident () "start"))) (QVarOp () (UnQual () (Symbol () "=="))))) (Paren () (App () (Var () (UnQual () (Ident () "linesPS"))) (Var () (UnQual () (Ident () "ps")))))) [Alt () (PTuple () Boxed [PWildCard (),PInfixApp () (PWildCard ()) (Special () (Cons ())) (PAsPat () (Ident () "rest") (PParen () (PInfixApp () (PVar () (Ident () "bs1")) (Special () (Cons ())) (PWildCard ()))))]) (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "bs1")))) [Alt () (PTuple () Boxed [PVar () (Ident () "ps1"),PVar () (Ident () "s1"),PWildCard ()]) (UnGuardedRhs () (Case () (App () (App () (Var () (UnQual () (Ident () "break"))) (LeftSection () (Var () (UnQual () (Ident () "end"))) (QVarOp () (UnQual () (Symbol () "=="))))) (Var () (UnQual () (Ident () "rest")))) [Alt () (PTuple () Boxed [PWildCard (),PInfixApp () (PVar () (Ident () "bs2")) (Special () (Cons ())) (PWildCard ())]) (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "bs2")))) [Alt () (PTuple () Boxed [PWildCard (),PVar () (Ident () "s2"),PWildCard ()]) (UnGuardedRhs () (InfixApp () (Con () (UnQual () (Ident () "Just"))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "ps1")))) (Var () (UnQual () (Ident () "s1")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s2"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "s1")))))))) Nothing])) Nothing,Alt () (PWildCard ()) (UnGuardedRhs () (Con () (UnQual () (Ident () "Nothing")))) Nothing])) Nothing])) Nothing,Alt () (PWildCard ()) (UnGuardedRhs () (Con () (UnQual () (Ident () "Nothing")))) Nothing])) Nothing],TypeSig () [Ident () "break_after_nth_newline"] (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyTuple () Boxed [TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))])))),FunBind () [Match () (Ident () "break_after_nth_newline") [PLit () (Signless ()) (Int () 0 "0"),PVar () (Ident () "the_ps")] (GuardedRhss () [GuardedRhs () [Qualifier () (App () (Var () (Qual () (ModuleName () "B") (Ident () "null"))) (Var () (UnQual () (Ident () "the_ps"))))] (App () (Con () (UnQual () (Ident () "Just"))) (Tuple () Boxed [Var () (Qual () (ModuleName () "B") (Ident () "empty")),Var () (Qual () (ModuleName () "B") (Ident () "empty"))]))]) Nothing,Match () (Ident () "break_after_nth_newline") [PVar () (Ident () "n"),PVar () (Ident () "the_ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "the_ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "fp"),PVar () (Ident () "the_s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "unsafePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [LetStmt () (BDecls () [FunBind () [Match () (Ident () "findit") [PLit () (Signless ()) (Int () 0 "0"),PVar () (Ident () "s")] (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "end"))))] (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (Con () (UnQual () (Ident () "Just"))) (Tuple () Boxed [Var () (UnQual () (Ident () "the_ps")),Var () (Qual () (ModuleName () "B") (Ident () "empty"))])))]) Nothing,Match () (Ident () "findit") [PWildCard (),PVar () (Ident () "s")] (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "end"))))] (App () (Var () (UnQual () (Ident () "return"))) (Con () (UnQual () (Ident () "Nothing"))))]) Nothing,Match () (Ident () "findit") [PLit () (Signless ()) (Int () 0 "0"),PVar () (Ident () "s")] (UnGuardedRhs () (Let () (BDecls () [PatBind () (PVar () (Ident () "left_l")) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "the_s"))))) Nothing]) (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (Con () (UnQual () (Ident () "Just"))) (Tuple () Boxed [App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (Var () (UnQual () (Ident () "the_s")))) (Var () (UnQual () (Ident () "left_l"))),App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (Var () (UnQual () (Ident () "s")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "left_l")))))]))))) Nothing,Match () (Ident () "findit") [PVar () (Ident () "i"),PVar () (Ident () "s")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "w")) (App () (App () (Var () (UnQual () (Ident () "peekElemOff"))) (Var () (UnQual () (Ident () "p")))) (Var () (UnQual () (Ident () "s")))),Qualifier () (If () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "nl")))) (App () (App () (Var () (UnQual () (Ident () "findit"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (Int () 1 "1"))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (App () (App () (Var () (UnQual () (Ident () "findit"))) (Var () (UnQual () (Ident () "i")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))))])) Nothing],PatBind () (PVar () (Ident () "nl")) (UnGuardedRhs () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "c2w"))) (Lit () (Char () '\n' "\\n")))) Nothing,PatBind () (PVar () (Ident () "end")) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "the_s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Var () (UnQual () (Ident () "l"))))) Nothing]),Qualifier () (App () (App () (Var () (UnQual () (Ident () "findit"))) (Var () (UnQual () (Ident () "n")))) (Var () (UnQual () (Ident () "the_s"))))]))))) Nothing])) Nothing],TypeSig () [Ident () "break_before_nth_newline"] (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyTuple () Boxed [TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))]))),FunBind () [Match () (Ident () "break_before_nth_newline") [PLit () (Signless ()) (Int () 0 "0"),PVar () (Ident () "the_ps")] (GuardedRhss () [GuardedRhs () [Qualifier () (App () (Var () (Qual () (ModuleName () "B") (Ident () "null"))) (Var () (UnQual () (Ident () "the_ps"))))] (Tuple () Boxed [Var () (Qual () (ModuleName () "B") (Ident () "empty")),Var () (Qual () (ModuleName () "B") (Ident () "empty"))])]) Nothing,Match () (Ident () "break_before_nth_newline") [PVar () (Ident () "n"),PVar () (Ident () "the_ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "the_ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "fp"),PVar () (Ident () "the_s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "unsafePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [LetStmt () (BDecls () [FunBind () [Match () (Ident () "findit") [PWildCard (),PVar () (Ident () "s")] (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "end"))))] (App () (Var () (UnQual () (Ident () "return"))) (Tuple () Boxed [Var () (UnQual () (Ident () "the_ps")),Var () (Qual () (ModuleName () "B") (Ident () "empty"))]))]) Nothing,Match () (Ident () "findit") [PVar () (Ident () "i"),PVar () (Ident () "s")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "w")) (App () (App () (Var () (UnQual () (Ident () "peekElemOff"))) (Var () (UnQual () (Ident () "p")))) (Var () (UnQual () (Ident () "s")))),Qualifier () (If () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "nl")))) (If () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 0 "0"))) (Let () (BDecls () [PatBind () (PVar () (Ident () "left_l")) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "the_s"))))) Nothing]) (App () (Var () (UnQual () (Ident () "return"))) (Tuple () Boxed [App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (Var () (UnQual () (Ident () "the_s")))) (Var () (UnQual () (Ident () "left_l"))),App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (Var () (UnQual () (Ident () "s")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "left_l")))))]))) (App () (App () (Var () (UnQual () (Ident () "findit"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (Int () 1 "1"))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1")))))) (App () (App () (Var () (UnQual () (Ident () "findit"))) (Var () (UnQual () (Ident () "i")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))))])) Nothing],PatBind () (PVar () (Ident () "nl")) (UnGuardedRhs () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "c2w"))) (Lit () (Char () '\n' "\\n")))) Nothing,PatBind () (PVar () (Ident () "end")) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "the_s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Var () (UnQual () (Ident () "l"))))) Nothing]),Qualifier () (App () (App () (Var () (UnQual () (Ident () "findit"))) (Var () (UnQual () (Ident () "n")))) (Var () (UnQual () (Ident () "the_s"))))]))))) Nothing])) Nothing]]+
tests/examples/CApiFFI.hs.prettyprinter.golden view
@@ -1,3 +1,2 @@ {-# LANGUAGE CApiFFI #-}-module Main (main) where foo = capi
− tests/examples/CParser.hs
@@ -1,6323 +0,0 @@-{-# OPTIONS -fglasgow-exts -cpp #-}-{-# LANGUAGE MagicHash #-}-module Language.C.Parser.Parser (-  -- * Parse a C translation unit-  parseC,-  -- * Exposed Parsers-  translUnitP, extDeclP, statementP, expressionP-) where---- Relevant C99 sections:------ 6.5 Expressions .1 - .17 and 6.6 (almost literally)---  Supported GNU extensions:---     - Allow a compound statement as an expression---     - Various __builtin_* forms that take type parameters---     - `alignof' expression or type---     - `__extension__' to suppress warnings about extensions---     - Allow taking address of a label with: && label---     - Omitting the `then' part of conditional expressions---     - complex numbers------ 6.7 C Declarations .1 -.8---  Supported GNU extensions:---     - '__thread' thread local storage (6.7.1)------ 6.8 Statements .1 - .8---  Supported GNU extensions:---    - case ranges (C99 6.8.1)---    - '__label__ ident;' declarations (C99 6.8.2)---    - computed gotos (C99 6.8.6)------ 6.9 Translation unit---  Supported GNU extensions:---     - allow empty translation_unit---     - allow redundant ';'---     - allow extension keyword before external declaration---     - asm definitions------  Since some of the grammar productions are quite difficult to read,---  (especially those involved with the decleration syntax) we document them---  with an extended syntax that allows a more consise representation:------  Ordinary rules------   foo      named terminal or non-terminal------   'c'      terminal, literal character token------   A B      concatenation------   A | B    alternation------   (A)      grouping------  Extended rules------   A?       optional, short hand for (A|) or [A]{ 0==A || 1==A }------   ...      stands for some part of the grammar omitted for clarity------   {A}      represents sequences, 0 or more.------   <permute> modifier which states that any permutation of the immediate subterms is valid---------- TODO ----------------------------------------------------------------------------  !* We ignore the C99 static keyword (see C99 6.7.5.3)---  !* We do not distinguish in the AST between incomplete array types and---      complete variable length arrays ([ '*' ] means the latter). (see C99 6.7.5.2)---  !* The AST doesn't allow recording __attribute__ of unnamed struct field---     (see , struct_default_declaring_list, struct_identifier_declarator)---  !* see `We're being far to liberal here' (... struct definition within structs)---  * Documentation isn't complete and consistent yet.--import Prelude    hiding (reverse)-import qualified Data.List as List-import Control.Monad (mplus)-import Language.C.Parser.Builtin   (builtinTypeNames)-import Language.C.Parser.Lexer     (lexC, parseError)-import Language.C.Parser.Tokens    (CToken(..), GnuCTok(..), posLenOfTok)-import Language.C.Parser.ParserMonad (P, failP, execParser, getNewName, addTypedef, shadowTypedef, getCurrentPosition,-                                      enterScope, leaveScope, getLastToken, getSavedToken, ParseError(..))--import Language.C.Data.RList-import Language.C.Data.InputStream-import Language.C.Data.Ident-import Language.C.Data.Name-import Language.C.Data.Node-import Language.C.Data.Position-import Language.C.Syntax--- #if __GLASGOW_HASKELL__ >= 503-import Data.Array--- #else-import Array--- #endif--- #if __GLASGOW_HASKELL__ >= 503-import GHC.Exts--- #else-import GlaExts--- #endif---- parser produced by Happy Version 1.16--newtype HappyAbsSyn  = HappyAbsSyn (() -> ())-happyIn7 :: (CTranslUnit) -> (HappyAbsSyn )-happyIn7 x = unsafeCoerce# x-{-# INLINE happyIn7 #-}-happyOut7 :: (HappyAbsSyn ) -> (CTranslUnit)-happyOut7 x = unsafeCoerce# x-{-# INLINE happyOut7 #-}-happyIn8 :: (Reversed [CExtDecl]) -> (HappyAbsSyn )-happyIn8 x = unsafeCoerce# x-{-# INLINE happyIn8 #-}-happyOut8 :: (HappyAbsSyn ) -> (Reversed [CExtDecl])-happyOut8 x = unsafeCoerce# x-{-# INLINE happyOut8 #-}-happyIn9 :: (CExtDecl) -> (HappyAbsSyn )-happyIn9 x = unsafeCoerce# x-{-# INLINE happyIn9 #-}-happyOut9 :: (HappyAbsSyn ) -> (CExtDecl)-happyOut9 x = unsafeCoerce# x-{-# INLINE happyOut9 #-}-happyIn10 :: (CFunDef) -> (HappyAbsSyn )-happyIn10 x = unsafeCoerce# x-{-# INLINE happyIn10 #-}-happyOut10 :: (HappyAbsSyn ) -> (CFunDef)-happyOut10 x = unsafeCoerce# x-{-# INLINE happyOut10 #-}-happyIn11 :: (CDeclr) -> (HappyAbsSyn )-happyIn11 x = unsafeCoerce# x-{-# INLINE happyIn11 #-}-happyOut11 :: (HappyAbsSyn ) -> (CDeclr)-happyOut11 x = unsafeCoerce# x-{-# INLINE happyOut11 #-}-happyIn12 :: (CStat) -> (HappyAbsSyn )-happyIn12 x = unsafeCoerce# x-{-# INLINE happyIn12 #-}-happyOut12 :: (HappyAbsSyn ) -> (CStat)-happyOut12 x = unsafeCoerce# x-{-# INLINE happyOut12 #-}-happyIn13 :: (CStat) -> (HappyAbsSyn )-happyIn13 x = unsafeCoerce# x-{-# INLINE happyIn13 #-}-happyOut13 :: (HappyAbsSyn ) -> (CStat)-happyOut13 x = unsafeCoerce# x-{-# INLINE happyOut13 #-}-happyIn14 :: (CStat) -> (HappyAbsSyn )-happyIn14 x = unsafeCoerce# x-{-# INLINE happyIn14 #-}-happyOut14 :: (HappyAbsSyn ) -> (CStat)-happyOut14 x = unsafeCoerce# x-{-# INLINE happyOut14 #-}-happyIn15 :: (()) -> (HappyAbsSyn )-happyIn15 x = unsafeCoerce# x-{-# INLINE happyIn15 #-}-happyOut15 :: (HappyAbsSyn ) -> (())-happyOut15 x = unsafeCoerce# x-{-# INLINE happyOut15 #-}-happyIn16 :: (()) -> (HappyAbsSyn )-happyIn16 x = unsafeCoerce# x-{-# INLINE happyIn16 #-}-happyOut16 :: (HappyAbsSyn ) -> (())-happyOut16 x = unsafeCoerce# x-{-# INLINE happyOut16 #-}-happyIn17 :: (Reversed [CBlockItem]) -> (HappyAbsSyn )-happyIn17 x = unsafeCoerce# x-{-# INLINE happyIn17 #-}-happyOut17 :: (HappyAbsSyn ) -> (Reversed [CBlockItem])-happyOut17 x = unsafeCoerce# x-{-# INLINE happyOut17 #-}-happyIn18 :: (CBlockItem) -> (HappyAbsSyn )-happyIn18 x = unsafeCoerce# x-{-# INLINE happyIn18 #-}-happyOut18 :: (HappyAbsSyn ) -> (CBlockItem)-happyOut18 x = unsafeCoerce# x-{-# INLINE happyOut18 #-}-happyIn19 :: (CBlockItem) -> (HappyAbsSyn )-happyIn19 x = unsafeCoerce# x-{-# INLINE happyIn19 #-}-happyOut19 :: (HappyAbsSyn ) -> (CBlockItem)-happyOut19 x = unsafeCoerce# x-{-# INLINE happyOut19 #-}-happyIn20 :: (CFunDef) -> (HappyAbsSyn )-happyIn20 x = unsafeCoerce# x-{-# INLINE happyIn20 #-}-happyOut20 :: (HappyAbsSyn ) -> (CFunDef)-happyOut20 x = unsafeCoerce# x-{-# INLINE happyOut20 #-}-happyIn21 :: (Reversed [Ident]) -> (HappyAbsSyn )-happyIn21 x = unsafeCoerce# x-{-# INLINE happyIn21 #-}-happyOut21 :: (HappyAbsSyn ) -> (Reversed [Ident])-happyOut21 x = unsafeCoerce# x-{-# INLINE happyOut21 #-}-happyIn22 :: (CStat) -> (HappyAbsSyn )-happyIn22 x = unsafeCoerce# x-{-# INLINE happyIn22 #-}-happyOut22 :: (HappyAbsSyn ) -> (CStat)-happyOut22 x = unsafeCoerce# x-{-# INLINE happyOut22 #-}-happyIn23 :: (CStat) -> (HappyAbsSyn )-happyIn23 x = unsafeCoerce# x-{-# INLINE happyIn23 #-}-happyOut23 :: (HappyAbsSyn ) -> (CStat)-happyOut23 x = unsafeCoerce# x-{-# INLINE happyOut23 #-}-happyIn24 :: (CStat) -> (HappyAbsSyn )-happyIn24 x = unsafeCoerce# x-{-# INLINE happyIn24 #-}-happyOut24 :: (HappyAbsSyn ) -> (CStat)-happyOut24 x = unsafeCoerce# x-{-# INLINE happyOut24 #-}-happyIn25 :: (CStat) -> (HappyAbsSyn )-happyIn25 x = unsafeCoerce# x-{-# INLINE happyIn25 #-}-happyOut25 :: (HappyAbsSyn ) -> (CStat)-happyOut25 x = unsafeCoerce# x-{-# INLINE happyOut25 #-}-happyIn26 :: (CAsmStmt) -> (HappyAbsSyn )-happyIn26 x = unsafeCoerce# x-{-# INLINE happyIn26 #-}-happyOut26 :: (HappyAbsSyn ) -> (CAsmStmt)-happyOut26 x = unsafeCoerce# x-{-# INLINE happyOut26 #-}-happyIn27 :: (Maybe CTypeQual) -> (HappyAbsSyn )-happyIn27 x = unsafeCoerce# x-{-# INLINE happyIn27 #-}-happyOut27 :: (HappyAbsSyn ) -> (Maybe CTypeQual)-happyOut27 x = unsafeCoerce# x-{-# INLINE happyOut27 #-}-happyIn28 :: ([CAsmOperand]) -> (HappyAbsSyn )-happyIn28 x = unsafeCoerce# x-{-# INLINE happyIn28 #-}-happyOut28 :: (HappyAbsSyn ) -> ([CAsmOperand])-happyOut28 x = unsafeCoerce# x-{-# INLINE happyOut28 #-}-happyIn29 :: (Reversed [CAsmOperand]) -> (HappyAbsSyn )-happyIn29 x = unsafeCoerce# x-{-# INLINE happyIn29 #-}-happyOut29 :: (HappyAbsSyn ) -> (Reversed [CAsmOperand])-happyOut29 x = unsafeCoerce# x-{-# INLINE happyOut29 #-}-happyIn30 :: (CAsmOperand) -> (HappyAbsSyn )-happyIn30 x = unsafeCoerce# x-{-# INLINE happyIn30 #-}-happyOut30 :: (HappyAbsSyn ) -> (CAsmOperand)-happyOut30 x = unsafeCoerce# x-{-# INLINE happyOut30 #-}-happyIn31 :: (Reversed [CStrLit]) -> (HappyAbsSyn )-happyIn31 x = unsafeCoerce# x-{-# INLINE happyIn31 #-}-happyOut31 :: (HappyAbsSyn ) -> (Reversed [CStrLit])-happyOut31 x = unsafeCoerce# x-{-# INLINE happyOut31 #-}-happyIn32 :: (CDecl) -> (HappyAbsSyn )-happyIn32 x = unsafeCoerce# x-{-# INLINE happyIn32 #-}-happyOut32 :: (HappyAbsSyn ) -> (CDecl)-happyOut32 x = unsafeCoerce# x-{-# INLINE happyOut32 #-}-happyIn33 :: (Reversed [CDecl]) -> (HappyAbsSyn )-happyIn33 x = unsafeCoerce# x-{-# INLINE happyIn33 #-}-happyOut33 :: (HappyAbsSyn ) -> (Reversed [CDecl])-happyOut33 x = unsafeCoerce# x-{-# INLINE happyOut33 #-}-happyIn34 :: (CDecl) -> (HappyAbsSyn )-happyIn34 x = unsafeCoerce# x-{-# INLINE happyIn34 #-}-happyOut34 :: (HappyAbsSyn ) -> (CDecl)-happyOut34 x = unsafeCoerce# x-{-# INLINE happyOut34 #-}-happyIn35 :: ((Maybe CStrLit, [CAttr])) -> (HappyAbsSyn )-happyIn35 x = unsafeCoerce# x-{-# INLINE happyIn35 #-}-happyOut35 :: (HappyAbsSyn ) -> ((Maybe CStrLit, [CAttr]))-happyOut35 x = unsafeCoerce# x-{-# INLINE happyOut35 #-}-happyIn36 :: (CDecl) -> (HappyAbsSyn )-happyIn36 x = unsafeCoerce# x-{-# INLINE happyIn36 #-}-happyOut36 :: (HappyAbsSyn ) -> (CDecl)-happyOut36 x = unsafeCoerce# x-{-# INLINE happyOut36 #-}-happyIn37 :: ([CDeclSpec]) -> (HappyAbsSyn )-happyIn37 x = unsafeCoerce# x-{-# INLINE happyIn37 #-}-happyOut37 :: (HappyAbsSyn ) -> ([CDeclSpec])-happyOut37 x = unsafeCoerce# x-{-# INLINE happyOut37 #-}-happyIn38 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn )-happyIn38 x = unsafeCoerce# x-{-# INLINE happyIn38 #-}-happyOut38 :: (HappyAbsSyn ) -> (Reversed [CDeclSpec])-happyOut38 x = unsafeCoerce# x-{-# INLINE happyOut38 #-}-happyIn39 :: (CDeclSpec) -> (HappyAbsSyn )-happyIn39 x = unsafeCoerce# x-{-# INLINE happyIn39 #-}-happyOut39 :: (HappyAbsSyn ) -> (CDeclSpec)-happyOut39 x = unsafeCoerce# x-{-# INLINE happyOut39 #-}-happyIn40 :: (CStorageSpec) -> (HappyAbsSyn )-happyIn40 x = unsafeCoerce# x-{-# INLINE happyIn40 #-}-happyOut40 :: (HappyAbsSyn ) -> (CStorageSpec)-happyOut40 x = unsafeCoerce# x-{-# INLINE happyOut40 #-}-happyIn41 :: ([CDeclSpec]) -> (HappyAbsSyn )-happyIn41 x = unsafeCoerce# x-{-# INLINE happyIn41 #-}-happyOut41 :: (HappyAbsSyn ) -> ([CDeclSpec])-happyOut41 x = unsafeCoerce# x-{-# INLINE happyOut41 #-}-happyIn42 :: (CTypeSpec) -> (HappyAbsSyn )-happyIn42 x = unsafeCoerce# x-{-# INLINE happyIn42 #-}-happyOut42 :: (HappyAbsSyn ) -> (CTypeSpec)-happyOut42 x = unsafeCoerce# x-{-# INLINE happyOut42 #-}-happyIn43 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn )-happyIn43 x = unsafeCoerce# x-{-# INLINE happyIn43 #-}-happyOut43 :: (HappyAbsSyn ) -> (Reversed [CDeclSpec])-happyOut43 x = unsafeCoerce# x-{-# INLINE happyOut43 #-}-happyIn44 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn )-happyIn44 x = unsafeCoerce# x-{-# INLINE happyIn44 #-}-happyOut44 :: (HappyAbsSyn ) -> (Reversed [CDeclSpec])-happyOut44 x = unsafeCoerce# x-{-# INLINE happyOut44 #-}-happyIn45 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn )-happyIn45 x = unsafeCoerce# x-{-# INLINE happyIn45 #-}-happyOut45 :: (HappyAbsSyn ) -> (Reversed [CDeclSpec])-happyOut45 x = unsafeCoerce# x-{-# INLINE happyOut45 #-}-happyIn46 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn )-happyIn46 x = unsafeCoerce# x-{-# INLINE happyIn46 #-}-happyOut46 :: (HappyAbsSyn ) -> (Reversed [CDeclSpec])-happyOut46 x = unsafeCoerce# x-{-# INLINE happyOut46 #-}-happyIn47 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn )-happyIn47 x = unsafeCoerce# x-{-# INLINE happyIn47 #-}-happyOut47 :: (HappyAbsSyn ) -> (Reversed [CDeclSpec])-happyOut47 x = unsafeCoerce# x-{-# INLINE happyOut47 #-}-happyIn48 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn )-happyIn48 x = unsafeCoerce# x-{-# INLINE happyIn48 #-}-happyOut48 :: (HappyAbsSyn ) -> (Reversed [CDeclSpec])-happyOut48 x = unsafeCoerce# x-{-# INLINE happyOut48 #-}-happyIn49 :: (CTypeSpec) -> (HappyAbsSyn )-happyIn49 x = unsafeCoerce# x-{-# INLINE happyIn49 #-}-happyOut49 :: (HappyAbsSyn ) -> (CTypeSpec)-happyOut49 x = unsafeCoerce# x-{-# INLINE happyOut49 #-}-happyIn50 :: (CStructUnion) -> (HappyAbsSyn )-happyIn50 x = unsafeCoerce# x-{-# INLINE happyIn50 #-}-happyOut50 :: (HappyAbsSyn ) -> (CStructUnion)-happyOut50 x = unsafeCoerce# x-{-# INLINE happyOut50 #-}-happyIn51 :: (Located CStructTag) -> (HappyAbsSyn )-happyIn51 x = unsafeCoerce# x-{-# INLINE happyIn51 #-}-happyOut51 :: (HappyAbsSyn ) -> (Located CStructTag)-happyOut51 x = unsafeCoerce# x-{-# INLINE happyOut51 #-}-happyIn52 :: (Reversed [CDecl]) -> (HappyAbsSyn )-happyIn52 x = unsafeCoerce# x-{-# INLINE happyIn52 #-}-happyOut52 :: (HappyAbsSyn ) -> (Reversed [CDecl])-happyOut52 x = unsafeCoerce# x-{-# INLINE happyOut52 #-}-happyIn53 :: (CDecl) -> (HappyAbsSyn )-happyIn53 x = unsafeCoerce# x-{-# INLINE happyIn53 #-}-happyOut53 :: (HappyAbsSyn ) -> (CDecl)-happyOut53 x = unsafeCoerce# x-{-# INLINE happyOut53 #-}-happyIn54 :: (CDecl) -> (HappyAbsSyn )-happyIn54 x = unsafeCoerce# x-{-# INLINE happyIn54 #-}-happyOut54 :: (HappyAbsSyn ) -> (CDecl)-happyOut54 x = unsafeCoerce# x-{-# INLINE happyOut54 #-}-happyIn55 :: (CDecl) -> (HappyAbsSyn )-happyIn55 x = unsafeCoerce# x-{-# INLINE happyIn55 #-}-happyOut55 :: (HappyAbsSyn ) -> (CDecl)-happyOut55 x = unsafeCoerce# x-{-# INLINE happyOut55 #-}-happyIn56 :: ((Maybe CDeclr, Maybe CExpr)) -> (HappyAbsSyn )-happyIn56 x = unsafeCoerce# x-{-# INLINE happyIn56 #-}-happyOut56 :: (HappyAbsSyn ) -> ((Maybe CDeclr, Maybe CExpr))-happyOut56 x = unsafeCoerce# x-{-# INLINE happyOut56 #-}-happyIn57 :: ((Maybe CDeclr, Maybe CExpr)) -> (HappyAbsSyn )-happyIn57 x = unsafeCoerce# x-{-# INLINE happyIn57 #-}-happyOut57 :: (HappyAbsSyn ) -> ((Maybe CDeclr, Maybe CExpr))-happyOut57 x = unsafeCoerce# x-{-# INLINE happyOut57 #-}-happyIn58 :: (CEnum) -> (HappyAbsSyn )-happyIn58 x = unsafeCoerce# x-{-# INLINE happyIn58 #-}-happyOut58 :: (HappyAbsSyn ) -> (CEnum)-happyOut58 x = unsafeCoerce# x-{-# INLINE happyOut58 #-}-happyIn59 :: (Reversed [(Ident, Maybe CExpr)]) -> (HappyAbsSyn )-happyIn59 x = unsafeCoerce# x-{-# INLINE happyIn59 #-}-happyOut59 :: (HappyAbsSyn ) -> (Reversed [(Ident, Maybe CExpr)])-happyOut59 x = unsafeCoerce# x-{-# INLINE happyOut59 #-}-happyIn60 :: ((Ident, Maybe CExpr)) -> (HappyAbsSyn )-happyIn60 x = unsafeCoerce# x-{-# INLINE happyIn60 #-}-happyOut60 :: (HappyAbsSyn ) -> ((Ident, Maybe CExpr))-happyOut60 x = unsafeCoerce# x-{-# INLINE happyOut60 #-}-happyIn61 :: (CTypeQual) -> (HappyAbsSyn )-happyIn61 x = unsafeCoerce# x-{-# INLINE happyIn61 #-}-happyOut61 :: (HappyAbsSyn ) -> (CTypeQual)-happyOut61 x = unsafeCoerce# x-{-# INLINE happyOut61 #-}-happyIn62 :: (Reversed [CTypeQual]) -> (HappyAbsSyn )-happyIn62 x = unsafeCoerce# x-{-# INLINE happyIn62 #-}-happyOut62 :: (HappyAbsSyn ) -> (Reversed [CTypeQual])-happyOut62 x = unsafeCoerce# x-{-# INLINE happyOut62 #-}-happyIn63 :: (CDeclrR) -> (HappyAbsSyn )-happyIn63 x = unsafeCoerce# x-{-# INLINE happyIn63 #-}-happyOut63 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut63 x = unsafeCoerce# x-{-# INLINE happyOut63 #-}-happyIn64 :: (Maybe CStrLit) -> (HappyAbsSyn )-happyIn64 x = unsafeCoerce# x-{-# INLINE happyIn64 #-}-happyOut64 :: (HappyAbsSyn ) -> (Maybe CStrLit)-happyOut64 x = unsafeCoerce# x-{-# INLINE happyOut64 #-}-happyIn65 :: (CDeclrR) -> (HappyAbsSyn )-happyIn65 x = unsafeCoerce# x-{-# INLINE happyIn65 #-}-happyOut65 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut65 x = unsafeCoerce# x-{-# INLINE happyOut65 #-}-happyIn66 :: (CDeclrR) -> (HappyAbsSyn )-happyIn66 x = unsafeCoerce# x-{-# INLINE happyIn66 #-}-happyOut66 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut66 x = unsafeCoerce# x-{-# INLINE happyOut66 #-}-happyIn67 :: (CDeclrR) -> (HappyAbsSyn )-happyIn67 x = unsafeCoerce# x-{-# INLINE happyIn67 #-}-happyOut67 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut67 x = unsafeCoerce# x-{-# INLINE happyOut67 #-}-happyIn68 :: (CDeclrR) -> (HappyAbsSyn )-happyIn68 x = unsafeCoerce# x-{-# INLINE happyIn68 #-}-happyOut68 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut68 x = unsafeCoerce# x-{-# INLINE happyOut68 #-}-happyIn69 :: (CDeclrR) -> (HappyAbsSyn )-happyIn69 x = unsafeCoerce# x-{-# INLINE happyIn69 #-}-happyOut69 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut69 x = unsafeCoerce# x-{-# INLINE happyOut69 #-}-happyIn70 :: (CDeclrR) -> (HappyAbsSyn )-happyIn70 x = unsafeCoerce# x-{-# INLINE happyIn70 #-}-happyOut70 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut70 x = unsafeCoerce# x-{-# INLINE happyOut70 #-}-happyIn71 :: (CDeclrR) -> (HappyAbsSyn )-happyIn71 x = unsafeCoerce# x-{-# INLINE happyIn71 #-}-happyOut71 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut71 x = unsafeCoerce# x-{-# INLINE happyOut71 #-}-happyIn72 :: (CDeclrR) -> (HappyAbsSyn )-happyIn72 x = unsafeCoerce# x-{-# INLINE happyIn72 #-}-happyOut72 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut72 x = unsafeCoerce# x-{-# INLINE happyOut72 #-}-happyIn73 :: (CDeclrR) -> (HappyAbsSyn )-happyIn73 x = unsafeCoerce# x-{-# INLINE happyIn73 #-}-happyOut73 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut73 x = unsafeCoerce# x-{-# INLINE happyOut73 #-}-happyIn74 :: (CDeclrR) -> (HappyAbsSyn )-happyIn74 x = unsafeCoerce# x-{-# INLINE happyIn74 #-}-happyOut74 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut74 x = unsafeCoerce# x-{-# INLINE happyOut74 #-}-happyIn75 :: (CDeclrR) -> (HappyAbsSyn )-happyIn75 x = unsafeCoerce# x-{-# INLINE happyIn75 #-}-happyOut75 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut75 x = unsafeCoerce# x-{-# INLINE happyOut75 #-}-happyIn76 :: (CDeclr) -> (HappyAbsSyn )-happyIn76 x = unsafeCoerce# x-{-# INLINE happyIn76 #-}-happyOut76 :: (HappyAbsSyn ) -> (CDeclr)-happyOut76 x = unsafeCoerce# x-{-# INLINE happyOut76 #-}-happyIn77 :: (CDeclrR) -> (HappyAbsSyn )-happyIn77 x = unsafeCoerce# x-{-# INLINE happyIn77 #-}-happyOut77 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut77 x = unsafeCoerce# x-{-# INLINE happyOut77 #-}-happyIn78 :: (CDeclrR) -> (HappyAbsSyn )-happyIn78 x = unsafeCoerce# x-{-# INLINE happyIn78 #-}-happyOut78 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut78 x = unsafeCoerce# x-{-# INLINE happyOut78 #-}-happyIn79 :: (([CDecl], Bool)) -> (HappyAbsSyn )-happyIn79 x = unsafeCoerce# x-{-# INLINE happyIn79 #-}-happyOut79 :: (HappyAbsSyn ) -> (([CDecl], Bool))-happyOut79 x = unsafeCoerce# x-{-# INLINE happyOut79 #-}-happyIn80 :: (Reversed [CDecl]) -> (HappyAbsSyn )-happyIn80 x = unsafeCoerce# x-{-# INLINE happyIn80 #-}-happyOut80 :: (HappyAbsSyn ) -> (Reversed [CDecl])-happyOut80 x = unsafeCoerce# x-{-# INLINE happyOut80 #-}-happyIn81 :: (CDecl) -> (HappyAbsSyn )-happyIn81 x = unsafeCoerce# x-{-# INLINE happyIn81 #-}-happyOut81 :: (HappyAbsSyn ) -> (CDecl)-happyOut81 x = unsafeCoerce# x-{-# INLINE happyOut81 #-}-happyIn82 :: (Reversed [Ident]) -> (HappyAbsSyn )-happyIn82 x = unsafeCoerce# x-{-# INLINE happyIn82 #-}-happyOut82 :: (HappyAbsSyn ) -> (Reversed [Ident])-happyOut82 x = unsafeCoerce# x-{-# INLINE happyOut82 #-}-happyIn83 :: (CDecl) -> (HappyAbsSyn )-happyIn83 x = unsafeCoerce# x-{-# INLINE happyIn83 #-}-happyOut83 :: (HappyAbsSyn ) -> (CDecl)-happyOut83 x = unsafeCoerce# x-{-# INLINE happyOut83 #-}-happyIn84 :: (CDeclrR) -> (HappyAbsSyn )-happyIn84 x = unsafeCoerce# x-{-# INLINE happyIn84 #-}-happyOut84 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut84 x = unsafeCoerce# x-{-# INLINE happyOut84 #-}-happyIn85 :: (CDeclrR -> CDeclrR) -> (HappyAbsSyn )-happyIn85 x = unsafeCoerce# x-{-# INLINE happyIn85 #-}-happyOut85 :: (HappyAbsSyn ) -> (CDeclrR -> CDeclrR)-happyOut85 x = unsafeCoerce# x-{-# INLINE happyOut85 #-}-happyIn86 :: (CDeclrR -> CDeclrR) -> (HappyAbsSyn )-happyIn86 x = unsafeCoerce# x-{-# INLINE happyIn86 #-}-happyOut86 :: (HappyAbsSyn ) -> (CDeclrR -> CDeclrR)-happyOut86 x = unsafeCoerce# x-{-# INLINE happyOut86 #-}-happyIn87 :: (CDeclrR -> CDeclrR) -> (HappyAbsSyn )-happyIn87 x = unsafeCoerce# x-{-# INLINE happyIn87 #-}-happyOut87 :: (HappyAbsSyn ) -> (CDeclrR -> CDeclrR)-happyOut87 x = unsafeCoerce# x-{-# INLINE happyOut87 #-}-happyIn88 :: (CDeclrR) -> (HappyAbsSyn )-happyIn88 x = unsafeCoerce# x-{-# INLINE happyIn88 #-}-happyOut88 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut88 x = unsafeCoerce# x-{-# INLINE happyOut88 #-}-happyIn89 :: (CDeclrR) -> (HappyAbsSyn )-happyIn89 x = unsafeCoerce# x-{-# INLINE happyIn89 #-}-happyOut89 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut89 x = unsafeCoerce# x-{-# INLINE happyOut89 #-}-happyIn90 :: (CInit) -> (HappyAbsSyn )-happyIn90 x = unsafeCoerce# x-{-# INLINE happyIn90 #-}-happyOut90 :: (HappyAbsSyn ) -> (CInit)-happyOut90 x = unsafeCoerce# x-{-# INLINE happyOut90 #-}-happyIn91 :: (Maybe CInit) -> (HappyAbsSyn )-happyIn91 x = unsafeCoerce# x-{-# INLINE happyIn91 #-}-happyOut91 :: (HappyAbsSyn ) -> (Maybe CInit)-happyOut91 x = unsafeCoerce# x-{-# INLINE happyOut91 #-}-happyIn92 :: (Reversed CInitList) -> (HappyAbsSyn )-happyIn92 x = unsafeCoerce# x-{-# INLINE happyIn92 #-}-happyOut92 :: (HappyAbsSyn ) -> (Reversed CInitList)-happyOut92 x = unsafeCoerce# x-{-# INLINE happyOut92 #-}-happyIn93 :: ([CDesignator]) -> (HappyAbsSyn )-happyIn93 x = unsafeCoerce# x-{-# INLINE happyIn93 #-}-happyOut93 :: (HappyAbsSyn ) -> ([CDesignator])-happyOut93 x = unsafeCoerce# x-{-# INLINE happyOut93 #-}-happyIn94 :: (Reversed [CDesignator]) -> (HappyAbsSyn )-happyIn94 x = unsafeCoerce# x-{-# INLINE happyIn94 #-}-happyOut94 :: (HappyAbsSyn ) -> (Reversed [CDesignator])-happyOut94 x = unsafeCoerce# x-{-# INLINE happyOut94 #-}-happyIn95 :: (CDesignator) -> (HappyAbsSyn )-happyIn95 x = unsafeCoerce# x-{-# INLINE happyIn95 #-}-happyOut95 :: (HappyAbsSyn ) -> (CDesignator)-happyOut95 x = unsafeCoerce# x-{-# INLINE happyOut95 #-}-happyIn96 :: (CDesignator) -> (HappyAbsSyn )-happyIn96 x = unsafeCoerce# x-{-# INLINE happyIn96 #-}-happyOut96 :: (HappyAbsSyn ) -> (CDesignator)-happyOut96 x = unsafeCoerce# x-{-# INLINE happyOut96 #-}-happyIn97 :: (CExpr) -> (HappyAbsSyn )-happyIn97 x = unsafeCoerce# x-{-# INLINE happyIn97 #-}-happyOut97 :: (HappyAbsSyn ) -> (CExpr)-happyOut97 x = unsafeCoerce# x-{-# INLINE happyOut97 #-}-happyIn98 :: (Reversed [CDesignator]) -> (HappyAbsSyn )-happyIn98 x = unsafeCoerce# x-{-# INLINE happyIn98 #-}-happyOut98 :: (HappyAbsSyn ) -> (Reversed [CDesignator])-happyOut98 x = unsafeCoerce# x-{-# INLINE happyOut98 #-}-happyIn99 :: (CExpr) -> (HappyAbsSyn )-happyIn99 x = unsafeCoerce# x-{-# INLINE happyIn99 #-}-happyOut99 :: (HappyAbsSyn ) -> (CExpr)-happyOut99 x = unsafeCoerce# x-{-# INLINE happyOut99 #-}-happyIn100 :: (Reversed [CExpr]) -> (HappyAbsSyn )-happyIn100 x = unsafeCoerce# x-{-# INLINE happyIn100 #-}-happyOut100 :: (HappyAbsSyn ) -> (Reversed [CExpr])-happyOut100 x = unsafeCoerce# x-{-# INLINE happyOut100 #-}-happyIn101 :: (CExpr) -> (HappyAbsSyn )-happyIn101 x = unsafeCoerce# x-{-# INLINE happyIn101 #-}-happyOut101 :: (HappyAbsSyn ) -> (CExpr)-happyOut101 x = unsafeCoerce# x-{-# INLINE happyOut101 #-}-happyIn102 :: (Located CUnaryOp) -> (HappyAbsSyn )-happyIn102 x = unsafeCoerce# x-{-# INLINE happyIn102 #-}-happyOut102 :: (HappyAbsSyn ) -> (Located CUnaryOp)-happyOut102 x = unsafeCoerce# x-{-# INLINE happyOut102 #-}-happyIn103 :: (CExpr) -> (HappyAbsSyn )-happyIn103 x = unsafeCoerce# x-{-# INLINE happyIn103 #-}-happyOut103 :: (HappyAbsSyn ) -> (CExpr)-happyOut103 x = unsafeCoerce# x-{-# INLINE happyOut103 #-}-happyIn104 :: (CExpr) -> (HappyAbsSyn )-happyIn104 x = unsafeCoerce# x-{-# INLINE happyIn104 #-}-happyOut104 :: (HappyAbsSyn ) -> (CExpr)-happyOut104 x = unsafeCoerce# x-{-# INLINE happyOut104 #-}-happyIn105 :: (CExpr) -> (HappyAbsSyn )-happyIn105 x = unsafeCoerce# x-{-# INLINE happyIn105 #-}-happyOut105 :: (HappyAbsSyn ) -> (CExpr)-happyOut105 x = unsafeCoerce# x-{-# INLINE happyOut105 #-}-happyIn106 :: (CExpr) -> (HappyAbsSyn )-happyIn106 x = unsafeCoerce# x-{-# INLINE happyIn106 #-}-happyOut106 :: (HappyAbsSyn ) -> (CExpr)-happyOut106 x = unsafeCoerce# x-{-# INLINE happyOut106 #-}-happyIn107 :: (CExpr) -> (HappyAbsSyn )-happyIn107 x = unsafeCoerce# x-{-# INLINE happyIn107 #-}-happyOut107 :: (HappyAbsSyn ) -> (CExpr)-happyOut107 x = unsafeCoerce# x-{-# INLINE happyOut107 #-}-happyIn108 :: (CExpr) -> (HappyAbsSyn )-happyIn108 x = unsafeCoerce# x-{-# INLINE happyIn108 #-}-happyOut108 :: (HappyAbsSyn ) -> (CExpr)-happyOut108 x = unsafeCoerce# x-{-# INLINE happyOut108 #-}-happyIn109 :: (CExpr) -> (HappyAbsSyn )-happyIn109 x = unsafeCoerce# x-{-# INLINE happyIn109 #-}-happyOut109 :: (HappyAbsSyn ) -> (CExpr)-happyOut109 x = unsafeCoerce# x-{-# INLINE happyOut109 #-}-happyIn110 :: (CExpr) -> (HappyAbsSyn )-happyIn110 x = unsafeCoerce# x-{-# INLINE happyIn110 #-}-happyOut110 :: (HappyAbsSyn ) -> (CExpr)-happyOut110 x = unsafeCoerce# x-{-# INLINE happyOut110 #-}-happyIn111 :: (CExpr) -> (HappyAbsSyn )-happyIn111 x = unsafeCoerce# x-{-# INLINE happyIn111 #-}-happyOut111 :: (HappyAbsSyn ) -> (CExpr)-happyOut111 x = unsafeCoerce# x-{-# INLINE happyOut111 #-}-happyIn112 :: (CExpr) -> (HappyAbsSyn )-happyIn112 x = unsafeCoerce# x-{-# INLINE happyIn112 #-}-happyOut112 :: (HappyAbsSyn ) -> (CExpr)-happyOut112 x = unsafeCoerce# x-{-# INLINE happyOut112 #-}-happyIn113 :: (CExpr) -> (HappyAbsSyn )-happyIn113 x = unsafeCoerce# x-{-# INLINE happyIn113 #-}-happyOut113 :: (HappyAbsSyn ) -> (CExpr)-happyOut113 x = unsafeCoerce# x-{-# INLINE happyOut113 #-}-happyIn114 :: (CExpr) -> (HappyAbsSyn )-happyIn114 x = unsafeCoerce# x-{-# INLINE happyIn114 #-}-happyOut114 :: (HappyAbsSyn ) -> (CExpr)-happyOut114 x = unsafeCoerce# x-{-# INLINE happyOut114 #-}-happyIn115 :: (CExpr) -> (HappyAbsSyn )-happyIn115 x = unsafeCoerce# x-{-# INLINE happyIn115 #-}-happyOut115 :: (HappyAbsSyn ) -> (CExpr)-happyOut115 x = unsafeCoerce# x-{-# INLINE happyOut115 #-}-happyIn116 :: (Located CAssignOp) -> (HappyAbsSyn )-happyIn116 x = unsafeCoerce# x-{-# INLINE happyIn116 #-}-happyOut116 :: (HappyAbsSyn ) -> (Located CAssignOp)-happyOut116 x = unsafeCoerce# x-{-# INLINE happyOut116 #-}-happyIn117 :: (CExpr) -> (HappyAbsSyn )-happyIn117 x = unsafeCoerce# x-{-# INLINE happyIn117 #-}-happyOut117 :: (HappyAbsSyn ) -> (CExpr)-happyOut117 x = unsafeCoerce# x-{-# INLINE happyOut117 #-}-happyIn118 :: (Reversed [CExpr]) -> (HappyAbsSyn )-happyIn118 x = unsafeCoerce# x-{-# INLINE happyIn118 #-}-happyOut118 :: (HappyAbsSyn ) -> (Reversed [CExpr])-happyOut118 x = unsafeCoerce# x-{-# INLINE happyOut118 #-}-happyIn119 :: (Maybe CExpr) -> (HappyAbsSyn )-happyIn119 x = unsafeCoerce# x-{-# INLINE happyIn119 #-}-happyOut119 :: (HappyAbsSyn ) -> (Maybe CExpr)-happyOut119 x = unsafeCoerce# x-{-# INLINE happyOut119 #-}-happyIn120 :: (Maybe CExpr) -> (HappyAbsSyn )-happyIn120 x = unsafeCoerce# x-{-# INLINE happyIn120 #-}-happyOut120 :: (HappyAbsSyn ) -> (Maybe CExpr)-happyOut120 x = unsafeCoerce# x-{-# INLINE happyOut120 #-}-happyIn121 :: (CExpr) -> (HappyAbsSyn )-happyIn121 x = unsafeCoerce# x-{-# INLINE happyIn121 #-}-happyOut121 :: (HappyAbsSyn ) -> (CExpr)-happyOut121 x = unsafeCoerce# x-{-# INLINE happyOut121 #-}-happyIn122 :: (CConst) -> (HappyAbsSyn )-happyIn122 x = unsafeCoerce# x-{-# INLINE happyIn122 #-}-happyOut122 :: (HappyAbsSyn ) -> (CConst)-happyOut122 x = unsafeCoerce# x-{-# INLINE happyOut122 #-}-happyIn123 :: (CStrLit) -> (HappyAbsSyn )-happyIn123 x = unsafeCoerce# x-{-# INLINE happyIn123 #-}-happyOut123 :: (HappyAbsSyn ) -> (CStrLit)-happyOut123 x = unsafeCoerce# x-{-# INLINE happyOut123 #-}-happyIn124 :: (Reversed [CString]) -> (HappyAbsSyn )-happyIn124 x = unsafeCoerce# x-{-# INLINE happyIn124 #-}-happyOut124 :: (HappyAbsSyn ) -> (Reversed [CString])-happyOut124 x = unsafeCoerce# x-{-# INLINE happyOut124 #-}-happyIn125 :: (Ident) -> (HappyAbsSyn )-happyIn125 x = unsafeCoerce# x-{-# INLINE happyIn125 #-}-happyOut125 :: (HappyAbsSyn ) -> (Ident)-happyOut125 x = unsafeCoerce# x-{-# INLINE happyOut125 #-}-happyIn126 :: ([CAttr]) -> (HappyAbsSyn )-happyIn126 x = unsafeCoerce# x-{-# INLINE happyIn126 #-}-happyOut126 :: (HappyAbsSyn ) -> ([CAttr])-happyOut126 x = unsafeCoerce# x-{-# INLINE happyOut126 #-}-happyIn127 :: ([CAttr]) -> (HappyAbsSyn )-happyIn127 x = unsafeCoerce# x-{-# INLINE happyIn127 #-}-happyOut127 :: (HappyAbsSyn ) -> ([CAttr])-happyOut127 x = unsafeCoerce# x-{-# INLINE happyOut127 #-}-happyIn128 :: ([CAttr]) -> (HappyAbsSyn )-happyIn128 x = unsafeCoerce# x-{-# INLINE happyIn128 #-}-happyOut128 :: (HappyAbsSyn ) -> ([CAttr])-happyOut128 x = unsafeCoerce# x-{-# INLINE happyOut128 #-}-happyIn129 :: (Reversed [CAttr]) -> (HappyAbsSyn )-happyIn129 x = unsafeCoerce# x-{-# INLINE happyIn129 #-}-happyOut129 :: (HappyAbsSyn ) -> (Reversed [CAttr])-happyOut129 x = unsafeCoerce# x-{-# INLINE happyOut129 #-}-happyIn130 :: (Maybe CAttr) -> (HappyAbsSyn )-happyIn130 x = unsafeCoerce# x-{-# INLINE happyIn130 #-}-happyOut130 :: (HappyAbsSyn ) -> (Maybe CAttr)-happyOut130 x = unsafeCoerce# x-{-# INLINE happyOut130 #-}-happyIn131 :: (Reversed [CExpr]) -> (HappyAbsSyn )-happyIn131 x = unsafeCoerce# x-{-# INLINE happyIn131 #-}-happyOut131 :: (HappyAbsSyn ) -> (Reversed [CExpr])-happyOut131 x = unsafeCoerce# x-{-# INLINE happyOut131 #-}-happyInTok :: CToken -> (HappyAbsSyn )-happyInTok x = unsafeCoerce# x-{-# INLINE happyInTok #-}-happyOutTok :: (HappyAbsSyn ) -> CToken-happyOutTok x = unsafeCoerce# x-{-# INLINE happyOutTok #-}--happyActOffsets :: HappyAddr-happyActOffsets = HappyA# "\x00\x00\x1d\x0f\xd3\x09\x31\x0f\x00\x00\x80\x07\x00\x00\x7f\x09\x77\x0f\x31\x0f\x00\x00\xc8\x09\x1f\x05\x05\x05\x7f\x03\xf0\x04\x65\x08\x54\x08\x49\x08\x3e\x08\xc6\x04\x00\x00\x2b\x08\xef\x07\x00\x00\x00\x00\x0b\x09\x00\x00\x00\x00\xcd\x0e\xcd\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x82\x04\xaf\x0e\x96\x0e\x00\x00\x00\x00\x00\x00\xf6\x07\x00\x00\x32\x0e\x14\x0e\x14\x0e\x48\x08\x47\x08\x24\x08\xb6\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\x07\xe6\x07\x00\x00\x00\x00\x4a\x05\xd2\x07\xfb\x0d\xd0\x07\xd6\x07\xd3\x09\xf5\x07\x24\x00\xed\x07\xfb\x0d\xec\x07\xd5\x07\xc6\x07\x00\x00\x76\x07\x00\x00\xae\x07\x00\x00\x95\x04\x8e\x04\x01\x01\xd5\x11\x00\x00\x01\x01\x00\x00\x9a\x19\x9a\x19\x11\x18\x01\x18\x21\x08\x21\x08\x00\x00\x00\x00\x71\x07\x00\x00\xa6\x11\x00\x00\x00\x00\x00\x00\xd9\x01\x00\x00\x00\x00\x00\x00\x4a\x05\x89\x12\x00\x00\x3d\x01\x3d\x01\xcb\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc5\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbb\x07\x1d\x0f\x55\x07\x00\x00\xb8\x07\x6f\x09\x7a\x01\x59\x07\x5b\x07\xb3\x12\x00\x00\x00\x00\x4b\x00\xb2\x07\xb4\x09\xaa\x07\x4b\x00\x86\x07\x00\x00\x00\x00\x00\x00\xed\x01\x00\x00\x00\x00\xa7\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x18\x00\x00\x9d\x07\x00\x00\x94\x18\xff\x0a\x72\x07\x00\x00\x00\x00\x00\x00\x00\x00\xed\x01\x00\x00\x77\x11\x97\x07\x00\x00\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x07\x5f\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x07\x00\x00\x6e\x02\x48\x02\x0f\x00\x52\x07\x00\x00\x00\x00\x00\x00\xed\x01\x00\x00\x00\x00\x7b\x07\x00\x00\x4f\x07\x53\x07\x00\x00\x1b\x07\x00\x00\x1b\x07\x00\x00\x00\x00\xfb\x0d\xfb\x0d\x00\x00\x4d\x07\xfb\x0d\x41\x07\xfb\x0d\x00\x00\x43\x08\x14\x07\xd3\x09\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x65\x07\x00\x00\x2e\x07\xf4\x06\x00\x00\xc3\x1a\xc3\x1a\xfb\x0d\x00\x00\x0b\x09\x00\x00\x00\x00\xf0\x06\x00\x00\x00\x00\x0b\x09\x00\x00\x0b\x09\x00\x00\x00\x00\x00\x00\x4e\x07\x97\x03\xe7\x1a\xab\x04\xab\x04\x7a\x0a\x4c\x07\x4b\x07\x9f\x1a\xfb\x0d\xfb\x0d\x97\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\x00\x00\xfb\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0d\xfb\x0d\x36\x04\x36\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x07\x6e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa3\x09\xa3\x09\x8a\x04\x8a\x04\x4f\x04\x4f\x04\x4f\x04\x4f\x04\x7f\x03\x7f\x03\x1d\x04\x35\x07\x2b\x07\x16\x07\x0c\x07\xfb\x0d\x25\x07\x00\x00\xfb\x06\x00\x00\x61\x0d\x00\x00\x00\x00\x00\x00\xb7\x06\x57\x1a\x33\x1a\x48\x11\x00\x0f\x00\x00\x00\x00\x0f\x07\x0e\x07\x00\x00\xf3\x06\xdd\x06\xdb\x06\xc7\x06\xd3\x09\xdf\x07\xad\x06\x94\x06\x7c\x06\xd3\x09\xfb\x0d\x00\x00\xcb\x06\x6c\x19\xab\x06\xa7\x06\x00\x00\xc4\x06\x00\x00\xc3\x06\xc1\x06\xea\x00\xd8\x00\x38\x18\xa1\x06\x5d\x06\xaa\x06\x00\x00\x6f\x09\x38\x18\x86\x06\x00\x00\x00\x00\x1e\x19\x5b\x0b\x00\x00\x00\x00\xb1\x01\x93\x01\x8e\x06\x88\x06\x0f\x00\x47\x00\x93\x01\x00\x00\x38\x18\x66\x06\x00\x00\x49\x06\x00\x00\x6f\x09\x3e\x06\x00\x00\x00\x00\x00\x00\x00\x00\xed\x01\x00\x00\x62\x06\x00\x00\x38\x18\x3d\x06\x00\x00\x9b\x0a\x00\x00\x29\x06\xe0\x0b\x09\x00\xce\x05\x74\x02\xff\x0f\x74\x02\x21\x08\x21\x08\xd0\x0f\x24\x06\xfb\x05\x00\x00\x1b\x01\x45\x19\x00\x00\x00\x00\x00\x00\x00\x00\xd8\x00\x19\x11\xd8\x00\xea\x10\x5a\x12\x6f\x09\x38\x18\x04\x06\x00\x00\x19\x06\x9e\x09\x12\x00\x12\x00\x0f\x00\x00\x00\x0f\x00\x00\x00\x0f\x00\x00\x00\x00\x00\xdc\x0c\x09\x06\xf4\x05\xcc\x03\x03\x06\xfe\x05\x77\x00\xca\x00\x00\x00\x00\x00\xef\x05\x00\x00\x00\x00\xcd\x02\x00\x00\xcb\x05\xcc\x03\xaa\x05\x00\x00\x00\x00\x00\x00\xdc\x0c\x4b\x09\x00\x00\x0f\x00\x00\x00\xfd\x0c\x00\x00\xc8\x05\xc1\x05\x8c\x05\x8c\x05\xbb\x10\x00\x00\xf1\x00\xc9\x00\x8c\x05\x00\x00\x56\x05\x66\x18\x00\x00\x53\x05\x00\x00\xf0\x18\xc2\x18\xa1\x0f\xde\x12\x53\x05\x53\x05\x00\x00\x72\x0f\x49\x07\x53\x05\x00\x00\x53\x05\x53\x05\x00\x00\xab\x04\x62\x0c\x9d\x05\x9b\x05\x09\x00\x00\x00\x90\x05\x46\x05\x37\x0a\x09\x00\x00\x00\x00\x00\x6f\x09\x38\x18\x6d\x05\x00\x00\x8f\x05\x8d\x05\xdc\x17\x00\x00\x00\x00\x00\x00\x2f\x09\x84\x05\x0e\x00\xbe\x00\x83\x05\x0f\x00\x0f\x00\x2c\x09\x00\x00\x00\x00\x00\x00\xe3\x0a\x65\x00\x00\x00\x00\x00\x81\x05\x79\x05\x10\x05\x00\x00\x00\x00\x00\x00\x35\x05\x35\x05\xd3\x09\xd3\x09\xd3\x09\x00\x00\xfb\x0d\xfb\x0d\xfb\x0d\x42\x05\x00\x00\xaa\x01\xc9\x03\xdf\x07\xf2\x04\x00\x00\x23\x05\x00\x00\x00\x00\x00\x00\x00\x00\xd8\x00\x8c\x10\xd8\x00\x5d\x10\x2d\x05\xa7\x08\x00\x00\x7b\x1a\x9a\x03\x7b\x1a\x1c\x05\x1c\x05\x1c\x05\x30\x0c\x00\x00\xa2\x09\x31\x05\x2f\x05\x2d\x00\x33\x12\x00\x00\x00\x00\xfe\x0b\xfb\x0d\x00\x00\xfb\x0d\x00\x00\xfb\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb3\x02\xfd\x0c\xdc\x02\x00\x00\x99\x01\x00\x00\xd4\x04\xfb\x0d\x9a\x03\xfe\x0b\x21\x05\x0d\x05\x13\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x04\x09\x05\xed\x02\x00\x00\xf9\x04\x00\x00\xc0\x04\x2e\x10\xc0\x04\xc0\x04\xc0\x04\x00\x00\xa3\x03\x89\x04\x00\x00\xa2\x04\x2a\x00\xd3\x09\xc7\x04\x9c\x04\x97\x04\x7f\x04\x00\x00\x00\x00\x88\x04\x88\x04\xa1\x04\x00\x00\x00\x00\x22\x09\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x0a\x0f\x00\x00\x00\xaf\x17\xd4\x02\x00\x00\xa0\x03\x98\x03\x0f\x1a\xc2\x12\x00\x00\x00\x00\xbe\x19\x00\x00\x00\x00\x00\x00\x00\x00\x9f\x04\x9a\x04\x8b\x04\x86\x04\x09\x00\x0a\x04\x00\x00\x7a\x04\x00\x00\x00\x00\x68\x04\xfb\x0d\x00\x00\x00\x00\x00\x00\xb4\x04\x9f\x00\x04\x12\x00\x00\x00\x00\xdc\x0a\x3e\x09\x24\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x01\x2b\x00\x2b\x00\x16\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x02\xfb\x0d\xf4\x00\x00\x00\xe4\x0c\x64\x04\x77\x00\x00\x00\x00\x00\x00\x00\xa8\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\x00\x00\x00\x2b\x00\x5f\x01\xcd\x00\x3e\x04\x00\x00\x00\x00\xfb\x0d\x3c\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdd\x03\x1b\x04\xfb\x0d\x9e\x00\xeb\x19\xc8\x03\x00\x00\xc8\x03\x00\x00\xc8\x03\x06\x04\xfb\x0d\x00\x00\x00\x00\xcd\x00\x1f\x09\x00\x00\x00\x00\x00\x00\x00\x00\xd3\x09\xfb\x0d\xfb\x0d\xf5\x03\x00\x00\x0a\x01\xef\x03\x00\x00\x1a\x04\x49\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdf\x03\x00\x00\x00\x00\x00\x00\xfb\x0d\x40\x03\x00\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x97\x01\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0b\x00\x00\x00\x00\x80\x0c\x00\x00\x00\x00\xfb\x0d\x63\x0b\x00\x00\x00\x00\x00\x00\x03\x04\x00\x00\x01\x04\xe1\x03\xfb\x0d\x2a\x00\xb6\x03\x2a\x00\x00\x00\xd8\x03\xd3\x03\x00\x00\x00\x00\x00\x00\xfb\x0d\x00\x00\x9e\x00\xd4\x02\x6a\x03\x00\x00\xfb\x0d\x00\x00\x00\x00\xb9\x03\x00\x00\x00\x00\x00\x00\xfb\x0d\x00\x00\x00\x00\x00\x00\x4a\x03\x4a\x03\x00\x00\xd3\x09\xd3\x09\xd5\x00\x00\x00\x00\x00\xa8\x03\x3b\x03\x3b\x03\x00\x00\x00\x00\x7a\x03\x00\x00\x00\x00\x74\x03\x72\x03\x00\x00\x46\x03\x0b\x03\x00\x00\x00\x00\x00\x00\x00\x00\x15\x00\x00\x00\x00\x00\xfb\x0d\xfb\x0d\x6c\x03\x5b\x03\x17\x03\xe9\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyGotoOffsets :: HappyAddr-happyGotoOffsets = HappyA# "\x36\x03\x71\x00\xd3\x06\xc6\x1d\x3c\x03\x38\x00\x00\x00\x00\x00\xc5\x02\x35\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x03\x00\x00\x00\x00\x71\x0d\xa4\x0b\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x02\xd5\x0a\xb9\x0a\x00\x00\x00\x00\x00\x00\xa7\x02\x00\x00\x20\x0c\xbe\x03\x60\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x03\x1a\x00\x00\x00\x76\x1f\x00\x00\x00\x00\xb8\x06\x00\x00\x95\x02\x00\x00\x4c\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x03\x00\x00\x00\x00\x00\x00\x2a\x06\xc3\x00\x00\x00\x8a\x05\x00\x00\x14\x00\x16\x01\x6c\x02\x7d\x01\xa2\x01\xcb\x00\x00\x00\x00\x00\x96\x08\x00\x00\x9a\x00\x00\x00\x00\x00\x00\x00\x99\x08\xe2\x02\x00\x00\x00\x00\xbb\x02\x15\x01\x00\x00\xa8\x0a\xd7\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\xca\x15\x71\x02\x5d\x02\x6a\x02\x77\x08\x00\x00\x00\x00\x70\x02\x00\x00\x5b\x08\x00\x00\x40\x00\xc6\x02\x00\x00\x00\x00\x00\x00\x52\x02\x9e\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xad\x04\x00\x00\x66\x02\x00\x00\xa8\x13\x16\x17\xa9\x02\x00\x00\x00\x00\x00\x00\x00\x00\x51\x02\x90\x02\xec\x00\x00\x00\x00\x00\x1a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x02\x4f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x02\x9a\x13\xe8\x16\x35\x08\x75\x02\x00\x00\x00\x00\x00\x00\x4a\x02\x5c\x02\x00\x00\x00\x00\x00\x00\x62\x02\x31\x02\x56\x02\xf3\x07\x00\x00\xee\x07\x00\x00\x00\x00\xab\x1d\x90\x1d\x00\x00\x00\x00\x75\x1d\x00\x00\x5a\x1d\x00\x00\x98\x06\x00\x00\x4e\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xeb\x01\xe9\x07\x00\x00\x7b\x16\x53\x16\x5b\x1f\x00\x00\xe7\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc1\x02\x00\x00\x5b\x02\x00\x00\x00\x00\x00\x00\x00\x00\x69\x05\x9b\x00\x78\x00\x50\x00\x89\x16\x00\x00\x00\x00\xac\x03\x3f\x1d\xc7\x1f\x24\x1d\xe2\x1f\x08\x15\x84\x15\xfd\x1f\xf1\x0b\x6f\x0b\xf0\x0c\xbb\x0c\x40\x0c\x3a\x0b\x9b\x0c\x1a\x0b\xfc\x07\x26\x07\xc1\x0b\x2c\x0a\x9d\x09\x00\x00\x40\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x09\x1d\xee\x1c\xdb\x01\xcd\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x99\x07\x00\x00\x00\x00\x00\x00\xc6\x01\x61\x04\x00\x00\x73\x13\xda\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x06\x35\x02\x33\x02\xea\x01\x7e\x01\x18\x06\x25\x1f\x00\x00\x00\x00\xa6\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x15\x03\x91\x20\x87\x04\xdd\x01\xce\x07\x00\x00\x00\x00\xa6\x15\x4c\x04\xb7\x01\x00\x00\x00\x00\xda\x13\x26\x03\x00\x00\x00\x00\x6c\x05\x30\x13\x00\x00\x00\x00\xa2\x07\x36\x02\xb6\x0b\x00\x00\x26\x04\xa0\x01\x00\x00\x00\x00\xa7\x01\x4e\x15\xc7\x01\x00\x00\x00\x00\x00\x00\x00\x00\x2e\x02\xb0\x01\x00\x00\x00\x00\xeb\x03\x60\x01\x00\x00\xa9\x16\x00\x00\x00\x00\xc4\x1b\x6a\x07\x14\x01\x40\x20\x18\x14\x28\x20\x9f\x01\x18\x00\x2c\x14\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x03\x00\x00\x00\x00\x00\x00\x00\x00\x84\x20\x47\x07\x77\x20\x68\x14\xaf\x14\x2a\x15\xc5\x03\x4d\x01\x00\x00\x00\x00\x73\x07\xd3\x01\xeb\x04\x27\x07\x00\x00\x20\x07\x00\x00\x15\x07\x00\x00\x00\x00\xbf\x03\x00\x00\x00\x00\xb9\x01\x00\x00\x00\x00\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x85\x01\x00\x00\x00\x00\x00\x00\x00\x00\x44\x04\x15\x07\x00\x00\xd9\x06\x00\x00\xa9\x1b\x00\x00\x00\x00\x00\x00\x16\x02\xf7\x01\xa9\x14\x00\x00\x6f\x13\x0d\x0e\xf4\x01\x00\x00\x00\x00\x0a\x14\x00\x00\x96\x06\x00\x00\x00\x04\x00\x00\x3e\x13\x60\x17\x76\x06\x68\x06\x00\x00\x06\x13\x59\x17\x2b\x06\x00\x00\x10\x06\xe2\x05\x00\x00\xdb\x00\x62\x17\x00\x00\x00\x00\xdf\x05\x00\x00\x00\x00\x00\x00\xe0\x16\xd9\x05\x00\x00\x00\x00\xd2\x14\x64\x03\x42\x01\x00\x00\x00\x00\x00\x00\x31\x16\x5c\x01\x00\x00\x00\x00\xff\x05\x00\x00\xf9\x08\x60\x07\x00\x00\xf1\x05\xe4\x05\xe1\x05\x00\x00\x00\x00\x00\x00\x92\x0c\x18\x04\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x01\x00\x00\x00\x00\x00\x00\x5e\x01\x57\x01\xae\x05\x93\x05\x78\x05\x00\x00\x31\x1c\x16\x1c\xd3\x1c\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x01\x33\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x54\x09\x43\x01\xc4\x07\x3e\x01\x00\x00\x36\x07\x00\x00\x40\x16\xd5\xff\xe1\x14\x00\x00\x00\x00\x00\x00\xc7\x02\x00\x00\x8a\x02\x00\x00\x00\x00\xf9\x00\x96\x14\x00\x00\x00\x00\x13\x1b\x0a\x1f\x00\x00\x91\x1f\x00\x00\xef\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x1b\x9d\x02\x00\x00\x00\x00\x00\x00\x00\x00\xd4\x1e\xd3\x00\xf1\x1a\x00\x00\x00\x00\x7f\x00\x00\x00\xb4\x05\x00\x00\x00\x00\x00\x00\x00\x00\xce\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x01\x67\x01\x36\x01\x1d\x01\x17\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf4\xff\x0e\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\x80\x00\x00\x00\x00\x00\x00\x00\x99\x05\x00\x00\x00\x00\x6b\x0e\x00\x00\x00\x00\x00\x00\x00\x00\xb0\x09\x5c\x05\x00\x00\x31\x16\x6a\x20\x00\x00\x00\x00\x00\x00\x04\x04\xb9\x16\x00\x00\x00\x00\x22\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xce\x04\xb0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb9\x1e\x00\x00\x00\x00\x00\x00\x1a\x17\xfa\x05\x64\x14\x00\x00\x00\x00\x80\x16\x9a\x06\xca\x04\x00\x00\x00\x00\x00\x00\x00\x00\xc3\x02\xaa\x0d\x36\x0d\xfa\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9e\x1e\xd9\xff\x00\x00\x50\x1b\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd9\xff\x00\x00\x91\x06\xbf\x03\x5a\x05\x00\x00\x00\x00\x00\x00\x83\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x68\x1e\x57\x04\x61\x04\x78\x04\x00\x00\x09\x04\x00\x00\x86\x03\x00\x00\x4d\x1e\x00\x00\x00\x00\x5a\x05\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\xf3\x04\xfb\x1b\xe0\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb9\x00\x00\x00\x00\x00\x00\x00\xb8\x1c\x44\x00\x00\x00\x00\x00\x00\x00\x2c\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x35\x1b\x00\x00\x00\x00\x73\x1b\x00\x00\x00\x00\x32\x1e\x35\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9d\x1c\xf5\xff\x00\x00\xf1\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x1e\x00\x00\x5f\x03\x5b\x20\xd0\xff\x00\x00\xfc\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe1\x1d\x00\x00\x00\x00\x00\x00\xec\x01\xd0\xff\x00\x00\xd6\x04\x9e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\xa5\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf9\xff\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x1c\x67\x1c\x00\x00\x00\x00\x00\x00\x91\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyDefActions :: HappyAddr-happyDefActions = HappyA# "\xfa\xff\x3d\xfe\x00\x00\x00\x00\x00\x00\x3d\xfe\x9b\xfe\x8f\xfe\x7d\xfe\x00\x00\x7b\xfe\x77\xfe\x74\xfe\x71\xfe\x6c\xfe\x69\xfe\x67\xfe\x65\xfe\x63\xfe\x61\xfe\x5f\xfe\x5c\xfe\x4f\xfe\x00\x00\xa5\xfe\xa4\xfe\x3d\xfe\x7e\xfe\x7f\xfe\x00\x00\x00\x00\x81\xfe\x80\xfe\x82\xfe\x83\xfe\x00\x00\x00\x00\x00\x00\x45\xfe\x46\xfe\x44\xfe\x43\xfe\xa6\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe4\xff\xe3\xff\xe2\xff\xe1\xff\xe0\xff\xdf\xff\xde\xff\x00\x00\x00\x00\xc7\xff\xd7\xff\xb5\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\xfe\x00\x00\x00\x00\xa6\xfe\x3e\xfe\x00\x00\xf7\xff\x00\x00\xf6\xff\x00\x00\x00\x00\x00\x00\x00\x00\x98\xff\x00\x00\x77\xff\x9b\xff\x8a\xff\x9a\xff\x89\xff\x99\xff\x88\xff\x6c\xff\x52\xff\x3d\xfe\x51\xff\x00\x00\xe5\xff\x0a\xff\x08\xff\x09\xff\xa6\xff\xfb\xfe\xfa\xfe\x00\x00\x3c\xfe\x3b\xfe\x00\x00\x3d\xfe\x00\x00\x8d\xff\x7e\xff\x86\xff\x7d\xff\x81\xff\x3d\xfe\x8f\xff\x82\xff\x84\xff\x83\xff\x8c\xff\x85\xff\x80\xff\x8e\xff\x4d\xff\x90\xff\x00\x00\x8b\xff\x4c\xff\x7f\xff\x87\xff\xfe\xfe\x60\xff\x00\x00\x3d\xfe\x00\x00\xf5\xff\x00\x00\x3d\xfe\x00\x00\x3c\xfe\x00\x00\x00\x00\x07\xff\xf9\xfe\x3c\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x97\xff\x76\xff\x6b\xff\x26\xff\xa6\xff\x3a\xfe\x00\x00\x5a\xff\x2b\xff\x2f\xff\x2c\xff\x2d\xff\x2e\xff\x3d\xfe\x03\xff\xd7\xfe\xd5\xfe\xf4\xfe\x49\xfe\x00\x00\x96\xff\x75\xff\x6a\xff\x2a\xff\x26\xff\xa6\xff\x00\x00\x00\x00\x5d\xff\x00\x00\x66\xff\x54\xff\x53\xff\x62\xff\x92\xff\x91\xff\x61\xff\x6f\xff\x68\xff\x67\xff\xa9\xff\x6e\xff\x6d\xff\xaa\xff\x7b\xff\x72\xff\x73\xff\x71\xff\x7a\xff\x79\xff\x78\xff\x00\x00\x26\xff\x27\xff\x23\xff\x20\xff\x1f\xff\x24\xff\x16\xff\x28\xff\xa6\xff\x00\x00\x3d\xfe\x22\xff\x00\x00\x94\xff\x7c\xff\x70\xff\x26\xff\xa6\xff\x93\xff\x00\x00\x65\xff\x00\x00\x26\xff\xa6\xff\x3d\xfe\xa8\xff\x3d\xfe\xa7\xff\xf3\xff\x00\x00\x00\x00\x4a\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfe\x4b\xfe\x00\x00\x00\x00\xbc\xff\x7d\xfe\x47\xfe\x00\x00\xbb\xff\x00\x00\xb4\xff\xd5\xff\x3d\xfe\xc6\xff\x3d\xfe\x3d\xfe\x00\x00\x85\xfe\x3d\xfe\x86\xfe\x8c\xfe\x42\xfe\x41\xfe\x8a\xfe\x3d\xfe\x88\xfe\x3d\xfe\x84\xfe\x8d\xfe\x8e\xfe\x00\x00\xde\xfe\x8a\xff\x89\xff\x88\xff\x00\x00\x00\x00\x00\x00\x3c\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\xfe\x00\x00\x5a\xfe\x56\xfe\x55\xfe\x59\xfe\x58\xfe\x57\xfe\x52\xfe\x51\xfe\x50\xfe\x54\xfe\x53\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x95\xfe\x94\xfe\xf8\xff\xf9\xff\x97\xfe\x96\xfe\x00\x00\x00\x00\x91\xfe\x99\xfe\x5b\xfe\x78\xfe\x79\xfe\x7a\xfe\x75\xfe\x76\xfe\x72\xfe\x73\xfe\x6d\xfe\x6f\xfe\x6e\xfe\x70\xfe\x6a\xfe\x6b\xfe\x68\xfe\x66\xfe\x64\xfe\x62\xfe\x00\x00\x00\x00\x60\xfe\x4d\xfe\x4e\xfe\xa3\xfe\x00\x00\xdb\xfe\xd8\xfe\xda\xfe\xd9\xfe\x00\x00\xdc\xfe\xf4\xfe\xc8\xfe\xdd\xfe\xa2\xfe\x00\x00\x00\x00\x40\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd6\xff\xd5\xff\x00\x00\x00\x00\x00\x00\x00\x00\xdb\xff\x00\x00\x3d\xfe\x00\x00\x00\x00\xbe\xff\x00\x00\xba\xff\x00\x00\x00\x00\x00\x00\x00\x00\x3d\xfe\xb6\xfe\x3d\xfe\x00\x00\xf1\xff\x3d\xfe\x3d\xfe\xb6\xfe\xef\xff\x21\xff\xf4\xfe\x00\x00\x1e\xff\x12\xff\x3c\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\xff\x3d\xfe\xb6\xfe\xf0\xff\x4e\xff\x4b\xff\x3d\xfe\x00\x00\x95\xff\x74\xff\x69\xff\x29\xff\x26\xff\xa6\xff\x00\x00\x57\xff\x3d\xfe\xb6\xfe\xee\xff\x49\xfe\x48\xfe\x00\x00\x49\xfe\x82\xfe\x3d\xfe\xef\xfe\xeb\xfe\xe8\xfe\x9a\xff\x89\xff\xe4\xfe\x00\x00\xf3\xfe\xf1\xfe\x00\x00\x3c\xfe\xe0\xfe\xd4\xfe\xec\xff\xa5\xff\x00\x00\x00\x00\x00\x00\x00\x00\x3c\xfe\x3d\xfe\x3d\xfe\xb6\xfe\xf2\xff\x00\x00\x00\x00\x00\x00\x3d\xfe\xf6\xfe\xfd\xfe\x02\xff\x06\xff\x09\xff\x05\xff\xf8\xfe\x00\x00\x00\x00\x34\xff\x00\x00\x00\x00\x00\x00\x36\xfe\x00\x00\x38\xfe\x34\xfe\x35\xfe\x5f\xff\x5e\xff\x00\x00\x33\xff\x31\xff\x00\x00\x00\x00\x04\xff\x01\xff\xf5\xfe\x00\x00\x00\x00\xfc\xfe\x00\xff\xa1\xff\x00\x00\xeb\xff\x00\x00\x00\x00\x26\xff\x26\xff\x00\x00\x28\xff\x00\x00\x3d\xfe\x26\xff\xf7\xfe\x00\x00\x3d\xfe\xd6\xfe\x3d\xfe\xe2\xfe\x00\x00\xe3\xfe\xf4\xfe\xc8\xfe\x3d\xfe\x3d\xfe\xe7\xfe\xf4\xfe\xc8\xfe\x3d\xfe\xea\xfe\x3d\xfe\x3d\xfe\xee\xfe\x3d\xfe\x00\x00\x00\x00\x00\x00\x82\xfe\xd3\xfe\x00\x00\x00\x00\x49\xfe\x82\xfe\xa3\xff\xe7\xff\x3d\xfe\x3d\xfe\xb6\xfe\xed\xff\x00\x00\x00\x00\x3d\xfe\x4b\xff\x9d\xff\xe9\xff\x00\x00\x00\x00\x00\x00\x3d\xfe\x00\x00\x0f\xff\x1a\xff\x00\x00\x1d\xff\x1c\xff\x11\xff\x00\x00\x00\x00\xa4\xff\xe8\xff\x00\x00\x00\x00\x00\x00\x9f\xff\x9e\xff\xea\xff\x26\xff\x26\xff\x00\x00\x00\x00\x00\x00\xbd\xff\x4b\xfe\x4b\xfe\x00\x00\x00\x00\xdc\xff\x00\x00\x00\x00\xd6\xff\x00\x00\xd3\xff\x00\x00\xd4\xff\xd2\xff\xd0\xff\xd1\xff\x00\x00\x00\x00\x00\x00\x00\x00\x60\xff\x3d\xfe\xdd\xff\x3d\xfe\x00\x00\x3d\xfe\x00\x00\x89\xfe\x87\xfe\x3d\xfe\xc6\xfe\xc4\xfe\x00\x00\x00\x00\x00\x00\x3c\xfe\xba\xfe\x7c\xfe\xb4\xfe\x00\x00\x5d\xfe\x00\x00\x98\xfe\x00\x00\x9a\xfe\x90\xfe\x5e\xfe\x4c\xfe\xb3\xfe\x00\x00\x00\x00\x00\x00\xac\xfe\xad\xfe\xb9\xfe\x00\x00\x00\x00\x00\x00\xb4\xfe\x00\x00\x00\x00\x00\x00\xc1\xfe\xc2\xfe\xc0\xfe\xc3\xfe\xc5\xfe\xc7\xfe\x3c\xfe\x00\x00\x00\x00\x9e\xfe\x00\x00\xcf\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd9\xff\x00\x00\x00\x00\xc9\xff\x00\x00\xb3\xff\x00\x00\x00\x00\x00\x00\x00\x00\xc5\xff\xc3\xff\xc2\xff\xb6\xfe\xb6\xfe\x00\x00\x64\xff\x63\xff\x00\x00\x1b\xff\x10\xff\x00\x00\x15\xff\x19\xff\x0d\xff\x0e\xff\x00\x00\x18\xff\x0b\xff\x3d\xfe\x40\xff\x49\xff\x00\x00\x00\x00\x3d\xfe\x3c\xfe\x4a\xff\x4f\xff\x3d\xfe\x5c\xff\x5b\xff\xa2\xff\xe6\xff\x00\x00\x00\x00\x00\x00\x00\x00\x82\xfe\x3d\xfe\xd1\xfe\x00\x00\xd2\xfe\xcc\xfe\x00\x00\x00\x00\xed\xfe\xec\xfe\xe9\xfe\x3d\xfe\xc4\xfe\x3c\xfe\xe6\xfe\xe5\xfe\x3d\xfe\xc4\xfe\x3c\xfe\xe1\xfe\xf0\xfe\xf2\xfe\xdf\xfe\x00\x00\x00\x00\x00\x00\x26\xff\x59\xff\x58\xff\xb5\xfe\xff\xfe\xf4\xff\x00\x00\x00\x00\x00\x00\x38\xff\x00\x00\x00\x00\x36\xfe\x37\xfe\x39\xfe\x31\xfe\x00\x00\x32\xfe\x32\xff\x37\xff\x30\xff\x00\x00\x36\xff\x00\x00\x3c\xfe\x3c\xfe\x00\x00\xcf\xfe\xcb\xfe\x00\x00\x00\x00\xd0\xfe\xca\xfe\x56\xff\x55\xff\x46\xff\x44\xff\x3c\xff\x00\x00\x00\x00\x3c\xfe\x3d\xfe\x48\xff\x3d\xfe\x47\xff\x3d\xfe\x3f\xff\x00\x00\x50\xff\x17\xff\x00\x00\x00\x00\x14\xff\x25\xff\x9c\xff\xa0\xff\x00\x00\x4b\xfe\x4b\xfe\x00\x00\xda\xff\x00\x00\xb2\xff\xb1\xff\x00\x00\x00\x00\xb9\xff\xd8\xff\xc8\xff\xce\xff\xcc\xff\xcd\xff\x00\x00\xcb\xff\x9f\xfe\xa0\xfe\x00\x00\x00\x00\xa1\xfe\xbf\xfe\xbd\xfe\xbe\xfe\xbc\xfe\x00\x00\xa9\xfe\x00\x00\xae\xfe\xab\xfe\xa8\xfe\xaf\xfe\xb2\xfe\x00\x00\x93\xfe\xb1\xfe\x00\x00\x92\xfe\xaa\xfe\x00\x00\x00\x00\xb8\xfe\xbb\xfe\x9d\xfe\x00\x00\xca\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb3\xff\xc1\xff\x00\x00\x00\x00\xc4\xff\x13\xff\x3e\xff\x00\x00\x42\xff\x00\x00\x00\x00\x45\xff\x3b\xff\x00\x00\x39\xff\xc9\xfe\x00\x00\xce\xfe\x35\xff\x33\xfe\x00\x00\x30\xfe\xcd\xfe\x3a\xff\x3d\xfe\x43\xff\x3d\xff\x00\x00\x00\x00\x00\x00\xb8\xff\xb0\xff\x00\x00\x00\x00\x00\x00\x9c\xfe\xb7\xfe\x00\x00\xb0\xfe\xa7\xfe\x00\x00\x00\x00\xaf\xff\x00\x00\x00\x00\xd6\xff\xc0\xff\x41\xff\xbf\xff\x00\x00\xac\xff\xb7\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\xff\xb6\xff\xad\xff\xae\xff"#--happyCheck :: HappyAddr-happyCheck = HappyA# "\xff\xff\x02\x00\x03\x00\x04\x00\x36\x00\x74\x00\x15\x00\x16\x00\x17\x00\x15\x00\x16\x00\x17\x00\x17\x00\x04\x00\x35\x00\x01\x00\x01\x00\x18\x00\x03\x00\x01\x00\x04\x00\x02\x00\x1c\x00\x02\x00\x19\x00\x74\x00\x1b\x00\x0d\x00\x1d\x00\x1e\x00\x1f\x00\x0d\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x01\x00\x03\x00\x14\x00\x02\x00\x5b\x00\x0d\x00\x33\x00\x39\x00\x20\x00\x21\x00\x37\x00\x23\x00\x0d\x00\x21\x00\x02\x00\x03\x00\x04\x00\x1e\x00\x2e\x00\x2a\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x79\x00\x01\x00\x79\x00\x36\x00\x76\x00\x01\x00\x2e\x00\x36\x00\x76\x00\x36\x00\x19\x00\x09\x00\x1b\x00\x0d\x00\x1d\x00\x1e\x00\x1f\x00\x0d\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x74\x00\x01\x00\x5e\x00\x74\x00\x74\x00\x5c\x00\x33\x00\x5e\x00\x74\x00\x5c\x00\x37\x00\x5e\x00\x5e\x00\x0d\x00\x02\x00\x03\x00\x04\x00\x77\x00\x78\x00\x79\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x5c\x00\x5d\x00\x42\x00\x43\x00\x44\x00\x5b\x00\x36\x00\x5c\x00\x5d\x00\x5e\x00\x19\x00\x5e\x00\x1b\x00\x79\x00\x1d\x00\x1e\x00\x1f\x00\x79\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x04\x00\x01\x00\x01\x00\x79\x00\x03\x00\x5c\x00\x33\x00\x5e\x00\x74\x00\x5c\x00\x37\x00\x5e\x00\x02\x00\x0d\x00\x0d\x00\x36\x00\x36\x00\x77\x00\x78\x00\x79\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x79\x00\x76\x00\x21\x00\x1e\x00\x23\x00\x23\x00\x01\x00\x07\x00\x5c\x00\x5d\x00\x5e\x00\x2a\x00\x2b\x00\x2c\x00\x04\x00\x7b\x00\x79\x00\x01\x00\x0d\x00\x02\x00\x33\x00\x01\x00\x2c\x00\x36\x00\x36\x00\x2a\x00\x5c\x00\x54\x00\x36\x00\x0d\x00\x02\x00\x54\x00\x01\x00\x0d\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x43\x00\x20\x00\x21\x00\x0d\x00\x23\x00\x48\x00\x77\x00\x78\x00\x79\x00\x01\x00\x21\x00\x2a\x00\x2b\x00\x2c\x00\x04\x00\x79\x00\x01\x00\x1e\x00\x2a\x00\x56\x00\x33\x00\x0d\x00\x79\x00\x36\x00\x5c\x00\x5c\x00\x5d\x00\x5e\x00\x0d\x00\x5c\x00\x5d\x00\x36\x00\x01\x00\x36\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x2d\x00\x02\x00\x21\x00\x0d\x00\x23\x00\x43\x00\x36\x00\x78\x00\x79\x00\x79\x00\x48\x00\x2a\x00\x2b\x00\x2c\x00\x04\x00\x5c\x00\x5d\x00\x5e\x00\x02\x00\x07\x00\x33\x00\x01\x00\x2d\x00\x36\x00\x56\x00\x07\x00\x5c\x00\x5d\x00\x5e\x00\x1e\x00\x5c\x00\x5d\x00\x5e\x00\x0d\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x5c\x00\x5d\x00\x21\x00\x21\x00\x23\x00\x23\x00\x5c\x00\x5d\x00\x79\x00\x07\x00\x01\x00\x2a\x00\x2b\x00\x2c\x00\x04\x00\x07\x00\x79\x00\x2a\x00\x5c\x00\x04\x00\x33\x00\x76\x00\x0d\x00\x37\x00\x36\x00\x5c\x00\x5d\x00\x5e\x00\x5c\x00\x5d\x00\x77\x00\x78\x00\x79\x00\x36\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x5c\x00\x5d\x00\x21\x00\x01\x00\x23\x00\x43\x00\x20\x00\x21\x00\x79\x00\x23\x00\x48\x00\x2a\x00\x2b\x00\x2c\x00\x04\x00\x0d\x00\x2a\x00\x2b\x00\x2c\x00\x02\x00\x33\x00\x79\x00\x1c\x00\x36\x00\x56\x00\x33\x00\x7a\x00\x7b\x00\x36\x00\x1c\x00\x5c\x00\x5d\x00\x5e\x00\x4b\x00\x41\x00\x42\x00\x43\x00\x44\x00\x74\x00\x41\x00\x42\x00\x43\x00\x44\x00\x21\x00\x2d\x00\x23\x00\x77\x00\x78\x00\x79\x00\x79\x00\x79\x00\x39\x00\x2a\x00\x2b\x00\x2c\x00\x01\x00\x36\x00\x54\x00\x39\x00\x2a\x00\x5c\x00\x33\x00\x5e\x00\x03\x00\x36\x00\x21\x00\x06\x00\x0d\x00\x54\x00\x43\x00\x05\x00\x06\x00\x07\x00\x2c\x00\x48\x00\x41\x00\x42\x00\x43\x00\x44\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x01\x00\x36\x00\x54\x00\x56\x00\x78\x00\x79\x00\x1f\x00\x34\x00\x35\x00\x5c\x00\x79\x00\x5e\x00\x0d\x00\x20\x00\x21\x00\x2a\x00\x20\x00\x21\x00\x2d\x00\x05\x00\x06\x00\x07\x00\x1e\x00\x09\x00\x1a\x00\x0b\x00\x0c\x00\x0d\x00\x07\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x2d\x00\x36\x00\x5c\x00\x5d\x00\x36\x00\x19\x00\x01\x00\x1b\x00\x03\x00\x1d\x00\x1e\x00\x1f\x00\x79\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x34\x00\x35\x00\x5c\x00\x5d\x00\x5e\x00\x74\x00\x33\x00\x54\x00\x0a\x00\x79\x00\x37\x00\x5a\x00\x0e\x00\x5c\x00\x76\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x54\x00\x6e\x00\x5c\x00\x5d\x00\x5e\x00\x1c\x00\x73\x00\x74\x00\x1c\x00\x76\x00\x42\x00\x43\x00\x44\x00\x79\x00\x2c\x00\x5a\x00\x79\x00\x5c\x00\x30\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x39\x00\x6e\x00\x76\x00\x39\x00\x54\x00\x1c\x00\x73\x00\x74\x00\x4b\x00\x76\x00\x77\x00\x78\x00\x79\x00\x05\x00\x06\x00\x07\x00\x0a\x00\x09\x00\x79\x00\x0b\x00\x0c\x00\x0d\x00\x76\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x01\x00\x1c\x00\x78\x00\x79\x00\x1c\x00\x19\x00\x39\x00\x1b\x00\x76\x00\x1d\x00\x1e\x00\x1f\x00\x0d\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x07\x00\x77\x00\x78\x00\x79\x00\x1c\x00\x39\x00\x33\x00\x07\x00\x39\x00\x1c\x00\x37\x00\x1c\x00\x1c\x00\x01\x00\x1a\x00\x2a\x00\x3c\x00\x3d\x00\x2d\x00\x01\x00\x1a\x00\x03\x00\x42\x00\x43\x00\x44\x00\x0d\x00\x07\x00\x22\x00\x23\x00\x1a\x00\x25\x00\x0d\x00\x27\x00\x39\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x39\x00\x07\x00\x39\x00\x39\x00\x20\x00\x21\x00\x33\x00\x5a\x00\x76\x00\x5c\x00\x37\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x36\x00\x6e\x00\x5c\x00\x5d\x00\x5e\x00\x4c\x00\x73\x00\x74\x00\x1a\x00\x76\x00\x77\x00\x78\x00\x79\x00\x79\x00\x07\x00\x41\x00\x42\x00\x43\x00\x44\x00\x5a\x00\x50\x00\x5c\x00\x1a\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x07\x00\x6e\x00\x5c\x00\x5d\x00\x5e\x00\x07\x00\x73\x00\x74\x00\x5c\x00\x5d\x00\x77\x00\x78\x00\x79\x00\x01\x00\x79\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x2a\x00\x74\x00\x03\x00\x2d\x00\x0d\x00\x06\x00\x22\x00\x23\x00\x79\x00\x25\x00\x76\x00\x27\x00\x79\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x07\x00\x02\x00\x03\x00\x36\x00\x1e\x00\x06\x00\x33\x00\x58\x00\x59\x00\x2a\x00\x37\x00\x36\x00\x2d\x00\x1f\x00\x1a\x00\x36\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x79\x00\x41\x00\x42\x00\x43\x00\x44\x00\x07\x00\x22\x00\x23\x00\x76\x00\x25\x00\x4c\x00\x27\x00\x08\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x33\x00\x5a\x00\x75\x00\x5c\x00\x37\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x76\x00\x6e\x00\x5c\x00\x5d\x00\x6d\x00\x4c\x00\x73\x00\x74\x00\x00\x00\x01\x00\x77\x00\x78\x00\x79\x00\x78\x00\x79\x00\x01\x00\x77\x00\x78\x00\x79\x00\x5a\x00\x2b\x00\x5c\x00\x5b\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x07\x00\x6e\x00\x41\x00\x42\x00\x43\x00\x44\x00\x73\x00\x74\x00\x36\x00\x02\x00\x77\x00\x78\x00\x79\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x5b\x00\x41\x00\x42\x00\x43\x00\x44\x00\x07\x00\x46\x00\x47\x00\x02\x00\x22\x00\x23\x00\x2b\x00\x25\x00\x01\x00\x27\x00\x01\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x4e\x00\x4f\x00\x50\x00\x19\x00\x04\x00\x1b\x00\x33\x00\x1d\x00\x1e\x00\x1f\x00\x37\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x32\x00\x13\x00\x14\x00\x15\x00\x16\x00\x5b\x00\x33\x00\x01\x00\x4c\x00\x03\x00\x37\x00\x5c\x00\x5d\x00\x78\x00\x79\x00\x41\x00\x42\x00\x43\x00\x44\x00\x0d\x00\x5c\x00\x5d\x00\x5a\x00\x5e\x00\x5c\x00\x02\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x5a\x00\x6e\x00\x5c\x00\x04\x00\x5e\x00\x5f\x00\x73\x00\x74\x00\x2a\x00\x2b\x00\x77\x00\x78\x00\x79\x00\x21\x00\x5e\x00\x23\x00\x2a\x00\x2b\x00\x07\x00\x2a\x00\x2b\x00\x23\x00\x2a\x00\x2b\x00\x2c\x00\x73\x00\x74\x00\x02\x00\x2a\x00\x2b\x00\x2c\x00\x33\x00\x02\x00\x77\x00\x78\x00\x79\x00\x19\x00\x33\x00\x1b\x00\x2b\x00\x1d\x00\x1e\x00\x1f\x00\x04\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x07\x00\x2a\x00\x2b\x00\x36\x00\x5c\x00\x5d\x00\x33\x00\x4e\x00\x4f\x00\x50\x00\x37\x00\x77\x00\x78\x00\x79\x00\x41\x00\x42\x00\x43\x00\x44\x00\x19\x00\x04\x00\x1b\x00\x04\x00\x1d\x00\x1e\x00\x1f\x00\x2c\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x5a\x00\x2a\x00\x5c\x00\x01\x00\x5e\x00\x5f\x00\x33\x00\x79\x00\x2b\x00\x21\x00\x37\x00\x23\x00\x1e\x00\x79\x00\x5e\x00\x23\x00\x5c\x00\x5d\x00\x2a\x00\x2b\x00\x2c\x00\x07\x00\x2a\x00\x2b\x00\x2c\x00\x73\x00\x74\x00\x33\x00\x17\x00\x18\x00\x36\x00\x33\x00\x79\x00\x1e\x00\x36\x00\x5e\x00\x77\x00\x78\x00\x79\x00\x19\x00\x04\x00\x1b\x00\x04\x00\x1d\x00\x1e\x00\x1f\x00\x30\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x07\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x33\x00\x42\x00\x43\x00\x44\x00\x37\x00\x46\x00\x47\x00\x11\x00\x12\x00\x77\x00\x78\x00\x79\x00\x19\x00\x02\x00\x1b\x00\x5e\x00\x1d\x00\x1e\x00\x1f\x00\x04\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x79\x00\x36\x00\x77\x00\x78\x00\x79\x00\x04\x00\x33\x00\x77\x00\x78\x00\x79\x00\x37\x00\x23\x00\x41\x00\x42\x00\x43\x00\x44\x00\x32\x00\x04\x00\x2a\x00\x2b\x00\x2c\x00\x07\x00\x04\x00\x78\x00\x79\x00\x5c\x00\x5d\x00\x33\x00\x0b\x00\x0c\x00\x36\x00\x41\x00\x42\x00\x43\x00\x44\x00\x02\x00\x77\x00\x78\x00\x79\x00\x19\x00\x02\x00\x1b\x00\x02\x00\x1d\x00\x1e\x00\x1f\x00\x1f\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x07\x00\x01\x00\x2d\x00\x03\x00\x2a\x00\x2b\x00\x33\x00\x3c\x00\x78\x00\x79\x00\x37\x00\x2a\x00\x2b\x00\x0d\x00\x2b\x00\x77\x00\x78\x00\x79\x00\x19\x00\x2b\x00\x1b\x00\x02\x00\x1d\x00\x1e\x00\x1f\x00\x2b\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x79\x00\x05\x00\x06\x00\x07\x00\x5c\x00\x5d\x00\x33\x00\x36\x00\x1c\x00\x1d\x00\x37\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x36\x00\x21\x00\x2c\x00\x23\x00\x43\x00\x77\x00\x78\x00\x79\x00\x1e\x00\x48\x00\x2a\x00\x2b\x00\x2c\x00\x43\x00\x05\x00\x06\x00\x07\x00\x02\x00\x48\x00\x33\x00\x77\x00\x78\x00\x79\x00\x56\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x17\x00\x18\x00\x5e\x00\x56\x00\x02\x00\x42\x00\x43\x00\x44\x00\x02\x00\x5c\x00\x5d\x00\x5e\x00\x05\x00\x06\x00\x07\x00\x11\x00\x12\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x37\x00\x02\x00\x77\x00\x78\x00\x79\x00\x77\x00\x78\x00\x79\x00\x0b\x00\x0c\x00\x41\x00\x42\x00\x43\x00\x44\x00\x5a\x00\x02\x00\x5c\x00\x02\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x79\x00\x6e\x00\x77\x00\x78\x00\x79\x00\x2c\x00\x73\x00\x74\x00\x1e\x00\x76\x00\x5a\x00\x5c\x00\x5c\x00\x2d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x1e\x00\x6e\x00\x77\x00\x78\x00\x79\x00\x30\x00\x73\x00\x74\x00\x5a\x00\x76\x00\x5c\x00\x5b\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x02\x00\x6e\x00\x05\x00\x06\x00\x07\x00\x36\x00\x73\x00\x74\x00\x02\x00\x76\x00\x02\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x1f\x00\x43\x00\x04\x00\x02\x00\x36\x00\x02\x00\x48\x00\x4d\x00\x04\x00\x3b\x00\x3c\x00\x3d\x00\x05\x00\x06\x00\x07\x00\x41\x00\x42\x00\x43\x00\x44\x00\x04\x00\x56\x00\x04\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x3b\x00\x3c\x00\x3d\x00\x4e\x00\x4f\x00\x50\x00\x41\x00\x42\x00\x43\x00\x44\x00\x5e\x00\x5c\x00\x05\x00\x06\x00\x07\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x30\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x38\x00\x02\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x02\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x5a\x00\x79\x00\x5c\x00\x2b\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x79\x00\x6e\x00\x4e\x00\x4f\x00\x50\x00\x1f\x00\x73\x00\x74\x00\x5a\x00\x76\x00\x5c\x00\x01\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x02\x00\x6e\x00\x4e\x00\x4f\x00\x50\x00\x02\x00\x73\x00\x74\x00\x5a\x00\x76\x00\x5c\x00\x02\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x02\x00\x6e\x00\x05\x00\x06\x00\x07\x00\x2c\x00\x73\x00\x74\x00\x1f\x00\x76\x00\x2a\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x5e\x00\x04\x00\x04\x00\x4e\x00\x4f\x00\x50\x00\x4e\x00\x4f\x00\x50\x00\x3b\x00\x3c\x00\x3d\x00\x05\x00\x06\x00\x07\x00\x41\x00\x42\x00\x43\x00\x44\x00\x4e\x00\x4f\x00\x50\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x4e\x00\x4f\x00\x50\x00\x77\x00\x78\x00\x79\x00\x05\x00\x06\x00\x07\x00\x77\x00\x78\x00\x79\x00\x77\x00\x78\x00\x79\x00\x1f\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x38\x00\x01\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x2c\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x5a\x00\x79\x00\x5c\x00\x2c\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x1f\x00\x6e\x00\x77\x00\x78\x00\x79\x00\x02\x00\x73\x00\x74\x00\x5a\x00\x76\x00\x5c\x00\x02\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x08\x00\x6e\x00\x77\x00\x78\x00\x79\x00\x1f\x00\x73\x00\x74\x00\x5a\x00\x76\x00\x5c\x00\x01\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x5e\x00\x6e\x00\x05\x00\x06\x00\x07\x00\x1f\x00\x73\x00\x74\x00\x02\x00\x76\x00\x02\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x01\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x2b\x00\x42\x00\x43\x00\x44\x00\x2b\x00\x5b\x00\x05\x00\x06\x00\x07\x00\x41\x00\x42\x00\x43\x00\x44\x00\x77\x00\x78\x00\x79\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x77\x00\x78\x00\x79\x00\x5c\x00\x2a\x00\x5a\x00\x46\x00\x5c\x00\x02\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x2a\x00\x6e\x00\x2a\x00\x70\x00\x78\x00\x79\x00\x73\x00\x74\x00\x77\x00\x78\x00\x79\x00\x02\x00\x02\x00\x5a\x00\x79\x00\x5c\x00\x5e\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x2a\x00\x6e\x00\x4e\x00\x4f\x00\x50\x00\x1e\x00\x73\x00\x74\x00\x5a\x00\x76\x00\x5c\x00\x1a\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x1b\x00\x6e\x00\x0c\x00\x0d\x00\x19\x00\x10\x00\x73\x00\x74\x00\x04\x00\x76\x00\x01\x00\x5b\x00\x03\x00\x02\x00\x02\x00\x19\x00\x02\x00\x1b\x00\x5e\x00\x1d\x00\x1e\x00\x1f\x00\x0d\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x4e\x00\x4f\x00\x50\x00\x01\x00\x20\x00\x21\x00\x33\x00\x23\x00\x57\x00\x2b\x00\x37\x00\x4e\x00\x4f\x00\x50\x00\x2a\x00\x2b\x00\x2c\x00\x46\x00\x4e\x00\x4f\x00\x50\x00\x2b\x00\x5e\x00\x33\x00\x2c\x00\x01\x00\x36\x00\x2c\x00\x36\x00\x5a\x00\x01\x00\x5c\x00\x30\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x41\x00\x42\x00\x43\x00\x44\x00\x43\x00\x0d\x00\x2c\x00\x30\x00\x5a\x00\x48\x00\x5c\x00\x2c\x00\x5e\x00\x5f\x00\x60\x00\x37\x00\x01\x00\x73\x00\x74\x00\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x56\x00\x03\x00\x41\x00\x42\x00\x43\x00\x44\x00\x5c\x00\x5d\x00\x5e\x00\x01\x00\x73\x00\x74\x00\x2b\x00\x02\x00\x77\x00\x78\x00\x79\x00\x30\x00\x31\x00\x2c\x00\x33\x00\x02\x00\x35\x00\x5b\x00\x5e\x00\x38\x00\x01\x00\x65\x00\x3b\x00\x01\x00\x3d\x00\x3e\x00\x3f\x00\x79\x00\x4e\x00\x4f\x00\x50\x00\x44\x00\x45\x00\x01\x00\x47\x00\x04\x00\x5e\x00\x4a\x00\x4b\x00\x01\x00\x4d\x00\x4e\x00\x5e\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x01\x00\x77\x00\x78\x00\x79\x00\x2c\x00\x65\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x01\x00\x77\x00\x78\x00\x79\x00\x1e\x00\x65\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x01\x00\x01\x00\x10\x00\x4e\x00\x4f\x00\x50\x00\x5a\x00\x1e\x00\x5c\x00\x01\x00\x5e\x00\x5f\x00\x60\x00\x1b\x00\x2b\x00\x38\x00\x2b\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x1e\x00\x41\x00\x42\x00\x43\x00\x44\x00\x2b\x00\x2b\x00\x2c\x00\x73\x00\x74\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x65\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x01\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\x77\x00\x78\x00\x79\x00\x01\x00\x01\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x5b\x00\x31\x00\x10\x00\x65\x00\x2a\x00\x5a\x00\x36\x00\x5c\x00\x1b\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x1b\x00\x3e\x00\x77\x00\x78\x00\x79\x00\x1a\x00\x43\x00\x77\x00\x78\x00\x79\x00\x47\x00\x48\x00\x77\x00\x78\x00\x79\x00\x19\x00\x4d\x00\x73\x00\x74\x00\x50\x00\x2f\x00\x52\x00\x31\x00\x10\x00\x33\x00\x56\x00\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x5e\x00\x3d\x00\x3e\x00\x3f\x00\x4e\x00\x4f\x00\x50\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\x36\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\x47\x00\x19\x00\xff\xff\x1b\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x77\x00\x78\x00\x79\x00\x2f\x00\xff\xff\x31\x00\x33\x00\x33\x00\xff\xff\x35\x00\x37\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\x78\x00\x79\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\x77\x00\x78\x00\x79\x00\xff\xff\x37\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\x77\x00\x78\x00\x79\x00\x01\x00\x02\x00\x03\x00\x01\x00\x02\x00\x03\x00\x1b\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x01\x00\x02\x00\x03\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\x3c\x00\x3d\x00\x2c\x00\xff\xff\xff\xff\x2f\x00\x42\x00\x43\x00\x44\x00\x33\x00\x01\x00\x35\x00\x03\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\x0d\x00\x01\x00\x02\x00\x03\x00\x44\x00\x45\x00\x77\x00\x78\x00\x79\x00\xff\xff\x4a\x00\x4b\x00\x4c\x00\x04\x00\x4e\x00\xff\xff\xff\xff\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\x78\x00\x79\x00\xff\xff\x36\x00\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x01\x00\x43\x00\x03\x00\xff\xff\x05\x00\x06\x00\x48\x00\xff\xff\x09\x00\x0a\x00\x1b\x00\xff\xff\x38\x00\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x56\x00\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\xff\xff\x2f\x00\x01\x00\x02\x00\x03\x00\x33\x00\x01\x00\x35\x00\x03\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\x0d\x00\x0d\x00\x0e\x00\x0f\x00\x44\x00\x45\x00\x01\x00\x02\x00\x03\x00\xff\xff\x4a\x00\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\xff\xff\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\x0d\x00\x0e\x00\x0f\x00\x36\x00\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\x43\x00\x36\x00\xff\xff\xff\xff\xff\xff\x48\x00\x3b\x00\x3c\x00\x3d\x00\x1b\x00\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\x5a\x00\x56\x00\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x2b\x00\x2c\x00\x5e\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\x34\x00\xff\xff\xff\xff\x37\x00\xff\xff\x39\x00\x3a\x00\x37\x00\xff\xff\x73\x00\x74\x00\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x49\x00\x46\x00\x47\x00\x4c\x00\xff\xff\xff\xff\x4f\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x78\x00\x79\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x0d\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\xff\xff\x1b\x00\xff\xff\xff\xff\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\x2f\x00\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\x36\x00\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x43\x00\x01\x00\xff\xff\x03\x00\xff\xff\x48\x00\x5c\x00\x5d\x00\x5e\x00\x4c\x00\x4d\x00\xff\xff\x5a\x00\x0d\x00\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x56\x00\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x1b\x00\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x4e\x00\xff\xff\x2f\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x36\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x43\x00\x03\x00\xff\xff\x01\x00\xff\xff\x48\x00\x01\x00\xff\xff\xff\xff\x4c\x00\x4d\x00\x0d\x00\x42\x00\x43\x00\x44\x00\x0d\x00\x46\x00\x47\x00\x0d\x00\x56\x00\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\x36\x00\x5a\x00\xff\xff\x5c\x00\x36\x00\x5e\x00\x5f\x00\x36\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\x78\x00\x79\x00\xff\xff\x43\x00\x48\x00\xff\xff\x43\x00\xff\xff\x48\x00\xff\xff\xff\xff\x48\x00\x73\x00\x74\x00\x2f\x00\x5a\x00\xff\xff\x5c\x00\x56\x00\x5e\x00\x5f\x00\x36\x00\x56\x00\xff\xff\x5c\x00\x56\x00\x5e\x00\xff\xff\x5c\x00\x5d\x00\x5e\x00\x5c\x00\x5d\x00\x5e\x00\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\x48\x00\x73\x00\x74\x00\xff\xff\x4c\x00\x4d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x56\x00\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x01\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\xff\xff\x03\x00\xff\xff\x0d\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x01\x00\x1b\x00\x03\x00\xff\xff\xff\xff\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x73\x00\x74\x00\x2c\x00\x2d\x00\x36\x00\x2f\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\x1b\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\x2d\x00\xff\xff\x2f\x00\xff\xff\x73\x00\x74\x00\x4c\x00\xff\xff\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x4c\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\x1b\x00\x46\x00\x47\x00\x5a\x00\x01\x00\x5c\x00\x03\x00\x5e\x00\x5f\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\x73\x00\x74\x00\x1b\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\xff\xff\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\x48\x00\xff\xff\x2c\x00\xff\xff\x4c\x00\x2f\x00\x78\x00\x79\x00\xff\xff\x01\x00\xff\xff\x03\x00\x73\x00\x74\x00\x56\x00\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x0d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4c\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\x73\x00\x74\x00\x36\x00\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\x48\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\x1b\x00\x5e\x00\x5f\x00\x60\x00\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\x56\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x5e\x00\xff\xff\x10\x00\x2f\x00\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\x5a\x00\x1b\x00\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\xff\xff\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\x48\x00\xff\xff\x2c\x00\xff\xff\x4c\x00\x2f\x00\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\x56\x00\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\xff\xff\x36\x00\xff\xff\xff\xff\xff\xff\x4c\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x01\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\x02\x00\xff\xff\xff\xff\x0d\x00\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x01\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x79\x00\xff\xff\x10\x00\x73\x00\x74\x00\xff\xff\xff\xff\x36\x00\x2f\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\x1b\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\x2f\x00\xff\xff\x73\x00\x74\x00\x4c\x00\xff\xff\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\x5e\x00\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x4c\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x1b\x00\x01\x00\x02\x00\xff\xff\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x2c\x00\xff\xff\x5a\x00\x2f\x00\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\xff\xff\x1b\x00\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x73\x00\x74\x00\xff\xff\x2f\x00\xff\xff\x4c\x00\x78\x00\x79\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\x1e\x00\xff\xff\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x2f\x00\xff\xff\x4c\x00\xff\xff\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\xff\xff\xff\xff\x4c\x00\x73\x00\x74\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x78\x00\x79\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x2f\x00\x37\x00\xff\xff\xff\xff\x4c\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x1b\x00\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x4c\x00\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\xff\xff\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\x01\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x2f\x00\xff\xff\xff\xff\xff\xff\x4c\x00\x78\x00\x79\x00\xff\xff\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x4c\x00\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\xff\xff\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\x0d\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x0d\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\x1b\x00\x30\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x56\x00\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\x5e\x00\xff\xff\x2f\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x01\x00\xff\xff\x03\x00\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x4c\x00\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\xff\xff\x01\x00\x31\x00\x03\x00\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\x03\x00\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\x03\x00\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\x03\x00\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\x01\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\x03\x00\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\x03\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\xff\xff\x31\x00\xff\xff\x33\x00\x0d\x00\x35\x00\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x01\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x5d\x00\x5e\x00\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x5c\x00\x5d\x00\x5e\x00\xff\xff\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\xff\xff\x0d\x00\x38\x00\xff\xff\x01\x00\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\x0d\x00\x47\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x01\x00\x1e\x00\x03\x00\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\xff\xff\x36\x00\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\x43\x00\x35\x00\xff\xff\xff\xff\x38\x00\x48\x00\xff\xff\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\x56\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\x5c\x00\x4e\x00\x5e\x00\xff\xff\x51\x00\x36\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x43\x00\xff\xff\xff\xff\x1e\x00\x1f\x00\x48\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\x5c\x00\xff\xff\x5e\x00\x37\x00\xff\xff\xff\xff\xff\xff\xff\xff\x3c\x00\x3d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\xff\xff\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\xff\xff\xff\xff\xff\xff\x1e\x00\x1f\x00\xff\xff\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x33\x00\x42\x00\x43\x00\x44\x00\x37\x00\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\xff\xff\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x1e\x00\x1f\x00\xff\xff\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\x78\x00\x79\x00\x37\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x77\x00\x78\x00\x79\x00\xff\xff\xff\xff\xff\xff\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x1e\x00\x1f\x00\xff\xff\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x33\x00\x42\x00\x43\x00\x44\x00\x37\x00\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x78\x00\x79\x00\xff\xff\x77\x00\x78\x00\x79\x00\xff\xff\xff\xff\xff\xff\x48\x00\x49\x00\x4a\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\x1f\x00\xff\xff\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\xff\xff\x37\x00\x78\x00\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\x1e\x00\x1f\x00\xff\xff\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\x20\x00\x21\x00\xff\xff\x23\x00\xff\xff\x33\x00\xff\xff\xff\xff\xff\xff\x37\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\x21\x00\x36\x00\x23\x00\xff\xff\x77\x00\x78\x00\x79\x00\x4a\x00\xff\xff\x2a\x00\x2b\x00\x2c\x00\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\x36\x00\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x79\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\x36\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\xff\xff\x78\x00\x79\x00\x42\x00\x43\x00\x44\x00\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x21\x00\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\x21\x00\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\x21\x00\xff\xff\x23\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x33\x00\x79\x00\xff\xff\x36\x00\x78\x00\x79\x00\x33\x00\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x22\x00\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x23\x00\x33\x00\x25\x00\xff\xff\x27\x00\x37\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\xff\xff\x37\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4c\x00\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\xff\xff\x5a\x00\x4c\x00\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\x22\x00\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\x77\x00\x78\x00\x79\x00\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\xff\xff\x37\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x22\x00\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\x4c\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\x5a\x00\x37\x00\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\x4c\x00\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\x22\x00\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\xff\xff\x37\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\xff\xff\x22\x00\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\x4c\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\x5a\x00\x37\x00\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\x4c\x00\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\x22\x00\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\x2e\x00\x2f\x00\x30\x00\x22\x00\x23\x00\x33\x00\x25\x00\xff\xff\x27\x00\x37\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\x2e\x00\x2f\x00\x30\x00\x22\x00\x23\x00\x33\x00\x25\x00\xff\xff\x27\x00\x37\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\x22\x00\x23\x00\x37\x00\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\xff\xff\x37\x00\xff\xff\x4c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\xff\xff\x22\x00\x23\x00\x4c\x00\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\x2a\x00\x2b\x00\x2c\x00\x77\x00\x78\x00\x79\x00\xff\xff\x23\x00\xff\xff\x33\x00\xff\xff\xff\xff\xff\xff\x37\x00\x2a\x00\x2b\x00\x2c\x00\x36\x00\x77\x00\x78\x00\x79\x00\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\x36\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\x4c\x00\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\xff\xff\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x23\x00\xff\xff\xff\xff\x36\x00\xff\xff\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\xff\xff\x78\x00\x79\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x36\x00\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\x73\x00\x74\x00\xff\xff\x37\x00\x77\x00\x78\x00\x79\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\x47\x00\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x37\x00\xff\xff\xff\xff\x36\x00\x71\x00\xff\xff\x73\x00\x74\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\x79\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x77\x00\x78\x00\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\xff\xff\xff\xff\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\x37\x00\x77\x00\x78\x00\x79\x00\x3b\x00\x3c\x00\x3d\x00\x37\x00\x36\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\xff\xff\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x77\x00\x78\x00\x79\x00\xff\xff\xff\xff\x73\x00\x74\x00\x77\x00\x78\x00\x79\x00\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x4e\x00\xff\xff\xff\xff\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x5d\x00\x5e\x00\x5f\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x4e\x00\xff\xff\x2b\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\x5d\x00\x5e\x00\x5f\x00\x2b\x00\xff\xff\xff\xff\x3e\x00\xff\xff\xff\xff\x31\x00\xff\xff\x43\x00\xff\xff\xff\xff\x36\x00\x47\x00\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4d\x00\x3e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x43\x00\xff\xff\xff\xff\x56\x00\x47\x00\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4d\x00\x5e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x2c\x00\xff\xff\xff\xff\x56\x00\xff\xff\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\xff\xff\x5e\x00\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\x5d\x00\x5e\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x5d\x00\x5e\x00\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x5d\x00\x5e\x00\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\xff\xff\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\xff\xff\xff\xff\x50\x00\xff\xff\x52\x00\xff\xff\x54\x00\x55\x00\x56\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\xff\xff\x5e\x00\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x4e\x00\xff\xff\xff\xff\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\x5f\x00\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x4e\x00\xff\xff\xff\xff\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\x5d\x00\x5e\x00\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x4e\x00\xff\xff\xff\xff\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\x5d\x00\x5e\x00\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x4e\x00\xff\xff\xff\xff\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\x5d\x00\x5e\x00\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x4e\x00\xff\xff\xff\xff\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x5d\x00\x5e\x00\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x4e\x00\xff\xff\xff\xff\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\xff\xff\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x5d\x00\x5e\x00\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x4e\x00\xff\xff\xff\xff\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\xff\xff\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x5d\x00\x5e\x00\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x4e\x00\xff\xff\xff\xff\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\x5d\x00\x5e\x00\x3b\x00\xff\xff\xff\xff\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x53\x00\x5e\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x53\x00\x76\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x53\x00\x76\x00\xff\xff\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\x76\x00\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x73\x00\x74\x00\xff\xff\x53\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x53\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x53\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\x73\x00\x74\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\x79\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\x70\x00\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\x70\x00\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\x70\x00\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\x70\x00\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\x70\x00\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\x6f\x00\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x38\x00\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x31\x00\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\x38\x00\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x38\x00\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x38\x00\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x38\x00\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#--happyTable :: HappyAddr-happyTable = HappyA# "\x00\x00\x88\x00\x4c\x00\x4d\x00\xa2\x01\x7b\x03\x5e\x03\x12\x03\x13\x03\x11\x03\x12\x03\x13\x03\x60\x03\x3d\xfe\xe6\x02\x25\x02\x8d\x01\x72\x03\xaa\x00\xcb\x01\x35\x03\x25\x03\x1a\x02\x7a\x03\x4e\x00\x69\x03\x4f\x00\x26\x02\x50\x00\x51\x00\x52\x00\xcc\x01\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\xd4\x02\x16\x03\xf8\x00\x7b\x02\x82\x02\xef\x00\x5f\x00\x84\x01\xc7\x00\xb9\x00\x60\x00\xc8\x00\xf7\x01\xbc\x00\x3d\x01\x4c\x00\x4d\x00\x75\x01\x36\x03\x7b\x03\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x9c\x00\x25\x02\x4f\x03\xba\x00\x83\x02\xcb\x01\x76\x01\xbd\x00\xe2\x01\xf9\x00\x4e\x00\x71\x03\x4f\x00\x26\x02\x50\x00\x51\x00\x52\x00\xcc\x01\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x14\x03\x97\x01\x86\x00\x14\x03\x14\x03\x84\x00\x5f\x00\x86\x00\x73\x03\x84\x00\x60\x00\x86\x00\x86\x00\xd6\x00\x4b\x00\x4c\x00\x4d\x00\x68\x00\x69\x00\x6a\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xf0\x00\x4b\x00\xc8\x01\x63\x00\xc9\x01\x2a\x00\xb6\x00\x84\x00\x98\x01\x86\x00\x4e\x00\x86\x00\x4f\x00\xc9\x00\x50\x00\x51\x00\x52\x00\xbe\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\xaa\x00\xcb\x01\x06\x02\x4f\x03\xaa\x00\x84\x00\x5f\x00\x86\x00\x6a\x03\x84\x00\x60\x00\x86\x00\x55\x03\xcc\x01\x07\x02\xdd\x01\xbd\x00\x68\x00\x69\x00\x6a\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x9c\x00\x39\x03\xab\x00\xfb\x02\xac\x00\xc4\x00\x25\x02\x3b\x03\x84\x00\x98\x01\x86\x00\xad\x00\x5d\x00\x5e\x00\xd7\x00\xe1\x02\xb7\x00\xd3\x02\x26\x02\xe0\x02\x5f\x00\x25\x02\x9d\x01\xae\x00\xc5\x00\x56\x03\xde\x01\x0a\x03\x3c\xfe\xf7\x01\x6d\x03\x0b\x03\xf6\x01\x26\x02\xaf\x00\x62\x00\x63\x00\x64\x00\xb0\x00\x66\x00\x67\x00\x3c\xfe\xd8\x00\xb9\x00\xf7\x01\xd9\x00\x3c\xfe\x68\x00\x69\x00\x6a\x00\xcb\x01\xb5\x00\xda\x00\x5d\x00\x5e\x00\x9e\x01\xbe\x00\xd4\x02\x6e\x03\xe1\x02\x3c\xfe\x5f\x00\xcc\x01\x60\x02\xba\x00\x84\x00\x84\x00\xd7\x00\x86\x00\xf7\x01\xf0\x00\x4b\x00\xb6\x00\xd5\x00\xa1\x00\xdb\x00\x62\x00\x63\x00\x64\x00\xdc\x00\x66\x00\x67\x00\x54\x03\x41\x03\x9f\x01\xd6\x00\xa0\x01\xa2\x00\xae\x00\xb1\x00\x6a\x00\xc6\x00\xa3\x00\xa1\x01\x5d\x00\x5e\x00\x96\x00\x84\x00\xd7\x00\x86\x00\xf9\x01\x19\x03\x5f\x00\xec\x02\xe8\x02\xa2\x01\xa4\x00\x1a\x03\x84\x00\xd7\x00\x86\x00\x42\x03\x84\x00\xd7\x00\x86\x00\xf7\x01\xa3\x01\x62\x00\x63\x00\x64\x00\xa4\x01\x66\x00\x67\x00\x84\x00\xd7\x00\x97\x00\xc3\x00\x98\x00\xc4\x00\xf0\x00\x4b\x00\xdd\x00\x1b\x03\x6c\x00\x99\x00\x5d\x00\x5e\x00\x86\x02\x1d\x03\xb7\x00\xfa\x01\x84\x00\x89\x02\x5f\x00\x28\x03\x6d\x00\x0c\x02\xc5\x00\x84\x00\x98\x01\x86\x00\xf0\x00\x4b\x00\xc1\x02\x80\x02\x6a\x00\xa1\x00\x9a\x00\x62\x00\x63\x00\x64\x00\x9b\x00\x66\x00\x67\x00\x84\x00\xd7\x00\xab\x00\xcb\x01\xac\x00\xa2\x00\xd8\x00\xb9\x00\x9c\x00\xd9\x00\xa3\x00\xad\x00\x5d\x00\x5e\x00\x1c\x03\xcc\x01\xda\x00\x5d\x00\x5e\x00\x67\x02\x5f\x00\x60\x02\x98\x02\xae\x00\xa4\x00\x5f\x00\xda\x01\xdb\x01\xba\x00\x99\x02\x84\x00\xd7\x00\x86\x00\x8c\x02\xaf\x00\x62\x00\x63\x00\xd0\x01\x9a\x02\xdb\x00\x62\x00\x63\x00\xd0\x01\x9f\x01\xa8\x02\xa0\x01\x0d\x02\x8c\x00\x6a\x00\x9c\x00\xc6\x00\x84\x01\xa1\x01\x5d\x00\x5e\x00\x97\x01\xa1\x00\xb4\x02\x84\x01\x68\x02\x84\x00\x5f\x00\x86\x00\xa8\xfe\xa2\x01\xbc\x00\xa8\xfe\xd6\x00\xec\x01\xa2\x00\x6e\x03\x32\x00\x33\x00\xd7\x01\xa3\x00\xa3\x01\x62\x00\x63\x00\xd0\x01\x90\x02\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x25\x02\xbd\x00\x16\x02\xa4\x00\x87\x02\x6a\x00\xa8\xfe\xda\x02\xe1\x01\x84\x00\xdd\x00\x86\x00\x26\x02\xc0\x00\xb9\x00\x37\x03\xb8\x00\xb9\x00\x38\x03\x46\x02\x32\x00\x33\x00\x91\x02\x8d\x02\x19\x02\x48\x02\x49\x02\x4a\x02\x1b\x02\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x1e\x02\xba\x00\xf0\x00\x4b\x00\xba\x00\x4b\x02\xa9\x00\x4f\x00\xaa\x00\x50\x00\x4c\x02\x4d\x02\x9c\x00\x53\x00\x4e\x02\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\xe0\x01\xe1\x01\x84\x00\x98\x01\x86\x00\x42\x02\x5f\x00\x20\x02\x70\x01\xbe\x00\x4f\x02\x06\x00\x71\x01\x07\x00\xe2\x01\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x2f\x02\x39\x00\x84\x00\xd7\x00\x86\x00\x89\x01\x18\x00\x19\x00\xa8\x01\x3a\x00\x92\x00\x63\x00\xe9\x01\xc1\x00\xe5\xff\x06\x00\xbb\x00\x07\x00\x86\x01\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x84\x01\x39\x00\xe2\x01\x84\x01\x35\x02\xc6\x01\x18\x00\x19\x00\x43\x02\x3a\x00\x68\x00\xc3\x01\x6a\x00\x46\x02\x32\x00\x33\x00\x44\x02\x47\x02\x60\x02\x48\x02\x49\x02\x4a\x02\x3f\x01\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x92\x01\x1a\x02\x95\x00\x6a\x00\x83\x01\x4b\x02\x84\x01\x4f\x00\x40\x01\x50\x00\x4c\x02\x4d\x02\xd6\x00\x53\x00\x4e\x02\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x0d\x01\x70\x03\x8c\x00\x6a\x00\x89\x01\x84\x01\x5f\x00\x86\x01\x84\x01\x99\x01\x4f\x02\xa8\x01\xc6\x01\x97\x01\x82\x01\xea\x02\x23\x02\xcf\x00\xeb\x02\x06\x02\x88\x01\xaa\x00\xc8\x01\x63\x00\xc9\x01\xd6\x00\x8a\x01\x0e\x01\x55\x00\x98\x01\x0f\x01\x07\x02\x10\x01\x84\x01\x11\x01\x5c\x00\x5d\x00\x5e\x00\x84\x01\x9a\x01\x84\x01\x84\x01\xc0\x00\xb9\x00\x5f\x00\x06\x00\x9b\x01\x07\x00\x12\x01\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xba\x00\x39\x00\x84\x00\xd7\x00\x86\x00\x68\x01\x18\x00\x19\x00\xa7\x01\x3a\x00\x68\x00\xc3\x01\x6a\x00\x9c\x00\xa9\x01\xcf\x01\x62\x00\x63\x00\xd0\x01\x06\x00\xbc\x01\x07\x00\xc5\x01\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0d\x01\x14\x01\x84\x00\x98\x01\x86\x00\xc7\x01\x18\x00\x19\x00\x84\x00\xd7\x00\x68\x00\x15\x01\x6a\x00\xf6\x01\x9c\x00\x7d\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x30\x03\xd4\x01\x75\x02\x31\x03\xf7\x01\x76\x02\x0e\x01\x55\x00\xc1\x00\x0f\x01\xd5\x01\x10\x01\x9c\x00\x11\x01\x5c\x00\x5d\x00\x5e\x00\x0d\x01\x20\x03\x21\x03\x9f\x00\x04\x03\x22\x03\x5f\x00\x2b\x03\x2c\x03\xdd\x02\x12\x01\xae\x00\xde\x02\x2e\x03\xa4\x00\xae\x00\x2b\x02\xce\x00\xcf\x00\x2c\x02\xd1\x00\x9c\x00\xd1\x01\x62\x00\x63\x00\xd0\x01\xe7\x00\x0e\x01\x55\x00\xed\x00\x0f\x01\x69\x01\x10\x01\xfa\x00\x11\x01\x5c\x00\x5d\x00\x5e\x00\x7e\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x5f\x00\x06\x00\x04\x01\x07\x00\x12\x01\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0a\x01\x14\x01\x84\x00\xd7\x00\x2b\x01\x6b\x01\x18\x00\x19\x00\x87\x00\x05\x00\x68\x00\x15\x01\x6a\x00\x2d\x02\x6a\x00\x05\x00\x7f\x02\x80\x02\x6a\x00\x06\x00\x7d\x03\x07\x00\x2a\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0d\x01\x14\x01\x38\x02\x62\x00\x63\x00\xd0\x01\x18\x00\x19\x00\xae\x00\x7e\x03\x68\x00\x15\x01\x6a\x00\x2b\x02\xce\x00\xcf\x00\x2c\x02\xd1\x00\x2a\x00\xd1\x01\x62\x00\x63\x00\x64\x00\xb5\x02\xd2\x01\x67\x00\x7f\x03\x0e\x01\x55\x00\x75\x03\x0f\x01\x76\x03\x10\x01\x77\x03\x11\x01\x5c\x00\x5d\x00\x5e\x00\x38\x03\xa6\x00\xa7\x00\xbe\x01\x69\x03\x4f\x00\x5f\x00\x50\x00\xbf\x01\xc0\x01\x12\x01\x53\x00\xc1\x01\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5a\x03\x20\x01\x21\x01\x22\x01\x23\x01\x2a\x00\x5f\x00\x65\x01\x13\x01\xaa\x00\xc2\x01\xf0\x00\x4b\x00\x2d\x02\x6a\x00\xf9\x02\x62\x00\x63\x00\xd0\x01\x66\x01\x3d\x03\x3e\x03\x06\x00\x86\x00\x07\x00\x6c\x03\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x06\x00\x14\x01\x07\x00\x58\x03\x00\x01\x09\x00\x18\x00\x19\x00\xfe\x02\xff\x02\x68\x00\x15\x01\x6a\x00\x97\x00\x86\x00\x98\x00\x00\x03\x01\x03\xee\x01\xfa\x01\x19\x03\x98\x00\x99\x00\x5d\x00\x5e\x00\x18\x00\x19\x00\x5d\x03\x99\x00\x5d\x00\x5e\x00\x5f\x00\x5e\x03\x68\x00\xc3\x01\x6a\x00\xbe\x01\x5f\x00\x4f\x00\x60\x03\x50\x00\xbf\x01\xc0\x01\x63\x03\x53\x00\xc1\x01\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x17\x02\xfa\x01\x8f\x02\xa2\x01\xf0\x00\x4b\x00\x5f\x00\x26\x02\xa6\x00\xa7\x00\xc2\x01\x49\x03\x8c\x00\x6a\x00\xe5\x01\x62\x00\x63\x00\xd0\x01\xbe\x01\x64\x03\x4f\x00\x65\x03\x50\x00\xbf\x01\xc0\x01\x3d\x00\x53\x00\xc1\x01\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x06\x00\x40\x03\x07\x00\x3f\x03\x02\x01\x09\x00\x5f\x00\x9c\x00\x43\x03\x9f\x01\xc2\x01\xa0\x01\x49\x03\x9c\x00\x86\x00\xac\x00\xf0\x00\x4b\x00\xa1\x01\x5d\x00\x5e\x00\x21\x02\xad\x00\x5d\x00\x5e\x00\x18\x00\x19\x00\x5f\x00\x1e\x01\x1f\x01\xa2\x01\x5f\x00\x9c\x00\x4f\x03\xae\x00\x86\x00\x68\x00\xc3\x01\x6a\x00\xbe\x01\x51\x03\x4f\x00\x53\x03\x50\x00\xbf\x01\xc0\x01\x86\x01\x53\x00\xc1\x01\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x30\x02\x92\x01\xcf\x00\x93\x01\xd1\x00\x9d\x02\x5f\x00\x92\x00\x63\x00\x93\x00\xc2\x01\x94\x00\x67\x00\x24\x01\x25\x01\x68\x00\xc3\x01\x6a\x00\xbe\x01\xe3\x02\x4f\x00\x86\x00\x50\x00\xbf\x01\xc0\x01\xf0\x02\x53\x00\xc1\x01\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x9c\x00\xae\x00\xfb\x02\xfc\x02\x6a\x00\xf1\x02\x5f\x00\x4a\x03\x8c\x00\x6a\x00\xc2\x01\xa0\x01\xd1\x01\x62\x00\x63\x00\xd0\x01\x4c\x03\xf4\x02\xa1\x01\x5d\x00\x5e\x00\x36\x02\xf5\x02\x95\x01\x6a\x00\xf0\x00\x4b\x00\x5f\x00\x26\x01\x27\x01\xa2\x01\xf9\x02\x62\x00\x63\x00\xd0\x01\xf6\x02\x68\x00\xc3\x01\x6a\x00\xbe\x01\xf7\x02\x4f\x00\x0a\x03\x50\x00\xbf\x01\xc0\x01\xee\x01\x53\x00\xc1\x01\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\xbd\x01\x06\x02\x18\x03\xaa\x00\xe4\x00\xe5\x00\x5f\x00\x0d\x03\xd3\x01\x6a\x00\xc2\x01\xe6\x00\xe7\x00\x07\x02\x0e\x03\x68\x00\xc3\x01\x6a\x00\xbe\x01\x0f\x03\x4f\x00\x10\x03\x50\x00\xbf\x01\xc0\x01\x17\x03\x53\x00\xc1\x01\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x9c\x00\x6f\x03\x32\x00\x33\x00\xf0\x00\x4b\x00\x5f\x00\xa1\x00\x18\x01\x19\x01\xc2\x01\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\xa1\x00\x97\x00\x3d\x00\x98\x00\xa2\x00\x4b\x03\x8c\x00\x6a\x00\x2b\x03\xa3\x00\x99\x00\x5d\x00\x5e\x00\xa2\x00\x45\x03\x32\x00\x33\x00\x1f\x03\xa3\x00\x5f\x00\x68\x00\xc3\x01\x6a\x00\xa4\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x1e\x01\x1f\x01\x86\x00\xa4\x00\x23\x03\xc8\x01\x63\x00\xc9\x01\x26\x03\x84\x00\xd7\x00\x86\x00\x10\x03\x32\x00\x33\x00\x24\x01\x25\x01\x77\x02\xa6\x00\xa7\x00\x78\x02\x79\x02\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\xe8\x01\x27\x03\x68\x00\xc3\x01\x6a\x00\xf1\x02\x8c\x00\x6a\x00\x26\x01\x27\x01\x8f\x00\x62\x00\x63\x00\xd0\x01\x06\x00\x7c\x02\x07\x00\x7d\x02\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x9c\x00\x39\x00\xf2\x02\x8c\x00\x6a\x00\x63\x02\x18\x00\x19\x00\x3e\xfe\x3a\x00\x06\x00\xbc\x01\x07\x00\x8c\x02\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x92\x02\x39\x00\x68\x00\x91\x00\x6a\x00\x86\x01\x18\x00\x19\x00\x06\x00\x3a\x00\x07\x00\x2a\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x9c\x02\x39\x00\x95\x02\x32\x00\x33\x00\xa1\x00\x18\x00\x19\x00\x9d\x02\x3a\x00\xa5\x02\xa7\x02\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\xee\x01\xa2\x00\xca\x00\xb3\x02\xa2\x01\xb4\x02\xa3\x00\xbc\x02\xbd\x02\x9e\x02\xce\x00\xcf\x00\x96\x02\x32\x00\x33\x00\xe5\x01\x62\x00\x63\x00\xd0\x01\xbf\x02\xa4\x00\xc0\x02\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x2a\x02\xce\x00\xcf\x00\x05\x03\xa6\x00\xa7\x00\xcf\x01\x62\x00\x63\x00\xd0\x01\x86\x00\xd1\x02\x97\x02\x32\x00\x33\x00\x66\x01\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x86\x01\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\xcb\x00\xd6\x02\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd7\x02\xd2\x00\x62\x00\x63\x00\x64\x00\xd3\x00\x66\x00\x67\x00\x06\x00\x9c\x00\x07\x00\xda\x02\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x9c\x00\x39\x00\x26\x02\xa6\x00\xa7\x00\xdc\x02\x18\x00\x19\x00\x06\x00\x3a\x00\x07\x00\xdf\x02\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xdf\x01\x39\x00\x23\x03\xa6\x00\xa7\x00\xe0\x01\x18\x00\x19\x00\x06\x00\x3a\x00\x07\x00\xe5\x01\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xec\x01\x39\x00\x41\x02\x32\x00\x33\x00\xe4\x01\x18\x00\x19\x00\xee\x01\x3a\x00\xfb\x01\xfc\x01\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x86\x00\x12\x02\xe0\x00\x26\x02\xa6\x00\xa7\x00\xa2\x02\xa6\x00\xa7\x00\x2a\x02\xce\x00\xcf\x00\x52\x02\x32\x00\x33\x00\xcf\x01\x62\x00\x63\x00\xd0\x01\xa3\x02\xa6\x00\xa7\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x7d\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x26\x02\xa6\x00\xa7\x00\xb8\x02\x8c\x00\x6a\x00\x76\x01\x32\x00\x33\x00\xbd\x02\x8c\x00\x6a\x00\xc2\x02\x8c\x00\x6a\x00\xee\x01\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\xe1\x00\x19\x02\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\x3d\x00\xd2\x00\x62\x00\x63\x00\x64\x00\xe2\x00\x66\x00\x67\x00\x06\x00\x9c\x00\x07\x00\x20\x02\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xee\x01\x39\x00\xc3\x02\x8c\x00\x6a\x00\x28\x02\x18\x00\x19\x00\x06\x00\x3a\x00\x07\x00\x29\x02\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x78\x01\x39\x00\xc4\x02\x8c\x00\x6a\x00\xee\x01\x18\x00\x19\x00\x06\x00\x3a\x00\x07\x00\x34\x02\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x86\x00\x39\x00\xf1\x00\x32\x00\x33\x00\xee\x01\x18\x00\x19\x00\x3a\x02\x3a\x00\x3b\x02\x3c\x02\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x40\x02\x92\x01\xcf\x00\x93\x01\xd1\x00\x9d\x02\x3d\x02\x92\x00\x63\x00\xe9\x01\x3e\x02\x2a\x00\x31\x00\x32\x00\x33\x00\xcf\x01\x62\x00\x63\x00\xd0\x01\xc8\x02\x8c\x00\x6a\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x7d\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\xc9\x02\x8c\x00\x6a\x00\xbc\x01\x54\x02\x06\x00\x46\x02\x07\x00\x57\x02\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x55\x02\xea\x00\x56\x02\x79\x01\x95\x01\x6a\x00\x18\x00\x19\x00\xcd\x02\x8c\x00\x6a\x00\x58\x02\x59\x02\x06\x00\x9c\x00\x07\x00\x86\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x64\x02\x39\x00\xd8\x02\xa6\x00\xa7\x00\x66\x02\x18\x00\x19\x00\x06\x00\x3a\x00\x07\x00\x1b\x01\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x1a\x01\x39\x00\x85\x02\x4a\x02\x1c\x01\x1d\x01\x18\x00\x19\x00\x69\x02\x3a\x00\x06\x02\x6b\x01\xaa\x00\x5d\x01\x5e\x01\x4b\x02\x68\x01\x4f\x00\x86\x00\x50\x00\x4c\x02\x4d\x02\x07\x02\x53\x00\x4e\x02\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\xa5\x00\xa6\x00\xa7\x00\x74\x01\xd8\x00\xb9\x00\x5f\x00\xd9\x00\x78\x01\x7c\x01\x4f\x02\xe6\x01\xa6\x00\xa7\x00\xda\x00\x5d\x00\x5e\x00\x73\x01\xe7\x01\xa6\x00\xa7\x00\x7e\x01\x86\x00\x5f\x00\x3d\x00\x88\x01\xba\x00\x3d\x00\x3d\xfe\x06\x00\x6c\x00\x07\x00\x86\x01\xf4\x00\x09\x00\x0a\x00\x49\x01\xf7\x01\x62\x00\x63\x00\xd0\x01\x3d\xfe\x6d\x00\xe5\xff\x86\x01\x06\x00\x3d\xfe\x07\x00\x3d\x00\xf4\x00\x09\x00\x03\x01\xa5\x02\x9e\x01\x18\x00\x19\x00\x8e\x01\xce\x00\xcf\x00\x3d\x00\x3d\xfe\xaa\x00\x8f\x00\x62\x00\x63\x00\xd0\x01\x84\x00\xd7\x00\x86\x00\xc5\x01\x18\x00\x19\x00\x3f\x01\xcd\x01\x68\x00\xc3\x01\x6a\x00\x6e\x00\x6f\x00\x3d\x00\x70\x00\xcf\x01\x71\x00\x2a\x00\x86\x00\x72\x00\xda\x01\xff\xff\x73\x00\x8a\x00\x74\x00\x75\x00\x76\x00\xdd\x00\xa5\x00\xa6\x00\xa7\x00\x77\x00\x78\x00\x8b\x00\x79\x00\x88\x02\x86\x00\x7a\x00\x7b\x00\x8e\x00\x7c\x00\x7d\x00\x86\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\xe9\x00\x68\x00\x90\x01\x6a\x00\x3d\x00\xff\xff\x84\x00\x85\x00\x86\x00\x87\x00\x1b\x00\x0e\x02\x8c\x00\x6a\x00\x3f\xfe\xfb\xff\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\xea\x00\xed\x00\x23\x00\x26\x02\xa6\x00\xa7\x00\x06\x00\xf3\x00\x07\x00\xf1\x00\xf4\x00\x09\x00\x61\x02\x24\x00\xf4\x00\xcb\x00\xf8\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xfc\x00\xd2\x00\x62\x00\x63\x00\xd0\x01\xfd\x00\x3c\x00\x3d\x00\x18\x00\x19\x00\x25\x00\x3e\x00\x6f\x00\x3f\x00\x70\x00\x40\x00\x71\x00\x3d\xfe\x41\x00\x72\x00\x42\x00\x43\x00\x73\x00\xff\xff\x74\x00\x75\x00\x76\x00\x44\x00\x45\x00\x46\x00\x3d\xfe\x77\x00\x78\x00\xfe\x00\x79\x00\x3d\xfe\x47\x00\x7a\x00\x7b\x00\x26\x00\x7c\x00\x7d\x00\x48\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x3d\xfe\x49\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x4a\x00\x51\x02\x86\x00\x52\x02\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x34\x02\x8c\x00\x6a\x00\xff\x00\x00\x01\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x06\x01\x6f\x00\x23\x00\xff\xff\x17\x01\x06\x00\xa1\x00\x07\x00\x1a\x01\xf4\x00\x09\x00\x0a\x00\x4a\x01\x24\x00\x75\x00\x6f\x01\x8c\x00\x6a\x00\x1b\x01\xa2\x00\x80\x01\x8c\x00\x6a\x00\x79\x00\xa3\x00\x81\x01\x8c\x00\x6a\x00\x1c\x01\x7c\x00\x18\x00\x19\x00\x7e\x00\x25\x00\x80\x00\xd7\xff\x1d\x01\xd7\xff\xa4\x00\xd7\xff\xd7\xff\x00\x00\xd7\xff\x00\x00\x00\x00\xd7\xff\x86\x00\xd7\xff\xd7\xff\xd7\xff\x8b\x01\xa6\x00\xa7\x00\xd7\xff\xd7\xff\xd7\xff\x00\x00\xd7\xff\xd7\xff\x00\x00\xd7\xff\xd7\xff\x26\x00\xd7\xff\xd7\xff\x00\x00\xd7\xff\xd7\xff\xd7\xff\xd7\xff\xd7\xff\xd7\xff\xd7\xff\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\xd7\xff\xd7\xff\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\xa5\x00\xa6\x00\xa7\x00\x00\x00\xae\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\xd1\x01\x62\x00\x63\x00\x64\x00\x00\x00\xd2\x01\x67\x00\x3e\x02\x00\x00\x4f\x00\x24\x00\x50\x00\xbf\x01\xc0\x01\x00\x00\x53\x00\xc1\x01\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x8b\x00\x8c\x00\x6a\x00\x25\x00\x00\x00\x6f\x00\x5f\x00\x70\x00\x00\x00\x71\x00\xc2\x01\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\xa5\x00\xa6\x00\xa7\x00\x00\x00\x77\x00\x78\x00\x00\x00\x79\x00\xd3\x01\x6a\x00\x7a\x00\x7b\x00\x26\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x85\x00\x86\x00\x52\x02\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\xb4\x00\x8c\x00\x6a\x00\x00\x00\x59\x02\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x00\x00\x68\x00\xc3\x01\x6a\x00\x8d\x01\x47\x03\xaa\x00\x8d\x01\x09\x03\xaa\x00\x24\x00\x5a\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x8d\x01\xa2\x02\xaa\x00\x8d\x01\xa8\x02\xaa\x00\x00\x00\x00\x00\x92\x01\xcf\x00\x3d\x00\x00\x00\x00\x00\x25\x00\x92\x00\x63\x00\xe9\x01\x70\x00\x01\x02\x71\x00\xaa\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x02\x02\x8d\x01\xce\x01\xaa\x00\x77\x00\x78\x00\x68\x00\x5b\x02\x6a\x00\x00\x00\x7a\x00\x7b\x00\x26\x00\x8a\x02\x7d\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x81\x00\x82\x00\x83\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x85\x00\x86\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x95\x01\x6a\x00\x00\x00\x3c\xfe\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x38\x01\x3c\xfe\x39\x01\x00\x00\x3a\x01\x3b\x01\x3c\xfe\x00\x00\x3c\x01\x3d\x01\x24\x00\x00\x00\xe1\x00\x00\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\x3c\xfe\xd2\x00\x62\x00\x63\x00\xd0\x01\x00\x00\x84\x00\x00\x00\x86\x00\x00\x00\x25\x00\x8d\x01\xeb\x01\xaa\x00\x70\x00\x65\x01\x71\x00\xaa\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x66\x01\x28\x01\x29\x01\x2a\x01\x77\x00\x78\x00\xa9\x00\xce\x01\xaa\x00\x00\x00\x7a\x00\x7b\x00\x26\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x81\x00\x82\x00\x83\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x85\x00\x86\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x28\x01\x29\x01\x2a\x01\x3c\xfe\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x00\x00\x3c\xfe\xae\x00\x00\x00\x00\x00\x00\x00\x3c\xfe\x2b\x02\xce\x00\xcf\x00\x24\x00\x00\x00\x00\x00\xd1\x01\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\x06\x00\x3c\xfe\x07\x00\x00\x00\xf4\x00\x09\x00\x46\x01\x3c\x00\x3d\x00\x86\x00\x00\x00\x25\x00\x3e\x00\x00\x00\x3f\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x00\x00\x42\x00\x43\x00\x8e\x00\x00\x00\x18\x00\x19\x00\x00\x00\x44\x00\x45\x00\x46\x00\x00\x00\x00\x00\x8f\x00\x62\x00\x63\x00\x64\x00\x47\x00\x90\x00\x67\x00\x26\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\x01\x02\x00\x00\xaa\x00\x06\x03\x6a\x00\x49\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x4a\x00\x4b\x00\x02\x02\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\xbb\x02\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x91\x00\x6a\x00\x00\x00\x24\x00\x00\x00\x00\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\x00\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x25\x00\x00\x00\x77\x00\x78\x00\x00\x00\x79\x00\x00\x00\xa1\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x9e\x00\x80\x00\x81\x00\x82\x00\x83\x00\xa2\x00\x65\x01\x00\x00\xaa\x00\x00\x00\xa3\x00\x84\x00\x9f\x00\x86\x00\x26\x00\x3c\xfe\x00\x00\x06\x00\x66\x01\x07\x00\x00\x00\xf4\x00\x09\x00\x47\x01\xa4\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x86\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x00\x00\x00\x00\x18\x00\x19\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x16\x02\x00\x00\x00\x00\x23\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x24\x00\x74\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x00\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x25\x00\xb3\x00\x00\x00\x81\x00\x82\x00\x83\x00\xa4\x00\xa1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb4\x00\x86\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x02\xa2\x00\xaa\x00\x00\x00\x25\x02\x00\x00\xa3\x00\xa1\x02\x00\x00\x00\x00\x26\x00\x3d\xfe\x02\x02\x92\x00\x63\x00\x93\x00\x26\x02\x94\x00\x67\x00\xf7\x01\xa4\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x86\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\xaf\x01\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\xa1\x00\x06\x00\x00\x00\x07\x00\xa1\x00\x06\x01\x09\x00\xa1\x00\x24\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x95\x00\x6a\x00\x00\x00\xa2\x00\xa3\x00\x00\x00\xa2\x00\x00\x00\xa3\x00\x00\x00\x00\x00\xa3\x00\x18\x00\x19\x00\x25\x00\x06\x00\x00\x00\x07\x00\xa4\x00\x08\x01\x09\x00\x3d\xfe\xa4\x00\x00\x00\x84\x00\xa4\x00\x86\x00\x00\x00\x84\x00\xd7\x00\x86\x00\x84\x00\xd7\x00\x86\x00\x3d\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x3d\xfe\x18\x00\x19\x00\x00\x00\x26\x00\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\xfe\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2f\x02\x86\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x00\x00\x75\x02\x00\x00\xd6\x00\x76\x02\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x4b\x01\x1b\x00\x24\x00\x75\x02\x00\x00\x00\x00\x76\x02\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x18\x00\x19\x00\x77\x02\x66\x03\xa1\x00\x25\x00\x00\x00\x06\x00\x00\x00\x07\x00\x24\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x4d\x01\xa2\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x02\x34\x03\x00\x00\x25\x00\x00\x00\x18\x00\x19\x00\x26\x00\x00\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xd7\x00\x86\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x4a\x00\x4b\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x26\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x51\x01\x27\x00\x28\x00\x29\x00\x2a\x00\x4a\x00\x4b\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x11\x02\x00\x00\x00\x00\x23\x00\x00\x00\x92\x01\xcf\x00\x93\x01\xd1\x00\x22\x02\x00\x00\x92\x00\x63\x00\x93\x00\x24\x00\x94\x00\x67\x00\x06\x00\x1b\x00\x07\x00\x75\x02\x0b\x01\x09\x00\x76\x02\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\xfe\x18\x00\x19\x00\x24\x00\x00\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x48\x01\x00\x00\x3c\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x3c\xfe\x00\x00\x77\x02\x00\x00\x26\x00\x25\x00\x95\x01\x6a\x00\x00\x00\x65\x01\x00\x00\xaa\x00\x18\x00\x19\x00\x3c\xfe\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x66\x01\x86\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x52\x01\x27\x00\x28\x00\x29\x00\x2a\x00\x4a\x00\x4b\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x18\x00\x19\x00\xa1\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\xa2\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa3\x00\x00\x00\x06\x00\x00\x00\x07\x00\x24\x00\xf4\x00\x09\x00\x03\x01\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x86\x00\x00\x00\x23\x00\x25\x00\x00\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\xa1\x00\x00\x00\x06\x00\x24\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x4e\x01\x00\x00\xa2\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa3\x00\x00\x00\x77\x02\x00\x00\x26\x00\x25\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\xa4\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x00\x00\xa2\x01\x00\x00\x00\x00\x00\x00\x26\x00\x9e\x02\xce\x00\xcf\x00\x9f\x02\xd1\x00\x00\x00\xe5\x01\x62\x00\x63\x00\xd0\x01\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\xcb\x01\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\xe6\x02\x00\x00\x00\x00\xcc\x01\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x4c\x01\x1b\x00\x24\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x9c\x00\x00\x00\x23\x00\x18\x00\x19\x00\x00\x00\x00\x00\xa1\x00\x25\x00\x00\x00\x06\x00\x00\x00\x07\x00\x24\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x4f\x01\xa2\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x02\x00\x00\x00\x00\x25\x00\x00\x00\x18\x00\x19\x00\x26\x00\x00\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\x00\x00\x86\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x26\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x50\x01\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x92\x01\xcf\x00\x93\x01\xd1\x00\x22\x02\x00\x00\x92\x00\x63\x00\xe9\x01\x00\x00\x24\x00\x1b\x00\x45\x01\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x63\x02\x00\x00\x06\x00\x25\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x2a\x01\x00\x00\x24\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x18\x00\x19\x00\x00\x00\x25\x00\x00\x00\x26\x00\x95\x01\x6a\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x59\x01\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x25\x00\x00\x00\x26\x00\x00\x00\x00\x00\x06\x00\x00\x00\x07\x00\x00\x00\x0c\x01\x09\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x00\x00\x00\x00\x26\x00\x18\x00\x19\x00\x92\x01\xcf\x00\x93\x01\xd1\x00\x29\x02\x00\x00\x92\x00\x63\x00\xe9\x01\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x01\x24\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x95\x01\x6a\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x25\x00\xd1\x02\x00\x00\x00\x00\x26\x00\x8e\x01\xce\x00\xcf\x00\x8f\x01\xd1\x00\x24\x00\x8f\x00\x62\x00\x63\x00\xd0\x01\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x26\x00\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x90\x01\x6a\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x08\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x92\x01\xcf\x00\x93\x01\xd1\x00\x07\x03\x00\x00\x92\x00\x63\x00\xe9\x01\x0a\x01\x24\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x00\x00\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x25\x00\x00\x00\x00\x00\x00\x00\x26\x00\x95\x01\x6a\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x26\x00\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x01\x00\x00\xaa\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x66\x01\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x6d\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x3d\xfe\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x00\x00\x3d\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x3d\xfe\x00\x00\x00\x00\x00\x00\x24\x00\x6e\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\x00\x00\x00\x00\x72\x00\x3d\xfe\x00\x00\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\x00\x00\x86\x00\x00\x00\x25\x00\x77\x00\x78\x00\x00\x00\x79\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x06\x02\x00\x00\xaa\x00\x00\x00\x00\x00\x00\x00\x84\x00\x85\x00\x86\x00\x87\x00\x26\x00\x00\x00\x07\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x2d\x01\x2e\x01\x2f\x01\x30\x01\x31\x01\x32\x01\x33\x01\x34\x01\x35\x01\x36\x01\x37\x01\x00\x00\x01\x02\x6f\x00\xaa\x00\x70\x00\x00\x00\x71\x00\x3d\xfe\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x02\x02\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x3d\xfe\x77\x00\x78\x00\x00\x00\x79\x00\x3d\xfe\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x3d\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\x85\x00\x86\x00\x01\x02\x6f\x00\xaa\x00\x70\x00\x00\x00\x71\x00\x3d\xfe\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x02\x02\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x3d\xfe\x77\x00\x78\x00\x00\x00\x79\x00\x3d\xfe\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x3d\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\x85\x00\x86\x00\x01\x02\x6f\x00\xaa\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x02\x02\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xb3\x00\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xb4\x00\x86\x00\xcb\x01\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\xcc\x01\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xdf\x00\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xe0\x00\x86\x00\xcb\x01\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\xcc\x01\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xa6\x01\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xa7\x01\x86\x00\xcb\x01\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\xcc\x01\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xb3\x00\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xb4\x00\x86\x00\xcb\x01\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\xcc\x01\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xdf\x00\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xe0\x00\x86\x00\xcb\x01\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\xcc\x01\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xa6\x01\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xa7\x01\x86\x00\xcb\x01\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\xcc\x01\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xb3\x00\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xb4\x00\x86\x00\x65\x01\x6f\x00\xaa\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x66\x01\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xdf\x00\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xe0\x00\x86\x00\x6c\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\x3d\xfe\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x6d\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x3d\xfe\x77\x00\x78\x00\x00\x00\x79\x00\x3d\xfe\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x3d\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x85\x00\x86\x00\x6c\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x6d\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xa6\x01\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xa7\x01\x86\x00\x6c\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x6d\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xb3\x00\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xb4\x00\x86\x00\x06\x02\x6f\x00\xaa\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x07\x02\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xdf\x00\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xe0\x00\x86\x00\x65\x01\x6f\x00\xaa\x00\x70\x00\x00\x00\x71\x00\x00\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x66\x01\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x79\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x9e\x00\x80\x00\x81\x00\x82\x00\x83\x00\x00\x00\xcb\x01\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\x9f\x00\x86\x00\x00\x00\x6f\x00\x00\x00\x70\x00\xcc\x01\x71\x00\x00\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x79\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x9e\x00\x80\x00\x81\x00\x82\x00\x83\x00\x00\x00\x6c\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\x9f\x00\x86\x00\x72\x00\x00\x00\x00\x00\x73\x00\x6d\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x79\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x9e\x00\x80\x00\x81\x00\x82\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x84\x00\x9f\x00\x86\x00\x00\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\x00\x00\x6d\x00\x72\x00\x00\x00\xcb\x01\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\xcc\x01\x79\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x9e\x00\x80\x00\x81\x00\x82\x00\x83\x00\x01\x02\xfb\x02\xaa\x00\x00\x00\x00\x00\x00\x00\x84\x00\x9f\x00\x86\x00\x00\x00\xa1\x00\x00\x00\x02\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\xa2\x00\x71\x00\x00\x00\x00\x00\x72\x00\xa3\x00\x00\x00\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\xa4\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x84\x00\x7d\x00\x86\x00\x00\x00\x9e\x00\x3d\xfe\x81\x00\x82\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\x9f\x00\x86\x00\x3d\xfe\x00\x00\x00\x00\xb0\x01\xb1\x01\x3d\xfe\x53\x00\xb2\x01\x55\x00\x56\x00\x57\x00\xb3\x01\xb4\x01\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x3d\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x84\x00\x00\x00\x86\x00\xb5\x01\x00\x00\x00\x00\x00\x00\x00\x00\x92\x01\xcf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x92\x00\x63\x00\xe9\x01\x00\x00\x00\x00\x00\x00\xb6\x01\xb7\x01\xb8\x01\x00\x00\x00\x00\x00\x00\x5c\x02\xa6\x00\xa7\x00\x5d\x02\x5e\x02\x00\x00\x00\x00\x00\x00\xb0\x01\xb1\x01\x00\x00\x53\x00\xb2\x01\x55\x00\x56\x00\x57\x00\xb3\x01\xb4\x01\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x92\x01\xcf\x00\x93\x01\xd1\x00\x29\x02\x5f\x00\x92\x00\x63\x00\x93\x00\xb5\x01\x94\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\xc7\x02\x6a\x00\x92\x00\x63\x00\xe9\x01\x00\x00\x00\x00\x00\x00\xb6\x01\xb7\x01\xb8\x01\x00\x00\x00\x00\x00\x00\x5c\x02\xa6\x00\xa7\x00\x5d\x02\x5e\x02\xb0\x01\xb1\x01\x00\x00\x53\x00\xb2\x01\x55\x00\x56\x00\x57\x00\xb3\x01\xb4\x01\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x95\x01\x6a\x00\xb5\x01\x92\x01\xcf\x00\x93\x01\xd1\x00\x94\x01\x00\x00\x92\x00\x63\x00\xe9\x01\x00\x00\x68\x00\xcc\x02\x6a\x00\x00\x00\x00\x00\x00\x00\xb6\x01\xb7\x01\xb8\x01\x00\x00\x00\x00\x00\x00\x5c\x02\xa6\x00\xa7\x00\x5d\x02\x5e\x02\xb0\x01\xb1\x01\x00\x00\x53\x00\xb2\x01\x55\x00\x56\x00\x57\x00\xb3\x01\xb4\x01\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x92\x01\xcf\x00\x93\x01\xd1\x00\x94\x01\x5f\x00\x92\x00\x63\x00\x93\x00\xb5\x01\x94\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x01\x6a\x00\x00\x00\x68\x00\x5f\x02\x6a\x00\x00\x00\x00\x00\x00\x00\xb6\x01\xb7\x01\xb8\x01\xb9\x01\x00\x00\x00\x00\x00\x00\x00\x00\xb0\x01\xb1\x01\x00\x00\x53\x00\xb2\x01\x55\x00\x56\x00\x57\x00\xb3\x01\xb4\x01\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x00\x00\xb5\x01\x95\x01\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\xba\x01\x6a\x00\xb6\x01\xb7\x01\xb8\x01\x00\x00\x00\x00\x00\x00\xb0\x01\xb1\x01\x00\x00\x53\x00\xb2\x01\x55\x00\x56\x00\x57\x00\xb3\x01\xb4\x01\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\xd8\x00\xb9\x00\x00\x00\xd9\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x00\x00\xb5\x01\xda\x00\x5d\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\xab\x00\xba\x00\xac\x00\x00\x00\x68\x00\xba\x01\x6a\x00\xce\x02\x00\x00\xad\x00\x5d\x00\x5e\x00\x07\x02\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\xae\x00\x00\x00\x00\x00\x08\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x00\x00\x00\x00\xfc\x01\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfd\x01\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x00\x00\x00\x00\x68\x00\xba\x01\x6a\x00\x00\x00\x97\x00\x00\x00\x98\x00\x00\x00\xab\x00\x00\x00\xac\x00\x00\x00\x00\x00\x99\x00\x5d\x00\x5e\x00\xdd\x00\xad\x00\x5d\x00\x5e\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\xae\x00\x00\x00\x23\x02\xcf\x00\x00\x00\x00\x00\xfe\x01\xff\x01\xc8\x01\x63\x00\xc9\x01\xf2\x01\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x02\xa6\x00\xa7\x00\x78\x02\x79\x02\x97\x00\x00\x00\x98\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x5d\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x9f\x01\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x97\x00\x00\x00\x98\x00\xa1\x01\x5d\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x99\x00\x5d\x00\x5e\x00\x5f\x00\x9c\x00\x00\x00\xa2\x01\xf3\x01\x6a\x00\x5f\x00\x00\x00\x77\x02\xa6\x00\xa7\x00\x78\x02\x79\x02\x00\x00\xd4\x02\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\xf1\x01\x62\x00\x63\x00\xd0\x01\x0e\x01\x55\x00\x00\x00\x0f\x01\x00\x00\x10\x01\x00\x00\x11\x01\x5c\x00\x5d\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x01\x55\x00\x5f\x00\x0f\x01\x00\x00\x10\x01\x12\x01\x11\x01\x5c\x00\x5d\x00\x5e\x00\x00\x00\x9c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x12\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb6\x02\x00\x00\x00\x00\x00\x00\x9c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9c\x00\x00\x00\x00\x00\x00\x00\x06\x00\x81\x02\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\xb7\x02\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x00\x00\x00\x00\x68\x00\x15\x01\x6a\x00\x0e\x01\x55\x00\x00\x00\x0f\x01\x00\x00\x10\x01\x00\x00\x11\x01\x5c\x00\x5d\x00\x5e\x00\x00\x00\x68\x00\x15\x01\x6a\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x12\x01\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x55\x01\x0e\x01\x55\x00\x00\x00\x0f\x01\x00\x00\x10\x01\xef\x01\x11\x01\x5c\x00\x5d\x00\x5e\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x06\x00\x12\x01\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\xf0\x01\x00\x00\x1c\x02\x00\x00\x00\x00\x18\x00\x19\x00\x00\x00\x00\x00\x68\x00\x15\x01\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\x1d\x02\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x00\x00\x00\x00\x68\x00\x15\x01\x6a\x00\x0e\x01\x55\x00\x00\x00\x0f\x01\x00\x00\x10\x01\x00\x00\x11\x01\x5c\x00\x5d\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x12\x01\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x54\x01\x00\x00\x0e\x01\x55\x00\x00\x00\x0f\x01\x00\x00\x10\x01\x31\x02\x11\x01\x5c\x00\x5d\x00\x5e\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x06\x00\x12\x01\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\x32\x02\x00\x00\xd7\x01\x00\x00\x00\x00\x18\x00\x19\x00\x00\x00\x00\x00\x68\x00\x15\x01\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\xd8\x01\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x00\x00\x00\x00\x68\x00\x15\x01\x6a\x00\xa9\x02\x55\x00\x00\x00\x0f\x01\x00\x00\x10\x01\x00\x00\x11\x01\x5c\x00\x5d\x00\x5e\x00\x00\x00\xf7\x02\xab\x02\xac\x02\xa9\x02\x55\x00\x5f\x00\x0f\x01\x00\x00\x10\x01\xad\x02\x11\x01\x5c\x00\x5d\x00\x5e\x00\x00\x00\xaa\x02\xab\x02\xac\x02\x0e\x01\x55\x00\x5f\x00\x0f\x01\x00\x00\x10\x01\xad\x02\x11\x01\x5c\x00\x5d\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x0e\x01\x55\x00\x12\x01\x0f\x01\x00\x00\x10\x01\x00\x00\x11\x01\x5c\x00\x5d\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x12\x01\x00\x00\x84\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\xae\x02\x6a\x00\x00\x00\x0e\x01\x55\x00\x6d\x01\x0f\x01\x00\x00\x10\x01\x00\x00\x11\x01\x5c\x00\x5d\x00\x5e\x00\x68\x00\xae\x02\x6a\x00\x00\x00\xac\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x12\x01\xad\x00\x5d\x00\x5e\x00\xae\x00\x68\x00\x15\x01\x6a\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\xae\x00\x00\x00\xd1\x01\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\x6e\x01\x00\x00\x00\x00\x68\x00\x15\x01\x6a\x00\x7e\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x00\x00\x00\x00\x00\x00\x5e\x01\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x98\x00\x00\x00\x00\x00\xae\x00\x00\x00\x00\x00\x00\x00\x99\x00\x5d\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x02\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x15\x01\x6a\x00\x00\x00\x00\x00\x7f\x02\xec\x02\x6a\x00\xf9\x02\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\x00\x00\x62\x01\x63\x01\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\xab\x01\xa2\x01\x00\x00\x00\x00\x00\x00\x12\x02\x00\x00\x18\x00\x19\x00\x00\x00\x8d\x01\x13\x02\x14\x02\x6a\x00\x8e\x01\xce\x00\xcf\x00\x8f\x01\xd1\x00\x00\x00\x8f\x00\x62\x00\x63\x00\x64\x00\x00\x00\x90\x00\x67\x00\x00\x00\x00\x00\x9c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\xab\x01\xaa\x01\x00\x00\x00\x00\xae\x00\xb9\x02\x00\x00\x18\x00\x19\x00\x2b\x02\xce\x00\xcf\x00\x00\x00\x9c\x00\x00\x00\xd1\x01\x62\x00\x63\x00\xd0\x01\x68\x00\x90\x01\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7e\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xac\x01\x00\x00\x18\x00\x19\x00\x00\x00\x00\x00\x68\x00\xad\x01\x6a\x00\xc5\x02\x7f\x02\xed\x02\x6a\x00\x8e\x01\xce\x00\xcf\x00\xca\x02\x9f\x00\x00\x00\x8f\x00\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\x00\x00\x8f\x00\x62\x00\x63\x00\xd0\x01\x00\x00\x5a\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x00\x00\x5a\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\xc0\x02\x00\x00\x68\x00\xc6\x02\x6a\x00\x00\x00\x00\x00\x18\x00\x19\x00\x68\x00\xcb\x02\x6a\x00\xb0\x02\x00\x00\x05\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x71\x00\x00\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x81\x00\x82\x00\x83\x00\x00\x00\x00\x00\xb0\x02\x00\x00\xb1\x02\x00\x00\x00\x00\x85\x00\x86\x00\xb2\x02\x70\x00\x00\x00\x71\x00\x00\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x00\x00\x7d\x00\x00\x00\xc0\x00\x7f\x00\x00\x00\x81\x00\x82\x00\x83\x00\x6f\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa1\x00\x00\x00\x85\x00\x86\x00\xb2\x02\xc3\x00\x00\x00\x00\x00\x75\x00\x00\x00\x00\x00\x6f\x00\x00\x00\xa2\x00\x00\x00\x00\x00\xa1\x00\x79\x00\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x75\x00\x00\x00\x7e\x00\x00\x00\x80\x00\xa2\x00\x00\x00\x00\x00\xa4\x00\x79\x00\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x86\x00\x00\x00\x7e\x00\x00\x00\x80\x00\x3d\x00\x00\x00\x00\x00\xa4\x00\x00\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\x00\x00\x86\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x79\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x02\x85\x00\x86\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\x00\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x79\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x85\x00\x86\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\x3d\xfe\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x3d\xfe\x77\x00\x78\x00\x00\x00\x79\x00\x3d\xfe\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x3d\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbc\x01\x85\x00\x86\x00\x3b\xfe\x00\x00\x3b\xfe\x00\x00\x3b\xfe\x3b\xfe\x00\x00\x3b\xfe\x00\x00\x00\x00\x3b\xfe\x00\x00\x3b\xfe\x3b\xfe\x3b\xfe\x00\x00\x00\x00\x00\x00\x3b\xfe\x3b\xfe\x3b\xfe\x00\x00\x3b\xfe\x3b\xfe\x00\x00\x3b\xfe\x3b\xfe\x00\x00\x3b\xfe\x3b\xfe\x00\x00\x3b\xfe\x3b\xfe\x3b\xfe\x3b\xfe\x3b\xfe\x3b\xfe\x3b\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3b\xfe\x3b\xfe\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xa6\x01\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa7\x01\x86\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\x3d\xfe\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x3d\xfe\x77\x00\x78\x00\x00\x00\x79\x00\x3d\xfe\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x3d\xfe\x00\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\x85\x00\x86\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x79\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x9e\x00\x80\x00\x81\x00\x82\x00\x83\x00\x00\x00\x00\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\x9f\x00\x86\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x79\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x85\x00\x86\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x00\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x7e\x00\x00\x00\x80\x00\x00\x00\x82\x00\x83\x00\xa4\x00\x70\x00\x00\x00\x71\x00\x00\x00\x00\x00\x72\x00\x00\x00\x86\x00\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x81\x00\x82\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x85\x00\x86\x00\xb2\x02\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x00\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\xa6\x01\x00\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\xa7\x01\x86\x00\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x00\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\xb3\x00\x00\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x3b\xfe\x00\x00\x3b\xfe\x3b\xfe\x00\x00\x3b\xfe\xb4\x00\x86\x00\x3b\xfe\x00\x00\x3b\xfe\x00\x00\x3b\xfe\x00\x00\x00\x00\x00\x00\x3b\xfe\x3b\xfe\x3b\xfe\x00\x00\x00\x00\x3b\xfe\x00\x00\x3b\xfe\x3b\xfe\x00\x00\x00\x00\x3b\xfe\x00\x00\x00\x00\x3b\xfe\x00\x00\x3b\xfe\x3b\xfe\x3b\xfe\x3b\xfe\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x3b\xfe\x3b\xfe\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x00\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\xa6\x01\x00\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x70\x00\x00\x00\x71\x00\x00\x00\x00\x00\x72\x00\xa7\x01\x86\x00\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x81\x00\x82\x00\x83\x00\x00\x00\x70\x00\x00\x00\x71\x00\x00\x00\x00\x00\x72\x00\x85\x00\x86\x00\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x9e\x00\x00\x00\x81\x00\x82\x00\x83\x00\x00\x00\x70\x00\x00\x00\x71\x00\x00\x00\x00\x00\x72\x00\x9f\x00\x86\x00\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x81\x00\x82\x00\x83\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x85\x00\x86\x00\x73\x00\x00\x00\x00\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x00\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x02\x86\x00\x27\x03\x6e\x02\x6f\x02\x70\x02\x71\x02\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x72\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x6c\x02\x73\x02\x6d\x02\x6e\x02\x6f\x02\x70\x02\x71\x02\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x72\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x31\x03\x73\x02\x00\x00\x32\x03\x6f\x02\x70\x02\x71\x02\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x72\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x73\x02\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe3\x02\x18\x00\x19\x00\x00\x00\x67\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe4\x02\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x72\x02\x00\x00\x2e\x03\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x72\x02\x00\x00\xd7\x02\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x72\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x02\x00\x00\x18\x00\x19\x00\x00\x00\x06\x00\x00\x00\x07\x00\x9c\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\xea\x00\x00\x00\x43\x03\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\xea\x00\x00\x00\x44\x03\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\xea\x00\x00\x00\x93\x02\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\xea\x00\x00\x00\x94\x02\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\xea\x00\x00\x00\xeb\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\x77\x03\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\x78\x03\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\x61\x03\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\x3a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\x92\x02\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\x41\x01\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x42\x01\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x43\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\x57\x01\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x5a\x01\x00\x00\x00\x00\x5b\x01\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\x7a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\x7c\x01\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\x7e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\x7f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x56\x03\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x03\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x03\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x03\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x03\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x03\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x51\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe8\x02\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\xee\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x03\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x69\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x6b\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x02\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x45\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x6c\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf6\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x64\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x59\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x56\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x53\x01\x02\x02\xce\x00\xcf\x00\x00\x00\x00\x00\x00\x00\x03\x02\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x04\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x09\x02\xce\x00\xcf\x00\x00\x00\x00\x00\x00\x00\x0a\x02\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\x03\x0b\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x02\x03\x00\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\x01\x03\xf4\x01\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\x02\x03\x00\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\x00\x00\xf4\x01\x62\x00\x63\x00\xd0\x01\xcb\x00\x00\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\x00\x00\xf4\x01\x62\x00\x63\x00\xd0\x01\xe1\x00\x00\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\x00\x00\xf4\x01\x62\x00\x63\x00\xd0\x01\x37\x02\x00\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\x00\x00\xf4\x01\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyReduceArr = array (4, 463) [-    (4 , happyReduce_4),-    (5 , happyReduce_5),-    (6 , happyReduce_6),-    (7 , happyReduce_7),-    (8 , happyReduce_8),-    (9 , happyReduce_9),-    (10 , happyReduce_10),-    (11 , happyReduce_11),-    (12 , happyReduce_12),-    (13 , happyReduce_13),-    (14 , happyReduce_14),-    (15 , happyReduce_15),-    (16 , happyReduce_16),-    (17 , happyReduce_17),-    (18 , happyReduce_18),-    (19 , happyReduce_19),-    (20 , happyReduce_20),-    (21 , happyReduce_21),-    (22 , happyReduce_22),-    (23 , happyReduce_23),-    (24 , happyReduce_24),-    (25 , happyReduce_25),-    (26 , happyReduce_26),-    (27 , happyReduce_27),-    (28 , happyReduce_28),-    (29 , happyReduce_29),-    (30 , happyReduce_30),-    (31 , happyReduce_31),-    (32 , happyReduce_32),-    (33 , happyReduce_33),-    (34 , happyReduce_34),-    (35 , happyReduce_35),-    (36 , happyReduce_36),-    (37 , happyReduce_37),-    (38 , happyReduce_38),-    (39 , happyReduce_39),-    (40 , happyReduce_40),-    (41 , happyReduce_41),-    (42 , happyReduce_42),-    (43 , happyReduce_43),-    (44 , happyReduce_44),-    (45 , happyReduce_45),-    (46 , happyReduce_46),-    (47 , happyReduce_47),-    (48 , happyReduce_48),-    (49 , happyReduce_49),-    (50 , happyReduce_50),-    (51 , happyReduce_51),-    (52 , happyReduce_52),-    (53 , happyReduce_53),-    (54 , happyReduce_54),-    (55 , happyReduce_55),-    (56 , happyReduce_56),-    (57 , happyReduce_57),-    (58 , happyReduce_58),-    (59 , happyReduce_59),-    (60 , happyReduce_60),-    (61 , happyReduce_61),-    (62 , happyReduce_62),-    (63 , happyReduce_63),-    (64 , happyReduce_64),-    (65 , happyReduce_65),-    (66 , happyReduce_66),-    (67 , happyReduce_67),-    (68 , happyReduce_68),-    (69 , happyReduce_69),-    (70 , happyReduce_70),-    (71 , happyReduce_71),-    (72 , happyReduce_72),-    (73 , happyReduce_73),-    (74 , happyReduce_74),-    (75 , happyReduce_75),-    (76 , happyReduce_76),-    (77 , happyReduce_77),-    (78 , happyReduce_78),-    (79 , happyReduce_79),-    (80 , happyReduce_80),-    (81 , happyReduce_81),-    (82 , happyReduce_82),-    (83 , happyReduce_83),-    (84 , happyReduce_84),-    (85 , happyReduce_85),-    (86 , happyReduce_86),-    (87 , happyReduce_87),-    (88 , happyReduce_88),-    (89 , happyReduce_89),-    (90 , happyReduce_90),-    (91 , happyReduce_91),-    (92 , happyReduce_92),-    (93 , happyReduce_93),-    (94 , happyReduce_94),-    (95 , happyReduce_95),-    (96 , happyReduce_96),-    (97 , happyReduce_97),-    (98 , happyReduce_98),-    (99 , happyReduce_99),-    (100 , happyReduce_100),-    (101 , happyReduce_101),-    (102 , happyReduce_102),-    (103 , happyReduce_103),-    (104 , happyReduce_104),-    (105 , happyReduce_105),-    (106 , happyReduce_106),-    (107 , happyReduce_107),-    (108 , happyReduce_108),-    (109 , happyReduce_109),-    (110 , happyReduce_110),-    (111 , happyReduce_111),-    (112 , happyReduce_112),-    (113 , happyReduce_113),-    (114 , happyReduce_114),-    (115 , happyReduce_115),-    (116 , happyReduce_116),-    (117 , happyReduce_117),-    (118 , happyReduce_118),-    (119 , happyReduce_119),-    (120 , happyReduce_120),-    (121 , happyReduce_121),-    (122 , happyReduce_122),-    (123 , happyReduce_123),-    (124 , happyReduce_124),-    (125 , happyReduce_125),-    (126 , happyReduce_126),-    (127 , happyReduce_127),-    (128 , happyReduce_128),-    (129 , happyReduce_129),-    (130 , happyReduce_130),-    (131 , happyReduce_131),-    (132 , happyReduce_132),-    (133 , happyReduce_133),-    (134 , happyReduce_134),-    (135 , happyReduce_135),-    (136 , happyReduce_136),-    (137 , happyReduce_137),-    (138 , happyReduce_138),-    (139 , happyReduce_139),-    (140 , happyReduce_140),-    (141 , happyReduce_141),-    (142 , happyReduce_142),-    (143 , happyReduce_143),-    (144 , happyReduce_144),-    (145 , happyReduce_145),-    (146 , happyReduce_146),-    (147 , happyReduce_147),-    (148 , happyReduce_148),-    (149 , happyReduce_149),-    (150 , happyReduce_150),-    (151 , happyReduce_151),-    (152 , happyReduce_152),-    (153 , happyReduce_153),-    (154 , happyReduce_154),-    (155 , happyReduce_155),-    (156 , happyReduce_156),-    (157 , happyReduce_157),-    (158 , happyReduce_158),-    (159 , happyReduce_159),-    (160 , happyReduce_160),-    (161 , happyReduce_161),-    (162 , happyReduce_162),-    (163 , happyReduce_163),-    (164 , happyReduce_164),-    (165 , happyReduce_165),-    (166 , happyReduce_166),-    (167 , happyReduce_167),-    (168 , happyReduce_168),-    (169 , happyReduce_169),-    (170 , happyReduce_170),-    (171 , happyReduce_171),-    (172 , happyReduce_172),-    (173 , happyReduce_173),-    (174 , happyReduce_174),-    (175 , happyReduce_175),-    (176 , happyReduce_176),-    (177 , happyReduce_177),-    (178 , happyReduce_178),-    (179 , happyReduce_179),-    (180 , happyReduce_180),-    (181 , happyReduce_181),-    (182 , happyReduce_182),-    (183 , happyReduce_183),-    (184 , happyReduce_184),-    (185 , happyReduce_185),-    (186 , happyReduce_186),-    (187 , happyReduce_187),-    (188 , happyReduce_188),-    (189 , happyReduce_189),-    (190 , happyReduce_190),-    (191 , happyReduce_191),-    (192 , happyReduce_192),-    (193 , happyReduce_193),-    (194 , happyReduce_194),-    (195 , happyReduce_195),-    (196 , happyReduce_196),-    (197 , happyReduce_197),-    (198 , happyReduce_198),-    (199 , happyReduce_199),-    (200 , happyReduce_200),-    (201 , happyReduce_201),-    (202 , happyReduce_202),-    (203 , happyReduce_203),-    (204 , happyReduce_204),-    (205 , happyReduce_205),-    (206 , happyReduce_206),-    (207 , happyReduce_207),-    (208 , happyReduce_208),-    (209 , happyReduce_209),-    (210 , happyReduce_210),-    (211 , happyReduce_211),-    (212 , happyReduce_212),-    (213 , happyReduce_213),-    (214 , happyReduce_214),-    (215 , happyReduce_215),-    (216 , happyReduce_216),-    (217 , happyReduce_217),-    (218 , happyReduce_218),-    (219 , happyReduce_219),-    (220 , happyReduce_220),-    (221 , happyReduce_221),-    (222 , happyReduce_222),-    (223 , happyReduce_223),-    (224 , happyReduce_224),-    (225 , happyReduce_225),-    (226 , happyReduce_226),-    (227 , happyReduce_227),-    (228 , happyReduce_228),-    (229 , happyReduce_229),-    (230 , happyReduce_230),-    (231 , happyReduce_231),-    (232 , happyReduce_232),-    (233 , happyReduce_233),-    (234 , happyReduce_234),-    (235 , happyReduce_235),-    (236 , happyReduce_236),-    (237 , happyReduce_237),-    (238 , happyReduce_238),-    (239 , happyReduce_239),-    (240 , happyReduce_240),-    (241 , happyReduce_241),-    (242 , happyReduce_242),-    (243 , happyReduce_243),-    (244 , happyReduce_244),-    (245 , happyReduce_245),-    (246 , happyReduce_246),-    (247 , happyReduce_247),-    (248 , happyReduce_248),-    (249 , happyReduce_249),-    (250 , happyReduce_250),-    (251 , happyReduce_251),-    (252 , happyReduce_252),-    (253 , happyReduce_253),-    (254 , happyReduce_254),-    (255 , happyReduce_255),-    (256 , happyReduce_256),-    (257 , happyReduce_257),-    (258 , happyReduce_258),-    (259 , happyReduce_259),-    (260 , happyReduce_260),-    (261 , happyReduce_261),-    (262 , happyReduce_262),-    (263 , happyReduce_263),-    (264 , happyReduce_264),-    (265 , happyReduce_265),-    (266 , happyReduce_266),-    (267 , happyReduce_267),-    (268 , happyReduce_268),-    (269 , happyReduce_269),-    (270 , happyReduce_270),-    (271 , happyReduce_271),-    (272 , happyReduce_272),-    (273 , happyReduce_273),-    (274 , happyReduce_274),-    (275 , happyReduce_275),-    (276 , happyReduce_276),-    (277 , happyReduce_277),-    (278 , happyReduce_278),-    (279 , happyReduce_279),-    (280 , happyReduce_280),-    (281 , happyReduce_281),-    (282 , happyReduce_282),-    (283 , happyReduce_283),-    (284 , happyReduce_284),-    (285 , happyReduce_285),-    (286 , happyReduce_286),-    (287 , happyReduce_287),-    (288 , happyReduce_288),-    (289 , happyReduce_289),-    (290 , happyReduce_290),-    (291 , happyReduce_291),-    (292 , happyReduce_292),-    (293 , happyReduce_293),-    (294 , happyReduce_294),-    (295 , happyReduce_295),-    (296 , happyReduce_296),-    (297 , happyReduce_297),-    (298 , happyReduce_298),-    (299 , happyReduce_299),-    (300 , happyReduce_300),-    (301 , happyReduce_301),-    (302 , happyReduce_302),-    (303 , happyReduce_303),-    (304 , happyReduce_304),-    (305 , happyReduce_305),-    (306 , happyReduce_306),-    (307 , happyReduce_307),-    (308 , happyReduce_308),-    (309 , happyReduce_309),-    (310 , happyReduce_310),-    (311 , happyReduce_311),-    (312 , happyReduce_312),-    (313 , happyReduce_313),-    (314 , happyReduce_314),-    (315 , happyReduce_315),-    (316 , happyReduce_316),-    (317 , happyReduce_317),-    (318 , happyReduce_318),-    (319 , happyReduce_319),-    (320 , happyReduce_320),-    (321 , happyReduce_321),-    (322 , happyReduce_322),-    (323 , happyReduce_323),-    (324 , happyReduce_324),-    (325 , happyReduce_325),-    (326 , happyReduce_326),-    (327 , happyReduce_327),-    (328 , happyReduce_328),-    (329 , happyReduce_329),-    (330 , happyReduce_330),-    (331 , happyReduce_331),-    (332 , happyReduce_332),-    (333 , happyReduce_333),-    (334 , happyReduce_334),-    (335 , happyReduce_335),-    (336 , happyReduce_336),-    (337 , happyReduce_337),-    (338 , happyReduce_338),-    (339 , happyReduce_339),-    (340 , happyReduce_340),-    (341 , happyReduce_341),-    (342 , happyReduce_342),-    (343 , happyReduce_343),-    (344 , happyReduce_344),-    (345 , happyReduce_345),-    (346 , happyReduce_346),-    (347 , happyReduce_347),-    (348 , happyReduce_348),-    (349 , happyReduce_349),-    (350 , happyReduce_350),-    (351 , happyReduce_351),-    (352 , happyReduce_352),-    (353 , happyReduce_353),-    (354 , happyReduce_354),-    (355 , happyReduce_355),-    (356 , happyReduce_356),-    (357 , happyReduce_357),-    (358 , happyReduce_358),-    (359 , happyReduce_359),-    (360 , happyReduce_360),-    (361 , happyReduce_361),-    (362 , happyReduce_362),-    (363 , happyReduce_363),-    (364 , happyReduce_364),-    (365 , happyReduce_365),-    (366 , happyReduce_366),-    (367 , happyReduce_367),-    (368 , happyReduce_368),-    (369 , happyReduce_369),-    (370 , happyReduce_370),-    (371 , happyReduce_371),-    (372 , happyReduce_372),-    (373 , happyReduce_373),-    (374 , happyReduce_374),-    (375 , happyReduce_375),-    (376 , happyReduce_376),-    (377 , happyReduce_377),-    (378 , happyReduce_378),-    (379 , happyReduce_379),-    (380 , happyReduce_380),-    (381 , happyReduce_381),-    (382 , happyReduce_382),-    (383 , happyReduce_383),-    (384 , happyReduce_384),-    (385 , happyReduce_385),-    (386 , happyReduce_386),-    (387 , happyReduce_387),-    (388 , happyReduce_388),-    (389 , happyReduce_389),-    (390 , happyReduce_390),-    (391 , happyReduce_391),-    (392 , happyReduce_392),-    (393 , happyReduce_393),-    (394 , happyReduce_394),-    (395 , happyReduce_395),-    (396 , happyReduce_396),-    (397 , happyReduce_397),-    (398 , happyReduce_398),-    (399 , happyReduce_399),-    (400 , happyReduce_400),-    (401 , happyReduce_401),-    (402 , happyReduce_402),-    (403 , happyReduce_403),-    (404 , happyReduce_404),-    (405 , happyReduce_405),-    (406 , happyReduce_406),-    (407 , happyReduce_407),-    (408 , happyReduce_408),-    (409 , happyReduce_409),-    (410 , happyReduce_410),-    (411 , happyReduce_411),-    (412 , happyReduce_412),-    (413 , happyReduce_413),-    (414 , happyReduce_414),-    (415 , happyReduce_415),-    (416 , happyReduce_416),-    (417 , happyReduce_417),-    (418 , happyReduce_418),-    (419 , happyReduce_419),-    (420 , happyReduce_420),-    (421 , happyReduce_421),-    (422 , happyReduce_422),-    (423 , happyReduce_423),-    (424 , happyReduce_424),-    (425 , happyReduce_425),-    (426 , happyReduce_426),-    (427 , happyReduce_427),-    (428 , happyReduce_428),-    (429 , happyReduce_429),-    (430 , happyReduce_430),-    (431 , happyReduce_431),-    (432 , happyReduce_432),-    (433 , happyReduce_433),-    (434 , happyReduce_434),-    (435 , happyReduce_435),-    (436 , happyReduce_436),-    (437 , happyReduce_437),-    (438 , happyReduce_438),-    (439 , happyReduce_439),-    (440 , happyReduce_440),-    (441 , happyReduce_441),-    (442 , happyReduce_442),-    (443 , happyReduce_443),-    (444 , happyReduce_444),-    (445 , happyReduce_445),-    (446 , happyReduce_446),-    (447 , happyReduce_447),-    (448 , happyReduce_448),-    (449 , happyReduce_449),-    (450 , happyReduce_450),-    (451 , happyReduce_451),-    (452 , happyReduce_452),-    (453 , happyReduce_453),-    (454 , happyReduce_454),-    (455 , happyReduce_455),-    (456 , happyReduce_456),-    (457 , happyReduce_457),-    (458 , happyReduce_458),-    (459 , happyReduce_459),-    (460 , happyReduce_460),-    (461 , happyReduce_461),-    (462 , happyReduce_462),-    (463 , happyReduce_463)-    ]--happy_n_terms = 102 :: Int-happy_n_nonterms = 125 :: Int--happyReduce_4 = happyMonadReduce 1# 0# happyReduction_4-happyReduction_4 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut8 happy_x_1 of { happy_var_1 ->-    ( let decls = reverse happy_var_1 in-                       case decls of-                           []     -> do{ n <- getNewName; p <- getCurrentPosition; return $ CTranslUnit decls (mkNodeInfo' p (p,0) n) }-                           (d:ds) -> withNodeInfo d $ CTranslUnit decls)}-    ) (\r -> happyReturn (happyIn7 r))--happyReduce_5 = happySpecReduce_0  1# happyReduction_5-happyReduction_5  =  happyIn8-         (empty-    )--happyReduce_6 = happySpecReduce_2  1# happyReduction_6-happyReduction_6 happy_x_2-    happy_x_1-     =  case happyOut8 happy_x_1 of { happy_var_1 ->-    happyIn8-         (happy_var_1-    )}--happyReduce_7 = happySpecReduce_2  1# happyReduction_7-happyReduction_7 happy_x_2-    happy_x_1-     =  case happyOut8 happy_x_1 of { happy_var_1 ->-    case happyOut9 happy_x_2 of { happy_var_2 ->-    happyIn8-         (happy_var_1 `snoc` happy_var_2-    )}}--happyReduce_8 = happySpecReduce_1  2# happyReduction_8-happyReduction_8 happy_x_1-     =  case happyOut10 happy_x_1 of { happy_var_1 ->-    happyIn9-         (CFDefExt happy_var_1-    )}--happyReduce_9 = happySpecReduce_1  2# happyReduction_9-happyReduction_9 happy_x_1-     =  case happyOut32 happy_x_1 of { happy_var_1 ->-    happyIn9-         (CDeclExt happy_var_1-    )}--happyReduce_10 = happySpecReduce_2  2# happyReduction_10-happyReduction_10 happy_x_2-    happy_x_1-     =  case happyOut9 happy_x_2 of { happy_var_2 ->-    happyIn9-         (happy_var_2-    )}--happyReduce_11 = happyMonadReduce 5# 2# happyReduction_11-happyReduction_11 (happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut123 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ CAsmExt happy_var_3)}}-    ) (\r -> happyReturn (happyIn9 r))--happyReduce_12 = happyMonadReduce 2# 3# happyReduction_12-happyReduction_12 (happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut11 happy_x_1 of { happy_var_1 ->-    case happyOut14 happy_x_2 of { happy_var_2 ->-    ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef [] happy_var_1 [] happy_var_2))}}-    ) (\r -> happyReturn (happyIn10 r))--happyReduce_13 = happyMonadReduce 3# 3# happyReduction_13-happyReduction_13 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut127 happy_x_1 of { happy_var_1 ->-    case happyOut11 happy_x_2 of { happy_var_2 ->-    case happyOut14 happy_x_3 of { happy_var_3 ->-    ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef (liftCAttrs happy_var_1) happy_var_2 [] happy_var_3))}}}-    ) (\r -> happyReturn (happyIn10 r))--happyReduce_14 = happyMonadReduce 3# 3# happyReduction_14-happyReduction_14 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut37 happy_x_1 of { happy_var_1 ->-    case happyOut11 happy_x_2 of { happy_var_2 ->-    case happyOut14 happy_x_3 of { happy_var_3 ->-    ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef happy_var_1 happy_var_2 [] happy_var_3))}}}-    ) (\r -> happyReturn (happyIn10 r))--happyReduce_15 = happyMonadReduce 3# 3# happyReduction_15-happyReduction_15 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->-    case happyOut11 happy_x_2 of { happy_var_2 ->-    case happyOut14 happy_x_3 of { happy_var_3 ->-    ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef happy_var_1 happy_var_2 [] happy_var_3))}}}-    ) (\r -> happyReturn (happyIn10 r))--happyReduce_16 = happyMonadReduce 3# 3# happyReduction_16-happyReduction_16 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut38 happy_x_1 of { happy_var_1 ->-    case happyOut11 happy_x_2 of { happy_var_2 ->-    case happyOut14 happy_x_3 of { happy_var_3 ->-    ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef (reverse happy_var_1) happy_var_2 [] happy_var_3))}}}-    ) (\r -> happyReturn (happyIn10 r))--happyReduce_17 = happyMonadReduce 3# 3# happyReduction_17-happyReduction_17 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->-    case happyOut11 happy_x_2 of { happy_var_2 ->-    case happyOut14 happy_x_3 of { happy_var_3 ->-    ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef (liftTypeQuals happy_var_1) happy_var_2 [] happy_var_3))}}}-    ) (\r -> happyReturn (happyIn10 r))--happyReduce_18 = happyMonadReduce 4# 3# happyReduction_18-happyReduction_18 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->-    case happyOut127 happy_x_2 of { happy_var_2 ->-    case happyOut11 happy_x_3 of { happy_var_3 ->-    case happyOut14 happy_x_4 of { happy_var_4 ->-    ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef (liftTypeQuals happy_var_1 ++ liftCAttrs happy_var_2) happy_var_3 [] happy_var_4))}}}}-    ) (\r -> happyReturn (happyIn10 r))--happyReduce_19 = happyMonadReduce 3# 3# happyReduction_19-happyReduction_19 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut76 happy_x_1 of { happy_var_1 ->-    case happyOut33 happy_x_2 of { happy_var_2 ->-    case happyOut14 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ CFunDef [] happy_var_1 (reverse happy_var_2) happy_var_3)}}}-    ) (\r -> happyReturn (happyIn10 r))--happyReduce_20 = happyMonadReduce 4# 3# happyReduction_20-happyReduction_20 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut127 happy_x_1 of { happy_var_1 ->-    case happyOut76 happy_x_2 of { happy_var_2 ->-    case happyOut33 happy_x_3 of { happy_var_3 ->-    case happyOut14 happy_x_4 of { happy_var_4 ->-    ( withNodeInfo happy_var_2 $ CFunDef (liftCAttrs happy_var_1) happy_var_2 (reverse happy_var_3) happy_var_4)}}}}-    ) (\r -> happyReturn (happyIn10 r))--happyReduce_21 = happyMonadReduce 4# 3# happyReduction_21-happyReduction_21 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut37 happy_x_1 of { happy_var_1 ->-    case happyOut76 happy_x_2 of { happy_var_2 ->-    case happyOut33 happy_x_3 of { happy_var_3 ->-    case happyOut14 happy_x_4 of { happy_var_4 ->-    ( withNodeInfo happy_var_1 $ CFunDef happy_var_1 happy_var_2 (reverse happy_var_3) happy_var_4)}}}}-    ) (\r -> happyReturn (happyIn10 r))--happyReduce_22 = happyMonadReduce 4# 3# happyReduction_22-happyReduction_22 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->-    case happyOut76 happy_x_2 of { happy_var_2 ->-    case happyOut33 happy_x_3 of { happy_var_3 ->-    case happyOut14 happy_x_4 of { happy_var_4 ->-    ( withNodeInfo happy_var_1 $ CFunDef happy_var_1 happy_var_2 (reverse happy_var_3) happy_var_4)}}}}-    ) (\r -> happyReturn (happyIn10 r))--happyReduce_23 = happyMonadReduce 4# 3# happyReduction_23-happyReduction_23 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut38 happy_x_1 of { happy_var_1 ->-    case happyOut76 happy_x_2 of { happy_var_2 ->-    case happyOut33 happy_x_3 of { happy_var_3 ->-    case happyOut14 happy_x_4 of { happy_var_4 ->-    ( withNodeInfo happy_var_1 $ CFunDef (reverse happy_var_1) happy_var_2 (reverse happy_var_3) happy_var_4)}}}}-    ) (\r -> happyReturn (happyIn10 r))--happyReduce_24 = happyMonadReduce 4# 3# happyReduction_24-happyReduction_24 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->-    case happyOut76 happy_x_2 of { happy_var_2 ->-    case happyOut33 happy_x_3 of { happy_var_3 ->-    case happyOut14 happy_x_4 of { happy_var_4 ->-    ( withNodeInfo happy_var_1 $ CFunDef (liftTypeQuals happy_var_1) happy_var_2 (reverse happy_var_3) happy_var_4)}}}}-    ) (\r -> happyReturn (happyIn10 r))--happyReduce_25 = happyMonadReduce 5# 3# happyReduction_25-happyReduction_25 (happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->-    case happyOut127 happy_x_2 of { happy_var_2 ->-    case happyOut76 happy_x_3 of { happy_var_3 ->-    case happyOut33 happy_x_4 of { happy_var_4 ->-    case happyOut14 happy_x_5 of { happy_var_5 ->-    ( withNodeInfo happy_var_1 $ CFunDef (liftTypeQuals happy_var_1  ++ liftCAttrs happy_var_2) happy_var_3 (reverse happy_var_4) happy_var_5)}}}}}-    ) (\r -> happyReturn (happyIn10 r))--happyReduce_26 = happyMonadReduce 1# 4# happyReduction_26-happyReduction_26 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut72 happy_x_1 of { happy_var_1 ->-    ( let declr = reverseDeclr happy_var_1 in-       enterScope >> doFuncParamDeclIdent declr >> return declr)}-    ) (\r -> happyReturn (happyIn11 r))--happyReduce_27 = happySpecReduce_1  5# happyReduction_27-happyReduction_27 happy_x_1-     =  case happyOut13 happy_x_1 of { happy_var_1 ->-    happyIn12-         (happy_var_1-    )}--happyReduce_28 = happySpecReduce_1  5# happyReduction_28-happyReduction_28 happy_x_1-     =  case happyOut14 happy_x_1 of { happy_var_1 ->-    happyIn12-         (happy_var_1-    )}--happyReduce_29 = happySpecReduce_1  5# happyReduction_29-happyReduction_29 happy_x_1-     =  case happyOut22 happy_x_1 of { happy_var_1 ->-    happyIn12-         (happy_var_1-    )}--happyReduce_30 = happySpecReduce_1  5# happyReduction_30-happyReduction_30 happy_x_1-     =  case happyOut23 happy_x_1 of { happy_var_1 ->-    happyIn12-         (happy_var_1-    )}--happyReduce_31 = happySpecReduce_1  5# happyReduction_31-happyReduction_31 happy_x_1-     =  case happyOut24 happy_x_1 of { happy_var_1 ->-    happyIn12-         (happy_var_1-    )}--happyReduce_32 = happySpecReduce_1  5# happyReduction_32-happyReduction_32 happy_x_1-     =  case happyOut25 happy_x_1 of { happy_var_1 ->-    happyIn12-         (happy_var_1-    )}--happyReduce_33 = happyMonadReduce 1# 5# happyReduction_33-happyReduction_33 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut26 happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 (CAsm happy_var_1))}-    ) (\r -> happyReturn (happyIn12 r))--happyReduce_34 = happyMonadReduce 4# 6# happyReduction_34-happyReduction_34 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut125 happy_x_1 of { happy_var_1 ->-    case happyOut126 happy_x_3 of { happy_var_3 ->-    case happyOut12 happy_x_4 of { happy_var_4 ->-    ( withNodeInfo happy_var_1 $ CLabel happy_var_1 happy_var_4 happy_var_3)}}}-    ) (\r -> happyReturn (happyIn13 r))--happyReduce_35 = happyMonadReduce 4# 6# happyReduction_35-happyReduction_35 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut121 happy_x_2 of { happy_var_2 ->-    case happyOut12 happy_x_4 of { happy_var_4 ->-    ( withNodeInfo happy_var_1 $ CCase happy_var_2 happy_var_4)}}}-    ) (\r -> happyReturn (happyIn13 r))--happyReduce_36 = happyMonadReduce 3# 6# happyReduction_36-happyReduction_36 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut12 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ CDefault happy_var_3)}}-    ) (\r -> happyReturn (happyIn13 r))--happyReduce_37 = happyMonadReduce 6# 6# happyReduction_37-happyReduction_37 (happy_x_6 `HappyStk`-    happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut121 happy_x_2 of { happy_var_2 ->-    case happyOut121 happy_x_4 of { happy_var_4 ->-    case happyOut12 happy_x_6 of { happy_var_6 ->-    ( withNodeInfo happy_var_1 $ CCases happy_var_2 happy_var_4 happy_var_6)}}}}-    ) (\r -> happyReturn (happyIn13 r))--happyReduce_38 = happyMonadReduce 5# 7# happyReduction_38-happyReduction_38 (happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut17 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ CCompound [] (reverse happy_var_3))}}-    ) (\r -> happyReturn (happyIn14 r))--happyReduce_39 = happyMonadReduce 6# 7# happyReduction_39-happyReduction_39 (happy_x_6 `HappyStk`-    happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut21 happy_x_3 of { happy_var_3 ->-    case happyOut17 happy_x_4 of { happy_var_4 ->-    ( withNodeInfo happy_var_1 $ CCompound (reverse happy_var_3) (reverse happy_var_4))}}}-    ) (\r -> happyReturn (happyIn14 r))--happyReduce_40 = happyMonadReduce 0# 8# happyReduction_40-happyReduction_40 (happyRest) tk-     = happyThen (( enterScope)-    ) (\r -> happyReturn (happyIn15 r))--happyReduce_41 = happyMonadReduce 0# 9# happyReduction_41-happyReduction_41 (happyRest) tk-     = happyThen (( leaveScope)-    ) (\r -> happyReturn (happyIn16 r))--happyReduce_42 = happySpecReduce_0  10# happyReduction_42-happyReduction_42  =  happyIn17-         (empty-    )--happyReduce_43 = happySpecReduce_2  10# happyReduction_43-happyReduction_43 happy_x_2-    happy_x_1-     =  case happyOut17 happy_x_1 of { happy_var_1 ->-    case happyOut18 happy_x_2 of { happy_var_2 ->-    happyIn17-         (happy_var_1 `snoc` happy_var_2-    )}}--happyReduce_44 = happySpecReduce_1  11# happyReduction_44-happyReduction_44 happy_x_1-     =  case happyOut12 happy_x_1 of { happy_var_1 ->-    happyIn18-         (CBlockStmt happy_var_1-    )}--happyReduce_45 = happySpecReduce_1  11# happyReduction_45-happyReduction_45 happy_x_1-     =  case happyOut19 happy_x_1 of { happy_var_1 ->-    happyIn18-         (happy_var_1-    )}--happyReduce_46 = happySpecReduce_1  12# happyReduction_46-happyReduction_46 happy_x_1-     =  case happyOut32 happy_x_1 of { happy_var_1 ->-    happyIn19-         (CBlockDecl happy_var_1-    )}--happyReduce_47 = happySpecReduce_1  12# happyReduction_47-happyReduction_47 happy_x_1-     =  case happyOut20 happy_x_1 of { happy_var_1 ->-    happyIn19-         (CNestedFunDef happy_var_1-    )}--happyReduce_48 = happySpecReduce_2  12# happyReduction_48-happyReduction_48 happy_x_2-    happy_x_1-     =  case happyOut19 happy_x_2 of { happy_var_2 ->-    happyIn19-         (happy_var_2-    )}--happyReduce_49 = happyMonadReduce 3# 13# happyReduction_49-happyReduction_49 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut37 happy_x_1 of { happy_var_1 ->-    case happyOut11 happy_x_2 of { happy_var_2 ->-    case happyOut14 happy_x_3 of { happy_var_3 ->-    ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef happy_var_1 happy_var_2 [] happy_var_3))}}}-    ) (\r -> happyReturn (happyIn20 r))--happyReduce_50 = happyMonadReduce 3# 13# happyReduction_50-happyReduction_50 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->-    case happyOut11 happy_x_2 of { happy_var_2 ->-    case happyOut14 happy_x_3 of { happy_var_3 ->-    ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef happy_var_1 happy_var_2 [] happy_var_3))}}}-    ) (\r -> happyReturn (happyIn20 r))--happyReduce_51 = happyMonadReduce 3# 13# happyReduction_51-happyReduction_51 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut38 happy_x_1 of { happy_var_1 ->-    case happyOut11 happy_x_2 of { happy_var_2 ->-    case happyOut14 happy_x_3 of { happy_var_3 ->-    ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef (reverse happy_var_1) happy_var_2 [] happy_var_3))}}}-    ) (\r -> happyReturn (happyIn20 r))--happyReduce_52 = happyMonadReduce 3# 13# happyReduction_52-happyReduction_52 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->-    case happyOut11 happy_x_2 of { happy_var_2 ->-    case happyOut14 happy_x_3 of { happy_var_3 ->-    ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef (liftTypeQuals happy_var_1) happy_var_2 [] happy_var_3))}}}-    ) (\r -> happyReturn (happyIn20 r))--happyReduce_53 = happyMonadReduce 4# 13# happyReduction_53-happyReduction_53 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->-    case happyOut127 happy_x_2 of { happy_var_2 ->-    case happyOut11 happy_x_3 of { happy_var_3 ->-    case happyOut14 happy_x_4 of { happy_var_4 ->-    ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef (liftTypeQuals happy_var_1 ++ liftCAttrs happy_var_2) happy_var_3 [] happy_var_4))}}}}-    ) (\r -> happyReturn (happyIn20 r))--happyReduce_54 = happySpecReduce_3  14# happyReduction_54-happyReduction_54 happy_x_3-    happy_x_2-    happy_x_1-     =  case happyOut82 happy_x_2 of { happy_var_2 ->-    happyIn21-         (happy_var_2-    )}--happyReduce_55 = happyReduce 4# 14# happyReduction_55-happyReduction_55 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest)-     = case happyOut21 happy_x_1 of { happy_var_1 ->-    case happyOut82 happy_x_3 of { happy_var_3 ->-    happyIn21-         (happy_var_1 `rappendr` happy_var_3-    ) `HappyStk` happyRest}}--happyReduce_56 = happyMonadReduce 1# 15# happyReduction_56-happyReduction_56 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ CExpr Nothing)}-    ) (\r -> happyReturn (happyIn22 r))--happyReduce_57 = happyMonadReduce 2# 15# happyReduction_57-happyReduction_57 (happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut117 happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ CExpr (Just happy_var_1))}-    ) (\r -> happyReturn (happyIn22 r))--happyReduce_58 = happyMonadReduce 5# 16# happyReduction_58-happyReduction_58 (happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut117 happy_x_3 of { happy_var_3 ->-    case happyOut12 happy_x_5 of { happy_var_5 ->-    ( withNodeInfo happy_var_1 $ CIf happy_var_3 happy_var_5 Nothing)}}}-    ) (\r -> happyReturn (happyIn23 r))--happyReduce_59 = happyMonadReduce 7# 16# happyReduction_59-happyReduction_59 (happy_x_7 `HappyStk`-    happy_x_6 `HappyStk`-    happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut117 happy_x_3 of { happy_var_3 ->-    case happyOut12 happy_x_5 of { happy_var_5 ->-    case happyOut12 happy_x_7 of { happy_var_7 ->-    ( withNodeInfo happy_var_1 $ CIf happy_var_3 happy_var_5 (Just happy_var_7))}}}}-    ) (\r -> happyReturn (happyIn23 r))--happyReduce_60 = happyMonadReduce 5# 16# happyReduction_60-happyReduction_60 (happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut117 happy_x_3 of { happy_var_3 ->-    case happyOut12 happy_x_5 of { happy_var_5 ->-    ( withNodeInfo happy_var_1 $ CSwitch happy_var_3 happy_var_5)}}}-    ) (\r -> happyReturn (happyIn23 r))--happyReduce_61 = happyMonadReduce 5# 17# happyReduction_61-happyReduction_61 (happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut117 happy_x_3 of { happy_var_3 ->-    case happyOut12 happy_x_5 of { happy_var_5 ->-    ( withNodeInfo happy_var_1 $ CWhile happy_var_3 happy_var_5 False)}}}-    ) (\r -> happyReturn (happyIn24 r))--happyReduce_62 = happyMonadReduce 7# 17# happyReduction_62-happyReduction_62 (happy_x_7 `HappyStk`-    happy_x_6 `HappyStk`-    happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut12 happy_x_2 of { happy_var_2 ->-    case happyOut117 happy_x_5 of { happy_var_5 ->-    ( withNodeInfo happy_var_1 $ CWhile happy_var_5 happy_var_2 True)}}}-    ) (\r -> happyReturn (happyIn24 r))--happyReduce_63 = happyMonadReduce 9# 17# happyReduction_63-happyReduction_63 (happy_x_9 `HappyStk`-    happy_x_8 `HappyStk`-    happy_x_7 `HappyStk`-    happy_x_6 `HappyStk`-    happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut119 happy_x_3 of { happy_var_3 ->-    case happyOut119 happy_x_5 of { happy_var_5 ->-    case happyOut119 happy_x_7 of { happy_var_7 ->-    case happyOut12 happy_x_9 of { happy_var_9 ->-    ( withNodeInfo happy_var_1 $ CFor (Left happy_var_3) happy_var_5 happy_var_7 happy_var_9)}}}}}-    ) (\r -> happyReturn (happyIn24 r))--happyReduce_64 = happyMonadReduce 10# 17# happyReduction_64-happyReduction_64 (happy_x_10 `HappyStk`-    happy_x_9 `HappyStk`-    happy_x_8 `HappyStk`-    happy_x_7 `HappyStk`-    happy_x_6 `HappyStk`-    happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut32 happy_x_4 of { happy_var_4 ->-    case happyOut119 happy_x_5 of { happy_var_5 ->-    case happyOut119 happy_x_7 of { happy_var_7 ->-    case happyOut12 happy_x_9 of { happy_var_9 ->-    ( withNodeInfo happy_var_1 $ CFor (Right happy_var_4) happy_var_5 happy_var_7 happy_var_9)}}}}}-    ) (\r -> happyReturn (happyIn24 r))--happyReduce_65 = happyMonadReduce 3# 18# happyReduction_65-happyReduction_65 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut125 happy_x_2 of { happy_var_2 ->-    ( withNodeInfo happy_var_1 $ CGoto happy_var_2)}}-    ) (\r -> happyReturn (happyIn25 r))--happyReduce_66 = happyMonadReduce 4# 18# happyReduction_66-happyReduction_66 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut117 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ CGotoPtr happy_var_3)}}-    ) (\r -> happyReturn (happyIn25 r))--happyReduce_67 = happyMonadReduce 2# 18# happyReduction_67-happyReduction_67 (happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ CCont)}-    ) (\r -> happyReturn (happyIn25 r))--happyReduce_68 = happyMonadReduce 2# 18# happyReduction_68-happyReduction_68 (happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ CBreak)}-    ) (\r -> happyReturn (happyIn25 r))--happyReduce_69 = happyMonadReduce 3# 18# happyReduction_69-happyReduction_69 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut119 happy_x_2 of { happy_var_2 ->-    ( withNodeInfo happy_var_1 $ CReturn happy_var_2)}}-    ) (\r -> happyReturn (happyIn25 r))--happyReduce_70 = happyMonadReduce 6# 19# happyReduction_70-happyReduction_70 (happy_x_6 `HappyStk`-    happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut27 happy_x_2 of { happy_var_2 ->-    case happyOut123 happy_x_4 of { happy_var_4 ->-    ( withNodeInfo happy_var_1 $ CAsmStmt happy_var_2 happy_var_4 [] [] [])}}}-    ) (\r -> happyReturn (happyIn26 r))--happyReduce_71 = happyMonadReduce 8# 19# happyReduction_71-happyReduction_71 (happy_x_8 `HappyStk`-    happy_x_7 `HappyStk`-    happy_x_6 `HappyStk`-    happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut27 happy_x_2 of { happy_var_2 ->-    case happyOut123 happy_x_4 of { happy_var_4 ->-    case happyOut28 happy_x_6 of { happy_var_6 ->-    ( withNodeInfo happy_var_1 $ CAsmStmt happy_var_2 happy_var_4 happy_var_6 [] [])}}}}-    ) (\r -> happyReturn (happyIn26 r))--happyReduce_72 = happyMonadReduce 10# 19# happyReduction_72-happyReduction_72 (happy_x_10 `HappyStk`-    happy_x_9 `HappyStk`-    happy_x_8 `HappyStk`-    happy_x_7 `HappyStk`-    happy_x_6 `HappyStk`-    happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut27 happy_x_2 of { happy_var_2 ->-    case happyOut123 happy_x_4 of { happy_var_4 ->-    case happyOut28 happy_x_6 of { happy_var_6 ->-    case happyOut28 happy_x_8 of { happy_var_8 ->-    ( withNodeInfo happy_var_1 $ CAsmStmt happy_var_2 happy_var_4 happy_var_6 happy_var_8 [])}}}}}-    ) (\r -> happyReturn (happyIn26 r))--happyReduce_73 = happyMonadReduce 12# 19# happyReduction_73-happyReduction_73 (happy_x_12 `HappyStk`-    happy_x_11 `HappyStk`-    happy_x_10 `HappyStk`-    happy_x_9 `HappyStk`-    happy_x_8 `HappyStk`-    happy_x_7 `HappyStk`-    happy_x_6 `HappyStk`-    happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut27 happy_x_2 of { happy_var_2 ->-    case happyOut123 happy_x_4 of { happy_var_4 ->-    case happyOut28 happy_x_6 of { happy_var_6 ->-    case happyOut28 happy_x_8 of { happy_var_8 ->-    case happyOut31 happy_x_10 of { happy_var_10 ->-    ( withNodeInfo happy_var_1 $ CAsmStmt happy_var_2 happy_var_4 happy_var_6 happy_var_8 (reverse happy_var_10))}}}}}}-    ) (\r -> happyReturn (happyIn26 r))--happyReduce_74 = happySpecReduce_0  20# happyReduction_74-happyReduction_74  =  happyIn27-         (Nothing-    )--happyReduce_75 = happySpecReduce_1  20# happyReduction_75-happyReduction_75 happy_x_1-     =  case happyOut61 happy_x_1 of { happy_var_1 ->-    happyIn27-         (Just happy_var_1-    )}--happyReduce_76 = happySpecReduce_0  21# happyReduction_76-happyReduction_76  =  happyIn28-         ([]-    )--happyReduce_77 = happySpecReduce_1  21# happyReduction_77-happyReduction_77 happy_x_1-     =  case happyOut29 happy_x_1 of { happy_var_1 ->-    happyIn28-         (reverse happy_var_1-    )}--happyReduce_78 = happySpecReduce_1  22# happyReduction_78-happyReduction_78 happy_x_1-     =  case happyOut30 happy_x_1 of { happy_var_1 ->-    happyIn29-         (singleton happy_var_1-    )}--happyReduce_79 = happySpecReduce_3  22# happyReduction_79-happyReduction_79 happy_x_3-    happy_x_2-    happy_x_1-     =  case happyOut29 happy_x_1 of { happy_var_1 ->-    case happyOut30 happy_x_3 of { happy_var_3 ->-    happyIn29-         (happy_var_1 `snoc` happy_var_3-    )}}--happyReduce_80 = happyMonadReduce 4# 23# happyReduction_80-happyReduction_80 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut123 happy_x_1 of { happy_var_1 ->-    case happyOut117 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ CAsmOperand Nothing happy_var_1 happy_var_3)}}-    ) (\r -> happyReturn (happyIn30 r))--happyReduce_81 = happyMonadReduce 7# 23# happyReduction_81-happyReduction_81 (happy_x_7 `HappyStk`-    happy_x_6 `HappyStk`-    happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOutTok happy_x_2 of { (CTokIdent  _ happy_var_2) ->-    case happyOut123 happy_x_4 of { happy_var_4 ->-    case happyOut117 happy_x_6 of { happy_var_6 ->-    ( withNodeInfo happy_var_1 $ CAsmOperand (Just happy_var_2) happy_var_4 happy_var_6)}}}}-    ) (\r -> happyReturn (happyIn30 r))--happyReduce_82 = happyMonadReduce 7# 23# happyReduction_82-happyReduction_82 (happy_x_7 `HappyStk`-    happy_x_6 `HappyStk`-    happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOutTok happy_x_2 of { (CTokTyIdent _ happy_var_2) ->-    case happyOut123 happy_x_4 of { happy_var_4 ->-    case happyOut117 happy_x_6 of { happy_var_6 ->-    ( withNodeInfo happy_var_1 $ CAsmOperand (Just happy_var_2) happy_var_4 happy_var_6)}}}}-    ) (\r -> happyReturn (happyIn30 r))--happyReduce_83 = happySpecReduce_1  24# happyReduction_83-happyReduction_83 happy_x_1-     =  case happyOut123 happy_x_1 of { happy_var_1 ->-    happyIn31-         (singleton happy_var_1-    )}--happyReduce_84 = happySpecReduce_3  24# happyReduction_84-happyReduction_84 happy_x_3-    happy_x_2-    happy_x_1-     =  case happyOut31 happy_x_1 of { happy_var_1 ->-    case happyOut123 happy_x_3 of { happy_var_3 ->-    happyIn31-         (happy_var_1 `snoc` happy_var_3-    )}}--happyReduce_85 = happyMonadReduce 2# 25# happyReduction_85-happyReduction_85 (happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut45 happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ CDecl (reverse happy_var_1) [])}-    ) (\r -> happyReturn (happyIn32 r))--happyReduce_86 = happyMonadReduce 2# 25# happyReduction_86-happyReduction_86 (happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut46 happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ CDecl (reverse happy_var_1) [])}-    ) (\r -> happyReturn (happyIn32 r))--happyReduce_87 = happyMonadReduce 2# 25# happyReduction_87-happyReduction_87 (happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut36 happy_x_1 of { happy_var_1 ->-    ( case happy_var_1 of CDecl declspecs dies at -> withLength at (CDecl declspecs (List.reverse dies)))}-    ) (\r -> happyReturn (happyIn32 r))--happyReduce_88 = happyMonadReduce 2# 25# happyReduction_88-happyReduction_88 (happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut34 happy_x_1 of { happy_var_1 ->-    ( case happy_var_1 of CDecl declspecs dies at -> withLength at (CDecl declspecs (List.reverse dies)))}-    ) (\r -> happyReturn (happyIn32 r))--happyReduce_89 = happySpecReduce_0  26# happyReduction_89-happyReduction_89  =  happyIn33-         (empty-    )--happyReduce_90 = happySpecReduce_2  26# happyReduction_90-happyReduction_90 happy_x_2-    happy_x_1-     =  case happyOut33 happy_x_1 of { happy_var_1 ->-    case happyOut32 happy_x_2 of { happy_var_2 ->-    happyIn33-         (happy_var_1 `snoc` happy_var_2-    )}}--happyReduce_91 = happyMonadReduce 4# 27# happyReduction_91-happyReduction_91 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut38 happy_x_1 of { happy_var_1 ->-    case happyOut72 happy_x_2 of { happy_var_2 ->-    case happyOut35 happy_x_3 of { happy_var_3 ->-    case happyOut91 happy_x_4 of { happy_var_4 ->-    ( let declspecs = reverse happy_var_1 in-       do{ declr <- withAsmNameAttrs happy_var_3 happy_var_2-           ; doDeclIdent declspecs declr-           ; withNodeInfo happy_var_1 $-                CDecl declspecs [(Just (reverseDeclr declr), happy_var_4, Nothing)] })}}}}-    ) (\r -> happyReturn (happyIn34 r))--happyReduce_92 = happyMonadReduce 4# 27# happyReduction_92-happyReduction_92 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->-    case happyOut72 happy_x_2 of { happy_var_2 ->-    case happyOut35 happy_x_3 of { happy_var_3 ->-    case happyOut91 happy_x_4 of { happy_var_4 ->-    ( let declspecs = liftTypeQuals happy_var_1 in-       do{ declr <- withAsmNameAttrs happy_var_3 happy_var_2-           ; doDeclIdent declspecs declr-           ; withNodeInfo happy_var_1 $ CDecl declspecs [(Just (reverseDeclr declr), happy_var_4, Nothing)] })}}}}-    ) (\r -> happyReturn (happyIn34 r))--happyReduce_93 = happyMonadReduce 5# 27# happyReduction_93-happyReduction_93 (happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->-    case happyOut127 happy_x_2 of { happy_var_2 ->-    case happyOut72 happy_x_3 of { happy_var_3 ->-    case happyOut35 happy_x_4 of { happy_var_4 ->-    case happyOut91 happy_x_5 of { happy_var_5 ->-    ( let declspecs = liftTypeQuals happy_var_1 in-       do{ declr <- withAsmNameAttrs happy_var_4 happy_var_3-           ; doDeclIdent declspecs declr-           ; withNodeInfo happy_var_1 $ CDecl (declspecs ++ liftCAttrs happy_var_2) [(Just (reverseDeclr declr), happy_var_5, Nothing)] })}}}}}-    ) (\r -> happyReturn (happyIn34 r))--happyReduce_94 = happyMonadReduce 4# 27# happyReduction_94-happyReduction_94 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut127 happy_x_1 of { happy_var_1 ->-    case happyOut72 happy_x_2 of { happy_var_2 ->-    case happyOut35 happy_x_3 of { happy_var_3 ->-    case happyOut91 happy_x_4 of { happy_var_4 ->-    ( let declspecs = liftCAttrs happy_var_1 in-       do{ declr <- withAsmNameAttrs happy_var_3 happy_var_2-           ; doDeclIdent declspecs declr-           ; withNodeInfo happy_var_1 $ CDecl declspecs [(Just (reverseDeclr declr), happy_var_4, Nothing)] })}}}}-    ) (\r -> happyReturn (happyIn34 r))--happyReduce_95 = happyMonadReduce 6# 27# happyReduction_95-happyReduction_95 (happy_x_6 `HappyStk`-    happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut34 happy_x_1 of { happy_var_1 ->-    case happyOut126 happy_x_3 of { happy_var_3 ->-    case happyOut72 happy_x_4 of { happy_var_4 ->-    case happyOut35 happy_x_5 of { happy_var_5 ->-    case happyOut91 happy_x_6 of { happy_var_6 ->-    ( case happy_var_1 of-             CDecl declspecs dies at -> do-               declr <- withAsmNameAttrs (fst happy_var_5, snd happy_var_5 ++ happy_var_3) happy_var_4-               doDeclIdent declspecs declr-               withLength at $ CDecl declspecs ((Just (reverseDeclr declr), happy_var_6, Nothing) : dies))}}}}}-    ) (\r -> happyReturn (happyIn34 r))--happyReduce_96 = happySpecReduce_2  28# happyReduction_96-happyReduction_96 happy_x_2-    happy_x_1-     =  case happyOut64 happy_x_1 of { happy_var_1 ->-    case happyOut126 happy_x_2 of { happy_var_2 ->-    happyIn35-         ((happy_var_1,happy_var_2)-    )}}--happyReduce_97 = happyMonadReduce 4# 29# happyReduction_97-happyReduction_97 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut37 happy_x_1 of { happy_var_1 ->-    case happyOut63 happy_x_2 of { happy_var_2 ->-    case happyOut35 happy_x_3 of { happy_var_3 ->-    case happyOut91 happy_x_4 of { happy_var_4 ->-    ( do{-       declr <- withAsmNameAttrs happy_var_3 happy_var_2;-       doDeclIdent happy_var_1 declr;-       withNodeInfo happy_var_1 $ CDecl happy_var_1 [(Just (reverseDeclr declr), happy_var_4, Nothing)] })}}}}-    ) (\r -> happyReturn (happyIn36 r))--happyReduce_98 = happyMonadReduce 4# 29# happyReduction_98-happyReduction_98 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->-    case happyOut63 happy_x_2 of { happy_var_2 ->-    case happyOut35 happy_x_3 of { happy_var_3 ->-    case happyOut91 happy_x_4 of { happy_var_4 ->-    ( do{-       declr <- withAsmNameAttrs happy_var_3 happy_var_2;-       doDeclIdent happy_var_1 declr;-       withNodeInfo happy_var_1 $ CDecl happy_var_1 [(Just (reverseDeclr declr), happy_var_4, Nothing)] })}}}}-    ) (\r -> happyReturn (happyIn36 r))--happyReduce_99 = happyMonadReduce 6# 29# happyReduction_99-happyReduction_99 (happy_x_6 `HappyStk`-    happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut36 happy_x_1 of { happy_var_1 ->-    case happyOut126 happy_x_3 of { happy_var_3 ->-    case happyOut63 happy_x_4 of { happy_var_4 ->-    case happyOut35 happy_x_5 of { happy_var_5 ->-    case happyOut91 happy_x_6 of { happy_var_6 ->-    ( case happy_var_1 of-             CDecl declspecs dies at -> do-               declr <- withAsmNameAttrs (fst happy_var_5, snd happy_var_5 ++ happy_var_3) happy_var_4-               doDeclIdent declspecs declr-               return (CDecl declspecs ((Just (reverseDeclr declr), happy_var_6, Nothing) : dies) at))}}}}}-    ) (\r -> happyReturn (happyIn36 r))--happyReduce_100 = happySpecReduce_1  30# happyReduction_100-happyReduction_100 happy_x_1-     =  case happyOut43 happy_x_1 of { happy_var_1 ->-    happyIn37-         (reverse happy_var_1-    )}--happyReduce_101 = happySpecReduce_1  30# happyReduction_101-happyReduction_101 happy_x_1-     =  case happyOut45 happy_x_1 of { happy_var_1 ->-    happyIn37-         (reverse happy_var_1-    )}--happyReduce_102 = happySpecReduce_1  30# happyReduction_102-happyReduction_102 happy_x_1-     =  case happyOut47 happy_x_1 of { happy_var_1 ->-    happyIn37-         (reverse happy_var_1-    )}--happyReduce_103 = happySpecReduce_1  31# happyReduction_103-happyReduction_103 happy_x_1-     =  case happyOut40 happy_x_1 of { happy_var_1 ->-    happyIn38-         (singleton (CStorageSpec happy_var_1)-    )}--happyReduce_104 = happySpecReduce_2  31# happyReduction_104-happyReduction_104 happy_x_2-    happy_x_1-     =  case happyOut127 happy_x_1 of { happy_var_1 ->-    case happyOut40 happy_x_2 of { happy_var_2 ->-    happyIn38-         (reverseList (liftCAttrs happy_var_1) `snoc` (CStorageSpec happy_var_2)-    )}}--happyReduce_105 = happySpecReduce_2  31# happyReduction_105-happyReduction_105 happy_x_2-    happy_x_1-     =  case happyOut62 happy_x_1 of { happy_var_1 ->-    case happyOut40 happy_x_2 of { happy_var_2 ->-    happyIn38-         (rmap CTypeQual happy_var_1 `snoc` CStorageSpec happy_var_2-    )}}--happyReduce_106 = happySpecReduce_3  31# happyReduction_106-happyReduction_106 happy_x_3-    happy_x_2-    happy_x_1-     =  case happyOut62 happy_x_1 of { happy_var_1 ->-    case happyOut127 happy_x_2 of { happy_var_2 ->-    case happyOut40 happy_x_3 of { happy_var_3 ->-    happyIn38-         ((rmap CTypeQual happy_var_1 `rappend` liftCAttrs happy_var_2) `snoc` CStorageSpec happy_var_3-    )}}}--happyReduce_107 = happySpecReduce_2  31# happyReduction_107-happyReduction_107 happy_x_2-    happy_x_1-     =  case happyOut38 happy_x_1 of { happy_var_1 ->-    case happyOut39 happy_x_2 of { happy_var_2 ->-    happyIn38-         (happy_var_1 `snoc` happy_var_2-    )}}--happyReduce_108 = happySpecReduce_2  31# happyReduction_108-happyReduction_108 happy_x_2-    happy_x_1-     =  case happyOut38 happy_x_1 of { happy_var_1 ->-    case happyOut128 happy_x_2 of { happy_var_2 ->-    happyIn38-         (addTrailingAttrs happy_var_1 happy_var_2-    )}}--happyReduce_109 = happySpecReduce_1  32# happyReduction_109-happyReduction_109 happy_x_1-     =  case happyOut40 happy_x_1 of { happy_var_1 ->-    happyIn39-         (CStorageSpec happy_var_1-    )}--happyReduce_110 = happySpecReduce_1  32# happyReduction_110-happyReduction_110 happy_x_1-     =  case happyOut61 happy_x_1 of { happy_var_1 ->-    happyIn39-         (CTypeQual happy_var_1-    )}--happyReduce_111 = happyMonadReduce 1# 33# happyReduction_111-happyReduction_111 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ CTypedef)}-    ) (\r -> happyReturn (happyIn40 r))--happyReduce_112 = happyMonadReduce 1# 33# happyReduction_112-happyReduction_112 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ CExtern)}-    ) (\r -> happyReturn (happyIn40 r))--happyReduce_113 = happyMonadReduce 1# 33# happyReduction_113-happyReduction_113 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ CStatic)}-    ) (\r -> happyReturn (happyIn40 r))--happyReduce_114 = happyMonadReduce 1# 33# happyReduction_114-happyReduction_114 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ CAuto)}-    ) (\r -> happyReturn (happyIn40 r))--happyReduce_115 = happyMonadReduce 1# 33# happyReduction_115-happyReduction_115 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ CRegister)}-    ) (\r -> happyReturn (happyIn40 r))--happyReduce_116 = happyMonadReduce 1# 33# happyReduction_116-happyReduction_116 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ CThread)}-    ) (\r -> happyReturn (happyIn40 r))--happyReduce_117 = happySpecReduce_1  34# happyReduction_117-happyReduction_117 happy_x_1-     =  case happyOut44 happy_x_1 of { happy_var_1 ->-    happyIn41-         (reverse happy_var_1-    )}--happyReduce_118 = happySpecReduce_1  34# happyReduction_118-happyReduction_118 happy_x_1-     =  case happyOut46 happy_x_1 of { happy_var_1 ->-    happyIn41-         (reverse happy_var_1-    )}--happyReduce_119 = happySpecReduce_1  34# happyReduction_119-happyReduction_119 happy_x_1-     =  case happyOut48 happy_x_1 of { happy_var_1 ->-    happyIn41-         (reverse happy_var_1-    )}--happyReduce_120 = happyMonadReduce 1# 35# happyReduction_120-happyReduction_120 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ CVoidType)}-    ) (\r -> happyReturn (happyIn42 r))--happyReduce_121 = happyMonadReduce 1# 35# happyReduction_121-happyReduction_121 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ CCharType)}-    ) (\r -> happyReturn (happyIn42 r))--happyReduce_122 = happyMonadReduce 1# 35# happyReduction_122-happyReduction_122 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ CShortType)}-    ) (\r -> happyReturn (happyIn42 r))--happyReduce_123 = happyMonadReduce 1# 35# happyReduction_123-happyReduction_123 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ CIntType)}-    ) (\r -> happyReturn (happyIn42 r))--happyReduce_124 = happyMonadReduce 1# 35# happyReduction_124-happyReduction_124 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ CLongType)}-    ) (\r -> happyReturn (happyIn42 r))--happyReduce_125 = happyMonadReduce 1# 35# happyReduction_125-happyReduction_125 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ CFloatType)}-    ) (\r -> happyReturn (happyIn42 r))--happyReduce_126 = happyMonadReduce 1# 35# happyReduction_126-happyReduction_126 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ CDoubleType)}-    ) (\r -> happyReturn (happyIn42 r))--happyReduce_127 = happyMonadReduce 1# 35# happyReduction_127-happyReduction_127 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ CSignedType)}-    ) (\r -> happyReturn (happyIn42 r))--happyReduce_128 = happyMonadReduce 1# 35# happyReduction_128-happyReduction_128 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ CUnsigType)}-    ) (\r -> happyReturn (happyIn42 r))--happyReduce_129 = happyMonadReduce 1# 35# happyReduction_129-happyReduction_129 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ CBoolType)}-    ) (\r -> happyReturn (happyIn42 r))--happyReduce_130 = happyMonadReduce 1# 35# happyReduction_130-happyReduction_130 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ CComplexType)}-    ) (\r -> happyReturn (happyIn42 r))--happyReduce_131 = happySpecReduce_2  36# happyReduction_131-happyReduction_131 happy_x_2-    happy_x_1-     =  case happyOut38 happy_x_1 of { happy_var_1 ->-    case happyOut42 happy_x_2 of { happy_var_2 ->-    happyIn43-         (happy_var_1 `snoc` CTypeSpec happy_var_2-    )}}--happyReduce_132 = happySpecReduce_2  36# happyReduction_132-happyReduction_132 happy_x_2-    happy_x_1-     =  case happyOut44 happy_x_1 of { happy_var_1 ->-    case happyOut40 happy_x_2 of { happy_var_2 ->-    happyIn43-         (happy_var_1 `snoc` CStorageSpec happy_var_2-    )}}--happyReduce_133 = happySpecReduce_2  36# happyReduction_133-happyReduction_133 happy_x_2-    happy_x_1-     =  case happyOut43 happy_x_1 of { happy_var_1 ->-    case happyOut39 happy_x_2 of { happy_var_2 ->-    happyIn43-         (happy_var_1 `snoc` happy_var_2-    )}}--happyReduce_134 = happySpecReduce_2  36# happyReduction_134-happyReduction_134 happy_x_2-    happy_x_1-     =  case happyOut43 happy_x_1 of { happy_var_1 ->-    case happyOut42 happy_x_2 of { happy_var_2 ->-    happyIn43-         (happy_var_1 `snoc` CTypeSpec happy_var_2-    )}}--happyReduce_135 = happySpecReduce_2  36# happyReduction_135-happyReduction_135 happy_x_2-    happy_x_1-     =  case happyOut43 happy_x_1 of { happy_var_1 ->-    case happyOut128 happy_x_2 of { happy_var_2 ->-    happyIn43-         (addTrailingAttrs happy_var_1 happy_var_2-    )}}--happyReduce_136 = happySpecReduce_1  37# happyReduction_136-happyReduction_136 happy_x_1-     =  case happyOut42 happy_x_1 of { happy_var_1 ->-    happyIn44-         (singleton (CTypeSpec happy_var_1)-    )}--happyReduce_137 = happySpecReduce_2  37# happyReduction_137-happyReduction_137 happy_x_2-    happy_x_1-     =  case happyOut127 happy_x_1 of { happy_var_1 ->-    case happyOut42 happy_x_2 of { happy_var_2 ->-    happyIn44-         ((reverseList $ liftCAttrs happy_var_1) `snoc` (CTypeSpec happy_var_2)-    )}}--happyReduce_138 = happySpecReduce_2  37# happyReduction_138-happyReduction_138 happy_x_2-    happy_x_1-     =  case happyOut62 happy_x_1 of { happy_var_1 ->-    case happyOut42 happy_x_2 of { happy_var_2 ->-    happyIn44-         (rmap CTypeQual happy_var_1 `snoc` CTypeSpec happy_var_2-    )}}--happyReduce_139 = happySpecReduce_3  37# happyReduction_139-happyReduction_139 happy_x_3-    happy_x_2-    happy_x_1-     =  case happyOut62 happy_x_1 of { happy_var_1 ->-    case happyOut127 happy_x_2 of { happy_var_2 ->-    case happyOut42 happy_x_3 of { happy_var_3 ->-    happyIn44-         (rmap CTypeQual happy_var_1 `rappend` (liftCAttrs happy_var_2) `snoc` CTypeSpec happy_var_3-    )}}}--happyReduce_140 = happySpecReduce_2  37# happyReduction_140-happyReduction_140 happy_x_2-    happy_x_1-     =  case happyOut44 happy_x_1 of { happy_var_1 ->-    case happyOut61 happy_x_2 of { happy_var_2 ->-    happyIn44-         (happy_var_1 `snoc` CTypeQual happy_var_2-    )}}--happyReduce_141 = happySpecReduce_2  37# happyReduction_141-happyReduction_141 happy_x_2-    happy_x_1-     =  case happyOut44 happy_x_1 of { happy_var_1 ->-    case happyOut42 happy_x_2 of { happy_var_2 ->-    happyIn44-         (happy_var_1 `snoc` CTypeSpec happy_var_2-    )}}--happyReduce_142 = happySpecReduce_2  37# happyReduction_142-happyReduction_142 happy_x_2-    happy_x_1-     =  case happyOut44 happy_x_1 of { happy_var_1 ->-    case happyOut128 happy_x_2 of { happy_var_2 ->-    happyIn44-         (addTrailingAttrs happy_var_1 happy_var_2-    )}}--happyReduce_143 = happySpecReduce_2  38# happyReduction_143-happyReduction_143 happy_x_2-    happy_x_1-     =  case happyOut38 happy_x_1 of { happy_var_1 ->-    case happyOut49 happy_x_2 of { happy_var_2 ->-    happyIn45-         (happy_var_1 `snoc` CTypeSpec happy_var_2-    )}}--happyReduce_144 = happySpecReduce_2  38# happyReduction_144-happyReduction_144 happy_x_2-    happy_x_1-     =  case happyOut46 happy_x_1 of { happy_var_1 ->-    case happyOut40 happy_x_2 of { happy_var_2 ->-    happyIn45-         (happy_var_1 `snoc` CStorageSpec happy_var_2-    )}}--happyReduce_145 = happySpecReduce_2  38# happyReduction_145-happyReduction_145 happy_x_2-    happy_x_1-     =  case happyOut45 happy_x_1 of { happy_var_1 ->-    case happyOut39 happy_x_2 of { happy_var_2 ->-    happyIn45-         (happy_var_1 `snoc` happy_var_2-    )}}--happyReduce_146 = happySpecReduce_2  38# happyReduction_146-happyReduction_146 happy_x_2-    happy_x_1-     =  case happyOut45 happy_x_1 of { happy_var_1 ->-    case happyOut128 happy_x_2 of { happy_var_2 ->-    happyIn45-         (addTrailingAttrs happy_var_1 happy_var_2-    )}}--happyReduce_147 = happySpecReduce_1  39# happyReduction_147-happyReduction_147 happy_x_1-     =  case happyOut49 happy_x_1 of { happy_var_1 ->-    happyIn46-         (singleton (CTypeSpec happy_var_1)-    )}--happyReduce_148 = happySpecReduce_2  39# happyReduction_148-happyReduction_148 happy_x_2-    happy_x_1-     =  case happyOut127 happy_x_1 of { happy_var_1 ->-    case happyOut49 happy_x_2 of { happy_var_2 ->-    happyIn46-         ((reverseList $ liftCAttrs happy_var_1) `snoc` (CTypeSpec happy_var_2)-    )}}--happyReduce_149 = happySpecReduce_2  39# happyReduction_149-happyReduction_149 happy_x_2-    happy_x_1-     =  case happyOut62 happy_x_1 of { happy_var_1 ->-    case happyOut49 happy_x_2 of { happy_var_2 ->-    happyIn46-         (rmap CTypeQual happy_var_1 `snoc` CTypeSpec happy_var_2-    )}}--happyReduce_150 = happySpecReduce_3  39# happyReduction_150-happyReduction_150 happy_x_3-    happy_x_2-    happy_x_1-     =  case happyOut62 happy_x_1 of { happy_var_1 ->-    case happyOut127 happy_x_2 of { happy_var_2 ->-    case happyOut49 happy_x_3 of { happy_var_3 ->-    happyIn46-         (rmap CTypeQual  happy_var_1 `rappend` (liftCAttrs happy_var_2) `snoc` CTypeSpec happy_var_3-    )}}}--happyReduce_151 = happySpecReduce_2  39# happyReduction_151-happyReduction_151 happy_x_2-    happy_x_1-     =  case happyOut46 happy_x_1 of { happy_var_1 ->-    case happyOut61 happy_x_2 of { happy_var_2 ->-    happyIn46-         (happy_var_1 `snoc` CTypeQual happy_var_2-    )}}--happyReduce_152 = happySpecReduce_2  39# happyReduction_152-happyReduction_152 happy_x_2-    happy_x_1-     =  case happyOut46 happy_x_1 of { happy_var_1 ->-    case happyOut128 happy_x_2 of { happy_var_2 ->-    happyIn46-         (addTrailingAttrs happy_var_1 happy_var_2-    )}}--happyReduce_153 = happySpecReduce_2  40# happyReduction_153-happyReduction_153 happy_x_2-    happy_x_1-     =  case happyOut48 happy_x_1 of { happy_var_1 ->-    case happyOut40 happy_x_2 of { happy_var_2 ->-    happyIn47-         (happy_var_1 `snoc` CStorageSpec happy_var_2-    )}}--happyReduce_154 = happyMonadReduce 2# 40# happyReduction_154-happyReduction_154 (happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut38 happy_x_1 of { happy_var_1 ->-    case happyOutTok happy_x_2 of { (CTokTyIdent _ happy_var_2) ->-    ( withNodeInfo happy_var_2 $ \at -> happy_var_1 `snoc` CTypeSpec (CTypeDef happy_var_2 at))}}-    ) (\r -> happyReturn (happyIn47 r))--happyReduce_155 = happyMonadReduce 5# 40# happyReduction_155-happyReduction_155 (happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut38 happy_x_1 of { happy_var_1 ->-    case happyOutTok happy_x_2 of { happy_var_2 ->-    case happyOut117 happy_x_4 of { happy_var_4 ->-    ( withNodeInfo happy_var_2 $ \at -> happy_var_1 `snoc` CTypeSpec (CTypeOfExpr happy_var_4 at))}}}-    ) (\r -> happyReturn (happyIn47 r))--happyReduce_156 = happyMonadReduce 5# 40# happyReduction_156-happyReduction_156 (happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut38 happy_x_1 of { happy_var_1 ->-    case happyOutTok happy_x_2 of { happy_var_2 ->-    case happyOut83 happy_x_4 of { happy_var_4 ->-    ( withNodeInfo happy_var_2 $ \at -> happy_var_1 `snoc` CTypeSpec (CTypeOfType happy_var_4 at))}}}-    ) (\r -> happyReturn (happyIn47 r))--happyReduce_157 = happySpecReduce_2  40# happyReduction_157-happyReduction_157 happy_x_2-    happy_x_1-     =  case happyOut47 happy_x_1 of { happy_var_1 ->-    case happyOut39 happy_x_2 of { happy_var_2 ->-    happyIn47-         (happy_var_1 `snoc` happy_var_2-    )}}--happyReduce_158 = happySpecReduce_2  40# happyReduction_158-happyReduction_158 happy_x_2-    happy_x_1-     =  case happyOut47 happy_x_1 of { happy_var_1 ->-    case happyOut128 happy_x_2 of { happy_var_2 ->-    happyIn47-         (addTrailingAttrs happy_var_1 happy_var_2-    )}}--happyReduce_159 = happyMonadReduce 1# 41# happyReduction_159-happyReduction_159 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { (CTokTyIdent _ happy_var_1) ->-    ( withNodeInfo happy_var_1 $ \at -> singleton (CTypeSpec (CTypeDef happy_var_1 at)))}-    ) (\r -> happyReturn (happyIn48 r))--happyReduce_160 = happyMonadReduce 4# 41# happyReduction_160-happyReduction_160 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut117 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ \at -> singleton (CTypeSpec (CTypeOfExpr happy_var_3 at)))}}-    ) (\r -> happyReturn (happyIn48 r))--happyReduce_161 = happyMonadReduce 4# 41# happyReduction_161-happyReduction_161 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut83 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ \at -> singleton (CTypeSpec (CTypeOfType happy_var_3 at)))}}-    ) (\r -> happyReturn (happyIn48 r))--happyReduce_162 = happyMonadReduce 2# 41# happyReduction_162-happyReduction_162 (happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->-    case happyOutTok happy_x_2 of { (CTokTyIdent _ happy_var_2) ->-    ( withNodeInfo happy_var_2 $ \at -> rmap CTypeQual  happy_var_1 `snoc` CTypeSpec (CTypeDef happy_var_2 at))}}-    ) (\r -> happyReturn (happyIn48 r))--happyReduce_163 = happyMonadReduce 5# 41# happyReduction_163-happyReduction_163 (happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->-    case happyOutTok happy_x_2 of { happy_var_2 ->-    case happyOut117 happy_x_4 of { happy_var_4 ->-    ( withNodeInfo happy_var_2 $ \at -> rmap CTypeQual  happy_var_1 `snoc` CTypeSpec (CTypeOfExpr happy_var_4 at))}}}-    ) (\r -> happyReturn (happyIn48 r))--happyReduce_164 = happyMonadReduce 5# 41# happyReduction_164-happyReduction_164 (happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->-    case happyOutTok happy_x_2 of { happy_var_2 ->-    case happyOut83 happy_x_4 of { happy_var_4 ->-    ( withNodeInfo happy_var_2 $ \at -> rmap CTypeQual  happy_var_1 `snoc` CTypeSpec (CTypeOfType happy_var_4 at))}}}-    ) (\r -> happyReturn (happyIn48 r))--happyReduce_165 = happyMonadReduce 2# 41# happyReduction_165-happyReduction_165 (happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut127 happy_x_1 of { happy_var_1 ->-    case happyOutTok happy_x_2 of { (CTokTyIdent _ happy_var_2) ->-    ( withNodeInfo happy_var_2 $ \at -> reverseList (liftCAttrs happy_var_1) `snoc` (CTypeSpec (CTypeDef happy_var_2 at)))}}-    ) (\r -> happyReturn (happyIn48 r))--happyReduce_166 = happyMonadReduce 5# 41# happyReduction_166-happyReduction_166 (happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut127 happy_x_1 of { happy_var_1 ->-    case happyOut117 happy_x_4 of { happy_var_4 ->-    ( withNodeInfo happy_var_1 $ \at -> reverseList (liftCAttrs happy_var_1) `snoc`  (CTypeSpec (CTypeOfExpr happy_var_4 at)))}}-    ) (\r -> happyReturn (happyIn48 r))--happyReduce_167 = happyMonadReduce 5# 41# happyReduction_167-happyReduction_167 (happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut127 happy_x_1 of { happy_var_1 ->-    case happyOutTok happy_x_2 of { happy_var_2 ->-    case happyOut83 happy_x_4 of { happy_var_4 ->-    ( withNodeInfo happy_var_2 $ \at -> reverseList (liftCAttrs happy_var_1) `snoc`  (CTypeSpec (CTypeOfType happy_var_4 at)))}}}-    ) (\r -> happyReturn (happyIn48 r))--happyReduce_168 = happyMonadReduce 3# 41# happyReduction_168-happyReduction_168 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->-    case happyOut127 happy_x_2 of { happy_var_2 ->-    case happyOutTok happy_x_3 of { (CTokTyIdent _ happy_var_3) ->-    ( withNodeInfo happy_var_3 $ \at -> rmap CTypeQual  happy_var_1 `rappend` (liftCAttrs happy_var_2) `snoc` CTypeSpec (CTypeDef happy_var_3 at))}}}-    ) (\r -> happyReturn (happyIn48 r))--happyReduce_169 = happyMonadReduce 6# 41# happyReduction_169-happyReduction_169 (happy_x_6 `HappyStk`-    happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->-    case happyOut127 happy_x_2 of { happy_var_2 ->-    case happyOutTok happy_x_3 of { happy_var_3 ->-    case happyOut117 happy_x_5 of { happy_var_5 ->-    ( withNodeInfo happy_var_3 $ \at -> rmap CTypeQual  happy_var_1 `rappend` (liftCAttrs happy_var_2) `snoc` CTypeSpec (CTypeOfExpr happy_var_5 at))}}}}-    ) (\r -> happyReturn (happyIn48 r))--happyReduce_170 = happyMonadReduce 6# 41# happyReduction_170-happyReduction_170 (happy_x_6 `HappyStk`-    happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->-    case happyOut127 happy_x_2 of { happy_var_2 ->-    case happyOutTok happy_x_3 of { happy_var_3 ->-    case happyOut83 happy_x_5 of { happy_var_5 ->-    ( withNodeInfo happy_var_3 $ \at -> rmap CTypeQual  happy_var_1 `rappend` (liftCAttrs happy_var_2) `snoc` CTypeSpec (CTypeOfType happy_var_5 at))}}}}-    ) (\r -> happyReturn (happyIn48 r))--happyReduce_171 = happySpecReduce_2  41# happyReduction_171-happyReduction_171 happy_x_2-    happy_x_1-     =  case happyOut48 happy_x_1 of { happy_var_1 ->-    case happyOut61 happy_x_2 of { happy_var_2 ->-    happyIn48-         (happy_var_1 `snoc` CTypeQual happy_var_2-    )}}--happyReduce_172 = happySpecReduce_2  41# happyReduction_172-happyReduction_172 happy_x_2-    happy_x_1-     =  case happyOut48 happy_x_1 of { happy_var_1 ->-    case happyOut128 happy_x_2 of { happy_var_2 ->-    happyIn48-         (addTrailingAttrs happy_var_1 happy_var_2-    )}}--happyReduce_173 = happyMonadReduce 1# 42# happyReduction_173-happyReduction_173 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut50 happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ CSUType happy_var_1)}-    ) (\r -> happyReturn (happyIn49 r))--happyReduce_174 = happyMonadReduce 1# 42# happyReduction_174-happyReduction_174 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut58 happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ CEnumType happy_var_1)}-    ) (\r -> happyReturn (happyIn49 r))--happyReduce_175 = happyMonadReduce 6# 43# happyReduction_175-happyReduction_175 (happy_x_6 `HappyStk`-    happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut51 happy_x_1 of { happy_var_1 ->-    case happyOut126 happy_x_2 of { happy_var_2 ->-    case happyOut125 happy_x_3 of { happy_var_3 ->-    case happyOut52 happy_x_5 of { happy_var_5 ->-    ( withNodeInfo happy_var_1 $ CStruct (unL happy_var_1) (Just happy_var_3) (Just$ reverse happy_var_5) happy_var_2)}}}}-    ) (\r -> happyReturn (happyIn50 r))--happyReduce_176 = happyMonadReduce 5# 43# happyReduction_176-happyReduction_176 (happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut51 happy_x_1 of { happy_var_1 ->-    case happyOut126 happy_x_2 of { happy_var_2 ->-    case happyOut52 happy_x_4 of { happy_var_4 ->-    ( withNodeInfo happy_var_1 $ CStruct (unL happy_var_1) Nothing   (Just$ reverse happy_var_4) happy_var_2)}}}-    ) (\r -> happyReturn (happyIn50 r))--happyReduce_177 = happyMonadReduce 3# 43# happyReduction_177-happyReduction_177 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut51 happy_x_1 of { happy_var_1 ->-    case happyOut126 happy_x_2 of { happy_var_2 ->-    case happyOut125 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ CStruct (unL happy_var_1) (Just happy_var_3) Nothing happy_var_2)}}}-    ) (\r -> happyReturn (happyIn50 r))--happyReduce_178 = happySpecReduce_1  44# happyReduction_178-happyReduction_178 happy_x_1-     =  case happyOutTok happy_x_1 of { happy_var_1 ->-    happyIn51-         (L CStructTag (posOf happy_var_1)-    )}--happyReduce_179 = happySpecReduce_1  44# happyReduction_179-happyReduction_179 happy_x_1-     =  case happyOutTok happy_x_1 of { happy_var_1 ->-    happyIn51-         (L CUnionTag (posOf happy_var_1)-    )}--happyReduce_180 = happySpecReduce_0  45# happyReduction_180-happyReduction_180  =  happyIn52-         (empty-    )--happyReduce_181 = happySpecReduce_2  45# happyReduction_181-happyReduction_181 happy_x_2-    happy_x_1-     =  case happyOut52 happy_x_1 of { happy_var_1 ->-    happyIn52-         (happy_var_1-    )}--happyReduce_182 = happySpecReduce_2  45# happyReduction_182-happyReduction_182 happy_x_2-    happy_x_1-     =  case happyOut52 happy_x_1 of { happy_var_1 ->-    case happyOut53 happy_x_2 of { happy_var_2 ->-    happyIn52-         (happy_var_1 `snoc` happy_var_2-    )}}--happyReduce_183 = happySpecReduce_2  46# happyReduction_183-happyReduction_183 happy_x_2-    happy_x_1-     =  case happyOut55 happy_x_1 of { happy_var_1 ->-    happyIn53-         (case happy_var_1 of CDecl declspecs dies at -> CDecl declspecs (List.reverse dies) at-    )}--happyReduce_184 = happySpecReduce_2  46# happyReduction_184-happyReduction_184 happy_x_2-    happy_x_1-     =  case happyOut54 happy_x_1 of { happy_var_1 ->-    happyIn53-         (case happy_var_1 of CDecl declspecs dies at -> CDecl declspecs (List.reverse dies) at-    )}--happyReduce_185 = happySpecReduce_2  46# happyReduction_185-happyReduction_185 happy_x_2-    happy_x_1-     =  case happyOut53 happy_x_2 of { happy_var_2 ->-    happyIn53-         (happy_var_2-    )}--happyReduce_186 = happyMonadReduce 3# 47# happyReduction_186-happyReduction_186 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->-    case happyOut126 happy_x_2 of { happy_var_2 ->-    case happyOut57 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ case happy_var_3 of (d,s) -> CDecl (liftTypeQuals happy_var_1 ++ liftCAttrs happy_var_2) [(d,Nothing,s)])}}}-    ) (\r -> happyReturn (happyIn54 r))--happyReduce_187 = happyMonadReduce 2# 47# happyReduction_187-happyReduction_187 (happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut127 happy_x_1 of { happy_var_1 ->-    case happyOut57 happy_x_2 of { happy_var_2 ->-    ( withNodeInfo happy_var_1 $ case happy_var_2 of (d,s) -> CDecl (liftCAttrs happy_var_1) [(d,Nothing,s)])}}-    ) (\r -> happyReturn (happyIn54 r))--happyReduce_188 = happyReduce 4# 47# happyReduction_188-happyReduction_188 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest)-     = case happyOut54 happy_x_1 of { happy_var_1 ->-    case happyOut126 happy_x_3 of { happy_var_3 ->-    case happyOut57 happy_x_4 of { happy_var_4 ->-    happyIn54-         (case happy_var_1 of-            CDecl declspecs dies at ->-              case happy_var_4 of-                (Just d,s) -> CDecl declspecs ((Just $ appendObjAttrs happy_var_3 d,Nothing,s) : dies) at-                (Nothing,s) -> CDecl declspecs ((Nothing,Nothing,s) : dies) at-    ) `HappyStk` happyRest}}}--happyReduce_189 = happyMonadReduce 3# 48# happyReduction_189-happyReduction_189 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->-    case happyOut56 happy_x_2 of { happy_var_2 ->-    case happyOut126 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ case happy_var_2 of { (Just d,s)  -> CDecl happy_var_1 [(Just $! appendObjAttrs happy_var_3 d,Nothing,s)]-                                    ; (Nothing,s) -> CDecl happy_var_1 [(Nothing,Nothing,s)]  })}}}-    ) (\r -> happyReturn (happyIn55 r))--happyReduce_190 = happyReduce 5# 48# happyReduction_190-happyReduction_190 (happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest)-     = case happyOut55 happy_x_1 of { happy_var_1 ->-    case happyOut126 happy_x_3 of { happy_var_3 ->-    case happyOut56 happy_x_4 of { happy_var_4 ->-    case happyOut126 happy_x_5 of { happy_var_5 ->-    happyIn55-         (case happy_var_1 of-            CDecl declspecs dies attr ->-              case happy_var_4 of-                (Just d,s) -> CDecl declspecs ((Just$ appendObjAttrs (happy_var_3++happy_var_5) d,Nothing,s) : dies) attr-                (Nothing,s) -> CDecl declspecs ((Nothing,Nothing,s) : dies) attr-    ) `HappyStk` happyRest}}}}--happyReduce_191 = happyMonadReduce 1# 48# happyReduction_191-happyReduction_191 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ CDecl happy_var_1 [])}-    ) (\r -> happyReturn (happyIn55 r))--happyReduce_192 = happySpecReduce_1  49# happyReduction_192-happyReduction_192 happy_x_1-     =  case happyOut63 happy_x_1 of { happy_var_1 ->-    happyIn56-         ((Just (reverseDeclr happy_var_1), Nothing)-    )}--happyReduce_193 = happySpecReduce_2  49# happyReduction_193-happyReduction_193 happy_x_2-    happy_x_1-     =  case happyOut121 happy_x_2 of { happy_var_2 ->-    happyIn56-         ((Nothing, Just happy_var_2)-    )}--happyReduce_194 = happySpecReduce_3  49# happyReduction_194-happyReduction_194 happy_x_3-    happy_x_2-    happy_x_1-     =  case happyOut63 happy_x_1 of { happy_var_1 ->-    case happyOut121 happy_x_3 of { happy_var_3 ->-    happyIn56-         ((Just (reverseDeclr happy_var_1), Just happy_var_3)-    )}}--happyReduce_195 = happySpecReduce_1  50# happyReduction_195-happyReduction_195 happy_x_1-     =  case happyOut72 happy_x_1 of { happy_var_1 ->-    happyIn57-         ((Just (reverseDeclr happy_var_1), Nothing)-    )}--happyReduce_196 = happySpecReduce_2  50# happyReduction_196-happyReduction_196 happy_x_2-    happy_x_1-     =  case happyOut121 happy_x_2 of { happy_var_2 ->-    happyIn57-         ((Nothing, Just happy_var_2)-    )}--happyReduce_197 = happySpecReduce_3  50# happyReduction_197-happyReduction_197 happy_x_3-    happy_x_2-    happy_x_1-     =  case happyOut72 happy_x_1 of { happy_var_1 ->-    case happyOut121 happy_x_3 of { happy_var_3 ->-    happyIn57-         ((Just (reverseDeclr happy_var_1), Just happy_var_3)-    )}}--happyReduce_198 = happySpecReduce_2  50# happyReduction_198-happyReduction_198 happy_x_2-    happy_x_1-     =  case happyOut57 happy_x_1 of { happy_var_1 ->-    case happyOut128 happy_x_2 of { happy_var_2 ->-    happyIn57-         (case happy_var_1 of {   (Nothing,expr) -> (Nothing,expr) {- FIXME -}-                    ; (Just (CDeclr name derived asmname attrs node), bsz) ->-                                        (Just (CDeclr name derived asmname (attrs++happy_var_2) node),bsz)-                  }-    )}}--happyReduce_199 = happyMonadReduce 5# 51# happyReduction_199-happyReduction_199 (happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut126 happy_x_2 of { happy_var_2 ->-    case happyOut59 happy_x_4 of { happy_var_4 ->-    ( withNodeInfo happy_var_1 $ CEnum Nothing   (Just$ reverse happy_var_4) happy_var_2)}}}-    ) (\r -> happyReturn (happyIn58 r))--happyReduce_200 = happyMonadReduce 6# 51# happyReduction_200-happyReduction_200 (happy_x_6 `HappyStk`-    happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut126 happy_x_2 of { happy_var_2 ->-    case happyOut59 happy_x_4 of { happy_var_4 ->-    ( withNodeInfo happy_var_1 $ CEnum Nothing   (Just$ reverse happy_var_4) happy_var_2)}}}-    ) (\r -> happyReturn (happyIn58 r))--happyReduce_201 = happyMonadReduce 6# 51# happyReduction_201-happyReduction_201 (happy_x_6 `HappyStk`-    happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut126 happy_x_2 of { happy_var_2 ->-    case happyOut125 happy_x_3 of { happy_var_3 ->-    case happyOut59 happy_x_5 of { happy_var_5 ->-    ( withNodeInfo happy_var_1 $ CEnum (Just happy_var_3) (Just$ reverse happy_var_5) happy_var_2)}}}}-    ) (\r -> happyReturn (happyIn58 r))--happyReduce_202 = happyMonadReduce 7# 51# happyReduction_202-happyReduction_202 (happy_x_7 `HappyStk`-    happy_x_6 `HappyStk`-    happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut126 happy_x_2 of { happy_var_2 ->-    case happyOut125 happy_x_3 of { happy_var_3 ->-    case happyOut59 happy_x_5 of { happy_var_5 ->-    ( withNodeInfo happy_var_1 $ CEnum (Just happy_var_3) (Just$ reverse happy_var_5) happy_var_2)}}}}-    ) (\r -> happyReturn (happyIn58 r))--happyReduce_203 = happyMonadReduce 3# 51# happyReduction_203-happyReduction_203 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut126 happy_x_2 of { happy_var_2 ->-    case happyOut125 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ CEnum (Just happy_var_3) Nothing happy_var_2)}}}-    ) (\r -> happyReturn (happyIn58 r))--happyReduce_204 = happySpecReduce_1  52# happyReduction_204-happyReduction_204 happy_x_1-     =  case happyOut60 happy_x_1 of { happy_var_1 ->-    happyIn59-         (singleton happy_var_1-    )}--happyReduce_205 = happySpecReduce_3  52# happyReduction_205-happyReduction_205 happy_x_3-    happy_x_2-    happy_x_1-     =  case happyOut59 happy_x_1 of { happy_var_1 ->-    case happyOut60 happy_x_3 of { happy_var_3 ->-    happyIn59-         (happy_var_1 `snoc` happy_var_3-    )}}--happyReduce_206 = happySpecReduce_1  53# happyReduction_206-happyReduction_206 happy_x_1-     =  case happyOut125 happy_x_1 of { happy_var_1 ->-    happyIn60-         ((happy_var_1, Nothing)-    )}--happyReduce_207 = happySpecReduce_3  53# happyReduction_207-happyReduction_207 happy_x_3-    happy_x_2-    happy_x_1-     =  case happyOut125 happy_x_1 of { happy_var_1 ->-    case happyOut121 happy_x_3 of { happy_var_3 ->-    happyIn60-         ((happy_var_1, Just happy_var_3)-    )}}--happyReduce_208 = happyMonadReduce 1# 54# happyReduction_208-happyReduction_208 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ CConstQual)}-    ) (\r -> happyReturn (happyIn61 r))--happyReduce_209 = happyMonadReduce 1# 54# happyReduction_209-happyReduction_209 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ CVolatQual)}-    ) (\r -> happyReturn (happyIn61 r))--happyReduce_210 = happyMonadReduce 1# 54# happyReduction_210-happyReduction_210 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ CRestrQual)}-    ) (\r -> happyReturn (happyIn61 r))--happyReduce_211 = happyMonadReduce 1# 54# happyReduction_211-happyReduction_211 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ CInlineQual)}-    ) (\r -> happyReturn (happyIn61 r))--happyReduce_212 = happySpecReduce_2  55# happyReduction_212-happyReduction_212 happy_x_2-    happy_x_1-     =  case happyOut126 happy_x_1 of { happy_var_1 ->-    case happyOut61 happy_x_2 of { happy_var_2 ->-    happyIn62-         (reverseList (map CAttrQual happy_var_1) `snoc` happy_var_2-    )}}--happyReduce_213 = happySpecReduce_2  55# happyReduction_213-happyReduction_213 happy_x_2-    happy_x_1-     =  case happyOut62 happy_x_1 of { happy_var_1 ->-    case happyOut61 happy_x_2 of { happy_var_2 ->-    happyIn62-         (happy_var_1 `snoc` happy_var_2-    )}}--happyReduce_214 = happySpecReduce_3  55# happyReduction_214-happyReduction_214 happy_x_3-    happy_x_2-    happy_x_1-     =  case happyOut62 happy_x_1 of { happy_var_1 ->-    case happyOut127 happy_x_2 of { happy_var_2 ->-    case happyOut61 happy_x_3 of { happy_var_3 ->-    happyIn62-         ((happy_var_1 `rappend` map CAttrQual happy_var_2) `snoc` happy_var_3-    )}}}--happyReduce_215 = happySpecReduce_1  56# happyReduction_215-happyReduction_215 happy_x_1-     =  case happyOut72 happy_x_1 of { happy_var_1 ->-    happyIn63-         (happy_var_1-    )}--happyReduce_216 = happySpecReduce_1  56# happyReduction_216-happyReduction_216 happy_x_1-     =  case happyOut65 happy_x_1 of { happy_var_1 ->-    happyIn63-         (happy_var_1-    )}--happyReduce_217 = happySpecReduce_0  57# happyReduction_217-happyReduction_217  =  happyIn64-         (Nothing-    )--happyReduce_218 = happyReduce 4# 57# happyReduction_218-happyReduction_218 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest)-     = case happyOut123 happy_x_3 of { happy_var_3 ->-    happyIn64-         (Just happy_var_3-    ) `HappyStk` happyRest}--happyReduce_219 = happySpecReduce_1  58# happyReduction_219-happyReduction_219 happy_x_1-     =  case happyOut69 happy_x_1 of { happy_var_1 ->-    happyIn65-         (happy_var_1-    )}--happyReduce_220 = happySpecReduce_1  58# happyReduction_220-happyReduction_220 happy_x_1-     =  case happyOut66 happy_x_1 of { happy_var_1 ->-    happyIn65-         (happy_var_1-    )}--happyReduce_221 = happyMonadReduce 1# 59# happyReduction_221-happyReduction_221 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { (CTokTyIdent _ happy_var_1) ->-    ( withNodeInfo happy_var_1 $ mkVarDeclr happy_var_1)}-    ) (\r -> happyReturn (happyIn66 r))--happyReduce_222 = happyMonadReduce 2# 59# happyReduction_222-happyReduction_222 (happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { (CTokTyIdent _ happy_var_1) ->-    case happyOut85 happy_x_2 of { happy_var_2 ->-    ( withNodeInfo happy_var_1 $ \at -> happy_var_2 (mkVarDeclr happy_var_1 at))}}-    ) (\r -> happyReturn (happyIn66 r))--happyReduce_223 = happySpecReduce_1  59# happyReduction_223-happyReduction_223 happy_x_1-     =  case happyOut67 happy_x_1 of { happy_var_1 ->-    happyIn66-         (happy_var_1-    )}--happyReduce_224 = happySpecReduce_1  60# happyReduction_224-happyReduction_224 happy_x_1-     =  case happyOut68 happy_x_1 of { happy_var_1 ->-    happyIn67-         (happy_var_1-    )}--happyReduce_225 = happyMonadReduce 2# 60# happyReduction_225-happyReduction_225 (happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut66 happy_x_2 of { happy_var_2 ->-    ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_2 [])}}-    ) (\r -> happyReturn (happyIn67 r))--happyReduce_226 = happyMonadReduce 3# 60# happyReduction_226-happyReduction_226 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut127 happy_x_2 of { happy_var_2 ->-    case happyOut66 happy_x_3 of { happy_var_3 ->-    ( withAttribute happy_var_1 happy_var_2 $ ptrDeclr happy_var_3 [])}}}-    ) (\r -> happyReturn (happyIn67 r))--happyReduce_227 = happyMonadReduce 3# 60# happyReduction_227-happyReduction_227 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut62 happy_x_2 of { happy_var_2 ->-    case happyOut66 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_3 (reverse happy_var_2))}}}-    ) (\r -> happyReturn (happyIn67 r))--happyReduce_228 = happyMonadReduce 4# 60# happyReduction_228-happyReduction_228 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut62 happy_x_2 of { happy_var_2 ->-    case happyOut127 happy_x_3 of { happy_var_3 ->-    case happyOut66 happy_x_4 of { happy_var_4 ->-    ( withAttribute happy_var_1 happy_var_3 $ ptrDeclr happy_var_4 (reverse happy_var_2))}}}}-    ) (\r -> happyReturn (happyIn67 r))--happyReduce_229 = happySpecReduce_3  61# happyReduction_229-happyReduction_229 happy_x_3-    happy_x_2-    happy_x_1-     =  case happyOut67 happy_x_2 of { happy_var_2 ->-    happyIn68-         (happy_var_2-    )}--happyReduce_230 = happyReduce 4# 61# happyReduction_230-happyReduction_230 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest)-     = case happyOut67 happy_x_2 of { happy_var_2 ->-    case happyOut85 happy_x_4 of { happy_var_4 ->-    happyIn68-         (happy_var_4 happy_var_2-    ) `HappyStk` happyRest}}--happyReduce_231 = happyReduce 4# 61# happyReduction_231-happyReduction_231 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest)-     = case happyOut127 happy_x_2 of { happy_var_2 ->-    case happyOut67 happy_x_3 of { happy_var_3 ->-    happyIn68-         (appendDeclrAttrs happy_var_2 happy_var_3-    ) `HappyStk` happyRest}}--happyReduce_232 = happyReduce 5# 61# happyReduction_232-happyReduction_232 (happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest)-     = case happyOut127 happy_x_2 of { happy_var_2 ->-    case happyOut67 happy_x_3 of { happy_var_3 ->-    case happyOut85 happy_x_5 of { happy_var_5 ->-    happyIn68-         (appendDeclrAttrs happy_var_2 (happy_var_5 happy_var_3)-    ) `HappyStk` happyRest}}}--happyReduce_233 = happySpecReduce_1  62# happyReduction_233-happyReduction_233 happy_x_1-     =  case happyOut70 happy_x_1 of { happy_var_1 ->-    happyIn69-         (happy_var_1-    )}--happyReduce_234 = happyMonadReduce 4# 62# happyReduction_234-happyReduction_234 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut71 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_3 [])}}-    ) (\r -> happyReturn (happyIn69 r))--happyReduce_235 = happyMonadReduce 5# 62# happyReduction_235-happyReduction_235 (happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut62 happy_x_2 of { happy_var_2 ->-    case happyOut71 happy_x_4 of { happy_var_4 ->-    ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_4 (reverse happy_var_2))}}}-    ) (\r -> happyReturn (happyIn69 r))--happyReduce_236 = happyMonadReduce 6# 62# happyReduction_236-happyReduction_236 (happy_x_6 `HappyStk`-    happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut62 happy_x_2 of { happy_var_2 ->-    case happyOut127 happy_x_3 of { happy_var_3 ->-    case happyOut71 happy_x_5 of { happy_var_5 ->-    ( withAttribute happy_var_1 happy_var_3 $ ptrDeclr happy_var_5 (reverse happy_var_2))}}}}-    ) (\r -> happyReturn (happyIn69 r))--happyReduce_237 = happyMonadReduce 2# 62# happyReduction_237-happyReduction_237 (happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut69 happy_x_2 of { happy_var_2 ->-    ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_2 [])}}-    ) (\r -> happyReturn (happyIn69 r))--happyReduce_238 = happyMonadReduce 3# 62# happyReduction_238-happyReduction_238 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut62 happy_x_2 of { happy_var_2 ->-    case happyOut69 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_3 (reverse happy_var_2))}}}-    ) (\r -> happyReturn (happyIn69 r))--happyReduce_239 = happyMonadReduce 4# 62# happyReduction_239-happyReduction_239 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut62 happy_x_2 of { happy_var_2 ->-    case happyOut127 happy_x_3 of { happy_var_3 ->-    case happyOut69 happy_x_4 of { happy_var_4 ->-    ( withAttribute happy_var_1 happy_var_3 $ ptrDeclr happy_var_4 (reverse happy_var_2))}}}}-    ) (\r -> happyReturn (happyIn69 r))--happyReduce_240 = happySpecReduce_3  63# happyReduction_240-happyReduction_240 happy_x_3-    happy_x_2-    happy_x_1-     =  case happyOut69 happy_x_2 of { happy_var_2 ->-    happyIn70-         (happy_var_2-    )}--happyReduce_241 = happyReduce 4# 63# happyReduction_241-happyReduction_241 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest)-     = case happyOut71 happy_x_2 of { happy_var_2 ->-    case happyOut85 happy_x_3 of { happy_var_3 ->-    happyIn70-         (happy_var_3 happy_var_2-    ) `HappyStk` happyRest}}--happyReduce_242 = happyReduce 4# 63# happyReduction_242-happyReduction_242 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest)-     = case happyOut69 happy_x_2 of { happy_var_2 ->-    case happyOut85 happy_x_4 of { happy_var_4 ->-    happyIn70-         (happy_var_4 happy_var_2-    ) `HappyStk` happyRest}}--happyReduce_243 = happyMonadReduce 1# 64# happyReduction_243-happyReduction_243 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { (CTokTyIdent _ happy_var_1) ->-    ( withNodeInfo happy_var_1 $ mkVarDeclr happy_var_1)}-    ) (\r -> happyReturn (happyIn71 r))--happyReduce_244 = happySpecReduce_3  64# happyReduction_244-happyReduction_244 happy_x_3-    happy_x_2-    happy_x_1-     =  case happyOut71 happy_x_2 of { happy_var_2 ->-    happyIn71-         (happy_var_2-    )}--happyReduce_245 = happySpecReduce_1  65# happyReduction_245-happyReduction_245 happy_x_1-     =  case happyOut73 happy_x_1 of { happy_var_1 ->-    happyIn72-         (happy_var_1-    )}--happyReduce_246 = happySpecReduce_1  65# happyReduction_246-happyReduction_246 happy_x_1-     =  case happyOut75 happy_x_1 of { happy_var_1 ->-    happyIn72-         (happy_var_1-    )}--happyReduce_247 = happySpecReduce_1  66# happyReduction_247-happyReduction_247 happy_x_1-     =  case happyOut74 happy_x_1 of { happy_var_1 ->-    happyIn73-         (happy_var_1-    )}--happyReduce_248 = happyMonadReduce 2# 66# happyReduction_248-happyReduction_248 (happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut72 happy_x_2 of { happy_var_2 ->-    ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_2 [])}}-    ) (\r -> happyReturn (happyIn73 r))--happyReduce_249 = happyMonadReduce 3# 66# happyReduction_249-happyReduction_249 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut127 happy_x_2 of { happy_var_2 ->-    case happyOut72 happy_x_3 of { happy_var_3 ->-    ( withAttribute happy_var_1 happy_var_2 $ ptrDeclr happy_var_3 [])}}}-    ) (\r -> happyReturn (happyIn73 r))--happyReduce_250 = happyMonadReduce 3# 66# happyReduction_250-happyReduction_250 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut62 happy_x_2 of { happy_var_2 ->-    case happyOut72 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_3 (reverse happy_var_2))}}}-    ) (\r -> happyReturn (happyIn73 r))--happyReduce_251 = happyMonadReduce 4# 66# happyReduction_251-happyReduction_251 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut62 happy_x_2 of { happy_var_2 ->-    case happyOut127 happy_x_3 of { happy_var_3 ->-    case happyOut72 happy_x_4 of { happy_var_4 ->-    ( withAttribute happy_var_1 happy_var_3 $ ptrDeclr happy_var_4 (reverse happy_var_2))}}}}-    ) (\r -> happyReturn (happyIn73 r))--happyReduce_252 = happySpecReduce_2  67# happyReduction_252-happyReduction_252 happy_x_2-    happy_x_1-     =  case happyOut75 happy_x_1 of { happy_var_1 ->-    case happyOut85 happy_x_2 of { happy_var_2 ->-    happyIn74-         (happy_var_2 happy_var_1-    )}}--happyReduce_253 = happySpecReduce_3  67# happyReduction_253-happyReduction_253 happy_x_3-    happy_x_2-    happy_x_1-     =  case happyOut73 happy_x_2 of { happy_var_2 ->-    happyIn74-         (happy_var_2-    )}--happyReduce_254 = happyReduce 4# 67# happyReduction_254-happyReduction_254 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest)-     = case happyOut73 happy_x_2 of { happy_var_2 ->-    case happyOut85 happy_x_4 of { happy_var_4 ->-    happyIn74-         (happy_var_4 happy_var_2-    ) `HappyStk` happyRest}}--happyReduce_255 = happyReduce 4# 67# happyReduction_255-happyReduction_255 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest)-     = case happyOut127 happy_x_2 of { happy_var_2 ->-    case happyOut73 happy_x_3 of { happy_var_3 ->-    happyIn74-         (appendDeclrAttrs happy_var_2 happy_var_3-    ) `HappyStk` happyRest}}--happyReduce_256 = happyReduce 5# 67# happyReduction_256-happyReduction_256 (happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest)-     = case happyOut127 happy_x_2 of { happy_var_2 ->-    case happyOut73 happy_x_3 of { happy_var_3 ->-    case happyOut85 happy_x_5 of { happy_var_5 ->-    happyIn74-         (appendDeclrAttrs happy_var_2 (happy_var_5 happy_var_3)-    ) `HappyStk` happyRest}}}--happyReduce_257 = happyMonadReduce 1# 68# happyReduction_257-happyReduction_257 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { (CTokIdent  _ happy_var_1) ->-    ( withNodeInfo happy_var_1 $ mkVarDeclr happy_var_1)}-    ) (\r -> happyReturn (happyIn75 r))--happyReduce_258 = happySpecReduce_3  68# happyReduction_258-happyReduction_258 happy_x_3-    happy_x_2-    happy_x_1-     =  case happyOut75 happy_x_2 of { happy_var_2 ->-    happyIn75-         (happy_var_2-    )}--happyReduce_259 = happyReduce 4# 68# happyReduction_259-happyReduction_259 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest)-     = case happyOut127 happy_x_2 of { happy_var_2 ->-    case happyOut75 happy_x_3 of { happy_var_3 ->-    happyIn75-         (appendDeclrAttrs happy_var_2 happy_var_3-    ) `HappyStk` happyRest}}--happyReduce_260 = happySpecReduce_1  69# happyReduction_260-happyReduction_260 happy_x_1-     =  case happyOut77 happy_x_1 of { happy_var_1 ->-    happyIn76-         (reverseDeclr happy_var_1-    )}--happyReduce_261 = happySpecReduce_1  70# happyReduction_261-happyReduction_261 happy_x_1-     =  case happyOut78 happy_x_1 of { happy_var_1 ->-    happyIn77-         (happy_var_1-    )}--happyReduce_262 = happyMonadReduce 2# 70# happyReduction_262-happyReduction_262 (happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut77 happy_x_2 of { happy_var_2 ->-    ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_2 [])}}-    ) (\r -> happyReturn (happyIn77 r))--happyReduce_263 = happyMonadReduce 3# 70# happyReduction_263-happyReduction_263 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut62 happy_x_2 of { happy_var_2 ->-    case happyOut77 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_3 (reverse happy_var_2))}}}-    ) (\r -> happyReturn (happyIn77 r))--happyReduce_264 = happyMonadReduce 4# 71# happyReduction_264-happyReduction_264 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut75 happy_x_1 of { happy_var_1 ->-    case happyOut82 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ funDeclr happy_var_1 (Left $ reverse happy_var_3) [])}}-    ) (\r -> happyReturn (happyIn78 r))--happyReduce_265 = happySpecReduce_3  71# happyReduction_265-happyReduction_265 happy_x_3-    happy_x_2-    happy_x_1-     =  case happyOut77 happy_x_2 of { happy_var_2 ->-    happyIn78-         (happy_var_2-    )}--happyReduce_266 = happyReduce 4# 71# happyReduction_266-happyReduction_266 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest)-     = case happyOut77 happy_x_2 of { happy_var_2 ->-    case happyOut85 happy_x_4 of { happy_var_4 ->-    happyIn78-         (happy_var_4 happy_var_2-    ) `HappyStk` happyRest}}--happyReduce_267 = happySpecReduce_0  72# happyReduction_267-happyReduction_267  =  happyIn79-         (([], False)-    )--happyReduce_268 = happySpecReduce_1  72# happyReduction_268-happyReduction_268 happy_x_1-     =  case happyOut80 happy_x_1 of { happy_var_1 ->-    happyIn79-         ((reverse happy_var_1, False)-    )}--happyReduce_269 = happySpecReduce_3  72# happyReduction_269-happyReduction_269 happy_x_3-    happy_x_2-    happy_x_1-     =  case happyOut80 happy_x_1 of { happy_var_1 ->-    happyIn79-         ((reverse happy_var_1, True)-    )}--happyReduce_270 = happySpecReduce_1  73# happyReduction_270-happyReduction_270 happy_x_1-     =  case happyOut81 happy_x_1 of { happy_var_1 ->-    happyIn80-         (singleton happy_var_1-    )}--happyReduce_271 = happySpecReduce_3  73# happyReduction_271-happyReduction_271 happy_x_3-    happy_x_2-    happy_x_1-     =  case happyOut80 happy_x_1 of { happy_var_1 ->-    case happyOut81 happy_x_3 of { happy_var_3 ->-    happyIn80-         (happy_var_1 `snoc` happy_var_3-    )}}--happyReduce_272 = happyMonadReduce 1# 74# happyReduction_272-happyReduction_272 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut37 happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ CDecl happy_var_1 [])}-    ) (\r -> happyReturn (happyIn81 r))--happyReduce_273 = happyMonadReduce 2# 74# happyReduction_273-happyReduction_273 (happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut37 happy_x_1 of { happy_var_1 ->-    case happyOut84 happy_x_2 of { happy_var_2 ->-    ( withNodeInfo happy_var_1 $ CDecl happy_var_1 [(Just (reverseDeclr happy_var_2), Nothing, Nothing)])}}-    ) (\r -> happyReturn (happyIn81 r))--happyReduce_274 = happyMonadReduce 3# 74# happyReduction_274-happyReduction_274 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut37 happy_x_1 of { happy_var_1 ->-    case happyOut72 happy_x_2 of { happy_var_2 ->-    case happyOut126 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ CDecl happy_var_1 [(Just (reverseDeclr $! appendDeclrAttrs happy_var_3 happy_var_2), Nothing, Nothing)])}}}-    ) (\r -> happyReturn (happyIn81 r))--happyReduce_275 = happyMonadReduce 3# 74# happyReduction_275-happyReduction_275 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut37 happy_x_1 of { happy_var_1 ->-    case happyOut66 happy_x_2 of { happy_var_2 ->-    case happyOut126 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ CDecl happy_var_1 [(Just (reverseDeclr $! appendDeclrAttrs happy_var_3 happy_var_2), Nothing, Nothing)])}}}-    ) (\r -> happyReturn (happyIn81 r))--happyReduce_276 = happyMonadReduce 1# 74# happyReduction_276-happyReduction_276 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut38 happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ CDecl (reverse happy_var_1) [])}-    ) (\r -> happyReturn (happyIn81 r))--happyReduce_277 = happyMonadReduce 2# 74# happyReduction_277-happyReduction_277 (happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut38 happy_x_1 of { happy_var_1 ->-    case happyOut84 happy_x_2 of { happy_var_2 ->-    ( withNodeInfo happy_var_1 $ CDecl (reverse happy_var_1) [(Just (reverseDeclr happy_var_2), Nothing, Nothing)])}}-    ) (\r -> happyReturn (happyIn81 r))--happyReduce_278 = happyMonadReduce 3# 74# happyReduction_278-happyReduction_278 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut38 happy_x_1 of { happy_var_1 ->-    case happyOut72 happy_x_2 of { happy_var_2 ->-    case happyOut126 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ CDecl (reverse happy_var_1) [(Just (reverseDeclr $! appendDeclrAttrs happy_var_3 happy_var_2), Nothing, Nothing)])}}}-    ) (\r -> happyReturn (happyIn81 r))--happyReduce_279 = happyMonadReduce 1# 74# happyReduction_279-happyReduction_279 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ CDecl happy_var_1 [])}-    ) (\r -> happyReturn (happyIn81 r))--happyReduce_280 = happyMonadReduce 2# 74# happyReduction_280-happyReduction_280 (happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->-    case happyOut84 happy_x_2 of { happy_var_2 ->-    ( withNodeInfo happy_var_1 $ CDecl happy_var_1 [(Just (reverseDeclr happy_var_2), Nothing, Nothing)])}}-    ) (\r -> happyReturn (happyIn81 r))--happyReduce_281 = happyMonadReduce 3# 74# happyReduction_281-happyReduction_281 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->-    case happyOut72 happy_x_2 of { happy_var_2 ->-    case happyOut126 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ CDecl happy_var_1 [(Just (reverseDeclr $! appendDeclrAttrs happy_var_3 happy_var_2), Nothing, Nothing)])}}}-    ) (\r -> happyReturn (happyIn81 r))--happyReduce_282 = happyMonadReduce 3# 74# happyReduction_282-happyReduction_282 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->-    case happyOut66 happy_x_2 of { happy_var_2 ->-    case happyOut126 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ CDecl happy_var_1 [(Just (reverseDeclr $! appendDeclrAttrs happy_var_3 happy_var_2), Nothing, Nothing)])}}}-    ) (\r -> happyReturn (happyIn81 r))--happyReduce_283 = happyMonadReduce 1# 74# happyReduction_283-happyReduction_283 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ CDecl (liftTypeQuals happy_var_1) [])}-    ) (\r -> happyReturn (happyIn81 r))--happyReduce_284 = happyMonadReduce 2# 74# happyReduction_284-happyReduction_284 (happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->-    case happyOut128 happy_x_2 of { happy_var_2 ->-    ( withNodeInfo happy_var_1 $ CDecl (liftTypeQuals happy_var_1 ++ liftCAttrs happy_var_2) [])}}-    ) (\r -> happyReturn (happyIn81 r))--happyReduce_285 = happyMonadReduce 2# 74# happyReduction_285-happyReduction_285 (happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->-    case happyOut84 happy_x_2 of { happy_var_2 ->-    ( withNodeInfo happy_var_1 $ CDecl (liftTypeQuals happy_var_1) [(Just (reverseDeclr happy_var_2), Nothing, Nothing)])}}-    ) (\r -> happyReturn (happyIn81 r))--happyReduce_286 = happyMonadReduce 3# 74# happyReduction_286-happyReduction_286 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->-    case happyOut72 happy_x_2 of { happy_var_2 ->-    case happyOut126 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ CDecl (liftTypeQuals happy_var_1) [(Just (reverseDeclr$ appendDeclrAttrs happy_var_3 happy_var_2), Nothing, Nothing)])}}}-    ) (\r -> happyReturn (happyIn81 r))--happyReduce_287 = happySpecReduce_1  75# happyReduction_287-happyReduction_287 happy_x_1-     =  case happyOutTok happy_x_1 of { (CTokIdent  _ happy_var_1) ->-    happyIn82-         (singleton happy_var_1-    )}--happyReduce_288 = happySpecReduce_3  75# happyReduction_288-happyReduction_288 happy_x_3-    happy_x_2-    happy_x_1-     =  case happyOut82 happy_x_1 of { happy_var_1 ->-    case happyOutTok happy_x_3 of { (CTokIdent  _ happy_var_3) ->-    happyIn82-         (happy_var_1 `snoc` happy_var_3-    )}}--happyReduce_289 = happyMonadReduce 1# 76# happyReduction_289-happyReduction_289 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ CDecl happy_var_1 [])}-    ) (\r -> happyReturn (happyIn83 r))--happyReduce_290 = happyMonadReduce 2# 76# happyReduction_290-happyReduction_290 (happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->-    case happyOut84 happy_x_2 of { happy_var_2 ->-    ( withNodeInfo happy_var_1 $ CDecl happy_var_1 [(Just (reverseDeclr happy_var_2), Nothing, Nothing)])}}-    ) (\r -> happyReturn (happyIn83 r))--happyReduce_291 = happyMonadReduce 2# 76# happyReduction_291-happyReduction_291 (happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->-    case happyOut128 happy_x_2 of { happy_var_2 ->-    ( withNodeInfo happy_var_1 $ CDecl (liftTypeQuals happy_var_1 ++ liftCAttrs happy_var_2) [])}}-    ) (\r -> happyReturn (happyIn83 r))--happyReduce_292 = happyMonadReduce 2# 76# happyReduction_292-happyReduction_292 (happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->-    case happyOut84 happy_x_2 of { happy_var_2 ->-    ( withNodeInfo happy_var_1 $ CDecl (liftTypeQuals happy_var_1) [(Just (reverseDeclr happy_var_2), Nothing, Nothing)])}}-    ) (\r -> happyReturn (happyIn83 r))--happyReduce_293 = happySpecReduce_1  77# happyReduction_293-happyReduction_293 happy_x_1-     =  case happyOut88 happy_x_1 of { happy_var_1 ->-    happyIn84-         (happy_var_1-    )}--happyReduce_294 = happySpecReduce_1  77# happyReduction_294-happyReduction_294 happy_x_1-     =  case happyOut89 happy_x_1 of { happy_var_1 ->-    happyIn84-         (happy_var_1-    )}--happyReduce_295 = happySpecReduce_1  77# happyReduction_295-happyReduction_295 happy_x_1-     =  case happyOut85 happy_x_1 of { happy_var_1 ->-    happyIn84-         (happy_var_1 emptyDeclr-    )}--happyReduce_296 = happySpecReduce_1  78# happyReduction_296-happyReduction_296 happy_x_1-     =  case happyOut86 happy_x_1 of { happy_var_1 ->-    happyIn85-         (happy_var_1-    )}--happyReduce_297 = happyMonadReduce 3# 78# happyReduction_297-happyReduction_297 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut79 happy_x_2 of { happy_var_2 ->-    ( withNodeInfo happy_var_1 $ \at declr -> case happy_var_2 of-             (params, variadic) -> funDeclr declr (Right (params,variadic)) [] at)}}-    ) (\r -> happyReturn (happyIn85 r))--happyReduce_298 = happySpecReduce_1  79# happyReduction_298-happyReduction_298 happy_x_1-     =  case happyOut87 happy_x_1 of { happy_var_1 ->-    happyIn86-         (happy_var_1-    )}--happyReduce_299 = happySpecReduce_2  79# happyReduction_299-happyReduction_299 happy_x_2-    happy_x_1-     =  case happyOut86 happy_x_1 of { happy_var_1 ->-    case happyOut87 happy_x_2 of { happy_var_2 ->-    happyIn86-         (\decl -> happy_var_2 (happy_var_1 decl)-    )}}--happyReduce_300 = happyMonadReduce 3# 80# happyReduction_300-happyReduction_300 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut120 happy_x_2 of { happy_var_2 ->-    ( withNodeInfo happy_var_1 $ \at declr -> arrDeclr declr [] False False happy_var_2 at)}}-    ) (\r -> happyReturn (happyIn87 r))--happyReduce_301 = happyMonadReduce 4# 80# happyReduction_301-happyReduction_301 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut127 happy_x_2 of { happy_var_2 ->-    case happyOut120 happy_x_3 of { happy_var_3 ->-    ( withAttributePF happy_var_1 happy_var_2 $ \at declr -> arrDeclr declr [] False False happy_var_3 at)}}}-    ) (\r -> happyReturn (happyIn87 r))--happyReduce_302 = happyMonadReduce 4# 80# happyReduction_302-happyReduction_302 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut62 happy_x_2 of { happy_var_2 ->-    case happyOut120 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ \at declr -> arrDeclr declr (reverse happy_var_2) False False happy_var_3 at)}}}-    ) (\r -> happyReturn (happyIn87 r))--happyReduce_303 = happyMonadReduce 5# 80# happyReduction_303-happyReduction_303 (happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut62 happy_x_2 of { happy_var_2 ->-    case happyOut127 happy_x_3 of { happy_var_3 ->-    case happyOut120 happy_x_4 of { happy_var_4 ->-    ( withAttributePF happy_var_1 happy_var_3 $ \at declr -> arrDeclr declr (reverse happy_var_2) False False happy_var_4 at)}}}}-    ) (\r -> happyReturn (happyIn87 r))--happyReduce_304 = happyMonadReduce 5# 80# happyReduction_304-happyReduction_304 (happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut126 happy_x_3 of { happy_var_3 ->-    case happyOut115 happy_x_4 of { happy_var_4 ->-    ( withAttributePF happy_var_1 happy_var_3 $ \at declr -> arrDeclr declr [] False True (Just happy_var_4) at)}}}-    ) (\r -> happyReturn (happyIn87 r))--happyReduce_305 = happyMonadReduce 6# 80# happyReduction_305-happyReduction_305 (happy_x_6 `HappyStk`-    happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut62 happy_x_3 of { happy_var_3 ->-    case happyOut126 happy_x_4 of { happy_var_4 ->-    case happyOut115 happy_x_5 of { happy_var_5 ->-    ( withAttributePF happy_var_1 happy_var_4 $ \at declr -> arrDeclr declr (reverse happy_var_3) False True (Just happy_var_5) at)}}}}-    ) (\r -> happyReturn (happyIn87 r))--happyReduce_306 = happyMonadReduce 7# 80# happyReduction_306-happyReduction_306 (happy_x_7 `HappyStk`-    happy_x_6 `HappyStk`-    happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut62 happy_x_2 of { happy_var_2 ->-    case happyOut126 happy_x_3 of { happy_var_3 ->-    case happyOut126 happy_x_5 of { happy_var_5 ->-    case happyOut115 happy_x_6 of { happy_var_6 ->-    ( withAttributePF happy_var_1 (happy_var_3 ++ happy_var_5) $ \at declr -> arrDeclr declr (reverse happy_var_2) False True  (Just happy_var_6) at)}}}}}-    ) (\r -> happyReturn (happyIn87 r))--happyReduce_307 = happyMonadReduce 4# 80# happyReduction_307-happyReduction_307 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut126 happy_x_3 of { happy_var_3 ->-    ( withAttributePF happy_var_1 happy_var_3 $ \at declr -> arrDeclr declr [] True False Nothing at)}}-    ) (\r -> happyReturn (happyIn87 r))--happyReduce_308 = happyMonadReduce 5# 80# happyReduction_308-happyReduction_308 (happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut127 happy_x_2 of { happy_var_2 ->-    case happyOut126 happy_x_4 of { happy_var_4 ->-    ( withAttributePF happy_var_1 (happy_var_2 ++ happy_var_4) $ \at declr -> arrDeclr declr [] True False Nothing at)}}}-    ) (\r -> happyReturn (happyIn87 r))--happyReduce_309 = happyMonadReduce 5# 80# happyReduction_309-happyReduction_309 (happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut62 happy_x_2 of { happy_var_2 ->-    case happyOut126 happy_x_4 of { happy_var_4 ->-    ( withAttributePF happy_var_1 happy_var_4 $ \at declr -> arrDeclr declr (reverse happy_var_2) True False Nothing at)}}}-    ) (\r -> happyReturn (happyIn87 r))--happyReduce_310 = happyMonadReduce 6# 80# happyReduction_310-happyReduction_310 (happy_x_6 `HappyStk`-    happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut62 happy_x_2 of { happy_var_2 ->-    case happyOut127 happy_x_3 of { happy_var_3 ->-    case happyOut126 happy_x_5 of { happy_var_5 ->-    ( withAttributePF happy_var_1 (happy_var_3 ++ happy_var_5) $ \at declr -> arrDeclr declr (reverse happy_var_2) True False Nothing at)}}}}-    ) (\r -> happyReturn (happyIn87 r))--happyReduce_311 = happyMonadReduce 1# 81# happyReduction_311-happyReduction_311 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ ptrDeclr emptyDeclr [])}-    ) (\r -> happyReturn (happyIn88 r))--happyReduce_312 = happyMonadReduce 3# 81# happyReduction_312-happyReduction_312 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut62 happy_x_2 of { happy_var_2 ->-    case happyOut126 happy_x_3 of { happy_var_3 ->-    ( withAttribute happy_var_1 happy_var_3 $ ptrDeclr emptyDeclr (reverse happy_var_2))}}}-    ) (\r -> happyReturn (happyIn88 r))--happyReduce_313 = happyMonadReduce 2# 81# happyReduction_313-happyReduction_313 (happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut84 happy_x_2 of { happy_var_2 ->-    ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_2 [])}}-    ) (\r -> happyReturn (happyIn88 r))--happyReduce_314 = happyMonadReduce 3# 81# happyReduction_314-happyReduction_314 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut62 happy_x_2 of { happy_var_2 ->-    case happyOut84 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_3 (reverse happy_var_2))}}}-    ) (\r -> happyReturn (happyIn88 r))--happyReduce_315 = happyMonadReduce 2# 81# happyReduction_315-happyReduction_315 (happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut127 happy_x_2 of { happy_var_2 ->-    ( withAttribute happy_var_1 happy_var_2 $ ptrDeclr emptyDeclr [])}}-    ) (\r -> happyReturn (happyIn88 r))--happyReduce_316 = happyMonadReduce 3# 81# happyReduction_316-happyReduction_316 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut127 happy_x_2 of { happy_var_2 ->-    case happyOut84 happy_x_3 of { happy_var_3 ->-    ( withAttribute happy_var_1 happy_var_2 $ ptrDeclr happy_var_3 [])}}}-    ) (\r -> happyReturn (happyIn88 r))--happyReduce_317 = happySpecReduce_3  82# happyReduction_317-happyReduction_317 happy_x_3-    happy_x_2-    happy_x_1-     =  case happyOut88 happy_x_2 of { happy_var_2 ->-    happyIn89-         (happy_var_2-    )}--happyReduce_318 = happySpecReduce_3  82# happyReduction_318-happyReduction_318 happy_x_3-    happy_x_2-    happy_x_1-     =  case happyOut89 happy_x_2 of { happy_var_2 ->-    happyIn89-         (happy_var_2-    )}--happyReduce_319 = happySpecReduce_3  82# happyReduction_319-happyReduction_319 happy_x_3-    happy_x_2-    happy_x_1-     =  case happyOut85 happy_x_2 of { happy_var_2 ->-    happyIn89-         (happy_var_2 emptyDeclr-    )}--happyReduce_320 = happyReduce 4# 82# happyReduction_320-happyReduction_320 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest)-     = case happyOut88 happy_x_2 of { happy_var_2 ->-    case happyOut85 happy_x_4 of { happy_var_4 ->-    happyIn89-         (happy_var_4 happy_var_2-    ) `HappyStk` happyRest}}--happyReduce_321 = happyReduce 4# 82# happyReduction_321-happyReduction_321 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest)-     = case happyOut127 happy_x_2 of { happy_var_2 ->-    case happyOut88 happy_x_3 of { happy_var_3 ->-    happyIn89-         (appendDeclrAttrs happy_var_2 happy_var_3-    ) `HappyStk` happyRest}}--happyReduce_322 = happyReduce 4# 82# happyReduction_322-happyReduction_322 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest)-     = case happyOut127 happy_x_2 of { happy_var_2 ->-    case happyOut89 happy_x_3 of { happy_var_3 ->-    happyIn89-         (appendDeclrAttrs happy_var_2 happy_var_3-    ) `HappyStk` happyRest}}--happyReduce_323 = happyReduce 4# 82# happyReduction_323-happyReduction_323 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest)-     = case happyOut127 happy_x_2 of { happy_var_2 ->-    case happyOut85 happy_x_3 of { happy_var_3 ->-    happyIn89-         (appendDeclrAttrs happy_var_2 (happy_var_3 emptyDeclr)-    ) `HappyStk` happyRest}}--happyReduce_324 = happyReduce 5# 82# happyReduction_324-happyReduction_324 (happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest)-     = case happyOut127 happy_x_2 of { happy_var_2 ->-    case happyOut88 happy_x_3 of { happy_var_3 ->-    case happyOut85 happy_x_5 of { happy_var_5 ->-    happyIn89-         (appendDeclrAttrs happy_var_2 (happy_var_5 happy_var_3)-    ) `HappyStk` happyRest}}}--happyReduce_325 = happySpecReduce_2  82# happyReduction_325-happyReduction_325 happy_x_2-    happy_x_1-     =  case happyOut89 happy_x_1 of { happy_var_1 ->-    case happyOut128 happy_x_2 of { happy_var_2 ->-    happyIn89-         (appendDeclrAttrs happy_var_2 happy_var_1-    )}}--happyReduce_326 = happyMonadReduce 1# 83# happyReduction_326-happyReduction_326 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut115 happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ CInitExpr happy_var_1)}-    ) (\r -> happyReturn (happyIn90 r))--happyReduce_327 = happyMonadReduce 3# 83# happyReduction_327-happyReduction_327 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut92 happy_x_2 of { happy_var_2 ->-    ( withNodeInfo happy_var_1 $ CInitList (reverse happy_var_2))}}-    ) (\r -> happyReturn (happyIn90 r))--happyReduce_328 = happyMonadReduce 4# 83# happyReduction_328-happyReduction_328 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut92 happy_x_2 of { happy_var_2 ->-    ( withNodeInfo happy_var_1 $ CInitList (reverse happy_var_2))}}-    ) (\r -> happyReturn (happyIn90 r))--happyReduce_329 = happySpecReduce_0  84# happyReduction_329-happyReduction_329  =  happyIn91-         (Nothing-    )--happyReduce_330 = happySpecReduce_2  84# happyReduction_330-happyReduction_330 happy_x_2-    happy_x_1-     =  case happyOut90 happy_x_2 of { happy_var_2 ->-    happyIn91-         (Just happy_var_2-    )}--happyReduce_331 = happySpecReduce_0  85# happyReduction_331-happyReduction_331  =  happyIn92-         (empty-    )--happyReduce_332 = happySpecReduce_1  85# happyReduction_332-happyReduction_332 happy_x_1-     =  case happyOut90 happy_x_1 of { happy_var_1 ->-    happyIn92-         (singleton ([],happy_var_1)-    )}--happyReduce_333 = happySpecReduce_2  85# happyReduction_333-happyReduction_333 happy_x_2-    happy_x_1-     =  case happyOut93 happy_x_1 of { happy_var_1 ->-    case happyOut90 happy_x_2 of { happy_var_2 ->-    happyIn92-         (singleton (happy_var_1,happy_var_2)-    )}}--happyReduce_334 = happySpecReduce_3  85# happyReduction_334-happyReduction_334 happy_x_3-    happy_x_2-    happy_x_1-     =  case happyOut92 happy_x_1 of { happy_var_1 ->-    case happyOut90 happy_x_3 of { happy_var_3 ->-    happyIn92-         (happy_var_1 `snoc` ([],happy_var_3)-    )}}--happyReduce_335 = happyReduce 4# 85# happyReduction_335-happyReduction_335 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest)-     = case happyOut92 happy_x_1 of { happy_var_1 ->-    case happyOut93 happy_x_3 of { happy_var_3 ->-    case happyOut90 happy_x_4 of { happy_var_4 ->-    happyIn92-         (happy_var_1 `snoc` (happy_var_3,happy_var_4)-    ) `HappyStk` happyRest}}}--happyReduce_336 = happySpecReduce_2  86# happyReduction_336-happyReduction_336 happy_x_2-    happy_x_1-     =  case happyOut94 happy_x_1 of { happy_var_1 ->-    happyIn93-         (reverse happy_var_1-    )}--happyReduce_337 = happyMonadReduce 2# 86# happyReduction_337-happyReduction_337 (happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut125 happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ \at -> [CMemberDesig happy_var_1 at])}-    ) (\r -> happyReturn (happyIn93 r))--happyReduce_338 = happySpecReduce_1  86# happyReduction_338-happyReduction_338 happy_x_1-     =  case happyOut96 happy_x_1 of { happy_var_1 ->-    happyIn93-         ([happy_var_1]-    )}--happyReduce_339 = happySpecReduce_1  87# happyReduction_339-happyReduction_339 happy_x_1-     =  case happyOut95 happy_x_1 of { happy_var_1 ->-    happyIn94-         (singleton happy_var_1-    )}--happyReduce_340 = happySpecReduce_2  87# happyReduction_340-happyReduction_340 happy_x_2-    happy_x_1-     =  case happyOut94 happy_x_1 of { happy_var_1 ->-    case happyOut95 happy_x_2 of { happy_var_2 ->-    happyIn94-         (happy_var_1 `snoc` happy_var_2-    )}}--happyReduce_341 = happyMonadReduce 3# 88# happyReduction_341-happyReduction_341 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut121 happy_x_2 of { happy_var_2 ->-    ( withNodeInfo happy_var_1 $ CArrDesig happy_var_2)}}-    ) (\r -> happyReturn (happyIn95 r))--happyReduce_342 = happyMonadReduce 2# 88# happyReduction_342-happyReduction_342 (happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut125 happy_x_2 of { happy_var_2 ->-    ( withNodeInfo happy_var_1 $ CMemberDesig happy_var_2)}}-    ) (\r -> happyReturn (happyIn95 r))--happyReduce_343 = happySpecReduce_1  88# happyReduction_343-happyReduction_343 happy_x_1-     =  case happyOut96 happy_x_1 of { happy_var_1 ->-    happyIn95-         (happy_var_1-    )}--happyReduce_344 = happyMonadReduce 5# 89# happyReduction_344-happyReduction_344 (happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut121 happy_x_2 of { happy_var_2 ->-    case happyOut121 happy_x_4 of { happy_var_4 ->-    ( withNodeInfo happy_var_1 $ CRangeDesig happy_var_2 happy_var_4)}}}-    ) (\r -> happyReturn (happyIn96 r))--happyReduce_345 = happyMonadReduce 1# 90# happyReduction_345-happyReduction_345 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { (CTokIdent  _ happy_var_1) ->-    ( withNodeInfo happy_var_1 $ CVar happy_var_1)}-    ) (\r -> happyReturn (happyIn97 r))--happyReduce_346 = happySpecReduce_1  90# happyReduction_346-happyReduction_346 happy_x_1-     =  case happyOut122 happy_x_1 of { happy_var_1 ->-    happyIn97-         (CConst happy_var_1-    )}--happyReduce_347 = happySpecReduce_1  90# happyReduction_347-happyReduction_347 happy_x_1-     =  case happyOut123 happy_x_1 of { happy_var_1 ->-    happyIn97-         (CConst (liftStrLit happy_var_1)-    )}--happyReduce_348 = happySpecReduce_3  90# happyReduction_348-happyReduction_348 happy_x_3-    happy_x_2-    happy_x_1-     =  case happyOut117 happy_x_2 of { happy_var_2 ->-    happyIn97-         (happy_var_2-    )}--happyReduce_349 = happyMonadReduce 3# 90# happyReduction_349-happyReduction_349 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut14 happy_x_2 of { happy_var_2 ->-    ( withNodeInfo happy_var_1 $ CStatExpr happy_var_2)}}-    ) (\r -> happyReturn (happyIn97 r))--happyReduce_350 = happyMonadReduce 6# 90# happyReduction_350-happyReduction_350 (happy_x_6 `HappyStk`-    happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut115 happy_x_3 of { happy_var_3 ->-    case happyOut83 happy_x_5 of { happy_var_5 ->-    ( withNodeInfo happy_var_1 $ CBuiltinExpr . CBuiltinVaArg happy_var_3 happy_var_5)}}}-    ) (\r -> happyReturn (happyIn97 r))--happyReduce_351 = happyMonadReduce 6# 90# happyReduction_351-happyReduction_351 (happy_x_6 `HappyStk`-    happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut83 happy_x_3 of { happy_var_3 ->-    case happyOut98 happy_x_5 of { happy_var_5 ->-    ( withNodeInfo happy_var_1 $ CBuiltinExpr . CBuiltinOffsetOf happy_var_3 (reverse happy_var_5))}}}-    ) (\r -> happyReturn (happyIn97 r))--happyReduce_352 = happyMonadReduce 6# 90# happyReduction_352-happyReduction_352 (happy_x_6 `HappyStk`-    happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut83 happy_x_3 of { happy_var_3 ->-    case happyOut83 happy_x_5 of { happy_var_5 ->-    ( withNodeInfo happy_var_1 $ CBuiltinExpr . CBuiltinTypesCompatible happy_var_3 happy_var_5)}}}-    ) (\r -> happyReturn (happyIn97 r))--happyReduce_353 = happyMonadReduce 1# 91# happyReduction_353-happyReduction_353 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut125 happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ singleton . CMemberDesig happy_var_1)}-    ) (\r -> happyReturn (happyIn98 r))--happyReduce_354 = happyMonadReduce 3# 91# happyReduction_354-happyReduction_354 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut98 happy_x_1 of { happy_var_1 ->-    case happyOut125 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_3 $ (happy_var_1 `snoc`) . CMemberDesig happy_var_3)}}-    ) (\r -> happyReturn (happyIn98 r))--happyReduce_355 = happyMonadReduce 4# 91# happyReduction_355-happyReduction_355 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut98 happy_x_1 of { happy_var_1 ->-    case happyOut117 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_3 $ (happy_var_1 `snoc`) . CArrDesig happy_var_3)}}-    ) (\r -> happyReturn (happyIn98 r))--happyReduce_356 = happySpecReduce_1  92# happyReduction_356-happyReduction_356 happy_x_1-     =  case happyOut97 happy_x_1 of { happy_var_1 ->-    happyIn99-         (happy_var_1-    )}--happyReduce_357 = happyMonadReduce 4# 92# happyReduction_357-happyReduction_357 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut99 happy_x_1 of { happy_var_1 ->-    case happyOut117 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ CIndex happy_var_1 happy_var_3)}}-    ) (\r -> happyReturn (happyIn99 r))--happyReduce_358 = happyMonadReduce 3# 92# happyReduction_358-happyReduction_358 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut99 happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ CCall happy_var_1 [])}-    ) (\r -> happyReturn (happyIn99 r))--happyReduce_359 = happyMonadReduce 4# 92# happyReduction_359-happyReduction_359 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut99 happy_x_1 of { happy_var_1 ->-    case happyOut100 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ CCall happy_var_1 (reverse happy_var_3))}}-    ) (\r -> happyReturn (happyIn99 r))--happyReduce_360 = happyMonadReduce 3# 92# happyReduction_360-happyReduction_360 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut99 happy_x_1 of { happy_var_1 ->-    case happyOut125 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ CMember happy_var_1 happy_var_3 False)}}-    ) (\r -> happyReturn (happyIn99 r))--happyReduce_361 = happyMonadReduce 3# 92# happyReduction_361-happyReduction_361 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut99 happy_x_1 of { happy_var_1 ->-    case happyOut125 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ CMember happy_var_1 happy_var_3 True)}}-    ) (\r -> happyReturn (happyIn99 r))--happyReduce_362 = happyMonadReduce 2# 92# happyReduction_362-happyReduction_362 (happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut99 happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ CUnary CPostIncOp happy_var_1)}-    ) (\r -> happyReturn (happyIn99 r))--happyReduce_363 = happyMonadReduce 2# 92# happyReduction_363-happyReduction_363 (happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut99 happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ CUnary CPostDecOp happy_var_1)}-    ) (\r -> happyReturn (happyIn99 r))--happyReduce_364 = happyMonadReduce 6# 92# happyReduction_364-happyReduction_364 (happy_x_6 `HappyStk`-    happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut83 happy_x_2 of { happy_var_2 ->-    case happyOut92 happy_x_5 of { happy_var_5 ->-    ( withNodeInfo happy_var_1 $ CCompoundLit happy_var_2 (reverse happy_var_5))}}}-    ) (\r -> happyReturn (happyIn99 r))--happyReduce_365 = happyMonadReduce 7# 92# happyReduction_365-happyReduction_365 (happy_x_7 `HappyStk`-    happy_x_6 `HappyStk`-    happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut83 happy_x_2 of { happy_var_2 ->-    case happyOut92 happy_x_5 of { happy_var_5 ->-    ( withNodeInfo happy_var_1 $ CCompoundLit happy_var_2 (reverse happy_var_5))}}}-    ) (\r -> happyReturn (happyIn99 r))--happyReduce_366 = happySpecReduce_1  93# happyReduction_366-happyReduction_366 happy_x_1-     =  case happyOut115 happy_x_1 of { happy_var_1 ->-    happyIn100-         (singleton happy_var_1-    )}--happyReduce_367 = happySpecReduce_3  93# happyReduction_367-happyReduction_367 happy_x_3-    happy_x_2-    happy_x_1-     =  case happyOut100 happy_x_1 of { happy_var_1 ->-    case happyOut115 happy_x_3 of { happy_var_3 ->-    happyIn100-         (happy_var_1 `snoc` happy_var_3-    )}}--happyReduce_368 = happySpecReduce_1  94# happyReduction_368-happyReduction_368 happy_x_1-     =  case happyOut99 happy_x_1 of { happy_var_1 ->-    happyIn101-         (happy_var_1-    )}--happyReduce_369 = happyMonadReduce 2# 94# happyReduction_369-happyReduction_369 (happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut101 happy_x_2 of { happy_var_2 ->-    ( withNodeInfo happy_var_1 $ CUnary CPreIncOp happy_var_2)}}-    ) (\r -> happyReturn (happyIn101 r))--happyReduce_370 = happyMonadReduce 2# 94# happyReduction_370-happyReduction_370 (happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut101 happy_x_2 of { happy_var_2 ->-    ( withNodeInfo happy_var_1 $ CUnary CPreDecOp happy_var_2)}}-    ) (\r -> happyReturn (happyIn101 r))--happyReduce_371 = happySpecReduce_2  94# happyReduction_371-happyReduction_371 happy_x_2-    happy_x_1-     =  case happyOut103 happy_x_2 of { happy_var_2 ->-    happyIn101-         (happy_var_2-    )}--happyReduce_372 = happyMonadReduce 2# 94# happyReduction_372-happyReduction_372 (happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut102 happy_x_1 of { happy_var_1 ->-    case happyOut103 happy_x_2 of { happy_var_2 ->-    ( withNodeInfo happy_var_1 $ CUnary (unL happy_var_1) happy_var_2)}}-    ) (\r -> happyReturn (happyIn101 r))--happyReduce_373 = happyMonadReduce 2# 94# happyReduction_373-happyReduction_373 (happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut101 happy_x_2 of { happy_var_2 ->-    ( withNodeInfo happy_var_1 $ CSizeofExpr happy_var_2)}}-    ) (\r -> happyReturn (happyIn101 r))--happyReduce_374 = happyMonadReduce 4# 94# happyReduction_374-happyReduction_374 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut83 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ CSizeofType happy_var_3)}}-    ) (\r -> happyReturn (happyIn101 r))--happyReduce_375 = happyMonadReduce 2# 94# happyReduction_375-happyReduction_375 (happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut101 happy_x_2 of { happy_var_2 ->-    ( withNodeInfo happy_var_1 $ CAlignofExpr happy_var_2)}}-    ) (\r -> happyReturn (happyIn101 r))--happyReduce_376 = happyMonadReduce 4# 94# happyReduction_376-happyReduction_376 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut83 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ CAlignofType happy_var_3)}}-    ) (\r -> happyReturn (happyIn101 r))--happyReduce_377 = happyMonadReduce 2# 94# happyReduction_377-happyReduction_377 (happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut101 happy_x_2 of { happy_var_2 ->-    ( withNodeInfo happy_var_1 $ CComplexReal happy_var_2)}}-    ) (\r -> happyReturn (happyIn101 r))--happyReduce_378 = happyMonadReduce 2# 94# happyReduction_378-happyReduction_378 (happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut101 happy_x_2 of { happy_var_2 ->-    ( withNodeInfo happy_var_1 $ CComplexImag happy_var_2)}}-    ) (\r -> happyReturn (happyIn101 r))--happyReduce_379 = happyMonadReduce 2# 94# happyReduction_379-happyReduction_379 (happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut125 happy_x_2 of { happy_var_2 ->-    ( withNodeInfo happy_var_1 $ CLabAddrExpr happy_var_2)}}-    ) (\r -> happyReturn (happyIn101 r))--happyReduce_380 = happySpecReduce_1  95# happyReduction_380-happyReduction_380 happy_x_1-     =  case happyOutTok happy_x_1 of { happy_var_1 ->-    happyIn102-         (L CAdrOp  (posOf happy_var_1)-    )}--happyReduce_381 = happySpecReduce_1  95# happyReduction_381-happyReduction_381 happy_x_1-     =  case happyOutTok happy_x_1 of { happy_var_1 ->-    happyIn102-         (L CIndOp  (posOf happy_var_1)-    )}--happyReduce_382 = happySpecReduce_1  95# happyReduction_382-happyReduction_382 happy_x_1-     =  case happyOutTok happy_x_1 of { happy_var_1 ->-    happyIn102-         (L CPlusOp (posOf happy_var_1)-    )}--happyReduce_383 = happySpecReduce_1  95# happyReduction_383-happyReduction_383 happy_x_1-     =  case happyOutTok happy_x_1 of { happy_var_1 ->-    happyIn102-         (L CMinOp  (posOf happy_var_1)-    )}--happyReduce_384 = happySpecReduce_1  95# happyReduction_384-happyReduction_384 happy_x_1-     =  case happyOutTok happy_x_1 of { happy_var_1 ->-    happyIn102-         (L CCompOp (posOf happy_var_1)-    )}--happyReduce_385 = happySpecReduce_1  95# happyReduction_385-happyReduction_385 happy_x_1-     =  case happyOutTok happy_x_1 of { happy_var_1 ->-    happyIn102-         (L CNegOp  (posOf happy_var_1)-    )}--happyReduce_386 = happySpecReduce_1  96# happyReduction_386-happyReduction_386 happy_x_1-     =  case happyOut101 happy_x_1 of { happy_var_1 ->-    happyIn103-         (happy_var_1-    )}--happyReduce_387 = happyMonadReduce 4# 96# happyReduction_387-happyReduction_387 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut83 happy_x_2 of { happy_var_2 ->-    case happyOut103 happy_x_4 of { happy_var_4 ->-    ( withNodeInfo happy_var_1 $ CCast happy_var_2 happy_var_4)}}}-    ) (\r -> happyReturn (happyIn103 r))--happyReduce_388 = happySpecReduce_1  97# happyReduction_388-happyReduction_388 happy_x_1-     =  case happyOut103 happy_x_1 of { happy_var_1 ->-    happyIn104-         (happy_var_1-    )}--happyReduce_389 = happyMonadReduce 3# 97# happyReduction_389-happyReduction_389 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut104 happy_x_1 of { happy_var_1 ->-    case happyOut103 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ CBinary CMulOp happy_var_1 happy_var_3)}}-    ) (\r -> happyReturn (happyIn104 r))--happyReduce_390 = happyMonadReduce 3# 97# happyReduction_390-happyReduction_390 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut104 happy_x_1 of { happy_var_1 ->-    case happyOut103 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ CBinary CDivOp happy_var_1 happy_var_3)}}-    ) (\r -> happyReturn (happyIn104 r))--happyReduce_391 = happyMonadReduce 3# 97# happyReduction_391-happyReduction_391 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut104 happy_x_1 of { happy_var_1 ->-    case happyOut103 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ CBinary CRmdOp happy_var_1 happy_var_3)}}-    ) (\r -> happyReturn (happyIn104 r))--happyReduce_392 = happySpecReduce_1  98# happyReduction_392-happyReduction_392 happy_x_1-     =  case happyOut104 happy_x_1 of { happy_var_1 ->-    happyIn105-         (happy_var_1-    )}--happyReduce_393 = happyMonadReduce 3# 98# happyReduction_393-happyReduction_393 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut105 happy_x_1 of { happy_var_1 ->-    case happyOut104 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ CBinary CAddOp happy_var_1 happy_var_3)}}-    ) (\r -> happyReturn (happyIn105 r))--happyReduce_394 = happyMonadReduce 3# 98# happyReduction_394-happyReduction_394 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut105 happy_x_1 of { happy_var_1 ->-    case happyOut104 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ CBinary CSubOp happy_var_1 happy_var_3)}}-    ) (\r -> happyReturn (happyIn105 r))--happyReduce_395 = happySpecReduce_1  99# happyReduction_395-happyReduction_395 happy_x_1-     =  case happyOut105 happy_x_1 of { happy_var_1 ->-    happyIn106-         (happy_var_1-    )}--happyReduce_396 = happyMonadReduce 3# 99# happyReduction_396-happyReduction_396 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut106 happy_x_1 of { happy_var_1 ->-    case happyOut105 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ CBinary CShlOp happy_var_1 happy_var_3)}}-    ) (\r -> happyReturn (happyIn106 r))--happyReduce_397 = happyMonadReduce 3# 99# happyReduction_397-happyReduction_397 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut106 happy_x_1 of { happy_var_1 ->-    case happyOut105 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ CBinary CShrOp happy_var_1 happy_var_3)}}-    ) (\r -> happyReturn (happyIn106 r))--happyReduce_398 = happySpecReduce_1  100# happyReduction_398-happyReduction_398 happy_x_1-     =  case happyOut106 happy_x_1 of { happy_var_1 ->-    happyIn107-         (happy_var_1-    )}--happyReduce_399 = happyMonadReduce 3# 100# happyReduction_399-happyReduction_399 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut107 happy_x_1 of { happy_var_1 ->-    case happyOut106 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ CBinary CLeOp happy_var_1 happy_var_3)}}-    ) (\r -> happyReturn (happyIn107 r))--happyReduce_400 = happyMonadReduce 3# 100# happyReduction_400-happyReduction_400 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut107 happy_x_1 of { happy_var_1 ->-    case happyOut106 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ CBinary CGrOp happy_var_1 happy_var_3)}}-    ) (\r -> happyReturn (happyIn107 r))--happyReduce_401 = happyMonadReduce 3# 100# happyReduction_401-happyReduction_401 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut107 happy_x_1 of { happy_var_1 ->-    case happyOut106 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ CBinary CLeqOp happy_var_1 happy_var_3)}}-    ) (\r -> happyReturn (happyIn107 r))--happyReduce_402 = happyMonadReduce 3# 100# happyReduction_402-happyReduction_402 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut107 happy_x_1 of { happy_var_1 ->-    case happyOut106 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ CBinary CGeqOp happy_var_1 happy_var_3)}}-    ) (\r -> happyReturn (happyIn107 r))--happyReduce_403 = happySpecReduce_1  101# happyReduction_403-happyReduction_403 happy_x_1-     =  case happyOut107 happy_x_1 of { happy_var_1 ->-    happyIn108-         (happy_var_1-    )}--happyReduce_404 = happyMonadReduce 3# 101# happyReduction_404-happyReduction_404 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut108 happy_x_1 of { happy_var_1 ->-    case happyOut107 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ CBinary CEqOp  happy_var_1 happy_var_3)}}-    ) (\r -> happyReturn (happyIn108 r))--happyReduce_405 = happyMonadReduce 3# 101# happyReduction_405-happyReduction_405 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut108 happy_x_1 of { happy_var_1 ->-    case happyOut107 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ CBinary CNeqOp happy_var_1 happy_var_3)}}-    ) (\r -> happyReturn (happyIn108 r))--happyReduce_406 = happySpecReduce_1  102# happyReduction_406-happyReduction_406 happy_x_1-     =  case happyOut108 happy_x_1 of { happy_var_1 ->-    happyIn109-         (happy_var_1-    )}--happyReduce_407 = happyMonadReduce 3# 102# happyReduction_407-happyReduction_407 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut109 happy_x_1 of { happy_var_1 ->-    case happyOut108 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ CBinary CAndOp happy_var_1 happy_var_3)}}-    ) (\r -> happyReturn (happyIn109 r))--happyReduce_408 = happySpecReduce_1  103# happyReduction_408-happyReduction_408 happy_x_1-     =  case happyOut109 happy_x_1 of { happy_var_1 ->-    happyIn110-         (happy_var_1-    )}--happyReduce_409 = happyMonadReduce 3# 103# happyReduction_409-happyReduction_409 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut110 happy_x_1 of { happy_var_1 ->-    case happyOut109 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ CBinary CXorOp happy_var_1 happy_var_3)}}-    ) (\r -> happyReturn (happyIn110 r))--happyReduce_410 = happySpecReduce_1  104# happyReduction_410-happyReduction_410 happy_x_1-     =  case happyOut110 happy_x_1 of { happy_var_1 ->-    happyIn111-         (happy_var_1-    )}--happyReduce_411 = happyMonadReduce 3# 104# happyReduction_411-happyReduction_411 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut111 happy_x_1 of { happy_var_1 ->-    case happyOut110 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ CBinary COrOp happy_var_1 happy_var_3)}}-    ) (\r -> happyReturn (happyIn111 r))--happyReduce_412 = happySpecReduce_1  105# happyReduction_412-happyReduction_412 happy_x_1-     =  case happyOut111 happy_x_1 of { happy_var_1 ->-    happyIn112-         (happy_var_1-    )}--happyReduce_413 = happyMonadReduce 3# 105# happyReduction_413-happyReduction_413 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut112 happy_x_1 of { happy_var_1 ->-    case happyOut111 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ CBinary CLndOp happy_var_1 happy_var_3)}}-    ) (\r -> happyReturn (happyIn112 r))--happyReduce_414 = happySpecReduce_1  106# happyReduction_414-happyReduction_414 happy_x_1-     =  case happyOut112 happy_x_1 of { happy_var_1 ->-    happyIn113-         (happy_var_1-    )}--happyReduce_415 = happyMonadReduce 3# 106# happyReduction_415-happyReduction_415 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut113 happy_x_1 of { happy_var_1 ->-    case happyOut112 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ CBinary CLorOp happy_var_1 happy_var_3)}}-    ) (\r -> happyReturn (happyIn113 r))--happyReduce_416 = happySpecReduce_1  107# happyReduction_416-happyReduction_416 happy_x_1-     =  case happyOut113 happy_x_1 of { happy_var_1 ->-    happyIn114-         (happy_var_1-    )}--happyReduce_417 = happyMonadReduce 5# 107# happyReduction_417-happyReduction_417 (happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut113 happy_x_1 of { happy_var_1 ->-    case happyOut117 happy_x_3 of { happy_var_3 ->-    case happyOut114 happy_x_5 of { happy_var_5 ->-    ( withNodeInfo happy_var_1 $ CCond happy_var_1 (Just happy_var_3) happy_var_5)}}}-    ) (\r -> happyReturn (happyIn114 r))--happyReduce_418 = happyMonadReduce 4# 107# happyReduction_418-happyReduction_418 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut113 happy_x_1 of { happy_var_1 ->-    case happyOut114 happy_x_4 of { happy_var_4 ->-    ( withNodeInfo happy_var_1 $ CCond happy_var_1 Nothing happy_var_4)}}-    ) (\r -> happyReturn (happyIn114 r))--happyReduce_419 = happySpecReduce_1  108# happyReduction_419-happyReduction_419 happy_x_1-     =  case happyOut114 happy_x_1 of { happy_var_1 ->-    happyIn115-         (happy_var_1-    )}--happyReduce_420 = happyMonadReduce 3# 108# happyReduction_420-happyReduction_420 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut101 happy_x_1 of { happy_var_1 ->-    case happyOut116 happy_x_2 of { happy_var_2 ->-    case happyOut115 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ CAssign (unL happy_var_2) happy_var_1 happy_var_3)}}}-    ) (\r -> happyReturn (happyIn115 r))--happyReduce_421 = happySpecReduce_1  109# happyReduction_421-happyReduction_421 happy_x_1-     =  case happyOutTok happy_x_1 of { happy_var_1 ->-    happyIn116-         (L CAssignOp (posOf happy_var_1)-    )}--happyReduce_422 = happySpecReduce_1  109# happyReduction_422-happyReduction_422 happy_x_1-     =  case happyOutTok happy_x_1 of { happy_var_1 ->-    happyIn116-         (L CMulAssOp (posOf happy_var_1)-    )}--happyReduce_423 = happySpecReduce_1  109# happyReduction_423-happyReduction_423 happy_x_1-     =  case happyOutTok happy_x_1 of { happy_var_1 ->-    happyIn116-         (L CDivAssOp (posOf happy_var_1)-    )}--happyReduce_424 = happySpecReduce_1  109# happyReduction_424-happyReduction_424 happy_x_1-     =  case happyOutTok happy_x_1 of { happy_var_1 ->-    happyIn116-         (L CRmdAssOp (posOf happy_var_1)-    )}--happyReduce_425 = happySpecReduce_1  109# happyReduction_425-happyReduction_425 happy_x_1-     =  case happyOutTok happy_x_1 of { happy_var_1 ->-    happyIn116-         (L CAddAssOp (posOf happy_var_1)-    )}--happyReduce_426 = happySpecReduce_1  109# happyReduction_426-happyReduction_426 happy_x_1-     =  case happyOutTok happy_x_1 of { happy_var_1 ->-    happyIn116-         (L CSubAssOp (posOf happy_var_1)-    )}--happyReduce_427 = happySpecReduce_1  109# happyReduction_427-happyReduction_427 happy_x_1-     =  case happyOutTok happy_x_1 of { happy_var_1 ->-    happyIn116-         (L CShlAssOp (posOf happy_var_1)-    )}--happyReduce_428 = happySpecReduce_1  109# happyReduction_428-happyReduction_428 happy_x_1-     =  case happyOutTok happy_x_1 of { happy_var_1 ->-    happyIn116-         (L CShrAssOp (posOf happy_var_1)-    )}--happyReduce_429 = happySpecReduce_1  109# happyReduction_429-happyReduction_429 happy_x_1-     =  case happyOutTok happy_x_1 of { happy_var_1 ->-    happyIn116-         (L CAndAssOp (posOf happy_var_1)-    )}--happyReduce_430 = happySpecReduce_1  109# happyReduction_430-happyReduction_430 happy_x_1-     =  case happyOutTok happy_x_1 of { happy_var_1 ->-    happyIn116-         (L CXorAssOp (posOf happy_var_1)-    )}--happyReduce_431 = happySpecReduce_1  109# happyReduction_431-happyReduction_431 happy_x_1-     =  case happyOutTok happy_x_1 of { happy_var_1 ->-    happyIn116-         (L COrAssOp  (posOf happy_var_1)-    )}--happyReduce_432 = happySpecReduce_1  110# happyReduction_432-happyReduction_432 happy_x_1-     =  case happyOut115 happy_x_1 of { happy_var_1 ->-    happyIn117-         (happy_var_1-    )}--happyReduce_433 = happyMonadReduce 3# 110# happyReduction_433-happyReduction_433 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOut115 happy_x_1 of { happy_var_1 ->-    case happyOut118 happy_x_3 of { happy_var_3 ->-    ( let es = reverse happy_var_3 in withNodeInfo es $ CComma (happy_var_1:es))}}-    ) (\r -> happyReturn (happyIn117 r))--happyReduce_434 = happySpecReduce_1  111# happyReduction_434-happyReduction_434 happy_x_1-     =  case happyOut115 happy_x_1 of { happy_var_1 ->-    happyIn118-         (singleton happy_var_1-    )}--happyReduce_435 = happySpecReduce_3  111# happyReduction_435-happyReduction_435 happy_x_3-    happy_x_2-    happy_x_1-     =  case happyOut118 happy_x_1 of { happy_var_1 ->-    case happyOut115 happy_x_3 of { happy_var_3 ->-    happyIn118-         (happy_var_1 `snoc` happy_var_3-    )}}--happyReduce_436 = happySpecReduce_0  112# happyReduction_436-happyReduction_436  =  happyIn119-         (Nothing-    )--happyReduce_437 = happySpecReduce_1  112# happyReduction_437-happyReduction_437 happy_x_1-     =  case happyOut117 happy_x_1 of { happy_var_1 ->-    happyIn119-         (Just happy_var_1-    )}--happyReduce_438 = happySpecReduce_0  113# happyReduction_438-happyReduction_438  =  happyIn120-         (Nothing-    )--happyReduce_439 = happySpecReduce_1  113# happyReduction_439-happyReduction_439 happy_x_1-     =  case happyOut115 happy_x_1 of { happy_var_1 ->-    happyIn120-         (Just happy_var_1-    )}--happyReduce_440 = happySpecReduce_1  114# happyReduction_440-happyReduction_440 happy_x_1-     =  case happyOut114 happy_x_1 of { happy_var_1 ->-    happyIn121-         (happy_var_1-    )}--happyReduce_441 = happyMonadReduce 1# 115# happyReduction_441-happyReduction_441 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ case happy_var_1 of CTokILit _ i -> CIntConst i)}-    ) (\r -> happyReturn (happyIn122 r))--happyReduce_442 = happyMonadReduce 1# 115# happyReduction_442-happyReduction_442 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ case happy_var_1 of CTokCLit _ c -> CCharConst c)}-    ) (\r -> happyReturn (happyIn122 r))--happyReduce_443 = happyMonadReduce 1# 115# happyReduction_443-happyReduction_443 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ case happy_var_1 of CTokFLit _ f -> CFloatConst f)}-    ) (\r -> happyReturn (happyIn122 r))--happyReduce_444 = happyMonadReduce 1# 116# happyReduction_444-happyReduction_444 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ case happy_var_1 of CTokSLit _ s -> CStrLit s)}-    ) (\r -> happyReturn (happyIn123 r))--happyReduce_445 = happyMonadReduce 2# 116# happyReduction_445-happyReduction_445 (happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    case happyOut124 happy_x_2 of { happy_var_2 ->-    ( withNodeInfo happy_var_1 $ case happy_var_1 of CTokSLit _ s -> CStrLit (concatCStrings (s : reverse happy_var_2)))}}-    ) (\r -> happyReturn (happyIn123 r))--happyReduce_446 = happySpecReduce_1  117# happyReduction_446-happyReduction_446 happy_x_1-     =  case happyOutTok happy_x_1 of { happy_var_1 ->-    happyIn124-         (case happy_var_1 of CTokSLit _ s -> singleton s-    )}--happyReduce_447 = happySpecReduce_2  117# happyReduction_447-happyReduction_447 happy_x_2-    happy_x_1-     =  case happyOut124 happy_x_1 of { happy_var_1 ->-    case happyOutTok happy_x_2 of { happy_var_2 ->-    happyIn124-         (case happy_var_2 of CTokSLit _ s -> happy_var_1 `snoc` s-    )}}--happyReduce_448 = happySpecReduce_1  118# happyReduction_448-happyReduction_448 happy_x_1-     =  case happyOutTok happy_x_1 of { (CTokIdent  _ happy_var_1) ->-    happyIn125-         (happy_var_1-    )}--happyReduce_449 = happySpecReduce_1  118# happyReduction_449-happyReduction_449 happy_x_1-     =  case happyOutTok happy_x_1 of { (CTokTyIdent _ happy_var_1) ->-    happyIn125-         (happy_var_1-    )}--happyReduce_450 = happySpecReduce_0  119# happyReduction_450-happyReduction_450  =  happyIn126-         ([]-    )--happyReduce_451 = happySpecReduce_1  119# happyReduction_451-happyReduction_451 happy_x_1-     =  case happyOut127 happy_x_1 of { happy_var_1 ->-    happyIn126-         (happy_var_1-    )}--happyReduce_452 = happySpecReduce_1  120# happyReduction_452-happyReduction_452 happy_x_1-     =  case happyOut128 happy_x_1 of { happy_var_1 ->-    happyIn127-         (happy_var_1-    )}--happyReduce_453 = happySpecReduce_2  120# happyReduction_453-happyReduction_453 happy_x_2-    happy_x_1-     =  case happyOut127 happy_x_1 of { happy_var_1 ->-    case happyOut128 happy_x_2 of { happy_var_2 ->-    happyIn127-         (happy_var_1 ++ happy_var_2-    )}}--happyReduce_454 = happyReduce 6# 121# happyReduction_454-happyReduction_454 (happy_x_6 `HappyStk`-    happy_x_5 `HappyStk`-    happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest)-     = case happyOut129 happy_x_4 of { happy_var_4 ->-    happyIn128-         (reverse happy_var_4-    ) `HappyStk` happyRest}--happyReduce_455 = happySpecReduce_1  122# happyReduction_455-happyReduction_455 happy_x_1-     =  case happyOut130 happy_x_1 of { happy_var_1 ->-    happyIn129-         (case happy_var_1 of Nothing -> empty; Just attr -> singleton attr-    )}--happyReduce_456 = happySpecReduce_3  122# happyReduction_456-happyReduction_456 happy_x_3-    happy_x_2-    happy_x_1-     =  case happyOut129 happy_x_1 of { happy_var_1 ->-    case happyOut130 happy_x_3 of { happy_var_3 ->-    happyIn129-         ((maybe id (flip snoc) happy_var_3) happy_var_1-    )}}--happyReduce_457 = happySpecReduce_0  123# happyReduction_457-happyReduction_457  =  happyIn130-         (Nothing-    )--happyReduce_458 = happyMonadReduce 1# 123# happyReduction_458-happyReduction_458 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { (CTokIdent  _ happy_var_1) ->-    ( withNodeInfo happy_var_1 $ Just . CAttr happy_var_1  [])}-    ) (\r -> happyReturn (happyIn130 r))--happyReduce_459 = happyMonadReduce 1# 123# happyReduction_459-happyReduction_459 (happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->-    ( withNodeInfo happy_var_1 $ Just . CAttr (internalIdent "const") [])}-    ) (\r -> happyReturn (happyIn130 r))--happyReduce_460 = happyMonadReduce 4# 123# happyReduction_460-happyReduction_460 (happy_x_4 `HappyStk`-    happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { (CTokIdent  _ happy_var_1) ->-    case happyOut131 happy_x_3 of { happy_var_3 ->-    ( withNodeInfo happy_var_1 $ Just . CAttr happy_var_1 (reverse happy_var_3))}}-    ) (\r -> happyReturn (happyIn130 r))--happyReduce_461 = happyMonadReduce 3# 123# happyReduction_461-happyReduction_461 (happy_x_3 `HappyStk`-    happy_x_2 `HappyStk`-    happy_x_1 `HappyStk`-    happyRest) tk-     = happyThen (case happyOutTok happy_x_1 of { (CTokIdent  _ happy_var_1) ->-    ( withNodeInfo happy_var_1 $ Just . CAttr happy_var_1 [])}-    ) (\r -> happyReturn (happyIn130 r))--happyReduce_462 = happySpecReduce_1  124# happyReduction_462-happyReduction_462 happy_x_1-     =  case happyOut121 happy_x_1 of { happy_var_1 ->-    happyIn131-         (singleton happy_var_1-    )}--happyReduce_463 = happySpecReduce_3  124# happyReduction_463-happyReduction_463 happy_x_3-    happy_x_2-    happy_x_1-     =  case happyOut131 happy_x_1 of { happy_var_1 ->-    case happyOut121 happy_x_3 of { happy_var_3 ->-    happyIn131-         (happy_var_1 `snoc` happy_var_3-    )}}--happyNewToken action sts stk-    = lexC(\tk ->-    let cont i = happyDoAction i tk action sts stk in-    case tk of {-    CTokEof -> happyDoAction 101# tk action sts stk;-    CTokLParen  _ -> cont 1#;-    CTokRParen  _ -> cont 2#;-    CTokLBracket    _ -> cont 3#;-    CTokRBracket    _ -> cont 4#;-    CTokArrow   _ -> cont 5#;-    CTokDot _ -> cont 6#;-    CTokExclam  _ -> cont 7#;-    CTokTilde   _ -> cont 8#;-    CTokInc _ -> cont 9#;-    CTokDec _ -> cont 10#;-    CTokPlus    _ -> cont 11#;-    CTokMinus   _ -> cont 12#;-    CTokStar    _ -> cont 13#;-    CTokSlash   _ -> cont 14#;-    CTokPercent _ -> cont 15#;-    CTokAmper   _ -> cont 16#;-    CTokShiftL  _ -> cont 17#;-    CTokShiftR  _ -> cont 18#;-    CTokLess    _ -> cont 19#;-    CTokLessEq  _ -> cont 20#;-    CTokHigh    _ -> cont 21#;-    CTokHighEq  _ -> cont 22#;-    CTokEqual   _ -> cont 23#;-    CTokUnequal _ -> cont 24#;-    CTokHat _ -> cont 25#;-    CTokBar _ -> cont 26#;-    CTokAnd _ -> cont 27#;-    CTokOr  _ -> cont 28#;-    CTokQuest   _ -> cont 29#;-    CTokColon   _ -> cont 30#;-    CTokAssign  _ -> cont 31#;-    CTokPlusAss _ -> cont 32#;-    CTokMinusAss    _ -> cont 33#;-    CTokStarAss _ -> cont 34#;-    CTokSlashAss    _ -> cont 35#;-    CTokPercAss _ -> cont 36#;-    CTokAmpAss  _ -> cont 37#;-    CTokHatAss  _ -> cont 38#;-    CTokBarAss  _ -> cont 39#;-    CTokSLAss   _ -> cont 40#;-    CTokSRAss   _ -> cont 41#;-    CTokComma   _ -> cont 42#;-    CTokSemic   _ -> cont 43#;-    CTokLBrace  _ -> cont 44#;-    CTokRBrace  _ -> cont 45#;-    CTokEllipsis    _ -> cont 46#;-    CTokAlignof _ -> cont 47#;-    CTokAsm _ -> cont 48#;-    CTokAuto    _ -> cont 49#;-    CTokBreak   _ -> cont 50#;-    CTokBool    _ -> cont 51#;-    CTokCase    _ -> cont 52#;-    CTokChar    _ -> cont 53#;-    CTokConst   _ -> cont 54#;-    CTokContinue    _ -> cont 55#;-    CTokComplex _ -> cont 56#;-    CTokDefault _ -> cont 57#;-    CTokDo  _ -> cont 58#;-    CTokDouble  _ -> cont 59#;-    CTokElse    _ -> cont 60#;-    CTokEnum    _ -> cont 61#;-    CTokExtern  _ -> cont 62#;-    CTokFloat   _ -> cont 63#;-    CTokFor _ -> cont 64#;-    CTokGoto    _ -> cont 65#;-    CTokIf  _ -> cont 66#;-    CTokInline  _ -> cont 67#;-    CTokInt _ -> cont 68#;-    CTokLong    _ -> cont 69#;-    CTokLabel   _ -> cont 70#;-    CTokRegister    _ -> cont 71#;-    CTokRestrict    _ -> cont 72#;-    CTokReturn  _ -> cont 73#;-    CTokShort   _ -> cont 74#;-    CTokSigned  _ -> cont 75#;-    CTokSizeof  _ -> cont 76#;-    CTokStatic  _ -> cont 77#;-    CTokStruct  _ -> cont 78#;-    CTokSwitch  _ -> cont 79#;-    CTokTypedef _ -> cont 80#;-    CTokTypeof  _ -> cont 81#;-    CTokThread  _ -> cont 82#;-    CTokUnion   _ -> cont 83#;-    CTokUnsigned    _ -> cont 84#;-    CTokVoid    _ -> cont 85#;-    CTokVolatile    _ -> cont 86#;-    CTokWhile   _ -> cont 87#;-    CTokCLit   _ _ -> cont 88#;-    CTokILit   _ _ -> cont 89#;-    CTokFLit   _ _ -> cont 90#;-    CTokSLit   _ _ -> cont 91#;-    CTokIdent  _ happy_dollar_dollar -> cont 92#;-    CTokTyIdent _ happy_dollar_dollar -> cont 93#;-    CTokGnuC GnuCAttrTok _ -> cont 94#;-    CTokGnuC GnuCExtTok  _ -> cont 95#;-    CTokGnuC GnuCComplexReal _ -> cont 96#;-    CTokGnuC GnuCComplexImag _ -> cont 97#;-    CTokGnuC GnuCVaArg    _ -> cont 98#;-    CTokGnuC GnuCOffsetof _ -> cont 99#;-    CTokGnuC GnuCTyCompat _ -> cont 100#;-    _ -> happyError' tk-    })--happyError_ tk = happyError' tk--happyThen :: () => P a -> (a -> P b) -> P b-happyThen = (>>=)-happyReturn :: () => a -> P a-happyReturn = (return)-happyThen1 = happyThen-happyReturn1 :: () => a -> P a-happyReturn1 = happyReturn-happyError' :: () => CToken -> P a-happyError' tk = (\token -> happyError) tk--translation_unit = happySomeParser where-  happySomeParser = happyThen (happyParse 0#) (\x -> happyReturn (happyOut7 x))--external_declaration = happySomeParser where-  happySomeParser = happyThen (happyParse 1#) (\x -> happyReturn (happyOut9 x))--statement = happySomeParser where-  happySomeParser = happyThen (happyParse 2#) (\x -> happyReturn (happyOut12 x))--expression = happySomeParser where-  happySomeParser = happyThen (happyParse 3#) (\x -> happyReturn (happyOut117 x))--happySeq = happyDontSeq-----  sometimes it is neccessary to reverse an unreversed list-reverseList :: [a] -> Reversed [a]-reverseList = Reversed . List.reverse---- We occasionally need things to have a location when they don't naturally--- have one built in as tokens and most AST elements do.----data Located a = L !a !Position--unL :: Located a -> a-unL (L a pos) = a--instance Pos (Located a) where-  posOf (L _ pos) = pos---- FIXME: the next 3 inlines here increase the object file size by  70%--- Check whether the speed win is worth it-{-# INLINE withNodeInfo #-}-withNodeInfo :: Pos node => node -> (NodeInfo -> a) -> P a-withNodeInfo node mkAttrNode = do-  name <- getNewName-  lastTok <- getSavedToken-  let firstPos = posOf node-  let attrs = mkNodeInfo' firstPos (posLenOfTok $! lastTok) name-  attrs `seq` return (mkAttrNode attrs)--{-# INLINE withLength #-}-withLength :: NodeInfo -> (NodeInfo -> a) -> P a-withLength nodeinfo mkAttrNode = do-  lastTok <- getSavedToken-  let firstPos = posOfNode nodeinfo-  let attrs = mkNodeInfo' firstPos (posLenOfTok $! lastTok)-              (maybe (error "nameOfNode") id (nameOfNode nodeinfo))-  attrs `seq` return (mkAttrNode attrs)--data CDeclrR = CDeclrR (Maybe Ident) (Reversed [CDerivedDeclr]) (Maybe CStrLit) [CAttr] NodeInfo-reverseDeclr :: CDeclrR -> CDeclr-reverseDeclr (CDeclrR ide reversedDDs asmname cattrs at)-    = CDeclr ide (reverse reversedDDs) asmname cattrs at-instance CNode (CDeclrR) where-    nodeInfo (CDeclrR _ _ _ _ n) = n-instance Pos (CDeclrR) where-    posOf (CDeclrR _ _ _ _ n) = posOf n--{-# INLINE withAttribute #-}-withAttribute :: Pos node => node -> [CAttr] -> (NodeInfo -> CDeclrR) -> P CDeclrR-withAttribute node cattrs mkDeclrNode = do-  name <- getNewName-  let attrs = mkNodeInfo (posOf node) name-  let newDeclr = appendDeclrAttrs cattrs $ mkDeclrNode attrs-  attrs `seq` newDeclr `seq` return newDeclr---- postfixing variant-{-# INLINE withAttributePF #-}-withAttributePF :: Pos node => node -> [CAttr] -> (NodeInfo -> CDeclrR -> CDeclrR) -> P (CDeclrR -> CDeclrR)-withAttributePF node cattrs mkDeclrCtor = do-  name <- getNewName-  let attrs = mkNodeInfo (posOf node) name-  let newDeclr = appendDeclrAttrs cattrs . mkDeclrCtor attrs-  attrs `seq` newDeclr `seq` return newDeclr---- add top level attributes for a declarator.------ In the following example------ > int declr1, __attribute__((a1)) * __attribute__((a2)) y() __asm__("$" "y") __attribute__((a3));------ the attributes `a1' and `a3' are top-level attributes for y.--- The (pseudo)-AST for the second declarator is------ > CDeclr "y"--- >        [CFunDeclr ..., CPtrDeclr __attribute__((a2)) ... ]--- >        (asm "$y")--- >        [__attribute__((a1)), __attribute__((a3)) ]------ So assembler names and preceeding and trailing attributes are recorded in object declarator.----appendObjAttrs :: [CAttr] -> CDeclr -> CDeclr-appendObjAttrs newAttrs (CDeclr ident indirections asmname cAttrs at)-    = CDeclr ident indirections asmname (cAttrs ++ newAttrs) at-appendObjAttrsR :: [CAttr] -> CDeclrR -> CDeclrR-appendObjAttrsR newAttrs (CDeclrR ident indirections asmname cAttrs at)-    = CDeclrR ident indirections asmname (cAttrs ++ newAttrs) at--setAsmName :: Maybe CStrLit  -> CDeclrR -> P CDeclrR-setAsmName mAsmName (CDeclrR ident indirections oldName cattrs at) =-    case combineName mAsmName oldName of-        Left (n1,n2)       -> failP (posOf n2) ["Duplicate assembler name: ",showName n1,showName n2]-        Right newName      -> return $ CDeclrR ident indirections newName cattrs at-  where-  combineName Nothing Nothing = Right Nothing-  combineName Nothing oldname@(Just _)  = Right oldname-  combineName newname@(Just _) Nothing  = Right newname-  combineName (Just n1) (Just n2) = Left (n1,n2)-  showName (CStrLit cstr _) = show cstr--withAsmNameAttrs :: (Maybe CStrLit, [CAttr]) -> CDeclrR -> P CDeclrR-withAsmNameAttrs (mAsmName, newAttrs) declr = setAsmName mAsmName (appendObjAttrsR newAttrs declr)--appendDeclrAttrs :: [CAttr] -> CDeclrR -> CDeclrR-appendDeclrAttrs newAttrs (CDeclrR ident (Reversed []) asmname cattrs at)-    = CDeclrR ident empty asmname (cattrs ++ newAttrs) at-appendDeclrAttrs newAttrs (CDeclrR ident (Reversed (x:xs)) asmname cattrs at)-    = CDeclrR ident (Reversed (appendAttrs x : xs)) asmname cattrs at where-    appendAttrs (CPtrDeclr typeQuals at)           = CPtrDeclr (typeQuals ++ map CAttrQual newAttrs) at-    appendAttrs (CArrDeclr typeQuals arraySize at) = CArrDeclr (typeQuals ++ map CAttrQual newAttrs) arraySize at-    appendAttrs (CFunDeclr parameters cattrs at)   = CFunDeclr parameters (cattrs ++ newAttrs) at--ptrDeclr :: CDeclrR -> [CTypeQual] -> NodeInfo -> CDeclrR-ptrDeclr (CDeclrR ident derivedDeclrs asmname cattrs dat) tyquals at-    = CDeclrR ident (derivedDeclrs `snoc` CPtrDeclr tyquals at) asmname cattrs dat-funDeclr :: CDeclrR -> (Either [Ident] ([CDecl],Bool)) -> [CAttr] -> NodeInfo -> CDeclrR-funDeclr (CDeclrR ident derivedDeclrs asmname dcattrs dat) params cattrs at-    = CDeclrR ident (derivedDeclrs `snoc` CFunDeclr params cattrs at) asmname dcattrs dat-arrDeclr :: CDeclrR -> [CTypeQual] -> Bool -> Bool -> Maybe CExpr -> NodeInfo -> CDeclrR-arrDeclr (CDeclrR ident derivedDeclrs asmname cattrs dat) tyquals var_sized static_size size_expr_opt at-    = arr_sz `seq` ( CDeclrR ident (derivedDeclrs `snoc` CArrDeclr tyquals arr_sz at) asmname cattrs dat )-    where-    arr_sz = case size_expr_opt of-                 Just e  -> CArrSize static_size e-                 Nothing -> CNoArrSize var_sized--liftTypeQuals :: Reversed [CTypeQual] -> [CDeclSpec]-liftTypeQuals = map CTypeQual . reverse---- lift CAttrs to DeclSpecs----liftCAttrs :: [CAttr] -> [CDeclSpec]-liftCAttrs = map (CTypeQual . CAttrQual)---- when we parsed (decl_spec_1,...,decl_spec_n,attrs), add the __attributes__s to the declspec list--- needs special care when @decl_spec_n@ is a SUE definition-addTrailingAttrs :: Reversed [CDeclSpec] -> [CAttr] -> Reversed [CDeclSpec]-addTrailingAttrs declspecs new_attrs =-    case viewr declspecs of-        (specs_init, CTypeSpec (CSUType (CStruct tag name (Just def) def_attrs su_node) node))-            -> (specs_init `snoc` CTypeSpec (CSUType (CStruct tag name (Just def) (def_attrs ++ new_attrs) su_node) node))-        (specs_init, CTypeSpec (CEnumType (CEnum name (Just def) def_attrs e_node) node))-            -> (specs_init `snoc` CTypeSpec (CEnumType (CEnum name (Just def) (def_attrs ++ new_attrs) e_node) node))-        _ -> declspecs `rappend` (liftCAttrs new_attrs)---- convenient instance, the position of a list of things is the position of--- the first thing in the list----instance Pos a => Pos [a] where-  posOf (x:_) = posOf x--instance Pos a => Pos (Reversed a) where-  posOf (Reversed x) = posOf x--emptyDeclr :: CDeclrR-emptyDeclr       = CDeclrR Nothing empty Nothing [] undefNode-mkVarDeclr :: Ident -> NodeInfo -> CDeclrR-mkVarDeclr ident = CDeclrR (Just ident) empty Nothing []---- Take the identifiers and use them to update the typedef'ed identifier set--- if the decl is defining a typedef then we add it to the set,--- if it's a var decl then that shadows typedefed identifiers----doDeclIdent :: [CDeclSpec] -> CDeclrR -> P ()-doDeclIdent declspecs (CDeclrR mIdent _ _ _ _) =-  case mIdent of-    Nothing -> return ()-    Just ident | any iypedef declspecs -> addTypedef ident-               | otherwise             -> shadowTypedef ident--  where iypedef (CStorageSpec (CTypedef _)) = True-        iypedef _                           = False--doFuncParamDeclIdent :: CDeclr -> P ()-doFuncParamDeclIdent (CDeclr _ (CFunDeclr params _ _ : _) _ _ _) =-  sequence_-    [ case getCDeclrIdent declr of-        Nothing -> return ()-        Just ident -> shadowTypedef ident-    | CDecl _ dle _  <- either (const []) fst params-    , (Just declr, _, _) <- dle ]-doFuncParamDeclIdent _ = return ()---- extract all identifiers-getCDeclrIdent :: CDeclr -> Maybe Ident-getCDeclrIdent (CDeclr mIdent _ _ _ _) = mIdent--happyError :: P a-happyError = parseError---- * public interface---- | @parseC input initialPos@ parses the given preprocessed C-source input and returns the AST or a list of parse errors.-parseC :: InputStream -> Position -> Either ParseError CTranslUnit-parseC input initialPosition =-  fmap fst $ execParser translUnitP input initialPosition builtinTypeNames (namesStartingFrom 0)---- | @translUnitP@ provides a parser for a complete C translation unit, i.e. a list of external declarations.-translUnitP :: P CTranslUnit-translUnitP = translation_unit--- | @extDeclP@ provides a parser for an external (file-scope) declaration-extDeclP :: P CExtDecl-extDeclP = external_declaration--- | @statementP@ provides a parser for C statements-statementP :: P CStat-statementP = statement--- | @expressionP@ provides a parser for C expressions-expressionP :: P CExpr-expressionP = expression-{-# LINE 1 "GenericTemplate.hs" #-}-{-# LINE 1 "<built-in>" #-}-{-# LINE 1 "<command line>" #-}-{-# LINE 1 "GenericTemplate.hs" #-}--- Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp--{-# LINE 28 "GenericTemplate.hs" #-}---data Happy_IntList = HappyCons Int# Happy_IntList------{-# LINE 49 "GenericTemplate.hs" #-}--{-# LINE 59 "GenericTemplate.hs" #-}--{-# LINE 68 "GenericTemplate.hs" #-}--infixr 9 `HappyStk`-data HappyStk a = HappyStk a (HappyStk a)---------------------------------------------------------------------------------- starting the parse--happyParse start_state = happyNewToken start_state notHappyAtAll notHappyAtAll---------------------------------------------------------------------------------- Accepting the parse---- If the current token is 0#, it means we've just accepted a partial--- parse (a %partial parser).  We must ignore the saved token on the top of--- the stack in this case.-happyAccept 0# tk st sts (_ `HappyStk` ans `HappyStk` _) =-    happyReturn1 ans-happyAccept j tk st sts (HappyStk ans _) =-    (happyTcHack j (happyTcHack st)) (happyReturn1 ans)---------------------------------------------------------------------------------- Arrays only: do the next action----happyDoAction i tk st-    = {- nothing -}---      case action of-        0#        -> {- nothing -}-                     happyFail i tk st-        -1#       -> {- nothing -}-                     happyAccept i tk st-        n | (n <# (0# :: Int#)) -> {- nothing -}--                     (happyReduceArr ! rule) i tk st-                     where rule = (I# ((negateInt# ((n +# (1# :: Int#))))))-        n         -> {- nothing -}---                     happyShift new_state i tk st-                     where new_state = (n -# (1# :: Int#))-   where off    = indexShortOffAddr happyActOffsets st-         off_i  = (off +# i)-         check  = if (off_i >=# (0# :: Int#))-                    then (indexShortOffAddr happyCheck off_i ==#  i)-                    else False-         action | check     = indexShortOffAddr happyTable off_i-                | otherwise = indexShortOffAddr happyDefActions st--{-# LINE 127 "GenericTemplate.hs" #-}---indexShortOffAddr (HappyA# arr) off =--- #if __GLASGOW_HASKELL__ > 500-    narrow16Int# i--- #elif __GLASGOW_HASKELL__ == 500-    intToInt16# i--- #else-    (i `iShiftL#` 16#) `iShiftRA#` 16#--- #endif-  where--- #if __GLASGOW_HASKELL__ >= 503-    i = word2Int# ((high `uncheckedShiftL#` 8#) `or#` low)--- #else-    i = word2Int# ((high `shiftL#` 8#) `or#` low)--- #endif-    high = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))-    low  = int2Word# (ord# (indexCharOffAddr# arr off'))-    off' = off *# 2#------data HappyAddr = HappyA# Addr#------------------------------------------------------------------------------------- HappyState data type (not arrays)--{-# LINE 170 "GenericTemplate.hs" #-}---------------------------------------------------------------------------------- Shifting a token--happyShift new_state 0# tk st sts stk@(x `HappyStk` _) =-     let i = (case unsafeCoerce# x of { (I# (i)) -> i }) in---     trace "shifting the error token" $-     happyDoAction i tk new_state (HappyCons (st) (sts)) (stk)--happyShift new_state i tk st sts stk =-     happyNewToken new_state (HappyCons (st) (sts)) ((happyInTok (tk))`HappyStk`stk)---- happyReduce is specialised for the common cases.--happySpecReduce_0 i fn 0# tk st sts stk-     = happyFail 0# tk st sts stk-happySpecReduce_0 nt fn j tk st@((action)) sts stk-     = happyGoto nt j tk st (HappyCons (st) (sts)) (fn `HappyStk` stk)--happySpecReduce_1 i fn 0# tk st sts stk-     = happyFail 0# tk st sts stk-happySpecReduce_1 nt fn j tk _ sts@((HappyCons (st@(action)) (_))) (v1`HappyStk`stk')-     = let r = fn v1 in-       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))--happySpecReduce_2 i fn 0# tk st sts stk-     = happyFail 0# tk st sts stk-happySpecReduce_2 nt fn j tk _ (HappyCons (_) (sts@((HappyCons (st@(action)) (_))))) (v1`HappyStk`v2`HappyStk`stk')-     = let r = fn v1 v2 in-       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))--happySpecReduce_3 i fn 0# tk st sts stk-     = happyFail 0# tk st sts stk-happySpecReduce_3 nt fn j tk _ (HappyCons (_) ((HappyCons (_) (sts@((HappyCons (st@(action)) (_))))))) (v1`HappyStk`v2`HappyStk`v3`HappyStk`stk')-     = let r = fn v1 v2 v3 in-       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))--happyReduce k i fn 0# tk st sts stk-     = happyFail 0# tk st sts stk-happyReduce k nt fn j tk st sts stk-     = case happyDrop (k -# (1# :: Int#)) sts of-     sts1@((HappyCons (st1@(action)) (_))) ->-            let r = fn stk in  -- it doesn't hurt to always seq here...-            happyDoSeq r (happyGoto nt j tk st1 sts1 r)--happyMonadReduce k nt fn 0# tk st sts stk-     = happyFail 0# tk st sts stk-happyMonadReduce k nt fn j tk st sts stk =-        happyThen1 (fn stk tk) (\r -> happyGoto nt j tk st1 sts1 (r `HappyStk` drop_stk))-       where sts1@((HappyCons (st1@(action)) (_))) = happyDrop k (HappyCons (st) (sts))-             drop_stk = happyDropStk k stk--happyMonad2Reduce k nt fn 0# tk st sts stk-     = happyFail 0# tk st sts stk-happyMonad2Reduce k nt fn j tk st sts stk =-       happyThen1 (fn stk tk) (\r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk))-       where sts1@((HappyCons (st1@(action)) (_))) = happyDrop k (HappyCons (st) (sts))-             drop_stk = happyDropStk k stk--             off    = indexShortOffAddr happyGotoOffsets st1-             off_i  = (off +# nt)-             new_state = indexShortOffAddr happyTable off_i-----happyDrop 0# l = l-happyDrop n (HappyCons (_) (t)) = happyDrop (n -# (1# :: Int#)) t--happyDropStk 0# l = l-happyDropStk n (x `HappyStk` xs) = happyDropStk (n -# (1#::Int#)) xs---------------------------------------------------------------------------------- Moving to a new state after a reduction---happyGoto nt j tk st =-   {- nothing -}-   happyDoAction j tk new_state-   where off    = indexShortOffAddr happyGotoOffsets st-         off_i  = (off +# nt)-         new_state = indexShortOffAddr happyTable off_i------------------------------------------------------------------------------------- Error recovery (0# is the error token)---- parse error if we are in recovery and we fail again-happyFail  0# tk old_st _ stk =---  trace "failing" $-        happyError_ tk--{-  We don't need state discarding for our restricted implementation of-    "error".  In fact, it can cause some bogus parses, so I've disabled it-    for now --SDM---- discard a state-happyFail  0# tk old_st (HappyCons ((action)) (sts))-                        (saved_tok `HappyStk` _ `HappyStk` stk) =---  trace ("discarding state, depth " ++ show (length stk))  $-    happyDoAction 0# tk action sts ((saved_tok`HappyStk`stk))--}---- Enter error recovery: generate an error token,---                       save the old token and carry on.-happyFail  i tk (action) sts stk =---      trace "entering error recovery" $-    happyDoAction 0# tk action sts ( (unsafeCoerce# (I# (i))) `HappyStk` stk)---- Internal happy errors:--notHappyAtAll = error "Internal Happy error\n"---------------------------------------------------------------------------------- Hack to get the typechecker to accept our action functions---happyTcHack :: Int# -> a -> a-happyTcHack x y = y-{-# INLINE happyTcHack #-}----------------------------------------------------------------------------------- Seq-ing.  If the --strict flag is given, then Happy emits---  happySeq = happyDoSeq--- otherwise it emits---  happySeq = happyDontSeq--happyDoSeq, happyDontSeq :: a -> b -> b-happyDoSeq   a b = a `seq` b-happyDontSeq a b = b---------------------------------------------------------------------------------- Don't inline any functions from the template.  GHC has a nasty habit--- of deciding to inline happyGoto everywhere, which increases the size of--- the generated parser quite a bit.---{-# NOINLINE happyDoAction #-}-{-# NOINLINE happyTable #-}-{-# NOINLINE happyCheck #-}-{-# NOINLINE happyActOffsets #-}-{-# NOINLINE happyGotoOffsets #-}-{-# NOINLINE happyDefActions #-}--{-# NOINLINE happyShift #-}-{-# NOINLINE happySpecReduce_0 #-}-{-# NOINLINE happySpecReduce_1 #-}-{-# NOINLINE happySpecReduce_2 #-}-{-# NOINLINE happySpecReduce_3 #-}-{-# NOINLINE happyReduce #-}-{-# NOINLINE happyMonadReduce #-}-{-# NOINLINE happyGoto #-}-{-# NOINLINE happyFail #-}---- end of Happy Template.
− tests/examples/CParser.hs.exactprinter.golden
@@ -1,1 +0,0 @@-Match
− tests/examples/CParser.hs.parser.golden

file too large to diff

− tests/examples/CParser.hs.prettyparser.golden
@@ -1,10 +0,0 @@-Roundtrip test failed--AST 1:--Module (SrcLoc "" -1 -1) (ModuleName "Language.C.Parser.Parser") [OptionsPragma (SrcLoc "" -1 -1) Nothing "-fglasgow-exts -cpp ",LanguagePragma (SrcLoc "" -1 -1) [Ident "MagicHash"]] Nothing (Just [EVar (UnQual (Ident "parseC")),EVar (UnQual (Ident "translUnitP")),EVar (UnQual (Ident "extDeclP")),EVar (UnQual (Ident "statementP")),EVar (UnQual (Ident "expressionP"))]) [ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Prelude", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (True,[IVar (Ident "reverse")])},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Data.List", importQualified = True, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Just (ModuleName "List"), importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Control.Monad", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "mplus")])},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Parser.Builtin", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "builtinTypeNames")])},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Parser.Lexer", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "lexC"),IVar (Ident "parseError")])},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Parser.Tokens", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IThingAll (Ident "CToken"),IThingAll (Ident "GnuCTok"),IVar (Ident "posLenOfTok")])},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Parser.ParserMonad", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IAbs NoNamespace (Ident "P"),IVar (Ident "failP"),IVar (Ident "execParser"),IVar (Ident "getNewName"),IVar (Ident "addTypedef"),IVar (Ident "shadowTypedef"),IVar (Ident "getCurrentPosition"),IVar (Ident "enterScope"),IVar (Ident "leaveScope"),IVar (Ident "getLastToken"),IVar (Ident "getSavedToken"),IThingAll (Ident "ParseError")])},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Data.RList", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Data.InputStream", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Data.Ident", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Data.Name", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Data.Node", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Data.Position", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Syntax", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Data.Array", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Array", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "GHC.Exts", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "GlaExts", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing}] [DataDecl (SrcLoc "" -1 -1) NewType [] (Ident "HappyAbsSyn") [] [QualConDecl (SrcLoc "" -1 -1) [] [] (ConDecl (Ident "HappyAbsSyn") [TyParen (TyFun (TyCon (Special UnitCon)) (TyCon (Special UnitCon)))])] [],TypeSig (SrcLoc "" -1 -1) [Ident "happyIn7"] (TyFun (TyParen (TyCon (UnQual (Ident "CTranslUnit")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn7") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn7")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut7"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CTranslUnit"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut7") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut7")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn8"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExtDecl")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn8") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn8")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut8"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExtDecl"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut8") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut8")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn9"] (TyFun (TyParen (TyCon (UnQual (Ident "CExtDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn9") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn9")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut9"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExtDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut9") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut9")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn10"] (TyFun (TyParen (TyCon (UnQual (Ident "CFunDef")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn10") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn10")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut10"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CFunDef"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut10") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut10")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn11"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn11") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn11")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut11"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut11") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut11")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn12"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn12") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn12")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut12"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut12") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut12")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn13"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn13") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn13")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut13"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut13") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut13")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn14"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn14") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn14")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut14"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut14") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut14")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn15"] (TyFun (TyParen (TyCon (Special UnitCon))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn15") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn15")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut15"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (Special UnitCon)))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut15") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut15")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn16"] (TyFun (TyParen (TyCon (Special UnitCon))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn16") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn16")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut16"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (Special UnitCon)))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut16") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut16")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn17"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CBlockItem")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn17") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn17")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut17"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CBlockItem"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut17") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut17")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn18"] (TyFun (TyParen (TyCon (UnQual (Ident "CBlockItem")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn18") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn18")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut18"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CBlockItem"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut18") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut18")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn19"] (TyFun (TyParen (TyCon (UnQual (Ident "CBlockItem")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn19") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn19")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut19"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CBlockItem"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut19") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut19")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn20"] (TyFun (TyParen (TyCon (UnQual (Ident "CFunDef")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn20") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn20")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut20"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CFunDef"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut20") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut20")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn21"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "Ident")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn21") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn21")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut21"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "Ident"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut21") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut21")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn22"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn22") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn22")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut22"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut22") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut22")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn23"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn23") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn23")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut23"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut23") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut23")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn24"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn24") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn24")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut24"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut24") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut24")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn25"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn25") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn25")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut25"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut25") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut25")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn26"] (TyFun (TyParen (TyCon (UnQual (Ident "CAsmStmt")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn26") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn26")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut26"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CAsmStmt"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut26") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut26")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn27"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CTypeQual"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn27") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn27")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut27"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CTypeQual")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut27") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut27")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn28"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CAsmOperand"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn28") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn28")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut28"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CAsmOperand")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut28") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut28")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn29"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CAsmOperand")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn29") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn29")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut29"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CAsmOperand"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut29") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut29")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn30"] (TyFun (TyParen (TyCon (UnQual (Ident "CAsmOperand")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn30") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn30")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut30"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CAsmOperand"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut30") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut30")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn31"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CStrLit")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn31") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn31")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut31"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CStrLit"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut31") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut31")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn32"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn32") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn32")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut32"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut32") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut32")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn33"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn33") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn33")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut33"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut33") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut33")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn34"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn34") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn34")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut34"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut34") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut34")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn35"] (TyFun (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit"))),TyList (TyCon (UnQual (Ident "CAttr")))])) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn35") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn35")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut35"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit"))),TyList (TyCon (UnQual (Ident "CAttr")))]))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut35") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut35")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn36"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn36") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn36")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut36"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut36") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut36")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn37"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CDeclSpec"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn37") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn37")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut37"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CDeclSpec")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut37") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut37")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn38"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn38") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn38")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut38"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut38") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut38")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn39"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclSpec")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn39") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn39")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut39"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclSpec"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut39") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut39")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn40"] (TyFun (TyParen (TyCon (UnQual (Ident "CStorageSpec")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn40") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn40")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut40"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStorageSpec"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut40") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut40")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn41"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CDeclSpec"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn41") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn41")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut41"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CDeclSpec")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut41") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut41")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn42"] (TyFun (TyParen (TyCon (UnQual (Ident "CTypeSpec")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn42") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn42")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut42"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CTypeSpec"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut42") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut42")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn43"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn43") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn43")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut43"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut43") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut43")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn44"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn44") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn44")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut44"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut44") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut44")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn45"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn45") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn45")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut45"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut45") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut45")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn46"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn46") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn46")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut46"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut46") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut46")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn47"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn47") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn47")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut47"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut47") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut47")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn48"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn48") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn48")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut48"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut48") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut48")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn49"] (TyFun (TyParen (TyCon (UnQual (Ident "CTypeSpec")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn49") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn49")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut49"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CTypeSpec"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut49") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut49")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn50"] (TyFun (TyParen (TyCon (UnQual (Ident "CStructUnion")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn50") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn50")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut50"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStructUnion"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut50") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut50")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn51"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CStructTag"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn51") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn51")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut51"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CStructTag")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut51") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut51")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn52"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn52") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn52")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut52"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut52") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut52")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn53"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn53") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn53")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut53"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut53") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut53")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn54"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn54") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn54")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut54"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut54") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut54")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn55"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn55") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn55")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut55"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut55") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut55")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn56"] (TyFun (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CDeclr"))),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))])) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn56") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn56")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut56"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CDeclr"))),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))]))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut56") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut56")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn57"] (TyFun (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CDeclr"))),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))])) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn57") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn57")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut57"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CDeclr"))),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))]))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut57") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut57")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn58"] (TyFun (TyParen (TyCon (UnQual (Ident "CEnum")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn58") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn58")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut58"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CEnum"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut58") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut58")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn59"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyTuple Boxed [TyCon (UnQual (Ident "Ident")),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))])))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn59") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn59")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut59"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyTuple Boxed [TyCon (UnQual (Ident "Ident")),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))]))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut59") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut59")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn60"] (TyFun (TyParen (TyTuple Boxed [TyCon (UnQual (Ident "Ident")),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))])) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn60") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn60")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut60"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyTuple Boxed [TyCon (UnQual (Ident "Ident")),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))]))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut60") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut60")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn61"] (TyFun (TyParen (TyCon (UnQual (Ident "CTypeQual")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn61") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn61")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut61"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CTypeQual"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut61") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut61")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn62"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CTypeQual")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn62") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn62")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut62"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CTypeQual"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut62") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut62")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn63"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn63") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn63")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut63"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut63") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut63")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn64"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn64") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn64")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut64"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut64") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut64")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn65"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn65") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn65")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut65"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut65") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut65")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn66"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn66") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn66")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut66"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut66") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut66")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn67"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn67") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn67")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut67"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut67") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut67")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn68"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn68") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn68")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut68"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut68") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut68")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn69"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn69") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn69")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut69"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut69") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut69")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn70"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn70") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn70")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut70"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut70") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut70")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn71"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn71") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn71")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut71"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut71") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut71")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn72"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn72") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn72")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut72"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut72") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut72")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn73"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn73") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn73")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut73"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut73") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut73")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn74"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn74") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn74")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut74"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut74") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut74")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn75"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn75") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn75")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut75"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut75") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut75")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn76"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn76") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn76")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut76"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut76") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut76")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn77"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn77") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn77")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut77"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut77") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut77")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn78"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn78") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn78")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut78"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut78") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut78")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn79"] (TyFun (TyParen (TyTuple Boxed [TyList (TyCon (UnQual (Ident "CDecl"))),TyCon (UnQual (Ident "Bool"))])) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn79") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn79")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut79"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyTuple Boxed [TyList (TyCon (UnQual (Ident "CDecl"))),TyCon (UnQual (Ident "Bool"))]))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut79") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut79")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn80"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn80") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn80")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut80"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut80") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut80")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn81"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn81") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn81")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut81"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut81") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut81")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn82"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "Ident")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn82") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn82")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut82"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "Ident"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut82") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut82")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn83"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn83") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn83")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut83"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut83") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut83")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn84"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn84") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn84")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut84"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut84") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut84")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn85"] (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn85") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn85")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut85"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut85") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut85")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn86"] (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn86") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn86")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut86"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut86") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut86")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn87"] (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn87") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn87")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut87"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut87") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut87")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn88"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn88") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn88")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut88"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut88") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut88")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn89"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn89") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn89")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut89"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut89") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut89")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn90"] (TyFun (TyParen (TyCon (UnQual (Ident "CInit")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn90") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn90")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut90"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CInit"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut90") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut90")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn91"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CInit"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn91") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn91")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut91"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CInit")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut91") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut91")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn92"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyCon (UnQual (Ident "CInitList"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn92") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn92")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut92"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyCon (UnQual (Ident "CInitList")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut92") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut92")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn93"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CDesignator"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn93") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn93")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut93"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CDesignator")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut93") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut93")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn94"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDesignator")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn94") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn94")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut94"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDesignator"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut94") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut94")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn95"] (TyFun (TyParen (TyCon (UnQual (Ident "CDesignator")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn95") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn95")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut95"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDesignator"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut95") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut95")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn96"] (TyFun (TyParen (TyCon (UnQual (Ident "CDesignator")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn96") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn96")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut96"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDesignator"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut96") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut96")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn97"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn97") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn97")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut97"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut97") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut97")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn98"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDesignator")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn98") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn98")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut98"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDesignator"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut98") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut98")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn99"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn99") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn99")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut99"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut99") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut99")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn100"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn100") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn100")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut100"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut100") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut100")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn101"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn101") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn101")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut101"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut101") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut101")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn102"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CUnaryOp"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn102") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn102")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut102"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CUnaryOp")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut102") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut102")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn103"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn103") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn103")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut103"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut103") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut103")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn104"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn104") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn104")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut104"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut104") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut104")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn105"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn105") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn105")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut105"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut105") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut105")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn106"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn106") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn106")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut106"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut106") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut106")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn107"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn107") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn107")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut107"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut107") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut107")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn108"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn108") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn108")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut108"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut108") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut108")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn109"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn109") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn109")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut109"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut109") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut109")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn110"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn110") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn110")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut110"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut110") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut110")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn111"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn111") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn111")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut111"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut111") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut111")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn112"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn112") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn112")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut112"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut112") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut112")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn113"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn113") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn113")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut113"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut113") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut113")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn114"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn114") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn114")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut114"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut114") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut114")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn115"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn115") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn115")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut115"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut115") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut115")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn116"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CAssignOp"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn116") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn116")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut116"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CAssignOp")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut116") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut116")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn117"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn117") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn117")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut117"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut117") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut117")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn118"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn118") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn118")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut118"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut118") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut118")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn119"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn119") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn119")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut119"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut119") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut119")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn120"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn120") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn120")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut120"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut120") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut120")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn121"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn121") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn121")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut121"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut121") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut121")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn122"] (TyFun (TyParen (TyCon (UnQual (Ident "CConst")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn122") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn122")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut122"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CConst"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut122") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut122")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn123"] (TyFun (TyParen (TyCon (UnQual (Ident "CStrLit")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn123") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn123")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut123"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStrLit"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut123") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut123")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn124"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CString")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn124") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn124")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut124"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CString"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut124") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut124")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn125"] (TyFun (TyParen (TyCon (UnQual (Ident "Ident")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn125") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn125")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut125"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "Ident"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut125") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut125")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn126"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CAttr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn126") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn126")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut126"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CAttr")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut126") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut126")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn127"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CAttr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn127") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn127")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut127"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CAttr")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut127") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut127")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn128"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CAttr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn128") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn128")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut128"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CAttr")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut128") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut128")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn129"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CAttr")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn129") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn129")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut129"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CAttr"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut129") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut129")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn130"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CAttr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn130") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn130")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut130"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CAttr")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut130") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut130")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn131"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn131") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn131")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut131"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut131") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut131")),TypeSig (SrcLoc "" -1 -1) [Ident "happyInTok"] (TyFun (TyCon (UnQual (Ident "CToken"))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyInTok") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyInTok")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOutTok"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyCon (UnQual (Ident "CToken")))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOutTok") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOutTok")),TypeSig (SrcLoc "" -1 -1) [Ident "happyActOffsets"] (TyCon (UnQual (Ident "HappyAddr"))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyActOffsets")) (UnGuardedRhs (App (Con (UnQual (Ident "HappyA#"))) (Lit (PrimString "\NUL\NUL\GS\SI\211\t1\SI\NUL\NUL\128\a\NUL\NUL\DEL\tw\SI1\SI\NUL\NUL\200\t\US\ENQ\ENQ\ENQ\DEL\ETX\240\EOTe\bT\bI\b>\b\198\EOT\NUL\NUL+\b\239\a\NUL\NUL\NUL\NUL\v\t\NUL\NUL\NUL\NUL\205\SO\205\SO\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\EOT\175\SO\150\SO\NUL\NUL\NUL\NUL\NUL\NUL\246\a\NUL\NUL2\SO\DC4\SO\DC4\SO\&H\bG\b$\b\182\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\222\a\230\a\NUL\NUL\NUL\NULJ\ENQ\210\a\251\r\208\a\214\a\211\t\245\a$\NUL\237\a\251\r\236\a\213\a\198\a\NUL\NULv\a\NUL\NUL\174\a\NUL\NUL\149\EOT\142\EOT\SOH\SOH\213\DC1\NUL\NUL\SOH\SOH\NUL\NUL\154\EM\154\EM\DC1\CAN\SOH\CAN!\b!\b\NUL\NUL\NUL\NULq\a\NUL\NUL\166\DC1\NUL\NUL\NUL\NUL\NUL\NUL\217\SOH\NUL\NUL\NUL\NUL\NUL\NULJ\ENQ\137\DC2\NUL\NUL=\SOH=\SOH\203\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULk\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\197\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\187\a\GS\SIU\a\NUL\NUL\184\ao\tz\SOHY\a[\a\179\DC2\NUL\NUL\NUL\NULK\NUL\178\a\180\t\170\aK\NUL\134\a\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NUL\NUL\NUL\167\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL8\CAN\NUL\NUL\157\a\NUL\NUL\148\CAN\255\nr\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NULw\DC1\151\a\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULg\a_\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULb\a\NUL\NULn\STXH\STX\SI\NULR\a\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NUL\NUL\NUL{\a\NUL\NULO\aS\a\NUL\NUL\ESC\a\NUL\NUL\ESC\a\NUL\NUL\NUL\NUL\251\r\251\r\NUL\NULM\a\251\rA\a\251\r\NUL\NULC\b\DC4\a\211\t\NUL\NUL\NUL\NUL\NUL\NUL\US\NUL\NUL\NULe\a\NUL\NUL.\a\244\ACK\NUL\NUL\195\SUB\195\SUB\251\r\NUL\NUL\v\t\NUL\NUL\NUL\NUL\240\ACK\NUL\NUL\NUL\NUL\v\t\NUL\NUL\v\t\NUL\NUL\NUL\NUL\NUL\NULN\a\151\ETX\231\SUB\171\EOT\171\EOTz\nL\aK\a\159\SUB\251\r\251\r\151\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\NUL\NUL\251\r\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\r\251\r6\EOT6\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULD\an\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\t\163\t\138\EOT\138\EOTO\EOTO\EOTO\EOTO\EOT\DEL\ETX\DEL\ETX\GS\EOT5\a+\a\SYN\a\f\a\251\r%\a\NUL\NUL\251\ACK\NUL\NULa\r\NUL\NUL\NUL\NUL\NUL\NUL\183\ACKW\SUB3\SUBH\DC1\NUL\SI\NUL\NUL\NUL\NUL\SI\a\SO\a\NUL\NUL\243\ACK\221\ACK\219\ACK\199\ACK\211\t\223\a\173\ACK\148\ACK|\ACK\211\t\251\r\NUL\NUL\203\ACKl\EM\171\ACK\167\ACK\NUL\NUL\196\ACK\NUL\NUL\195\ACK\193\ACK\234\NUL\216\NUL8\CAN\161\ACK]\ACK\170\ACK\NUL\NULo\t8\CAN\134\ACK\NUL\NUL\NUL\NUL\RS\EM[\v\NUL\NUL\NUL\NUL\177\SOH\147\SOH\142\ACK\136\ACK\SI\NULG\NUL\147\SOH\NUL\NUL8\CANf\ACK\NUL\NULI\ACK\NUL\NULo\t>\ACK\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NULb\ACK\NUL\NUL8\CAN=\ACK\NUL\NUL\155\n\NUL\NUL)\ACK\224\v\t\NUL\206\ENQt\STX\255\SIt\STX!\b!\b\208\SI$\ACK\251\ENQ\NUL\NUL\ESC\SOHE\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\216\NUL\EM\DC1\216\NUL\234\DLEZ\DC2o\t8\CAN\EOT\ACK\NUL\NUL\EM\ACK\158\t\DC2\NUL\DC2\NUL\SI\NUL\NUL\NUL\SI\NUL\NUL\NUL\SI\NUL\NUL\NUL\NUL\NUL\220\f\t\ACK\244\ENQ\204\ETX\ETX\ACK\254\ENQw\NUL\202\NUL\NUL\NUL\NUL\NUL\239\ENQ\NUL\NUL\NUL\NUL\205\STX\NUL\NUL\203\ENQ\204\ETX\170\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\220\fK\t\NUL\NUL\SI\NUL\NUL\NUL\253\f\NUL\NUL\200\ENQ\193\ENQ\140\ENQ\140\ENQ\187\DLE\NUL\NUL\241\NUL\201\NUL\140\ENQ\NUL\NULV\ENQf\CAN\NUL\NULS\ENQ\NUL\NUL\240\CAN\194\CAN\161\SI\222\DC2S\ENQS\ENQ\NUL\NULr\SII\aS\ENQ\NUL\NULS\ENQS\ENQ\NUL\NUL\171\EOTb\f\157\ENQ\155\ENQ\t\NUL\NUL\NUL\144\ENQF\ENQ7\n\t\NUL\NUL\NUL\NUL\NULo\t8\CANm\ENQ\NUL\NUL\143\ENQ\141\ENQ\220\ETB\NUL\NUL\NUL\NUL\NUL\NUL/\t\132\ENQ\SO\NUL\190\NUL\131\ENQ\SI\NUL\SI\NUL,\t\NUL\NUL\NUL\NUL\NUL\NUL\227\ne\NUL\NUL\NUL\NUL\NUL\129\ENQy\ENQ\DLE\ENQ\NUL\NUL\NUL\NUL\NUL\NUL5\ENQ5\ENQ\211\t\211\t\211\t\NUL\NUL\251\r\251\r\251\rB\ENQ\NUL\NUL\170\SOH\201\ETX\223\a\242\EOT\NUL\NUL#\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\216\NUL\140\DLE\216\NUL]\DLE-\ENQ\167\b\NUL\NUL{\SUB\154\ETX{\SUB\FS\ENQ\FS\ENQ\FS\ENQ0\f\NUL\NUL\162\t1\ENQ/\ENQ-\NUL3\DC2\NUL\NUL\NUL\NUL\254\v\251\r\NUL\NUL\251\r\NUL\NUL\251\r\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\179\STX\253\f\220\STX\NUL\NUL\153\SOH\NUL\NUL\212\EOT\251\r\154\ETX\254\v!\ENQ\r\ENQ\DC3\NUL\NUL\NUL\SI\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\171\EOT\t\ENQ\237\STX\NUL\NUL\249\EOT\NUL\NUL\192\EOT.\DLE\192\EOT\192\EOT\192\EOT\NUL\NUL\163\ETX\137\EOT\NUL\NUL\162\EOT*\NUL\211\t\199\EOT\156\EOT\151\EOT\DEL\EOT\NUL\NUL\NUL\NUL\136\EOT\136\EOT\161\EOT\NUL\NUL\NUL\NUL\"\t\NUL\NUL\NUL\NUL+\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\224\n\SI\NUL\NUL\NUL\175\ETB\212\STX\NUL\NUL\160\ETX\152\ETX\SI\SUB\194\DC2\NUL\NUL\NUL\NUL\190\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\159\EOT\154\EOT\139\EOT\134\EOT\t\NUL\n\EOT\NUL\NULz\EOT\NUL\NUL\NUL\NULh\EOT\251\r\NUL\NUL\NUL\NUL\NUL\NUL\180\EOT\159\NUL\EOT\DC2\NUL\NUL\NUL\NUL\220\n>\t$\n\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\US\SOH+\NUL+\NUL\SYN\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULG\STX\251\r\244\NUL\NUL\NUL\228\fd\EOTw\NUL\NUL\NUL\NUL\NUL\NUL\NUL\168\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\222\NUL\NUL\NUL+\NUL_\SOH\205\NUL>\EOT\NUL\NUL\NUL\NUL\251\r<\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\221\ETX\ESC\EOT\251\r\158\NUL\235\EM\200\ETX\NUL\NUL\200\ETX\NUL\NUL\200\ETX\ACK\EOT\251\r\NUL\NUL\NUL\NUL\205\NUL\US\t\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\211\t\251\r\251\r\245\ETX\NUL\NUL\n\SOH\239\ETX\NUL\NUL\SUB\EOTI\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\223\ETX\NUL\NUL\NUL\NUL\NUL\NUL\251\r@\ETX\NUL\NUL\NUL\NUL\NUL\NUL\SI\NUL\NUL\NUL\151\SOH\NUL\NUL\DLE\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\v\NUL\NUL\NUL\NUL\128\f\NUL\NUL\NUL\NUL\251\rc\v\NUL\NUL\NUL\NUL\NUL\NUL\ETX\EOT\NUL\NUL\SOH\EOT\225\ETX\251\r*\NUL\182\ETX*\NUL\NUL\NUL\216\ETX\211\ETX\NUL\NUL\NUL\NUL\NUL\NUL\251\r\NUL\NUL\158\NUL\212\STXj\ETX\NUL\NUL\251\r\NUL\NUL\NUL\NUL\185\ETX\NUL\NUL\NUL\NUL\NUL\NUL\251\r\NUL\NUL\NUL\NUL\NUL\NULJ\ETXJ\ETX\NUL\NUL\211\t\211\t\213\NUL\NUL\NUL\NUL\NUL\168\ETX;\ETX;\ETX\NUL\NUL\NUL\NULz\ETX\NUL\NUL\NUL\NULt\ETXr\ETX\NUL\NULF\ETX\v\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NAK\NUL\NUL\NUL\NUL\NUL\251\r\251\rl\ETX[\ETX\ETB\ETX\233\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyGotoOffsets"] (TyCon (UnQual (Ident "HappyAddr"))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyGotoOffsets")) (UnGuardedRhs (App (Con (UnQual (Ident "HappyA#"))) (Lit (PrimString "6\ETXq\NUL\211\ACK\198\GS<\ETX8\NUL\NUL\NUL\NUL\NUL\197\STX5\r\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULM\ETX\NUL\NUL\NUL\NULq\r\164\v\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\184\STX\213\n\185\n\NUL\NUL\NUL\NUL\NUL\NUL\167\STX\NUL\NUL \f\190\ETX`\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\a\ETX\SUB\NUL\NUL\NULv\US\NUL\NUL\NUL\NUL\184\ACK\NUL\NUL\149\STX\NUL\NULL\FS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\ETX\NUL\NUL\NUL\NUL\NUL\NUL*\ACK\195\NUL\NUL\NUL\138\ENQ\NUL\NUL\DC4\NUL\SYN\SOHl\STX}\SOH\162\SOH\203\NUL\NUL\NUL\NUL\NUL\150\b\NUL\NUL\154\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\b\226\STX\NUL\NUL\NUL\NUL\187\STX\NAK\SOH\NUL\NUL\168\n\215\t\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\\\b\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\255\255\NUL\NUL\NUL\NUL\NUL\NUL\202\NAKq\STX]\STXj\STXw\b\NUL\NUL\NUL\NULp\STX\NUL\NUL[\b\NUL\NUL@\NUL\198\STX\NUL\NUL\NUL\NUL\NUL\NULR\STX\158\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\173\EOT\NUL\NULf\STX\NUL\NUL\168\DC3\SYN\ETB\169\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULQ\STX\144\STX\236\NUL\NUL\NUL\NUL\NUL\SUB\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\STXO\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULe\STX\154\DC3\232\SYN5\bu\STX\NUL\NUL\NUL\NUL\NUL\NULJ\STX\\\STX\NUL\NUL\NUL\NUL\NUL\NULb\STX1\STXV\STX\243\a\NUL\NUL\238\a\NUL\NUL\NUL\NUL\171\GS\144\GS\NUL\NUL\NUL\NULu\GS\NUL\NULZ\GS\NUL\NUL\152\ACK\NUL\NULN\ACK\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\235\SOH\233\a\NUL\NUL{\SYNS\SYN[\US\NUL\NUL\231\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\193\STX\NUL\NUL[\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULi\ENQ\155\NULx\NULP\NUL\137\SYN\NUL\NUL\NUL\NUL\172\ETX?\GS\199\US$\GS\226\US\b\NAK\132\NAK\253\US\241\vo\v\240\f\187\f@\f:\v\155\f\SUB\v\252\a&\a\193\v,\n\157\t\NUL\NUL@\US\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\t\GS\238\FS\219\SOH\205\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\172\US\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\a\NUL\NUL\NUL\NUL\NUL\NUL\198\SOHa\EOT\NUL\NULs\DC3\218\b\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL3\ACK5\STX3\STX\234\SOH~\SOH\CAN\ACK%\US\NUL\NUL\NUL\NUL\166\b\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NAK\ETX\145 \135\EOT\221\SOH\206\a\NUL\NUL\NUL\NUL\166\NAKL\EOT\183\SOH\NUL\NUL\NUL\NUL\218\DC3&\ETX\NUL\NUL\NUL\NULl\ENQ0\DC3\NUL\NUL\NUL\NUL\162\a6\STX\182\v\NUL\NUL&\EOT\160\SOH\NUL\NUL\NUL\NUL\167\SOHN\NAK\199\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL.\STX\176\SOH\NUL\NUL\NUL\NUL\235\ETX`\SOH\NUL\NUL\169\SYN\NUL\NUL\NUL\NUL\196\ESCj\a\DC4\SOH@ \CAN\DC4( \159\SOH\CAN\NUL,\DC4\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\166\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132 G\aw h\DC4\175\DC4*\NAK\197\ETXM\SOH\NUL\NUL\NUL\NULs\a\211\SOH\235\EOT'\a\NUL\NUL \a\NUL\NUL\NAK\a\NUL\NUL\NUL\NUL\191\ETX\NUL\NUL\NUL\NUL\185\SOH\NUL\NUL\NUL\NUL\253\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULD\EOT\NAK\a\NUL\NUL\217\ACK\NUL\NUL\169\ESC\NUL\NUL\NUL\NUL\NUL\NUL\SYN\STX\247\SOH\169\DC4\NUL\NULo\DC3\r\SO\244\SOH\NUL\NUL\NUL\NUL\n\DC4\NUL\NUL\150\ACK\NUL\NUL\NUL\EOT\NUL\NUL>\DC3`\ETBv\ACKh\ACK\NUL\NUL\ACK\DC3Y\ETB+\ACK\NUL\NUL\DLE\ACK\226\ENQ\NUL\NUL\219\NULb\ETB\NUL\NUL\NUL\NUL\223\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\224\SYN\217\ENQ\NUL\NUL\NUL\NUL\210\DC4d\ETXB\SOH\NUL\NUL\NUL\NUL\NUL\NUL1\SYN\\\SOH\NUL\NUL\NUL\NUL\255\ENQ\NUL\NUL\249\b`\a\NUL\NUL\241\ENQ\228\ENQ\225\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\146\f\CAN\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SI\SOH\NUL\NUL\NUL\NUL\NUL\NUL^\SOHW\SOH\174\ENQ\147\ENQx\ENQ\NUL\NUL1\FS\SYN\FS\211\FS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\192\SOH3\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULT\tC\SOH\196\a>\SOH\NUL\NUL6\a\NUL\NUL@\SYN\213\255\225\DC4\NUL\NUL\NUL\NUL\NUL\NUL\199\STX\NUL\NUL\138\STX\NUL\NUL\NUL\NUL\249\NUL\150\DC4\NUL\NUL\NUL\NUL\DC3\ESC\n\US\NUL\NUL\145\US\NUL\NUL\239\RS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\142\ESC\157\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\212\RS\211\NUL\241\SUB\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\180\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\206\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\SOHg\SOH6\SOH\GS\SOH\ETB\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\244\255\SO\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\128\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\ENQ\NUL\NUL\NUL\NULk\SO\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\176\t\\\ENQ\NUL\NUL1\SYNj \NUL\NUL\NUL\NUL\NUL\NUL\EOT\EOT\185\SYN\NUL\NUL\NUL\NUL\"\SYN\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\206\EOT\176\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\185\RS\NUL\NUL\NUL\NUL\NUL\NUL\SUB\ETB\250\ENQd\DC4\NUL\NUL\NUL\NUL\128\SYN\154\ACK\202\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\195\STX\170\r6\r\250\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\158\RS\217\255\NUL\NULP\ESC\NUL\NULM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\217\255\NUL\NUL\145\ACK\191\ETXZ\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\131\RS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL(\NUL\NUL\NULh\RSW\EOTa\EOTx\EOT\NUL\NUL\t\EOT\NUL\NUL\134\ETX\NUL\NULM\RS\NUL\NUL\NUL\NULZ\ENQ\171\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\243\EOT\251\ESC\224\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\185\NUL\NUL\NUL\NUL\NUL\NUL\NUL\184\FSD\NUL\NUL\NUL\NUL\NUL\NUL\NUL,\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL5\ESC\NUL\NUL\NUL\NULs\ESC\NUL\NUL\NUL\NUL2\RS5\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\157\FS\245\255\NUL\NUL\241\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETB\RS\NUL\NUL_\ETX[ \208\255\NUL\NUL\252\GS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\225\GS\NUL\NUL\NUL\NUL\NUL\NUL\236\SOH\208\255\NUL\NUL\214\EOT\158\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL2\NUL\165\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\249\255I\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\FSg\FS\NUL\NUL\NUL\NUL\NUL\NUL\145\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyDefActions"] (TyCon (UnQual (Ident "HappyAddr"))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyDefActions")) (UnGuardedRhs (App (Con (UnQual (Ident "HappyA#"))) (Lit (PrimString "\250\255=\254\NUL\NUL\NUL\NUL\NUL\NUL=\254\155\254\143\254}\254\NUL\NUL{\254w\254t\254q\254l\254i\254g\254e\254c\254a\254_\254\\\254O\254\NUL\NUL\165\254\164\254=\254~\254\DEL\254\NUL\NUL\NUL\NUL\129\254\128\254\130\254\131\254\NUL\NUL\NUL\NUL\NUL\NULE\254F\254D\254C\254\166\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\228\255\227\255\226\255\225\255\224\255\223\255\222\255\NUL\NUL\NUL\NUL\199\255\215\255\181\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULK\254\NUL\NUL\NUL\NUL\166\254>\254\NUL\NUL\247\255\NUL\NUL\246\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\152\255\NUL\NULw\255\155\255\138\255\154\255\137\255\153\255\136\255l\255R\255=\254Q\255\NUL\NUL\229\255\n\255\b\255\t\255\166\255\251\254\250\254\NUL\NUL<\254;\254\NUL\NUL=\254\NUL\NUL\141\255~\255\134\255}\255\129\255=\254\143\255\130\255\132\255\131\255\140\255\133\255\128\255\142\255M\255\144\255\NUL\NUL\139\255L\255\DEL\255\135\255\254\254`\255\NUL\NUL=\254\NUL\NUL\245\255\NUL\NUL=\254\NUL\NUL<\254\NUL\NUL\NUL\NUL\a\255\249\254<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\151\255v\255k\255&\255\166\255:\254\NUL\NULZ\255+\255/\255,\255-\255.\255=\254\ETX\255\215\254\213\254\244\254I\254\NUL\NUL\150\255u\255j\255*\255&\255\166\255\NUL\NUL\NUL\NUL]\255\NUL\NULf\255T\255S\255b\255\146\255\145\255a\255o\255h\255g\255\169\255n\255m\255\170\255{\255r\255s\255q\255z\255y\255x\255\NUL\NUL&\255'\255#\255 \255\US\255$\255\SYN\255(\255\166\255\NUL\NUL=\254\"\255\NUL\NUL\148\255|\255p\255&\255\166\255\147\255\NUL\NULe\255\NUL\NUL&\255\166\255=\254\168\255=\254\167\255\243\255\NUL\NUL\NUL\NULJ\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL?\254K\254\NUL\NUL\NUL\NUL\188\255}\254G\254\NUL\NUL\187\255\NUL\NUL\180\255\213\255=\254\198\255=\254=\254\NUL\NUL\133\254=\254\134\254\140\254B\254A\254\138\254=\254\136\254=\254\132\254\141\254\142\254\NUL\NUL\222\254\138\255\137\255\136\255\NUL\NUL\NUL\NUL\NUL\NUL<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\139\254\NUL\NULZ\254V\254U\254Y\254X\254W\254R\254Q\254P\254T\254S\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\149\254\148\254\248\255\249\255\151\254\150\254\NUL\NUL\NUL\NUL\145\254\153\254[\254x\254y\254z\254u\254v\254r\254s\254m\254o\254n\254p\254j\254k\254h\254f\254d\254b\254\NUL\NUL\NUL\NUL`\254M\254N\254\163\254\NUL\NUL\219\254\216\254\218\254\217\254\NUL\NUL\220\254\244\254\200\254\221\254\162\254\NUL\NUL\NUL\NUL@\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\214\255\213\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\219\255\NUL\NUL=\254\NUL\NUL\NUL\NUL\190\255\NUL\NUL\186\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\182\254=\254\NUL\NUL\241\255=\254=\254\182\254\239\255!\255\244\254\NUL\NUL\RS\255\DC2\255<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\f\255=\254\182\254\240\255N\255K\255=\254\NUL\NUL\149\255t\255i\255)\255&\255\166\255\NUL\NULW\255=\254\182\254\238\255I\254H\254\NUL\NULI\254\130\254=\254\239\254\235\254\232\254\154\255\137\255\228\254\NUL\NUL\243\254\241\254\NUL\NUL<\254\224\254\212\254\236\255\165\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254=\254=\254\182\254\242\255\NUL\NUL\NUL\NUL\NUL\NUL=\254\246\254\253\254\STX\255\ACK\255\t\255\ENQ\255\248\254\NUL\NUL\NUL\NUL4\255\NUL\NUL\NUL\NUL\NUL\NUL6\254\NUL\NUL8\254\&4\254\&5\254_\255^\255\NUL\NUL3\255\&1\255\NUL\NUL\NUL\NUL\EOT\255\SOH\255\245\254\NUL\NUL\NUL\NUL\252\254\NUL\255\161\255\NUL\NUL\235\255\NUL\NUL\NUL\NUL&\255&\255\NUL\NUL(\255\NUL\NUL=\254&\255\247\254\NUL\NUL=\254\214\254=\254\226\254\NUL\NUL\227\254\244\254\200\254=\254=\254\231\254\244\254\200\254=\254\234\254=\254=\254\238\254=\254\NUL\NUL\NUL\NUL\NUL\NUL\130\254\211\254\NUL\NUL\NUL\NULI\254\130\254\163\255\231\255=\254=\254\182\254\237\255\NUL\NUL\NUL\NUL=\254K\255\157\255\233\255\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL\SI\255\SUB\255\NUL\NUL\GS\255\FS\255\DC1\255\NUL\NUL\NUL\NUL\164\255\232\255\NUL\NUL\NUL\NUL\NUL\NUL\159\255\158\255\234\255&\255&\255\NUL\NUL\NUL\NUL\NUL\NUL\189\255K\254K\254\NUL\NUL\NUL\NUL\220\255\NUL\NUL\NUL\NUL\214\255\NUL\NUL\211\255\NUL\NUL\212\255\210\255\208\255\209\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL`\255=\254\221\255=\254\NUL\NUL=\254\NUL\NUL\137\254\135\254=\254\198\254\196\254\NUL\NUL\NUL\NUL\NUL\NUL<\254\186\254|\254\180\254\NUL\NUL]\254\NUL\NUL\152\254\NUL\NUL\154\254\144\254^\254L\254\179\254\NUL\NUL\NUL\NUL\NUL\NUL\172\254\173\254\185\254\NUL\NUL\NUL\NUL\NUL\NUL\180\254\NUL\NUL\NUL\NUL\NUL\NUL\193\254\194\254\192\254\195\254\197\254\199\254<\254\NUL\NUL\NUL\NUL\158\254\NUL\NUL\207\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\217\255\NUL\NUL\NUL\NUL\201\255\NUL\NUL\179\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\197\255\195\255\194\255\182\254\182\254\NUL\NULd\255c\255\NUL\NUL\ESC\255\DLE\255\NUL\NUL\NAK\255\EM\255\r\255\SO\255\NUL\NUL\CAN\255\v\255=\254@\255I\255\NUL\NUL\NUL\NUL=\254<\254J\255O\255=\254\\\255[\255\162\255\230\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\254=\254\209\254\NUL\NUL\210\254\204\254\NUL\NUL\NUL\NUL\237\254\236\254\233\254=\254\196\254<\254\230\254\229\254=\254\196\254<\254\225\254\240\254\242\254\223\254\NUL\NUL\NUL\NUL\NUL\NUL&\255Y\255X\255\181\254\255\254\244\255\NUL\NUL\NUL\NUL\NUL\NUL8\255\NUL\NUL\NUL\NUL6\254\&7\254\&9\254\&1\254\NUL\NUL2\254\&2\255\&7\255\&0\255\NUL\NUL6\255\NUL\NUL<\254<\254\NUL\NUL\207\254\203\254\NUL\NUL\NUL\NUL\208\254\202\254V\255U\255F\255D\255<\255\NUL\NUL\NUL\NUL<\254=\254H\255=\254G\255=\254?\255\NUL\NULP\255\ETB\255\NUL\NUL\NUL\NUL\DC4\255%\255\156\255\160\255\NUL\NULK\254K\254\NUL\NUL\218\255\NUL\NUL\178\255\177\255\NUL\NUL\NUL\NUL\185\255\216\255\200\255\206\255\204\255\205\255\NUL\NUL\203\255\159\254\160\254\NUL\NUL\NUL\NUL\161\254\191\254\189\254\190\254\188\254\NUL\NUL\169\254\NUL\NUL\174\254\171\254\168\254\175\254\178\254\NUL\NUL\147\254\177\254\NUL\NUL\146\254\170\254\NUL\NUL\NUL\NUL\184\254\187\254\157\254\NUL\NUL\202\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\179\255\193\255\NUL\NUL\NUL\NUL\196\255\DC3\255>\255\NUL\NULB\255\NUL\NUL\NUL\NULE\255;\255\NUL\NUL9\255\201\254\NUL\NUL\206\254\&5\255\&3\254\NUL\NUL0\254\205\254:\255=\254C\255=\255\NUL\NUL\NUL\NUL\NUL\NUL\184\255\176\255\NUL\NUL\NUL\NUL\NUL\NUL\156\254\183\254\NUL\NUL\176\254\167\254\NUL\NUL\NUL\NUL\175\255\NUL\NUL\NUL\NUL\214\255\192\255A\255\191\255\NUL\NUL\172\255\183\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\171\255\182\255\173\255\174\255")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyCheck"] (TyCon (UnQual (Ident "HappyAddr"))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyCheck")) (UnGuardedRhs (App (Con (UnQual (Ident "HappyA#"))) (Lit (PrimString "\255\255\STX\NUL\ETX\NUL\EOT\NUL6\NULt\NUL\NAK\NUL\SYN\NUL\ETB\NUL\NAK\NUL\SYN\NUL\ETB\NUL\ETB\NUL\EOT\NUL5\NUL\SOH\NUL\SOH\NUL\CAN\NUL\ETX\NUL\SOH\NUL\EOT\NUL\STX\NUL\FS\NUL\STX\NUL\EM\NULt\NUL\ESC\NUL\r\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\SOH\NUL\ETX\NUL\DC4\NUL\STX\NUL[\NUL\r\NUL3\NUL9\NUL \NUL!\NUL7\NUL#\NUL\r\NUL!\NUL\STX\NUL\ETX\NUL\EOT\NUL\RS\NUL.\NUL*\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULy\NUL\SOH\NULy\NUL6\NULv\NUL\SOH\NUL.\NUL6\NULv\NUL6\NUL\EM\NUL\t\NUL\ESC\NUL\r\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULt\NUL\SOH\NUL^\NULt\NULt\NUL\\\NUL3\NUL^\NULt\NUL\\\NUL7\NUL^\NUL^\NUL\r\NUL\STX\NUL\ETX\NUL\EOT\NULw\NULx\NULy\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL\\\NUL]\NULB\NULC\NULD\NUL[\NUL6\NUL\\\NUL]\NUL^\NUL\EM\NUL^\NUL\ESC\NULy\NUL\GS\NUL\RS\NUL\US\NULy\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\EOT\NUL\SOH\NUL\SOH\NULy\NUL\ETX\NUL\\\NUL3\NUL^\NULt\NUL\\\NUL7\NUL^\NUL\STX\NUL\r\NUL\r\NUL6\NUL6\NULw\NULx\NULy\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULy\NULv\NUL!\NUL\RS\NUL#\NUL#\NUL\SOH\NUL\a\NUL\\\NUL]\NUL^\NUL*\NUL+\NUL,\NUL\EOT\NUL{\NULy\NUL\SOH\NUL\r\NUL\STX\NUL3\NUL\SOH\NUL,\NUL6\NUL6\NUL*\NUL\\\NULT\NUL6\NUL\r\NUL\STX\NULT\NUL\SOH\NUL\r\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULC\NUL \NUL!\NUL\r\NUL#\NULH\NULw\NULx\NULy\NUL\SOH\NUL!\NUL*\NUL+\NUL,\NUL\EOT\NULy\NUL\SOH\NUL\RS\NUL*\NULV\NUL3\NUL\r\NULy\NUL6\NUL\\\NUL\\\NUL]\NUL^\NUL\r\NUL\\\NUL]\NUL6\NUL\SOH\NUL6\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL-\NUL\STX\NUL!\NUL\r\NUL#\NULC\NUL6\NULx\NULy\NULy\NULH\NUL*\NUL+\NUL,\NUL\EOT\NUL\\\NUL]\NUL^\NUL\STX\NUL\a\NUL3\NUL\SOH\NUL-\NUL6\NULV\NUL\a\NUL\\\NUL]\NUL^\NUL\RS\NUL\\\NUL]\NUL^\NUL\r\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL\\\NUL]\NUL!\NUL!\NUL#\NUL#\NUL\\\NUL]\NULy\NUL\a\NUL\SOH\NUL*\NUL+\NUL,\NUL\EOT\NUL\a\NULy\NUL*\NUL\\\NUL\EOT\NUL3\NULv\NUL\r\NUL7\NUL6\NUL\\\NUL]\NUL^\NUL\\\NUL]\NULw\NULx\NULy\NUL6\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL\\\NUL]\NUL!\NUL\SOH\NUL#\NULC\NUL \NUL!\NULy\NUL#\NULH\NUL*\NUL+\NUL,\NUL\EOT\NUL\r\NUL*\NUL+\NUL,\NUL\STX\NUL3\NULy\NUL\FS\NUL6\NULV\NUL3\NULz\NUL{\NUL6\NUL\FS\NUL\\\NUL]\NUL^\NULK\NULA\NULB\NULC\NULD\NULt\NULA\NULB\NULC\NULD\NUL!\NUL-\NUL#\NULw\NULx\NULy\NULy\NULy\NUL9\NUL*\NUL+\NUL,\NUL\SOH\NUL6\NULT\NUL9\NUL*\NUL\\\NUL3\NUL^\NUL\ETX\NUL6\NUL!\NUL\ACK\NUL\r\NULT\NULC\NUL\ENQ\NUL\ACK\NUL\a\NUL,\NULH\NULA\NULB\NULC\NULD\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\SOH\NUL6\NULT\NULV\NULx\NULy\NUL\US\NUL4\NUL5\NUL\\\NULy\NUL^\NUL\r\NUL \NUL!\NUL*\NUL \NUL!\NUL-\NUL\ENQ\NUL\ACK\NUL\a\NUL\RS\NUL\t\NUL\SUB\NUL\v\NUL\f\NUL\r\NUL\a\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL-\NUL6\NUL\\\NUL]\NUL6\NUL\EM\NUL\SOH\NUL\ESC\NUL\ETX\NUL\GS\NUL\RS\NUL\US\NULy\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL4\NUL5\NUL\\\NUL]\NUL^\NULt\NUL3\NULT\NUL\n\NULy\NUL7\NULZ\NUL\SO\NUL\\\NULv\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULT\NULn\NUL\\\NUL]\NUL^\NUL\FS\NULs\NULt\NUL\FS\NULv\NULB\NULC\NULD\NULy\NUL,\NULZ\NULy\NUL\\\NUL0\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL9\NULn\NULv\NUL9\NULT\NUL\FS\NULs\NULt\NULK\NULv\NULw\NULx\NULy\NUL\ENQ\NUL\ACK\NUL\a\NUL\n\NUL\t\NULy\NUL\v\NUL\f\NUL\r\NULv\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\SOH\NUL\FS\NULx\NULy\NUL\FS\NUL\EM\NUL9\NUL\ESC\NULv\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NULw\NULx\NULy\NUL\FS\NUL9\NUL3\NUL\a\NUL9\NUL\FS\NUL7\NUL\FS\NUL\FS\NUL\SOH\NUL\SUB\NUL*\NUL<\NUL=\NUL-\NUL\SOH\NUL\SUB\NUL\ETX\NULB\NULC\NULD\NUL\r\NUL\a\NUL\"\NUL#\NUL\SUB\NUL%\NUL\r\NUL'\NUL9\NUL)\NUL*\NUL+\NUL,\NUL9\NUL\a\NUL9\NUL9\NUL \NUL!\NUL3\NULZ\NULv\NUL\\\NUL7\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL6\NULn\NUL\\\NUL]\NUL^\NULL\NULs\NULt\NUL\SUB\NULv\NULw\NULx\NULy\NULy\NUL\a\NULA\NULB\NULC\NULD\NULZ\NULP\NUL\\\NUL\SUB\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\a\NULn\NUL\\\NUL]\NUL^\NUL\a\NULs\NULt\NUL\\\NUL]\NULw\NULx\NULy\NUL\SOH\NULy\NULM\NULN\NULO\NULP\NULQ\NULR\NUL*\NULt\NUL\ETX\NUL-\NUL\r\NUL\ACK\NUL\"\NUL#\NULy\NUL%\NULv\NUL'\NULy\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL\STX\NUL\ETX\NUL6\NUL\RS\NUL\ACK\NUL3\NULX\NULY\NUL*\NUL7\NUL6\NUL-\NUL\US\NUL\SUB\NUL6\NUL;\NUL<\NUL=\NUL>\NUL?\NULy\NULA\NULB\NULC\NULD\NUL\a\NUL\"\NUL#\NULv\NUL%\NULL\NUL'\NUL\b\NUL)\NUL*\NUL+\NUL,\NULM\NULN\NULO\NULP\NULQ\NULR\NUL3\NULZ\NULu\NUL\\\NUL7\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULv\NULn\NUL\\\NUL]\NULm\NULL\NULs\NULt\NUL\NUL\NUL\SOH\NULw\NULx\NULy\NULx\NULy\NUL\SOH\NULw\NULx\NULy\NULZ\NUL+\NUL\\\NUL[\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\a\NULn\NULA\NULB\NULC\NULD\NULs\NULt\NUL6\NUL\STX\NULw\NULx\NULy\NUL;\NUL<\NUL=\NUL>\NUL?\NUL[\NULA\NULB\NULC\NULD\NUL\a\NULF\NULG\NUL\STX\NUL\"\NUL#\NUL+\NUL%\NUL\SOH\NUL'\NUL\SOH\NUL)\NUL*\NUL+\NUL,\NULN\NULO\NULP\NUL\EM\NUL\EOT\NUL\ESC\NUL3\NUL\GS\NUL\RS\NUL\US\NUL7\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL[\NUL3\NUL\SOH\NULL\NUL\ETX\NUL7\NUL\\\NUL]\NULx\NULy\NULA\NULB\NULC\NULD\NUL\r\NUL\\\NUL]\NULZ\NUL^\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULZ\NULn\NUL\\\NUL\EOT\NUL^\NUL_\NULs\NULt\NUL*\NUL+\NULw\NULx\NULy\NUL!\NUL^\NUL#\NUL*\NUL+\NUL\a\NUL*\NUL+\NUL#\NUL*\NUL+\NUL,\NULs\NULt\NUL\STX\NUL*\NUL+\NUL,\NUL3\NUL\STX\NULw\NULx\NULy\NUL\EM\NUL3\NUL\ESC\NUL+\NUL\GS\NUL\RS\NUL\US\NUL\EOT\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL*\NUL+\NUL6\NUL\\\NUL]\NUL3\NULN\NULO\NULP\NUL7\NULw\NULx\NULy\NULA\NULB\NULC\NULD\NUL\EM\NUL\EOT\NUL\ESC\NUL\EOT\NUL\GS\NUL\RS\NUL\US\NUL,\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULZ\NUL*\NUL\\\NUL\SOH\NUL^\NUL_\NUL3\NULy\NUL+\NUL!\NUL7\NUL#\NUL\RS\NULy\NUL^\NUL#\NUL\\\NUL]\NUL*\NUL+\NUL,\NUL\a\NUL*\NUL+\NUL,\NULs\NULt\NUL3\NUL\ETB\NUL\CAN\NUL6\NUL3\NULy\NUL\RS\NUL6\NUL^\NULw\NULx\NULy\NUL\EM\NUL\EOT\NUL\ESC\NUL\EOT\NUL\GS\NUL\RS\NUL\US\NUL0\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL<\NUL=\NUL>\NUL?\NUL@\NUL3\NULB\NULC\NULD\NUL7\NULF\NULG\NUL\DC1\NUL\DC2\NULw\NULx\NULy\NUL\EM\NUL\STX\NUL\ESC\NUL^\NUL\GS\NUL\RS\NUL\US\NUL\EOT\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULy\NUL6\NULw\NULx\NULy\NUL\EOT\NUL3\NULw\NULx\NULy\NUL7\NUL#\NULA\NULB\NULC\NULD\NUL2\NUL\EOT\NUL*\NUL+\NUL,\NUL\a\NUL\EOT\NULx\NULy\NUL\\\NUL]\NUL3\NUL\v\NUL\f\NUL6\NULA\NULB\NULC\NULD\NUL\STX\NULw\NULx\NULy\NUL\EM\NUL\STX\NUL\ESC\NUL\STX\NUL\GS\NUL\RS\NUL\US\NUL\US\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL\SOH\NUL-\NUL\ETX\NUL*\NUL+\NUL3\NUL<\NULx\NULy\NUL7\NUL*\NUL+\NUL\r\NUL+\NULw\NULx\NULy\NUL\EM\NUL+\NUL\ESC\NUL\STX\NUL\GS\NUL\RS\NUL\US\NUL+\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULy\NUL\ENQ\NUL\ACK\NUL\a\NUL\\\NUL]\NUL3\NUL6\NUL\FS\NUL\GS\NUL7\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL6\NUL!\NUL,\NUL#\NULC\NULw\NULx\NULy\NUL\RS\NULH\NUL*\NUL+\NUL,\NULC\NUL\ENQ\NUL\ACK\NUL\a\NUL\STX\NULH\NUL3\NULw\NULx\NULy\NULV\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\ETB\NUL\CAN\NUL^\NULV\NUL\STX\NULB\NULC\NULD\NUL\STX\NUL\\\NUL]\NUL^\NUL\ENQ\NUL\ACK\NUL\a\NUL\DC1\NUL\DC2\NULN\NULO\NULP\NULQ\NULR\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL7\NUL\STX\NULw\NULx\NULy\NULw\NULx\NULy\NUL\v\NUL\f\NULA\NULB\NULC\NULD\NULZ\NUL\STX\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULy\NULn\NULw\NULx\NULy\NUL,\NULs\NULt\NUL\RS\NULv\NULZ\NUL\\\NUL\\\NUL-\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\RS\NULn\NULw\NULx\NULy\NUL0\NULs\NULt\NULZ\NULv\NUL\\\NUL[\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\STX\NULn\NUL\ENQ\NUL\ACK\NUL\a\NUL6\NULs\NULt\NUL\STX\NULv\NUL\STX\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\US\NULC\NUL\EOT\NUL\STX\NUL6\NUL\STX\NULH\NULM\NUL\EOT\NUL;\NUL<\NUL=\NUL\ENQ\NUL\ACK\NUL\a\NULA\NULB\NULC\NULD\NUL\EOT\NULV\NUL\EOT\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL;\NUL<\NUL=\NULN\NULO\NULP\NULA\NULB\NULC\NULD\NUL^\NUL\\\NUL\ENQ\NUL\ACK\NUL\a\NULM\NULN\NULO\NULP\NULQ\NULR\NUL0\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL8\NUL\STX\NUL:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\STX\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULZ\NULy\NUL\\\NUL+\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULy\NULn\NULN\NULO\NULP\NUL\US\NULs\NULt\NULZ\NULv\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\STX\NULn\NULN\NULO\NULP\NUL\STX\NULs\NULt\NULZ\NULv\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\STX\NULn\NUL\ENQ\NUL\ACK\NUL\a\NUL,\NULs\NULt\NUL\US\NULv\NUL*\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL^\NUL\EOT\NUL\EOT\NULN\NULO\NULP\NULN\NULO\NULP\NUL;\NUL<\NUL=\NUL\ENQ\NUL\ACK\NUL\a\NULA\NULB\NULC\NULD\NULN\NULO\NULP\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NULM\NULN\NULO\NULP\NULQ\NULR\NULN\NULO\NULP\NULw\NULx\NULy\NUL\ENQ\NUL\ACK\NUL\a\NULw\NULx\NULy\NULw\NULx\NULy\NUL\US\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL8\NUL\SOH\NUL:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL,\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULZ\NULy\NUL\\\NUL,\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\US\NULn\NULw\NULx\NULy\NUL\STX\NULs\NULt\NULZ\NULv\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\b\NULn\NULw\NULx\NULy\NUL\US\NULs\NULt\NULZ\NULv\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL^\NULn\NUL\ENQ\NUL\ACK\NUL\a\NUL\US\NULs\NULt\NUL\STX\NULv\NUL\STX\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\SOH\NUL<\NUL=\NUL>\NUL?\NUL@\NUL+\NULB\NULC\NULD\NUL+\NUL[\NUL\ENQ\NUL\ACK\NUL\a\NULA\NULB\NULC\NULD\NULw\NULx\NULy\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NULM\NULN\NULO\NULP\NULQ\NULR\NULw\NULx\NULy\NUL\\\NUL*\NULZ\NULF\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL*\NULn\NUL*\NULp\NULx\NULy\NULs\NULt\NULw\NULx\NULy\NUL\STX\NUL\STX\NULZ\NULy\NUL\\\NUL^\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL*\NULn\NULN\NULO\NULP\NUL\RS\NULs\NULt\NULZ\NULv\NUL\\\NUL\SUB\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\ESC\NULn\NUL\f\NUL\r\NUL\EM\NUL\DLE\NULs\NULt\NUL\EOT\NULv\NUL\SOH\NUL[\NUL\ETX\NUL\STX\NUL\STX\NUL\EM\NUL\STX\NUL\ESC\NUL^\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULN\NULO\NULP\NUL\SOH\NUL \NUL!\NUL3\NUL#\NULW\NUL+\NUL7\NULN\NULO\NULP\NUL*\NUL+\NUL,\NULF\NULN\NULO\NULP\NUL+\NUL^\NUL3\NUL,\NUL\SOH\NUL6\NUL,\NUL6\NULZ\NUL\SOH\NUL\\\NUL0\NUL^\NUL_\NUL`\NULa\NULA\NULB\NULC\NULD\NULC\NUL\r\NUL,\NUL0\NULZ\NULH\NUL\\\NUL,\NUL^\NUL_\NUL`\NUL7\NUL\SOH\NULs\NULt\NUL;\NUL<\NUL=\NUL,\NULV\NUL\ETX\NULA\NULB\NULC\NULD\NUL\\\NUL]\NUL^\NUL\SOH\NULs\NULt\NUL+\NUL\STX\NULw\NULx\NULy\NUL0\NUL1\NUL,\NUL3\NUL\STX\NUL5\NUL[\NUL^\NUL8\NUL\SOH\NULe\NUL;\NUL\SOH\NUL=\NUL>\NUL?\NULy\NULN\NULO\NULP\NULD\NULE\NUL\SOH\NULG\NUL\EOT\NUL^\NULJ\NULK\NUL\SOH\NULM\NULN\NUL^\NULP\NULQ\NULR\NULS\NULT\NULU\NUL\SOH\NULw\NULx\NULy\NUL,\NULe\NUL\\\NUL]\NUL^\NUL_\NUL\SOH\NULw\NULx\NULy\NUL\RS\NULe\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SOH\NUL\SOH\NUL\DLE\NULN\NULO\NULP\NULZ\NUL\RS\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NUL\ESC\NUL+\NUL8\NUL+\NUL:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\RS\NULA\NULB\NULC\NULD\NUL+\NUL+\NUL,\NULs\NULt\NUL/\NUL0\NUL1\NUL2\NUL3\NUL4\NUL5\NUL6\NUL7\NUL8\NUL9\NUL:\NUL;\NULe\NUL=\NUL>\NUL?\NUL@\NULA\NULB\NULC\NULD\NULE\NUL\SOH\NULG\NULH\NULI\NULJ\NULK\NULL\NULM\NULN\NULO\NULP\NULQ\NULR\NULS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULw\NULx\NULy\NUL\SOH\NUL\SOH\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL[\NUL1\NUL\DLE\NULe\NUL*\NULZ\NUL6\NUL\\\NUL\ESC\NUL^\NUL_\NUL`\NULa\NUL\ESC\NUL>\NULw\NULx\NULy\NUL\SUB\NULC\NULw\NULx\NULy\NULG\NULH\NULw\NULx\NULy\NUL\EM\NULM\NULs\NULt\NULP\NUL/\NULR\NUL1\NUL\DLE\NUL3\NULV\NUL5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL^\NUL=\NUL>\NUL?\NULN\NULO\NULP\NULC\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NULL\NULM\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULN\NULO\NULP\NUL\255\255\&6\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULA\NULB\NULC\NULD\NUL\255\255F\NULG\NUL\EM\NUL\255\255\ESC\NUL\ESC\NUL\GS\NUL\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULw\NULx\NULy\NUL/\NUL\255\255\&1\NUL3\NUL3\NUL\255\255\&5\NUL7\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NULN\NULO\NULP\NUL\255\255D\NULE\NUL\255\255G\NULx\NULy\NULJ\NULK\NULL\NULM\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULw\NULx\NULy\NUL\255\255\&7\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255w\NULx\NULy\NUL\SOH\NUL\STX\NUL\ETX\NUL\SOH\NUL\STX\NUL\ETX\NUL\ESC\NULM\NULN\NULO\NULP\NULQ\NULR\NUL\SOH\NUL\STX\NUL\ETX\NUL\SOH\NUL\STX\NUL\ETX\NUL\255\255\255\255<\NUL=\NUL,\NUL\255\255\255\255/\NULB\NULC\NULD\NUL3\NUL\SOH\NUL5\NUL\ETX\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\r\NUL\SOH\NUL\STX\NUL\ETX\NULD\NULE\NULw\NULx\NULy\NUL\255\255J\NULK\NULL\NUL\EOT\NULN\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULx\NULy\NUL\255\255\&6\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\SOH\NULC\NUL\ETX\NUL\255\255\ENQ\NUL\ACK\NULH\NUL\255\255\t\NUL\n\NUL\ESC\NUL\255\255\&8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NULV\NULA\NULB\NULC\NULD\NUL\255\255\\\NUL\255\255^\NUL\255\255/\NUL\SOH\NUL\STX\NUL\ETX\NUL3\NUL\SOH\NUL5\NUL\ETX\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\r\NUL\r\NUL\SO\NUL\SI\NULD\NULE\NUL\SOH\NUL\STX\NUL\ETX\NUL\255\255J\NULK\NULL\NUL\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\r\NUL\SO\NUL\SI\NUL6\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255C\NUL6\NUL\255\255\255\255\255\255H\NUL;\NUL<\NUL=\NUL\ESC\NUL\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255Z\NULV\NUL\\\NUL\255\255^\NUL_\NUL`\NUL+\NUL,\NUL^\NUL\255\255/\NUL0\NUL\255\255\&2\NUL\255\255\&4\NUL\255\255\255\255\&7\NUL\255\255\&9\NUL:\NUL7\NUL\255\255s\NULt\NUL\255\255@\NULA\NULB\NUL\255\255\255\255A\NULB\NULC\NULD\NULI\NULF\NULG\NULL\NUL\255\255\255\255O\NUL\255\255\255\255\SOH\NUL\255\255\ETX\NULx\NULy\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\r\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\ESC\NUL\255\255\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255/\NUL\255\255D\NULE\NUL\255\255G\NUL\255\255\&6\NULJ\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULC\NUL\SOH\NUL\255\255\ETX\NUL\255\255H\NUL\\\NUL]\NUL^\NULL\NULM\NUL\255\255Z\NUL\r\NUL\\\NUL\255\255^\NUL_\NUL`\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255s\NULt\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\ESC\NUL=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255/\NULQ\NUL\255\255S\NULT\NULU\NULV\NUL6\NUL\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL\255\255\255\255\255\255\255\255\SOH\NULC\NUL\ETX\NUL\255\255\SOH\NUL\255\255H\NUL\SOH\NUL\255\255\255\255L\NULM\NUL\r\NULB\NULC\NULD\NUL\r\NULF\NULG\NUL\r\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\&6\NULZ\NUL\255\255\\\NUL6\NUL^\NUL_\NUL6\NUL\ESC\NUL\255\255\255\255\255\255\255\255C\NULx\NULy\NUL\255\255C\NULH\NUL\255\255C\NUL\255\255H\NUL\255\255\255\255H\NULs\NULt\NUL/\NULZ\NUL\255\255\\\NULV\NUL^\NUL_\NUL6\NULV\NUL\255\255\\\NULV\NUL^\NUL\255\255\\\NUL]\NUL^\NUL\\\NUL]\NUL^\NULC\NUL\255\255\255\255\255\255\255\255H\NULs\NULt\NUL\255\255L\NULM\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255V\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\ETX\NUL\255\255\r\NUL\ACK\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NUL\SOH\NUL\ESC\NUL\ETX\NUL\255\255\255\255\ACK\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULs\NULt\NUL,\NUL-\NUL6\NUL/\NUL\255\255Z\NUL\255\255\\\NUL\ESC\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULC\NUL\255\255\255\255\255\255\255\255H\NUL\255\255\255\255\255\255\255\255,\NUL-\NUL\255\255/\NUL\255\255s\NULt\NULL\NUL\255\255V\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULs\NULt\NUL\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\ESC\NULF\NULG\NULZ\NUL\SOH\NUL\\\NUL\ETX\NUL^\NUL_\NUL\ACK\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL/\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&6\NULs\NULt\NUL\ESC\NUL\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NUL\255\255C\NUL\255\255\255\255\255\255\255\255H\NUL\255\255,\NUL\255\255L\NUL/\NULx\NULy\NUL\255\255\SOH\NUL\255\255\ETX\NULs\NULt\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\r\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255\255\255\255\255\255\255L\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULs\NULt\NUL6\NUL\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULC\NUL\255\255\255\255\255\255\255\255H\NUL\255\255Z\NUL\255\255\\\NUL\ESC\NUL^\NUL_\NUL`\NUL\SOH\NUL\255\255\255\255\255\255\255\255V\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL^\NUL\255\255\DLE\NUL/\NUL\255\255s\NULt\NUL\255\255\255\255\255\255\&6\NUL\255\255Z\NUL\ESC\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NUL\255\255C\NUL\255\255\255\255\255\255\255\255H\NUL\255\255,\NUL\255\255L\NUL/\NUL\255\255\255\255\255\255s\NULt\NUL\255\255\255\255\255\255V\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\&6\NUL\255\255\255\255\255\255L\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\SOH\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\STX\NUL\255\255\255\255\r\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NUL\SOH\NUL\ESC\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULy\NUL\255\255\DLE\NULs\NULt\NUL\255\255\255\255\&6\NUL/\NUL\255\255Z\NUL\255\255\\\NUL\ESC\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULC\NUL\255\255\255\255\255\255\255\255H\NUL\255\255\255\255\255\255\255\255,\NUL\255\255\255\255/\NUL\255\255s\NULt\NULL\NUL\255\255V\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL\255\255^\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULs\NULt\NUL\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\255\255\ESC\NUL\SOH\NUL\STX\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL,\NUL\255\255Z\NUL/\NUL\\\NUL\255\255^\NUL_\NUL`\NUL\255\255\ESC\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULs\NULt\NUL\255\255/\NUL\255\255L\NULx\NULy\NUL\255\255\255\255\ESC\NUL\255\255\255\255\RS\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL/\NUL\255\255L\NUL\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255L\NULs\NULt\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NULX\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\SOH\NUL\ESC\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULx\NULy\NUL\DLE\NUL\255\255\255\255\255\255\255\255\255\255/\NUL\255\255\255\255\255\255\255\255\ESC\NUL\255\255\255\255\255\255\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL/\NUL7\NUL\255\255\255\255L\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\ESC\NULA\NULB\NULC\NULD\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NUL/\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255\255\255\255\255\255\255L\NUL\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\SOH\NUL\ESC\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\255\255\255\255\255\255/\NUL\255\255\255\255\255\255\255\255\ESC\NUL\255\255\255\255\255\255\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL/\NUL\255\255\255\255\255\255L\NULx\NULy\NUL\255\255\255\255\255\255\ESC\NUL\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NUL/\NUL\255\255\255\255\255\255\255\255\SOH\NUL\255\255\ETX\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\r\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255\255\255\255\255\255\255L\NUL\255\255\255\255\255\255\255\255\SOH\NUL\255\255\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\r\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\&6\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255C\NUL\255\255\255\255\255\255\255\255H\NUL\255\255\255\255\255\255\ESC\NUL0\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NULV\NUL\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255^\NUL\255\255/\NULD\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\SOH\NUL\255\255\ETX\NUL\255\255\255\255\255\255\\\NUL]\NUL^\NUL_\NULL\NUL\255\255\r\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\US\NUL \NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL\255\255\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\SOH\NUL\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\255\255\&1\NUL\255\255\&3\NUL\r\NUL5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL]\NUL^\NUL8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\SOH\NUL\255\255\\\NUL]\NUL^\NUL\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\r\NUL8\NUL\255\255\SOH\NUL;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\r\NULG\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\SOH\NUL\RS\NUL\ETX\NUL\255\255\255\255\255\255\\\NUL]\NUL^\NUL\255\255\&6\NUL\255\255\r\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\&3\NULC\NUL5\NUL\255\255\255\255\&8\NULH\NUL\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255V\NUL\255\255\255\255J\NULK\NUL\255\255\\\NULN\NUL^\NUL\255\255Q\NUL6\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NULC\NUL\255\255\255\255\RS\NUL\US\NULH\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255V\NUL\255\255\255\255\255\255\255\255\&3\NUL\\\NUL\255\255^\NUL7\NUL\255\255\255\255\255\255\255\255<\NUL=\NUL\255\255\255\255\255\255\255\255B\NULC\NULD\NUL\255\255\255\255\255\255H\NULI\NULJ\NUL\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255<\NUL=\NUL>\NUL?\NUL@\NUL3\NULB\NULC\NULD\NUL7\NULF\NULG\NUL\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NULB\NULC\NULD\NUL\255\255\255\255\255\255H\NULI\NULJ\NUL\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255x\NULy\NUL7\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\255\255w\NULx\NULy\NUL\255\255\255\255\255\255H\NULI\NULJ\NUL\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255<\NUL=\NUL>\NUL?\NUL@\NUL3\NULB\NULC\NULD\NUL7\NULF\NULG\NUL\255\255\255\255\255\255\255\255\255\255x\NULy\NUL\255\255w\NULx\NULy\NUL\255\255\255\255\255\255H\NULI\NULJ\NULK\NUL\255\255\255\255\255\255\255\255\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NULx\NULy\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NULH\NULI\NULJ\NUL\255\255\255\255\255\255\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255 \NUL!\NUL\255\255#\NUL\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255!\NUL6\NUL#\NUL\255\255w\NULx\NULy\NULJ\NUL\255\255*\NUL+\NUL,\NULA\NULB\NULC\NULD\NUL\255\255\255\255\&3\NUL\255\255\255\255\&6\NUL\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255w\NULx\NULy\NUL\255\255!\NUL\255\255#\NUL\255\255!\NUL\255\255#\NUL\255\255\255\255*\NUL+\NUL,\NULy\NUL*\NUL+\NUL,\NUL\255\255\255\255\&3\NUL\255\255\255\255\255\255\&3\NUL\255\255\255\255\&6\NUL\255\255<\NUL=\NUL\255\255\255\255x\NULy\NULB\NULC\NULD\NULA\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL!\NUL\255\255#\NUL\255\255\255\255\255\255\255\255\255\255\255\255*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL!\NUL\255\255#\NUL\255\255\255\255\255\255!\NUL\255\255#\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255*\NUL+\NUL,\NUL3\NULy\NUL\255\255\&6\NULx\NULy\NUL3\NUL\255\255N\NULO\NULP\NULQ\NULR\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255A\NULB\NULC\NULD\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\"\NUL#\NUL3\NUL%\NUL\255\255'\NUL7\NUL)\NUL*\NUL+\NUL,\NUL\255\255y\NUL\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL\255\255\255\255\255\255\255\255\255\255L\NUL\255\255\255\255\255\255y\NUL\255\255\255\255\255\255\255\255\255\255y\NUL\255\255\255\255\255\255Z\NULL\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255w\NULx\NULy\NUL\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NULL\NUL)\NUL*\NUL+\NUL,\NULs\NULt\NUL\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255Z\NUL7\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255L\NUL\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NUL\255\255\"\NUL#\NUL\255\255%\NUL\255\255'\NULL\NUL)\NUL*\NUL+\NUL,\NULs\NULt\NUL\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255Z\NUL7\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255L\NUL\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255.\NUL/\NUL0\NUL\"\NUL#\NUL3\NUL%\NUL\255\255'\NUL7\NUL)\NUL*\NUL+\NUL,\NUL\255\255.\NUL/\NUL0\NUL\"\NUL#\NUL3\NUL%\NUL\255\255'\NUL7\NUL)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\"\NUL#\NUL7\NUL%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL\255\255L\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\"\NUL#\NULL\NUL%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NULw\NULx\NULy\NUL\255\255#\NUL\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL*\NUL+\NUL,\NUL6\NULw\NULx\NULy\NUL\255\255\255\255\&3\NUL\255\255\255\255\&6\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255L\NUL\255\255\255\255w\NULx\NULy\NULM\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL#\NUL\255\255\255\255\&6\NUL\255\255\255\255\255\255*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\&2\NUL3\NUL\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\255\255w\NULx\NULy\NULA\NULB\NULC\NULD\NUL\255\255\255\255\255\255x\NULy\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL6\NUL\255\255\255\255\255\255q\NUL\255\255s\NULt\NUL\255\255\&7\NULw\NULx\NULy\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL\255\255F\NULG\NUL\255\255\255\255y\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL7\NUL\255\255\255\255\&6\NULq\NUL\255\255s\NULt\NUL;\NUL<\NUL=\NUL\255\255y\NUL\255\255A\NULB\NULC\NULD\NULw\NULx\NULy\NUL\255\255\255\255\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255q\NUL\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL7\NULw\NULx\NULy\NUL;\NUL<\NUL=\NUL7\NUL6\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255A\NULB\NULC\NULD\NUL\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255w\NULx\NULy\NUL\255\255\255\255s\NULt\NULw\NULx\NULy\NUL+\NUL\255\255-\NUL\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255+\NUL\255\255-\NUL\255\255\255\255]\NUL^\NUL_\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255+\NULQ\NUL\255\255S\NULT\NULU\NUL1\NUL\255\255\255\255\255\255\255\255\&6\NUL\255\255]\NUL^\NUL_\NUL+\NUL\255\255\255\255>\NUL\255\255\255\255\&1\NUL\255\255C\NUL\255\255\255\255\&6\NULG\NULH\NUL\255\255\255\255\255\255\255\255M\NUL>\NUL\255\255P\NUL\255\255R\NULC\NUL\255\255\255\255V\NULG\NULH\NUL\255\255\255\255\255\255\255\255M\NUL^\NUL\255\255P\NUL\255\255R\NUL,\NUL\255\255\255\255V\NUL\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255^\NUL8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255.\NUL]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL]\NUL^\NUL8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL]\NUL^\NUL8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255\255\255>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NUL\255\255\255\255P\NUL\255\255R\NUL\255\255T\NULU\NULV\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL_\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255\255\255\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255T\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255S\NUL^\NULU\NULV\NULW\NULX\NULY\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULS\NULv\NULU\NULV\NULW\NULX\NULY\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULS\NULv\NUL\255\255V\NULW\NULX\NULY\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NULv\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NUL\255\255S\NUL\255\255\255\255\255\255\255\255\255\255|\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255S\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255S\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255q\NUL\255\255s\NULt\NUL\255\255Z\NUL\255\255\\\NULy\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255o\NUL\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NUL;\NUL<\NUL=\NUL\255\255\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255s\NULt\NUL\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL;\NUL<\NUL=\NUL\255\255\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\&1\NULM\NULN\NULO\NULP\NULQ\NULR\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL1\NULA\NULB\NULC\NULD\NUL\255\255\255\255\&8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyTable"] (TyCon (UnQual (Ident "HappyAddr"))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyTable")) (UnGuardedRhs (App (Con (UnQual (Ident "HappyA#"))) (Lit (PrimString "\NUL\NUL\136\NULL\NULM\NUL\162\SOH{\ETX^\ETX\DC2\ETX\DC3\ETX\DC1\ETX\DC2\ETX\DC3\ETX`\ETX=\254\230\STX%\STX\141\SOHr\ETX\170\NUL\203\SOH5\ETX%\ETX\SUB\STXz\ETXN\NULi\ETXO\NUL&\STXP\NULQ\NULR\NUL\204\SOHS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\212\STX\SYN\ETX\248\NUL{\STX\130\STX\239\NUL_\NUL\132\SOH\199\NUL\185\NUL`\NUL\200\NUL\247\SOH\188\NUL=\SOHL\NULM\NULu\SOH6\ETX{\ETXa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\156\NUL%\STXO\ETX\186\NUL\131\STX\203\SOHv\SOH\189\NUL\226\SOH\249\NULN\NULq\ETXO\NUL&\STXP\NULQ\NULR\NUL\204\SOHS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\DC4\ETX\151\SOH\134\NUL\DC4\ETX\DC4\ETX\132\NUL_\NUL\134\NULs\ETX\132\NUL`\NUL\134\NUL\134\NUL\214\NULK\NULL\NULM\NULh\NULi\NULj\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\240\NULK\NUL\200\SOHc\NUL\201\SOH*\NUL\182\NUL\132\NUL\152\SOH\134\NULN\NUL\134\NULO\NUL\201\NULP\NULQ\NULR\NUL\190\NULS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\170\NUL\203\SOH\ACK\STXO\ETX\170\NUL\132\NUL_\NUL\134\NULj\ETX\132\NUL`\NUL\134\NULU\ETX\204\SOH\a\STX\221\SOH\189\NULh\NULi\NULj\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\156\NUL9\ETX\171\NUL\251\STX\172\NUL\196\NUL%\STX;\ETX\132\NUL\152\SOH\134\NUL\173\NUL]\NUL^\NUL\215\NUL\225\STX\183\NUL\211\STX&\STX\224\STX_\NUL%\STX\157\SOH\174\NUL\197\NULV\ETX\222\SOH\n\ETX<\254\247\SOHm\ETX\v\ETX\246\SOH&\STX\175\NULb\NULc\NULd\NUL\176\NULf\NULg\NUL<\254\216\NUL\185\NUL\247\SOH\217\NUL<\254h\NULi\NULj\NUL\203\SOH\181\NUL\218\NUL]\NUL^\NUL\158\SOH\190\NUL\212\STXn\ETX\225\STX<\254_\NUL\204\SOH`\STX\186\NUL\132\NUL\132\NUL\215\NUL\134\NUL\247\SOH\240\NULK\NUL\182\NUL\213\NUL\161\NUL\219\NULb\NULc\NULd\NUL\220\NULf\NULg\NULT\ETXA\ETX\159\SOH\214\NUL\160\SOH\162\NUL\174\NUL\177\NULj\NUL\198\NUL\163\NUL\161\SOH]\NUL^\NUL\150\NUL\132\NUL\215\NUL\134\NUL\249\SOH\EM\ETX_\NUL\236\STX\232\STX\162\SOH\164\NUL\SUB\ETX\132\NUL\215\NUL\134\NULB\ETX\132\NUL\215\NUL\134\NUL\247\SOH\163\SOHb\NULc\NULd\NUL\164\SOHf\NULg\NUL\132\NUL\215\NUL\151\NUL\195\NUL\152\NUL\196\NUL\240\NULK\NUL\221\NUL\ESC\ETXl\NUL\153\NUL]\NUL^\NUL\134\STX\GS\ETX\183\NUL\250\SOH\132\NUL\137\STX_\NUL(\ETXm\NUL\f\STX\197\NUL\132\NUL\152\SOH\134\NUL\240\NULK\NUL\193\STX\128\STXj\NUL\161\NUL\154\NULb\NULc\NULd\NUL\155\NULf\NULg\NUL\132\NUL\215\NUL\171\NUL\203\SOH\172\NUL\162\NUL\216\NUL\185\NUL\156\NUL\217\NUL\163\NUL\173\NUL]\NUL^\NUL\FS\ETX\204\SOH\218\NUL]\NUL^\NULg\STX_\NUL`\STX\152\STX\174\NUL\164\NUL_\NUL\218\SOH\219\SOH\186\NUL\153\STX\132\NUL\215\NUL\134\NUL\140\STX\175\NULb\NULc\NUL\208\SOH\154\STX\219\NULb\NULc\NUL\208\SOH\159\SOH\168\STX\160\SOH\r\STX\140\NULj\NUL\156\NUL\198\NUL\132\SOH\161\SOH]\NUL^\NUL\151\SOH\161\NUL\180\STX\132\SOHh\STX\132\NUL_\NUL\134\NUL\168\254\162\SOH\188\NUL\168\254\214\NUL\236\SOH\162\NULn\ETX2\NUL3\NUL\215\SOH\163\NUL\163\SOHb\NULc\NUL\208\SOH\144\STX4\NUL5\NUL6\NUL7\NUL8\NUL%\STX\189\NUL\SYN\STX\164\NUL\135\STXj\NUL\168\254\218\STX\225\SOH\132\NUL\221\NUL\134\NUL&\STX\192\NUL\185\NUL7\ETX\184\NUL\185\NUL8\ETXF\STX2\NUL3\NUL\145\STX\141\STX\EM\STXH\STXI\STXJ\STX\ESC\STX4\NUL5\NUL6\NUL7\NUL8\NUL\RS\STX\186\NUL\240\NULK\NUL\186\NULK\STX\169\NULO\NUL\170\NULP\NULL\STXM\STX\156\NULS\NULN\STXU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\224\SOH\225\SOH\132\NUL\152\SOH\134\NULB\STX_\NUL \STXp\SOH\190\NULO\STX\ACK\NULq\SOH\a\NUL\226\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL/\STX9\NUL\132\NUL\215\NUL\134\NUL\137\SOH\CAN\NUL\EM\NUL\168\SOH:\NUL\146\NULc\NUL\233\SOH\193\NUL\229\255\ACK\NUL\187\NUL\a\NUL\134\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\132\SOH9\NUL\226\SOH\132\SOH5\STX\198\SOH\CAN\NUL\EM\NULC\STX:\NULh\NUL\195\SOHj\NULF\STX2\NUL3\NULD\STXG\STX`\STXH\STXI\STXJ\STX?\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\146\SOH\SUB\STX\149\NULj\NUL\131\SOHK\STX\132\SOHO\NUL@\SOHP\NULL\STXM\STX\214\NULS\NULN\STXU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\r\SOHp\ETX\140\NULj\NUL\137\SOH\132\SOH_\NUL\134\SOH\132\SOH\153\SOHO\STX\168\SOH\198\SOH\151\SOH\130\SOH\234\STX#\STX\207\NUL\235\STX\ACK\STX\136\SOH\170\NUL\200\SOHc\NUL\201\SOH\214\NUL\138\SOH\SO\SOHU\NUL\152\SOH\SI\SOH\a\STX\DLE\SOH\132\SOH\DC1\SOH\\\NUL]\NUL^\NUL\132\SOH\154\SOH\132\SOH\132\SOH\192\NUL\185\NUL_\NUL\ACK\NUL\155\SOH\a\NUL\DC2\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\186\NUL9\NUL\132\NUL\215\NUL\134\NULh\SOH\CAN\NUL\EM\NUL\167\SOH:\NULh\NUL\195\SOHj\NUL\156\NUL\169\SOH\207\SOHb\NULc\NUL\208\SOH\ACK\NUL\188\SOH\a\NUL\197\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\r\SOH\DC4\SOH\132\NUL\152\SOH\134\NUL\199\SOH\CAN\NUL\EM\NUL\132\NUL\215\NULh\NUL\NAK\SOHj\NUL\246\SOH\156\NUL}\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH0\ETX\212\SOHu\STX1\ETX\247\SOHv\STX\SO\SOHU\NUL\193\NUL\SI\SOH\213\SOH\DLE\SOH\156\NUL\DC1\SOH\\\NUL]\NUL^\NUL\r\SOH \ETX!\ETX\159\NUL\EOT\ETX\"\ETX_\NUL+\ETX,\ETX\221\STX\DC2\SOH\174\NUL\222\STX.\ETX\164\NUL\174\NUL+\STX\206\NUL\207\NUL,\STX\209\NUL\156\NUL\209\SOHb\NULc\NUL\208\SOH\231\NUL\SO\SOHU\NUL\237\NUL\SI\SOHi\SOH\DLE\SOH\250\NUL\DC1\SOH\\\NUL]\NUL^\NUL~\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH_\NUL\ACK\NUL\EOT\SOH\a\NUL\DC2\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\n\SOH\DC4\SOH\132\NUL\215\NUL+\SOHk\SOH\CAN\NUL\EM\NUL\135\NUL\ENQ\NULh\NUL\NAK\SOHj\NUL-\STXj\NUL\ENQ\NUL\DEL\STX\128\STXj\NUL\ACK\NUL}\ETX\a\NUL*\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\r\SOH\DC4\SOH8\STXb\NULc\NUL\208\SOH\CAN\NUL\EM\NUL\174\NUL~\ETXh\NUL\NAK\SOHj\NUL+\STX\206\NUL\207\NUL,\STX\209\NUL*\NUL\209\SOHb\NULc\NULd\NUL\181\STX\210\SOHg\NUL\DEL\ETX\SO\SOHU\NULu\ETX\SI\SOHv\ETX\DLE\SOHw\ETX\DC1\SOH\\\NUL]\NUL^\NUL8\ETX\166\NUL\167\NUL\190\SOHi\ETXO\NUL_\NULP\NUL\191\SOH\192\SOH\DC2\SOHS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NULZ\ETX \SOH!\SOH\"\SOH#\SOH*\NUL_\NULe\SOH\DC3\SOH\170\NUL\194\SOH\240\NULK\NUL-\STXj\NUL\249\STXb\NULc\NUL\208\SOHf\SOH=\ETX>\ETX\ACK\NUL\134\NUL\a\NULl\ETX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\ACK\NUL\DC4\SOH\a\NULX\ETX\NUL\SOH\t\NUL\CAN\NUL\EM\NUL\254\STX\255\STXh\NUL\NAK\SOHj\NUL\151\NUL\134\NUL\152\NUL\NUL\ETX\SOH\ETX\238\SOH\250\SOH\EM\ETX\152\NUL\153\NUL]\NUL^\NUL\CAN\NUL\EM\NUL]\ETX\153\NUL]\NUL^\NUL_\NUL^\ETXh\NUL\195\SOHj\NUL\190\SOH_\NULO\NUL`\ETXP\NUL\191\SOH\192\SOHc\ETXS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\ETB\STX\250\SOH\143\STX\162\SOH\240\NULK\NUL_\NUL&\STX\166\NUL\167\NUL\194\SOHI\ETX\140\NULj\NUL\229\SOHb\NULc\NUL\208\SOH\190\SOHd\ETXO\NULe\ETXP\NUL\191\SOH\192\SOH=\NULS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\ACK\NUL@\ETX\a\NUL?\ETX\STX\SOH\t\NUL_\NUL\156\NULC\ETX\159\SOH\194\SOH\160\SOHI\ETX\156\NUL\134\NUL\172\NUL\240\NULK\NUL\161\SOH]\NUL^\NUL!\STX\173\NUL]\NUL^\NUL\CAN\NUL\EM\NUL_\NUL\RS\SOH\US\SOH\162\SOH_\NUL\156\NULO\ETX\174\NUL\134\NULh\NUL\195\SOHj\NUL\190\SOHQ\ETXO\NULS\ETXP\NUL\191\SOH\192\SOH\134\SOHS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL0\STX\146\SOH\207\NUL\147\SOH\209\NUL\157\STX_\NUL\146\NULc\NUL\147\NUL\194\SOH\148\NULg\NUL$\SOH%\SOHh\NUL\195\SOHj\NUL\190\SOH\227\STXO\NUL\134\NULP\NUL\191\SOH\192\SOH\240\STXS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\156\NUL\174\NUL\251\STX\252\STXj\NUL\241\STX_\NULJ\ETX\140\NULj\NUL\194\SOH\160\SOH\209\SOHb\NULc\NUL\208\SOHL\ETX\244\STX\161\SOH]\NUL^\NUL6\STX\245\STX\149\SOHj\NUL\240\NULK\NUL_\NUL&\SOH'\SOH\162\SOH\249\STXb\NULc\NUL\208\SOH\246\STXh\NUL\195\SOHj\NUL\190\SOH\247\STXO\NUL\n\ETXP\NUL\191\SOH\192\SOH\238\SOHS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\189\SOH\ACK\STX\CAN\ETX\170\NUL\228\NUL\229\NUL_\NUL\r\ETX\211\SOHj\NUL\194\SOH\230\NUL\231\NUL\a\STX\SO\ETXh\NUL\195\SOHj\NUL\190\SOH\SI\ETXO\NUL\DLE\ETXP\NUL\191\SOH\192\SOH\ETB\ETXS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\156\NULo\ETX2\NUL3\NUL\240\NULK\NUL_\NUL\161\NUL\CAN\SOH\EM\SOH\194\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\161\NUL\151\NUL=\NUL\152\NUL\162\NULK\ETX\140\NULj\NUL+\ETX\163\NUL\153\NUL]\NUL^\NUL\162\NULE\ETX2\NUL3\NUL\US\ETX\163\NUL_\NULh\NUL\195\SOHj\NUL\164\NUL4\NUL5\NUL6\NUL7\NUL8\NUL\RS\SOH\US\SOH\134\NUL\164\NUL#\ETX\200\SOHc\NUL\201\SOH&\ETX\132\NUL\215\NUL\134\NUL\DLE\ETX2\NUL3\NUL$\SOH%\SOHw\STX\166\NUL\167\NULx\STXy\STX4\NUL5\NUL6\NUL7\NUL8\NUL\232\SOH'\ETXh\NUL\195\SOHj\NUL\241\STX\140\NULj\NUL&\SOH'\SOH\143\NULb\NULc\NUL\208\SOH\ACK\NUL|\STX\a\NUL}\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\156\NUL9\NUL\242\STX\140\NULj\NULc\STX\CAN\NUL\EM\NUL>\254:\NUL\ACK\NUL\188\SOH\a\NUL\140\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\146\STX9\NULh\NUL\145\NULj\NUL\134\SOH\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL*\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\156\STX9\NUL\149\STX2\NUL3\NUL\161\NUL\CAN\NUL\EM\NUL\157\STX:\NUL\165\STX\167\STX4\NUL5\NUL6\NUL7\NUL8\NUL\238\SOH\162\NUL\202\NUL\179\STX\162\SOH\180\STX\163\NUL\188\STX\189\STX\158\STX\206\NUL\207\NUL\150\STX2\NUL3\NUL\229\SOHb\NULc\NUL\208\SOH\191\STX\164\NUL\192\STX4\NUL5\NUL6\NUL7\NUL8\NUL*\STX\206\NUL\207\NUL\ENQ\ETX\166\NUL\167\NUL\207\SOHb\NULc\NUL\208\SOH\134\NUL\209\STX\151\STX2\NUL3\NULf\SOH_\SOH\166\NUL\167\NUL`\SOHa\SOH\134\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\203\NUL\214\STX\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\215\STX\210\NULb\NULc\NULd\NUL\211\NULf\NULg\NUL\ACK\NUL\156\NUL\a\NUL\218\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\156\NUL9\NUL&\STX\166\NUL\167\NUL\220\STX\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL\223\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\223\SOH9\NUL#\ETX\166\NUL\167\NUL\224\SOH\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL\229\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\236\SOH9\NULA\STX2\NUL3\NUL\228\SOH\CAN\NUL\EM\NUL\238\SOH:\NUL\251\SOH\252\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\134\NUL\DC2\STX\224\NUL&\STX\166\NUL\167\NUL\162\STX\166\NUL\167\NUL*\STX\206\NUL\207\NULR\STX2\NUL3\NUL\207\SOHb\NULc\NUL\208\SOH\163\STX\166\NUL\167\NUL4\NUL5\NUL6\NUL7\NUL8\NUL}\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH&\STX\166\NUL\167\NUL\184\STX\140\NULj\NULv\SOH2\NUL3\NUL\189\STX\140\NULj\NUL\194\STX\140\NULj\NUL\238\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\225\NUL\EM\STX\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL=\NUL\210\NULb\NULc\NULd\NUL\226\NULf\NULg\NUL\ACK\NUL\156\NUL\a\NUL \STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\238\SOH9\NUL\195\STX\140\NULj\NUL(\STX\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL)\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NULx\SOH9\NUL\196\STX\140\NULj\NUL\238\SOH\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL4\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\134\NUL9\NUL\241\NUL2\NUL3\NUL\238\SOH\CAN\NUL\EM\NUL:\STX:\NUL;\STX<\STX4\NUL5\NUL6\NUL7\NUL8\NUL@\STX\146\SOH\207\NUL\147\SOH\209\NUL\157\STX=\STX\146\NULc\NUL\233\SOH>\STX*\NUL1\NUL2\NUL3\NUL\207\SOHb\NULc\NUL\208\SOH\200\STX\140\NULj\NUL4\NUL5\NUL6\NUL7\NUL8\NUL}\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\201\STX\140\NULj\NUL\188\SOHT\STX\ACK\NULF\STX\a\NULW\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NULU\STX\234\NULV\STXy\SOH\149\SOHj\NUL\CAN\NUL\EM\NUL\205\STX\140\NULj\NULX\STXY\STX\ACK\NUL\156\NUL\a\NUL\134\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NULd\STX9\NUL\216\STX\166\NUL\167\NULf\STX\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL\ESC\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\SUB\SOH9\NUL\133\STXJ\STX\FS\SOH\GS\SOH\CAN\NUL\EM\NULi\STX:\NUL\ACK\STXk\SOH\170\NUL]\SOH^\SOHK\STXh\SOHO\NUL\134\NULP\NULL\STXM\STX\a\STXS\NULN\STXU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\165\NUL\166\NUL\167\NULt\SOH\216\NUL\185\NUL_\NUL\217\NULx\SOH|\SOHO\STX\230\SOH\166\NUL\167\NUL\218\NUL]\NUL^\NULs\SOH\231\SOH\166\NUL\167\NUL~\SOH\134\NUL_\NUL=\NUL\136\SOH\186\NUL=\NUL=\254\ACK\NULl\NUL\a\NUL\134\SOH\244\NUL\t\NUL\n\NULI\SOH\247\SOHb\NULc\NUL\208\SOH=\254m\NUL\229\255\134\SOH\ACK\NUL=\254\a\NUL=\NUL\244\NUL\t\NUL\ETX\SOH\165\STX\158\SOH\CAN\NUL\EM\NUL\142\SOH\206\NUL\207\NUL=\NUL=\254\170\NUL\143\NULb\NULc\NUL\208\SOH\132\NUL\215\NUL\134\NUL\197\SOH\CAN\NUL\EM\NUL?\SOH\205\SOHh\NUL\195\SOHj\NULn\NULo\NUL=\NULp\NUL\207\SOHq\NUL*\NUL\134\NULr\NUL\218\SOH\255\255s\NUL\138\NULt\NULu\NULv\NUL\221\NUL\165\NUL\166\NUL\167\NULw\NULx\NUL\139\NULy\NUL\136\STX\134\NULz\NUL{\NUL\142\NUL|\NUL}\NUL\134\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\233\NULh\NUL\144\SOHj\NUL=\NUL\255\255\132\NUL\133\NUL\134\NUL\135\NUL\ESC\NUL\SO\STX\140\NULj\NUL?\254\251\255\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\234\NUL\237\NUL#\NUL&\STX\166\NUL\167\NUL\ACK\NUL\243\NUL\a\NUL\241\NUL\244\NUL\t\NULa\STX$\NUL\244\NUL\203\NUL\248\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\252\NUL\210\NULb\NULc\NUL\208\SOH\253\NUL<\NUL=\NUL\CAN\NUL\EM\NUL%\NUL>\NULo\NUL?\NULp\NUL@\NULq\NUL=\254A\NULr\NULB\NULC\NULs\NUL\255\255t\NULu\NULv\NULD\NULE\NULF\NUL=\254w\NULx\NUL\254\NULy\NUL=\254G\NULz\NUL{\NUL&\NUL|\NUL}\NULH\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254I\NUL'\NUL(\NUL)\NUL*\NULJ\NULQ\STX\134\NULR\STX-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL4\STX\140\NULj\NUL\255\NUL\NUL\SOH\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\ACK\SOHo\NUL#\NUL\255\255\ETB\SOH\ACK\NUL\161\NUL\a\NUL\SUB\SOH\244\NUL\t\NUL\n\NULJ\SOH$\NULu\NULo\SOH\140\NULj\NUL\ESC\SOH\162\NUL\128\SOH\140\NULj\NULy\NUL\163\NUL\129\SOH\140\NULj\NUL\FS\SOH|\NUL\CAN\NUL\EM\NUL~\NUL%\NUL\128\NUL\215\255\GS\SOH\215\255\164\NUL\215\255\215\255\NUL\NUL\215\255\NUL\NUL\NUL\NUL\215\255\134\NUL\215\255\215\255\215\255\139\SOH\166\NUL\167\NUL\215\255\215\255\215\255\NUL\NUL\215\255\215\255\NUL\NUL\215\255\215\255&\NUL\215\255\215\255\NUL\NUL\215\255\215\255\215\255\215\255\215\255\215\255\215\255\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\215\255\215\255,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\165\NUL\166\NUL\167\NUL\NUL\NUL\174\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\209\SOHb\NULc\NULd\NUL\NUL\NUL\210\SOHg\NUL>\STX\NUL\NULO\NUL$\NULP\NUL\191\SOH\192\SOH\NUL\NULS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\139\NUL\140\NULj\NUL%\NUL\NUL\NULo\NUL_\NULp\NUL\NUL\NULq\NUL\194\SOH\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\165\NUL\166\NUL\167\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\211\SOHj\NULz\NUL{\NUL&\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\133\NUL\134\NULR\STX-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\180\NUL\140\NULj\NUL\NUL\NULY\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NULh\NUL\195\SOHj\NUL\141\SOHG\ETX\170\NUL\141\SOH\t\ETX\170\NUL$\NULZ\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\141\SOH\162\STX\170\NUL\141\SOH\168\STX\170\NUL\NUL\NUL\NUL\NUL\146\SOH\207\NUL=\NUL\NUL\NUL\NUL\NUL%\NUL\146\NULc\NUL\233\SOHp\NUL\SOH\STXq\NUL\170\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\STX\STX\141\SOH\206\SOH\170\NULw\NULx\NULh\NUL[\STXj\NUL\NUL\NULz\NUL{\NUL&\NUL\138\STX}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\133\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\149\SOHj\NUL\NUL\NUL<\254\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL8\SOH<\254\&9\SOH\NUL\NUL:\SOH;\SOH<\254\NUL\NUL<\SOH=\SOH$\NUL\NUL\NUL\225\NUL\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL<\254\210\NULb\NULc\NUL\208\SOH\NUL\NUL\132\NUL\NUL\NUL\134\NUL\NUL\NUL%\NUL\141\SOH\235\SOH\170\NULp\NULe\SOHq\NUL\170\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NULf\SOH(\SOH)\SOH*\SOHw\NULx\NUL\169\NUL\206\SOH\170\NUL\NUL\NULz\NUL{\NUL&\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\133\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL(\SOH)\SOH*\SOH<\254\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL<\254\174\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254+\STX\206\NUL\207\NUL$\NUL\NUL\NUL\NUL\NUL\209\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\ACK\NUL<\254\a\NUL\NUL\NUL\244\NUL\t\NULF\SOH<\NUL=\NUL\134\NUL\NUL\NUL%\NUL>\NUL\NUL\NUL?\NUL\NUL\NUL@\NUL\NUL\NUL\NUL\NULA\NUL\NUL\NULB\NULC\NUL\142\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NULD\NULE\NULF\NUL\NUL\NUL\NUL\NUL\143\NULb\NULc\NULd\NULG\NUL\144\NULg\NUL&\NUL\NUL\NUL\NUL\NULH\NUL\NUL\NUL\NUL\NUL\SOH\STX\NUL\NUL\170\NUL\ACK\ETXj\NULI\NUL'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\STX\STX,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\187\STX\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\145\NULj\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL%\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\161\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\162\NULe\SOH\NUL\NUL\170\NUL\NUL\NUL\163\NUL\132\NUL\159\NUL\134\NUL&\NUL<\254\NUL\NUL\ACK\NULf\SOH\a\NUL\NUL\NUL\244\NUL\t\NULG\SOH\164\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\SYN\STX\NUL\NUL\NUL\NUL#\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL$\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL%\NUL\179\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NUL\161\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\180\NUL\134\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\STX\162\NUL\170\NUL\NUL\NUL%\STX\NUL\NUL\163\NUL\161\STX\NUL\NUL\NUL\NUL&\NUL=\254\STX\STX\146\NULc\NUL\147\NUL&\STX\148\NULg\NUL\247\SOH\164\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\175\SOH\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\161\NUL\ACK\NUL\NUL\NUL\a\NUL\161\NUL\ACK\SOH\t\NUL\161\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NUL\149\NULj\NUL\NUL\NUL\162\NUL\163\NUL\NUL\NUL\162\NUL\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\163\NUL\CAN\NUL\EM\NUL%\NUL\ACK\NUL\NUL\NUL\a\NUL\164\NUL\b\SOH\t\NUL=\254\164\NUL\NUL\NUL\132\NUL\164\NUL\134\NUL\NUL\NUL\132\NUL\215\NUL\134\NUL\132\NUL\215\NUL\134\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\CAN\NUL\EM\NUL\NUL\NUL&\NUL\176\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL/\STX\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NULu\STX\NUL\NUL\214\NULv\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NULK\SOH\ESC\NUL$\NULu\STX\NUL\NUL\NUL\NULv\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\CAN\NUL\EM\NULw\STXf\ETX\161\NUL%\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL$\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULM\SOH\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\STX4\ETX\NUL\NUL%\NUL\NUL\NUL\CAN\NUL\EM\NUL&\NUL\NUL\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\215\NUL\134\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULQ\SOH'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\DC1\STX\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\146\SOH\207\NUL\147\SOH\209\NUL\"\STX\NUL\NUL\146\NULc\NUL\147\NUL$\NUL\148\NULg\NUL\ACK\NUL\ESC\NUL\a\NULu\STX\v\SOH\t\NULv\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254\CAN\NUL\EM\NUL$\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NULH\SOH\NUL\NUL<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254\NUL\NULw\STX\NUL\NUL&\NUL%\NUL\149\SOHj\NUL\NUL\NULe\SOH\NUL\NUL\170\NUL\CAN\NUL\EM\NUL<\254\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NULf\SOH\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULR\SOH'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\CAN\NUL\EM\NUL\161\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL$\NUL\244\NUL\t\NUL\ETX\SOH\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\164\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\134\NUL\NUL\NUL#\NUL%\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\161\NUL\NUL\NUL\ACK\NUL$\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULN\SOH\NUL\NUL\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULw\STX\NUL\NUL&\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\164\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\162\SOH\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\158\STX\206\NUL\207\NUL\159\STX\209\NUL\NUL\NUL\229\SOHb\NULc\NUL\208\SOH\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\203\SOH\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\230\STX\NUL\NUL\NUL\NUL\204\SOH\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NULL\SOH\ESC\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\156\NUL\NUL\NUL#\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\161\NUL%\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL$\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULO\SOH\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\STX\NUL\NUL\NUL\NUL%\NUL\NUL\NUL\CAN\NUL\EM\NUL&\NUL\NUL\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\NUL\NUL\134\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULP\SOH\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\146\SOH\207\NUL\147\SOH\209\NUL\"\STX\NUL\NUL\146\NULc\NUL\233\SOH\NUL\NUL$\NUL\ESC\NULE\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NULc\STX\NUL\NUL\ACK\NUL%\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL*\SOH\NUL\NUL$\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\CAN\NUL\EM\NUL\NUL\NUL%\NUL\NUL\NUL&\NUL\149\SOHj\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NULY\SOH\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL%\NUL\NUL\NUL&\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\f\SOH\t\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL&\NUL\CAN\NUL\EM\NUL\146\SOH\207\NUL\147\SOH\209\NUL)\STX\NUL\NUL\146\NULc\NUL\233\SOH'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STX\SOH$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\149\SOHj\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL%\NUL\209\STX\NUL\NUL\NUL\NUL&\NUL\142\SOH\206\NUL\207\NUL\143\SOH\209\NUL$\NUL\143\NULb\NULc\NUL\208\SOH\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\144\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\b\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\146\SOH\207\NUL\147\SOH\209\NUL\a\ETX\NUL\NUL\146\NULc\NUL\233\SOH\n\SOH$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STX\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\149\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULe\SOH\NUL\NUL\170\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NULf\SOH,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULl\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NULm\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL$\NULn\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL=\254\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\134\NUL\NUL\NUL%\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\ACK\STX\NUL\NUL\170\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\133\NUL\134\NUL\135\NUL&\NUL\NUL\NUL\a\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL-\SOH.\SOH/\SOH0\SOH1\SOH2\SOH3\SOH4\SOH5\SOH6\SOH7\SOH\NUL\NUL\SOH\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\STX\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\133\NUL\134\NUL\SOH\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\STX\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\133\NUL\134\NUL\SOH\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\STX\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\167\SOH\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\167\SOH\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NULe\SOHo\NUL\170\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULf\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\167\SOH\134\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NUL\ACK\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\a\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NULe\SOHo\NUL\170\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULf\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\203\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL\NUL\NULo\NUL\NUL\NULp\NUL\204\SOHq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\159\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULl\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NULm\NULr\NUL\NUL\NUL\203\SOHs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\204\SOHy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\SOH\STX\251\STX\170\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL\NUL\NUL\161\NUL\NUL\NUL\STX\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULp\NUL\162\NULq\NUL\NUL\NUL\NUL\NULr\NUL\163\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\164\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\132\NUL}\NUL\134\NUL\NUL\NUL\158\NUL=\254\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL=\254\NUL\NUL\NUL\NUL\176\SOH\177\SOH=\254S\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\132\NUL\NUL\NUL\134\NUL\181\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\146\SOH\207\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\146\NULc\NUL\233\SOH\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\\\STX\166\NUL\167\NUL]\STX^\STX\NUL\NUL\NUL\NUL\NUL\NUL\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\146\SOH\207\NUL\147\SOH\209\NUL)\STX_\NUL\146\NULc\NUL\147\NUL\181\SOH\148\NULg\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\199\STXj\NUL\146\NULc\NUL\233\SOH\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\\\STX\166\NUL\167\NUL]\STX^\STX\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\149\SOHj\NUL\181\SOH\146\SOH\207\NUL\147\SOH\209\NUL\148\SOH\NUL\NUL\146\NULc\NUL\233\SOH\NUL\NULh\NUL\204\STXj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\\\STX\166\NUL\167\NUL]\STX^\STX\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\146\SOH\207\NUL\147\SOH\209\NUL\148\SOH_\NUL\146\NULc\NUL\147\NUL\181\SOH\148\NULg\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\149\SOHj\NUL\NUL\NULh\NUL_\STXj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\185\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\181\SOH\149\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\186\SOHj\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\216\NUL\185\NUL\NUL\NUL\217\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\181\SOH\218\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\171\NUL\186\NUL\172\NUL\NUL\NULh\NUL\186\SOHj\NUL\206\STX\NUL\NUL\173\NUL]\NUL^\NUL\a\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL\NUL\NUL\b\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\252\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\253\SOH_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NULh\NUL\186\SOHj\NUL\NUL\NUL\151\NUL\NUL\NUL\152\NUL\NUL\NUL\171\NUL\NUL\NUL\172\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL\221\NUL\173\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL#\STX\207\NUL\NUL\NUL\NUL\NUL\254\SOH\255\SOH\200\SOHc\NUL\201\SOH\242\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\STX\166\NUL\167\NULx\STXy\STX\151\NUL\NUL\NUL\152\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\159\SOH\NUL\NUL\160\SOH\NUL\NUL\NUL\NUL\NUL\NUL\151\NUL\NUL\NUL\152\NUL\161\SOH]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL_\NUL\156\NUL\NUL\NUL\162\SOH\243\SOHj\NUL_\NUL\NUL\NULw\STX\166\NUL\167\NULx\STXy\STX\NUL\NUL\212\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\241\SOHb\NULc\NUL\208\SOH\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SO\SOHU\NUL_\NUL\SI\SOH\NUL\NUL\DLE\SOH\DC2\SOH\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\182\STX\NUL\NUL\NUL\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\129\STX\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\183\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NULU\SOH\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\239\SOH\DC1\SOH\\\NUL]\NUL^\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\ACK\NUL\DC2\SOH\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\240\SOH\NUL\NUL\FS\STX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\GS\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NULT\SOH\NUL\NUL\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH1\STX\DC1\SOH\\\NUL]\NUL^\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\ACK\NUL\DC2\SOH\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL2\STX\NUL\NUL\215\SOH\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\216\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\169\STXU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\247\STX\171\STX\172\STX\169\STXU\NUL_\NUL\SI\SOH\NUL\NUL\DLE\SOH\173\STX\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\170\STX\171\STX\172\STX\SO\SOHU\NUL_\NUL\SI\SOH\NUL\NUL\DLE\SOH\173\STX\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\SO\SOHU\NUL\DC2\SOH\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\NUL\NUL\132\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\174\STXj\NUL\NUL\NUL\SO\SOHU\NULm\SOH\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NULh\NUL\174\STXj\NUL\NUL\NUL\172\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\173\NUL]\NUL^\NUL\174\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL\209\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NULn\SOH\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL~\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\NUL\NUL^\SOH_\SOH\166\NUL\167\NUL`\SOHa\SOH\152\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\248\STX_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL\DEL\STX\236\STXj\NUL\249\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NULb\SOHc\SOH\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\162\SOH\NUL\NUL\NUL\NUL\NUL\NUL\DC2\STX\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\141\SOH\DC3\STX\DC4\STXj\NUL\142\SOH\206\NUL\207\NUL\143\SOH\209\NUL\NUL\NUL\143\NULb\NULc\NULd\NUL\NUL\NUL\144\NULg\NUL\NUL\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\170\SOH\NUL\NUL\NUL\NUL\174\NUL\185\STX\NUL\NUL\CAN\NUL\EM\NUL+\STX\206\NUL\207\NUL\NUL\NUL\156\NUL\NUL\NUL\209\SOHb\NULc\NUL\208\SOHh\NUL\144\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL~\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\172\SOH\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\173\SOHj\NUL\197\STX\DEL\STX\237\STXj\NUL\142\SOH\206\NUL\207\NUL\202\STX\159\NUL\NUL\NUL\143\NULb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\143\NULb\NULc\NUL\208\SOH\NUL\NULZ\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NULZ\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\192\STX\NUL\NULh\NUL\198\STXj\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NULh\NUL\203\STXj\NUL\176\STX\NUL\NUL\ENQ\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\176\STX\NUL\NUL\177\STX\NUL\NUL\NUL\NUL\133\NUL\134\NUL\178\STXp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\192\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NULo\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\161\NUL\NUL\NUL\133\NUL\134\NUL\178\STX\195\NUL\NUL\NUL\NUL\NULu\NUL\NUL\NUL\NUL\NULo\NUL\NUL\NUL\162\NUL\NUL\NUL\NUL\NUL\161\NULy\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\NULu\NUL\NUL\NUL~\NUL\NUL\NUL\128\NUL\162\NUL\NUL\NUL\NUL\NUL\164\NULy\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\NUL\134\NUL\NUL\NUL~\NUL\NUL\NUL\128\NUL=\NUL\NUL\NUL\NUL\NUL\164\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\208\STX\133\NUL\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\188\SOH\133\NUL\134\NUL;\254\NUL\NUL;\254\NUL\NUL;\254;\254\NUL\NUL;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL;\254;\254;\254\NUL\NUL\NUL\NUL\NUL\NUL;\254;\254;\254\NUL\NUL;\254;\254\NUL\NUL;\254;\254\NUL\NUL;\254;\254\NUL\NUL;\254;\254;\254;\254;\254;\254;\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL;\254;\254o\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\167\SOH\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\133\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\159\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NUL\NUL\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL\NUL\NUL\NUL\NUL~\NUL\NUL\NUL\128\NUL\NUL\NUL\130\NUL\131\NUL\164\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NUL\178\STXp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\166\SOH\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\167\SOH\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\179\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NUL;\254\NUL\NUL;\254;\254\NUL\NUL;\254\180\NUL\134\NUL;\254\NUL\NUL;\254\NUL\NUL;\254\NUL\NUL\NUL\NUL\NUL\NUL;\254;\254;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL;\254;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL;\254;\254;\254;\254p\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL;\254;\254s\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\166\SOH\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\167\SOH\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\133\NUL\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\158\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\159\NUL\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\133\NUL\134\NULs\NUL\NUL\NUL\NUL\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULl\STX\134\NUL'\ETXn\STXo\STXp\STXq\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NULl\STXs\STXm\STXn\STXo\STXp\STXq\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL1\ETXs\STX\NUL\NUL2\ETXo\STXp\STXq\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NULs\STX\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\227\STX\CAN\NUL\EM\NUL\NUL\NULg\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\228\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL.\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\215\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SI\STX\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\156\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NULC\ETX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NULD\ETX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NUL\147\STX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NUL\148\STX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NUL\235\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULw\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULx\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULa\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL:\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\146\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULA\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NULB\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULC\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULW\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULZ\SOH\NUL\NUL\NUL\NUL[\SOH\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULz\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL|\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL~\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\DEL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\ETB\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULV\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULX\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL[\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULf\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULG\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULM\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULQ\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\232\STX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\238\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL)\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULi\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULk\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL@\STX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULE\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULl\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\246\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NULj\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NULd\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NULY\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NULV\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NULS\SOH\STX\STX\206\NUL\207\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETX\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EOT\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\t\STX\206\NUL\207\NUL\NUL\NUL\NUL\NUL\NUL\NUL\n\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULY\ETX\v\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\STX\ETX\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\SOH\ETX\244\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\STX\ETX\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH\203\NUL\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH\225\NUL\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH7\STX\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL")))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduceArr")) (UnGuardedRhs (App (App (Var (UnQual (Ident "array"))) (Tuple Boxed [Lit (Int 4),Lit (Int 463)])) (List [Tuple Boxed [Lit (Int 4),Var (UnQual (Ident "happyReduce_4"))],Tuple Boxed [Lit (Int 5),Var (UnQual (Ident "happyReduce_5"))],Tuple Boxed [Lit (Int 6),Var (UnQual (Ident "happyReduce_6"))],Tuple Boxed [Lit (Int 7),Var (UnQual (Ident "happyReduce_7"))],Tuple Boxed [Lit (Int 8),Var (UnQual (Ident "happyReduce_8"))],Tuple Boxed [Lit (Int 9),Var (UnQual (Ident "happyReduce_9"))],Tuple Boxed [Lit (Int 10),Var (UnQual (Ident "happyReduce_10"))],Tuple Boxed [Lit (Int 11),Var (UnQual (Ident "happyReduce_11"))],Tuple Boxed [Lit (Int 12),Var (UnQual (Ident "happyReduce_12"))],Tuple Boxed [Lit (Int 13),Var (UnQual (Ident "happyReduce_13"))],Tuple Boxed [Lit (Int 14),Var (UnQual (Ident "happyReduce_14"))],Tuple Boxed [Lit (Int 15),Var (UnQual (Ident "happyReduce_15"))],Tuple Boxed [Lit (Int 16),Var (UnQual (Ident "happyReduce_16"))],Tuple Boxed [Lit (Int 17),Var (UnQual (Ident "happyReduce_17"))],Tuple Boxed [Lit (Int 18),Var (UnQual (Ident "happyReduce_18"))],Tuple Boxed [Lit (Int 19),Var (UnQual (Ident "happyReduce_19"))],Tuple Boxed [Lit (Int 20),Var (UnQual (Ident "happyReduce_20"))],Tuple Boxed [Lit (Int 21),Var (UnQual (Ident "happyReduce_21"))],Tuple Boxed [Lit (Int 22),Var (UnQual (Ident "happyReduce_22"))],Tuple Boxed [Lit (Int 23),Var (UnQual (Ident "happyReduce_23"))],Tuple Boxed [Lit (Int 24),Var (UnQual (Ident "happyReduce_24"))],Tuple Boxed [Lit (Int 25),Var (UnQual (Ident "happyReduce_25"))],Tuple Boxed [Lit (Int 26),Var (UnQual (Ident "happyReduce_26"))],Tuple Boxed [Lit (Int 27),Var (UnQual (Ident "happyReduce_27"))],Tuple Boxed [Lit (Int 28),Var (UnQual (Ident "happyReduce_28"))],Tuple Boxed [Lit (Int 29),Var (UnQual (Ident "happyReduce_29"))],Tuple Boxed [Lit (Int 30),Var (UnQual (Ident "happyReduce_30"))],Tuple Boxed [Lit (Int 31),Var (UnQual (Ident "happyReduce_31"))],Tuple Boxed [Lit (Int 32),Var (UnQual (Ident "happyReduce_32"))],Tuple Boxed [Lit (Int 33),Var (UnQual (Ident "happyReduce_33"))],Tuple Boxed [Lit (Int 34),Var (UnQual (Ident "happyReduce_34"))],Tuple Boxed [Lit (Int 35),Var (UnQual (Ident "happyReduce_35"))],Tuple Boxed [Lit (Int 36),Var (UnQual (Ident "happyReduce_36"))],Tuple Boxed [Lit (Int 37),Var (UnQual (Ident "happyReduce_37"))],Tuple Boxed [Lit (Int 38),Var (UnQual (Ident "happyReduce_38"))],Tuple Boxed [Lit (Int 39),Var (UnQual (Ident "happyReduce_39"))],Tuple Boxed [Lit (Int 40),Var (UnQual (Ident "happyReduce_40"))],Tuple Boxed [Lit (Int 41),Var (UnQual (Ident "happyReduce_41"))],Tuple Boxed [Lit (Int 42),Var (UnQual (Ident "happyReduce_42"))],Tuple Boxed [Lit (Int 43),Var (UnQual (Ident "happyReduce_43"))],Tuple Boxed [Lit (Int 44),Var (UnQual (Ident "happyReduce_44"))],Tuple Boxed [Lit (Int 45),Var (UnQual (Ident "happyReduce_45"))],Tuple Boxed [Lit (Int 46),Var (UnQual (Ident "happyReduce_46"))],Tuple Boxed [Lit (Int 47),Var (UnQual (Ident "happyReduce_47"))],Tuple Boxed [Lit (Int 48),Var (UnQual (Ident "happyReduce_48"))],Tuple Boxed [Lit (Int 49),Var (UnQual (Ident "happyReduce_49"))],Tuple Boxed [Lit (Int 50),Var (UnQual (Ident "happyReduce_50"))],Tuple Boxed [Lit (Int 51),Var (UnQual (Ident "happyReduce_51"))],Tuple Boxed [Lit (Int 52),Var (UnQual (Ident "happyReduce_52"))],Tuple Boxed [Lit (Int 53),Var (UnQual (Ident "happyReduce_53"))],Tuple Boxed [Lit (Int 54),Var (UnQual (Ident "happyReduce_54"))],Tuple Boxed [Lit (Int 55),Var (UnQual (Ident "happyReduce_55"))],Tuple Boxed [Lit (Int 56),Var (UnQual (Ident "happyReduce_56"))],Tuple Boxed [Lit (Int 57),Var (UnQual (Ident "happyReduce_57"))],Tuple Boxed [Lit (Int 58),Var (UnQual (Ident "happyReduce_58"))],Tuple Boxed [Lit (Int 59),Var (UnQual (Ident "happyReduce_59"))],Tuple Boxed [Lit (Int 60),Var (UnQual (Ident "happyReduce_60"))],Tuple Boxed [Lit (Int 61),Var (UnQual (Ident "happyReduce_61"))],Tuple Boxed [Lit (Int 62),Var (UnQual (Ident "happyReduce_62"))],Tuple Boxed [Lit (Int 63),Var (UnQual (Ident "happyReduce_63"))],Tuple Boxed [Lit (Int 64),Var (UnQual (Ident "happyReduce_64"))],Tuple Boxed [Lit (Int 65),Var (UnQual (Ident "happyReduce_65"))],Tuple Boxed [Lit (Int 66),Var (UnQual (Ident "happyReduce_66"))],Tuple Boxed [Lit (Int 67),Var (UnQual (Ident "happyReduce_67"))],Tuple Boxed [Lit (Int 68),Var (UnQual (Ident "happyReduce_68"))],Tuple Boxed [Lit (Int 69),Var (UnQual (Ident "happyReduce_69"))],Tuple Boxed [Lit (Int 70),Var (UnQual (Ident "happyReduce_70"))],Tuple Boxed [Lit (Int 71),Var (UnQual (Ident "happyReduce_71"))],Tuple Boxed [Lit (Int 72),Var (UnQual (Ident "happyReduce_72"))],Tuple Boxed [Lit (Int 73),Var (UnQual (Ident "happyReduce_73"))],Tuple Boxed [Lit (Int 74),Var (UnQual (Ident "happyReduce_74"))],Tuple Boxed [Lit (Int 75),Var (UnQual (Ident "happyReduce_75"))],Tuple Boxed [Lit (Int 76),Var (UnQual (Ident "happyReduce_76"))],Tuple Boxed [Lit (Int 77),Var (UnQual (Ident "happyReduce_77"))],Tuple Boxed [Lit (Int 78),Var (UnQual (Ident "happyReduce_78"))],Tuple Boxed [Lit (Int 79),Var (UnQual (Ident "happyReduce_79"))],Tuple Boxed [Lit (Int 80),Var (UnQual (Ident "happyReduce_80"))],Tuple Boxed [Lit (Int 81),Var (UnQual (Ident "happyReduce_81"))],Tuple Boxed [Lit (Int 82),Var (UnQual (Ident "happyReduce_82"))],Tuple Boxed [Lit (Int 83),Var (UnQual (Ident "happyReduce_83"))],Tuple Boxed [Lit (Int 84),Var (UnQual (Ident "happyReduce_84"))],Tuple Boxed [Lit (Int 85),Var (UnQual (Ident "happyReduce_85"))],Tuple Boxed [Lit (Int 86),Var (UnQual (Ident "happyReduce_86"))],Tuple Boxed [Lit (Int 87),Var (UnQual (Ident "happyReduce_87"))],Tuple Boxed [Lit (Int 88),Var (UnQual (Ident "happyReduce_88"))],Tuple Boxed [Lit (Int 89),Var (UnQual (Ident "happyReduce_89"))],Tuple Boxed [Lit (Int 90),Var (UnQual (Ident "happyReduce_90"))],Tuple Boxed [Lit (Int 91),Var (UnQual (Ident "happyReduce_91"))],Tuple Boxed [Lit (Int 92),Var (UnQual (Ident "happyReduce_92"))],Tuple Boxed [Lit (Int 93),Var (UnQual (Ident "happyReduce_93"))],Tuple Boxed [Lit (Int 94),Var (UnQual (Ident "happyReduce_94"))],Tuple Boxed [Lit (Int 95),Var (UnQual (Ident "happyReduce_95"))],Tuple Boxed [Lit (Int 96),Var (UnQual (Ident "happyReduce_96"))],Tuple Boxed [Lit (Int 97),Var (UnQual (Ident "happyReduce_97"))],Tuple Boxed [Lit (Int 98),Var (UnQual (Ident "happyReduce_98"))],Tuple Boxed [Lit (Int 99),Var (UnQual (Ident "happyReduce_99"))],Tuple Boxed [Lit (Int 100),Var (UnQual (Ident "happyReduce_100"))],Tuple Boxed [Lit (Int 101),Var (UnQual (Ident "happyReduce_101"))],Tuple Boxed [Lit (Int 102),Var (UnQual (Ident "happyReduce_102"))],Tuple Boxed [Lit (Int 103),Var (UnQual (Ident "happyReduce_103"))],Tuple Boxed [Lit (Int 104),Var (UnQual (Ident "happyReduce_104"))],Tuple Boxed [Lit (Int 105),Var (UnQual (Ident "happyReduce_105"))],Tuple Boxed [Lit (Int 106),Var (UnQual (Ident "happyReduce_106"))],Tuple Boxed [Lit (Int 107),Var (UnQual (Ident "happyReduce_107"))],Tuple Boxed [Lit (Int 108),Var (UnQual (Ident "happyReduce_108"))],Tuple Boxed [Lit (Int 109),Var (UnQual (Ident "happyReduce_109"))],Tuple Boxed [Lit (Int 110),Var (UnQual (Ident "happyReduce_110"))],Tuple Boxed [Lit (Int 111),Var (UnQual (Ident "happyReduce_111"))],Tuple Boxed [Lit (Int 112),Var (UnQual (Ident "happyReduce_112"))],Tuple Boxed [Lit (Int 113),Var (UnQual (Ident "happyReduce_113"))],Tuple Boxed [Lit (Int 114),Var (UnQual (Ident "happyReduce_114"))],Tuple Boxed [Lit (Int 115),Var (UnQual (Ident "happyReduce_115"))],Tuple Boxed [Lit (Int 116),Var (UnQual (Ident "happyReduce_116"))],Tuple Boxed [Lit (Int 117),Var (UnQual (Ident "happyReduce_117"))],Tuple Boxed [Lit (Int 118),Var (UnQual (Ident "happyReduce_118"))],Tuple Boxed [Lit (Int 119),Var (UnQual (Ident "happyReduce_119"))],Tuple Boxed [Lit (Int 120),Var (UnQual (Ident "happyReduce_120"))],Tuple Boxed [Lit (Int 121),Var (UnQual (Ident "happyReduce_121"))],Tuple Boxed [Lit (Int 122),Var (UnQual (Ident "happyReduce_122"))],Tuple Boxed [Lit (Int 123),Var (UnQual (Ident "happyReduce_123"))],Tuple Boxed [Lit (Int 124),Var (UnQual (Ident "happyReduce_124"))],Tuple Boxed [Lit (Int 125),Var (UnQual (Ident "happyReduce_125"))],Tuple Boxed [Lit (Int 126),Var (UnQual (Ident "happyReduce_126"))],Tuple Boxed [Lit (Int 127),Var (UnQual (Ident "happyReduce_127"))],Tuple Boxed [Lit (Int 128),Var (UnQual (Ident "happyReduce_128"))],Tuple Boxed [Lit (Int 129),Var (UnQual (Ident "happyReduce_129"))],Tuple Boxed [Lit (Int 130),Var (UnQual (Ident "happyReduce_130"))],Tuple Boxed [Lit (Int 131),Var (UnQual (Ident "happyReduce_131"))],Tuple Boxed [Lit (Int 132),Var (UnQual (Ident "happyReduce_132"))],Tuple Boxed [Lit (Int 133),Var (UnQual (Ident "happyReduce_133"))],Tuple Boxed [Lit (Int 134),Var (UnQual (Ident "happyReduce_134"))],Tuple Boxed [Lit (Int 135),Var (UnQual (Ident "happyReduce_135"))],Tuple Boxed [Lit (Int 136),Var (UnQual (Ident "happyReduce_136"))],Tuple Boxed [Lit (Int 137),Var (UnQual (Ident "happyReduce_137"))],Tuple Boxed [Lit (Int 138),Var (UnQual (Ident "happyReduce_138"))],Tuple Boxed [Lit (Int 139),Var (UnQual (Ident "happyReduce_139"))],Tuple Boxed [Lit (Int 140),Var (UnQual (Ident "happyReduce_140"))],Tuple Boxed [Lit (Int 141),Var (UnQual (Ident "happyReduce_141"))],Tuple Boxed [Lit (Int 142),Var (UnQual (Ident "happyReduce_142"))],Tuple Boxed [Lit (Int 143),Var (UnQual (Ident "happyReduce_143"))],Tuple Boxed [Lit (Int 144),Var (UnQual (Ident "happyReduce_144"))],Tuple Boxed [Lit (Int 145),Var (UnQual (Ident "happyReduce_145"))],Tuple Boxed [Lit (Int 146),Var (UnQual (Ident "happyReduce_146"))],Tuple Boxed [Lit (Int 147),Var (UnQual (Ident "happyReduce_147"))],Tuple Boxed [Lit (Int 148),Var (UnQual (Ident "happyReduce_148"))],Tuple Boxed [Lit (Int 149),Var (UnQual (Ident "happyReduce_149"))],Tuple Boxed [Lit (Int 150),Var (UnQual (Ident "happyReduce_150"))],Tuple Boxed [Lit (Int 151),Var (UnQual (Ident "happyReduce_151"))],Tuple Boxed [Lit (Int 152),Var (UnQual (Ident "happyReduce_152"))],Tuple Boxed [Lit (Int 153),Var (UnQual (Ident "happyReduce_153"))],Tuple Boxed [Lit (Int 154),Var (UnQual (Ident "happyReduce_154"))],Tuple Boxed [Lit (Int 155),Var (UnQual (Ident "happyReduce_155"))],Tuple Boxed [Lit (Int 156),Var (UnQual (Ident "happyReduce_156"))],Tuple Boxed [Lit (Int 157),Var (UnQual (Ident "happyReduce_157"))],Tuple Boxed [Lit (Int 158),Var (UnQual (Ident "happyReduce_158"))],Tuple Boxed [Lit (Int 159),Var (UnQual (Ident "happyReduce_159"))],Tuple Boxed [Lit (Int 160),Var (UnQual (Ident "happyReduce_160"))],Tuple Boxed [Lit (Int 161),Var (UnQual (Ident "happyReduce_161"))],Tuple Boxed [Lit (Int 162),Var (UnQual (Ident "happyReduce_162"))],Tuple Boxed [Lit (Int 163),Var (UnQual (Ident "happyReduce_163"))],Tuple Boxed [Lit (Int 164),Var (UnQual (Ident "happyReduce_164"))],Tuple Boxed [Lit (Int 165),Var (UnQual (Ident "happyReduce_165"))],Tuple Boxed [Lit (Int 166),Var (UnQual (Ident "happyReduce_166"))],Tuple Boxed [Lit (Int 167),Var (UnQual (Ident "happyReduce_167"))],Tuple Boxed [Lit (Int 168),Var (UnQual (Ident "happyReduce_168"))],Tuple Boxed [Lit (Int 169),Var (UnQual (Ident "happyReduce_169"))],Tuple Boxed [Lit (Int 170),Var (UnQual (Ident "happyReduce_170"))],Tuple Boxed [Lit (Int 171),Var (UnQual (Ident "happyReduce_171"))],Tuple Boxed [Lit (Int 172),Var (UnQual (Ident "happyReduce_172"))],Tuple Boxed [Lit (Int 173),Var (UnQual (Ident "happyReduce_173"))],Tuple Boxed [Lit (Int 174),Var (UnQual (Ident "happyReduce_174"))],Tuple Boxed [Lit (Int 175),Var (UnQual (Ident "happyReduce_175"))],Tuple Boxed [Lit (Int 176),Var (UnQual (Ident "happyReduce_176"))],Tuple Boxed [Lit (Int 177),Var (UnQual (Ident "happyReduce_177"))],Tuple Boxed [Lit (Int 178),Var (UnQual (Ident "happyReduce_178"))],Tuple Boxed [Lit (Int 179),Var (UnQual (Ident "happyReduce_179"))],Tuple Boxed [Lit (Int 180),Var (UnQual (Ident "happyReduce_180"))],Tuple Boxed [Lit (Int 181),Var (UnQual (Ident "happyReduce_181"))],Tuple Boxed [Lit (Int 182),Var (UnQual (Ident "happyReduce_182"))],Tuple Boxed [Lit (Int 183),Var (UnQual (Ident "happyReduce_183"))],Tuple Boxed [Lit (Int 184),Var (UnQual (Ident "happyReduce_184"))],Tuple Boxed [Lit (Int 185),Var (UnQual (Ident "happyReduce_185"))],Tuple Boxed [Lit (Int 186),Var (UnQual (Ident "happyReduce_186"))],Tuple Boxed [Lit (Int 187),Var (UnQual (Ident "happyReduce_187"))],Tuple Boxed [Lit (Int 188),Var (UnQual (Ident "happyReduce_188"))],Tuple Boxed [Lit (Int 189),Var (UnQual (Ident "happyReduce_189"))],Tuple Boxed [Lit (Int 190),Var (UnQual (Ident "happyReduce_190"))],Tuple Boxed [Lit (Int 191),Var (UnQual (Ident "happyReduce_191"))],Tuple Boxed [Lit (Int 192),Var (UnQual (Ident "happyReduce_192"))],Tuple Boxed [Lit (Int 193),Var (UnQual (Ident "happyReduce_193"))],Tuple Boxed [Lit (Int 194),Var (UnQual (Ident "happyReduce_194"))],Tuple Boxed [Lit (Int 195),Var (UnQual (Ident "happyReduce_195"))],Tuple Boxed [Lit (Int 196),Var (UnQual (Ident "happyReduce_196"))],Tuple Boxed [Lit (Int 197),Var (UnQual (Ident "happyReduce_197"))],Tuple Boxed [Lit (Int 198),Var (UnQual (Ident "happyReduce_198"))],Tuple Boxed [Lit (Int 199),Var (UnQual (Ident "happyReduce_199"))],Tuple Boxed [Lit (Int 200),Var (UnQual (Ident "happyReduce_200"))],Tuple Boxed [Lit (Int 201),Var (UnQual (Ident "happyReduce_201"))],Tuple Boxed [Lit (Int 202),Var (UnQual (Ident "happyReduce_202"))],Tuple Boxed [Lit (Int 203),Var (UnQual (Ident "happyReduce_203"))],Tuple Boxed [Lit (Int 204),Var (UnQual (Ident "happyReduce_204"))],Tuple Boxed [Lit (Int 205),Var (UnQual (Ident "happyReduce_205"))],Tuple Boxed [Lit (Int 206),Var (UnQual (Ident "happyReduce_206"))],Tuple Boxed [Lit (Int 207),Var (UnQual (Ident "happyReduce_207"))],Tuple Boxed [Lit (Int 208),Var (UnQual (Ident "happyReduce_208"))],Tuple Boxed [Lit (Int 209),Var (UnQual (Ident "happyReduce_209"))],Tuple Boxed [Lit (Int 210),Var (UnQual (Ident "happyReduce_210"))],Tuple Boxed [Lit (Int 211),Var (UnQual (Ident "happyReduce_211"))],Tuple Boxed [Lit (Int 212),Var (UnQual (Ident "happyReduce_212"))],Tuple Boxed [Lit (Int 213),Var (UnQual (Ident "happyReduce_213"))],Tuple Boxed [Lit (Int 214),Var (UnQual (Ident "happyReduce_214"))],Tuple Boxed [Lit (Int 215),Var (UnQual (Ident "happyReduce_215"))],Tuple Boxed [Lit (Int 216),Var (UnQual (Ident "happyReduce_216"))],Tuple Boxed [Lit (Int 217),Var (UnQual (Ident "happyReduce_217"))],Tuple Boxed [Lit (Int 218),Var (UnQual (Ident "happyReduce_218"))],Tuple Boxed [Lit (Int 219),Var (UnQual (Ident "happyReduce_219"))],Tuple Boxed [Lit (Int 220),Var (UnQual (Ident "happyReduce_220"))],Tuple Boxed [Lit (Int 221),Var (UnQual (Ident "happyReduce_221"))],Tuple Boxed [Lit (Int 222),Var (UnQual (Ident "happyReduce_222"))],Tuple Boxed [Lit (Int 223),Var (UnQual (Ident "happyReduce_223"))],Tuple Boxed [Lit (Int 224),Var (UnQual (Ident "happyReduce_224"))],Tuple Boxed [Lit (Int 225),Var (UnQual (Ident "happyReduce_225"))],Tuple Boxed [Lit (Int 226),Var (UnQual (Ident "happyReduce_226"))],Tuple Boxed [Lit (Int 227),Var (UnQual (Ident "happyReduce_227"))],Tuple Boxed [Lit (Int 228),Var (UnQual (Ident "happyReduce_228"))],Tuple Boxed [Lit (Int 229),Var (UnQual (Ident "happyReduce_229"))],Tuple Boxed [Lit (Int 230),Var (UnQual (Ident "happyReduce_230"))],Tuple Boxed [Lit (Int 231),Var (UnQual (Ident "happyReduce_231"))],Tuple Boxed [Lit (Int 232),Var (UnQual (Ident "happyReduce_232"))],Tuple Boxed [Lit (Int 233),Var (UnQual (Ident "happyReduce_233"))],Tuple Boxed [Lit (Int 234),Var (UnQual (Ident "happyReduce_234"))],Tuple Boxed [Lit (Int 235),Var (UnQual (Ident "happyReduce_235"))],Tuple Boxed [Lit (Int 236),Var (UnQual (Ident "happyReduce_236"))],Tuple Boxed [Lit (Int 237),Var (UnQual (Ident "happyReduce_237"))],Tuple Boxed [Lit (Int 238),Var (UnQual (Ident "happyReduce_238"))],Tuple Boxed [Lit (Int 239),Var (UnQual (Ident "happyReduce_239"))],Tuple Boxed [Lit (Int 240),Var (UnQual (Ident "happyReduce_240"))],Tuple Boxed [Lit (Int 241),Var (UnQual (Ident "happyReduce_241"))],Tuple Boxed [Lit (Int 242),Var (UnQual (Ident "happyReduce_242"))],Tuple Boxed [Lit (Int 243),Var (UnQual (Ident "happyReduce_243"))],Tuple Boxed [Lit (Int 244),Var (UnQual (Ident "happyReduce_244"))],Tuple Boxed [Lit (Int 245),Var (UnQual (Ident "happyReduce_245"))],Tuple Boxed [Lit (Int 246),Var (UnQual (Ident "happyReduce_246"))],Tuple Boxed [Lit (Int 247),Var (UnQual (Ident "happyReduce_247"))],Tuple Boxed [Lit (Int 248),Var (UnQual (Ident "happyReduce_248"))],Tuple Boxed [Lit (Int 249),Var (UnQual (Ident "happyReduce_249"))],Tuple Boxed [Lit (Int 250),Var (UnQual (Ident "happyReduce_250"))],Tuple Boxed [Lit (Int 251),Var (UnQual (Ident "happyReduce_251"))],Tuple Boxed [Lit (Int 252),Var (UnQual (Ident "happyReduce_252"))],Tuple Boxed [Lit (Int 253),Var (UnQual (Ident "happyReduce_253"))],Tuple Boxed [Lit (Int 254),Var (UnQual (Ident "happyReduce_254"))],Tuple Boxed [Lit (Int 255),Var (UnQual (Ident "happyReduce_255"))],Tuple Boxed [Lit (Int 256),Var (UnQual (Ident "happyReduce_256"))],Tuple Boxed [Lit (Int 257),Var (UnQual (Ident "happyReduce_257"))],Tuple Boxed [Lit (Int 258),Var (UnQual (Ident "happyReduce_258"))],Tuple Boxed [Lit (Int 259),Var (UnQual (Ident "happyReduce_259"))],Tuple Boxed [Lit (Int 260),Var (UnQual (Ident "happyReduce_260"))],Tuple Boxed [Lit (Int 261),Var (UnQual (Ident "happyReduce_261"))],Tuple Boxed [Lit (Int 262),Var (UnQual (Ident "happyReduce_262"))],Tuple Boxed [Lit (Int 263),Var (UnQual (Ident "happyReduce_263"))],Tuple Boxed [Lit (Int 264),Var (UnQual (Ident "happyReduce_264"))],Tuple Boxed [Lit (Int 265),Var (UnQual (Ident "happyReduce_265"))],Tuple Boxed [Lit (Int 266),Var (UnQual (Ident "happyReduce_266"))],Tuple Boxed [Lit (Int 267),Var (UnQual (Ident "happyReduce_267"))],Tuple Boxed [Lit (Int 268),Var (UnQual (Ident "happyReduce_268"))],Tuple Boxed [Lit (Int 269),Var (UnQual (Ident "happyReduce_269"))],Tuple Boxed [Lit (Int 270),Var (UnQual (Ident "happyReduce_270"))],Tuple Boxed [Lit (Int 271),Var (UnQual (Ident "happyReduce_271"))],Tuple Boxed [Lit (Int 272),Var (UnQual (Ident "happyReduce_272"))],Tuple Boxed [Lit (Int 273),Var (UnQual (Ident "happyReduce_273"))],Tuple Boxed [Lit (Int 274),Var (UnQual (Ident "happyReduce_274"))],Tuple Boxed [Lit (Int 275),Var (UnQual (Ident "happyReduce_275"))],Tuple Boxed [Lit (Int 276),Var (UnQual (Ident "happyReduce_276"))],Tuple Boxed [Lit (Int 277),Var (UnQual (Ident "happyReduce_277"))],Tuple Boxed [Lit (Int 278),Var (UnQual (Ident "happyReduce_278"))],Tuple Boxed [Lit (Int 279),Var (UnQual (Ident "happyReduce_279"))],Tuple Boxed [Lit (Int 280),Var (UnQual (Ident "happyReduce_280"))],Tuple Boxed [Lit (Int 281),Var (UnQual (Ident "happyReduce_281"))],Tuple Boxed [Lit (Int 282),Var (UnQual (Ident "happyReduce_282"))],Tuple Boxed [Lit (Int 283),Var (UnQual (Ident "happyReduce_283"))],Tuple Boxed [Lit (Int 284),Var (UnQual (Ident "happyReduce_284"))],Tuple Boxed [Lit (Int 285),Var (UnQual (Ident "happyReduce_285"))],Tuple Boxed [Lit (Int 286),Var (UnQual (Ident "happyReduce_286"))],Tuple Boxed [Lit (Int 287),Var (UnQual (Ident "happyReduce_287"))],Tuple Boxed [Lit (Int 288),Var (UnQual (Ident "happyReduce_288"))],Tuple Boxed [Lit (Int 289),Var (UnQual (Ident "happyReduce_289"))],Tuple Boxed [Lit (Int 290),Var (UnQual (Ident "happyReduce_290"))],Tuple Boxed [Lit (Int 291),Var (UnQual (Ident "happyReduce_291"))],Tuple Boxed [Lit (Int 292),Var (UnQual (Ident "happyReduce_292"))],Tuple Boxed [Lit (Int 293),Var (UnQual (Ident "happyReduce_293"))],Tuple Boxed [Lit (Int 294),Var (UnQual (Ident "happyReduce_294"))],Tuple Boxed [Lit (Int 295),Var (UnQual (Ident "happyReduce_295"))],Tuple Boxed [Lit (Int 296),Var (UnQual (Ident "happyReduce_296"))],Tuple Boxed [Lit (Int 297),Var (UnQual (Ident "happyReduce_297"))],Tuple Boxed [Lit (Int 298),Var (UnQual (Ident "happyReduce_298"))],Tuple Boxed [Lit (Int 299),Var (UnQual (Ident "happyReduce_299"))],Tuple Boxed [Lit (Int 300),Var (UnQual (Ident "happyReduce_300"))],Tuple Boxed [Lit (Int 301),Var (UnQual (Ident "happyReduce_301"))],Tuple Boxed [Lit (Int 302),Var (UnQual (Ident "happyReduce_302"))],Tuple Boxed [Lit (Int 303),Var (UnQual (Ident "happyReduce_303"))],Tuple Boxed [Lit (Int 304),Var (UnQual (Ident "happyReduce_304"))],Tuple Boxed [Lit (Int 305),Var (UnQual (Ident "happyReduce_305"))],Tuple Boxed [Lit (Int 306),Var (UnQual (Ident "happyReduce_306"))],Tuple Boxed [Lit (Int 307),Var (UnQual (Ident "happyReduce_307"))],Tuple Boxed [Lit (Int 308),Var (UnQual (Ident "happyReduce_308"))],Tuple Boxed [Lit (Int 309),Var (UnQual (Ident "happyReduce_309"))],Tuple Boxed [Lit (Int 310),Var (UnQual (Ident "happyReduce_310"))],Tuple Boxed [Lit (Int 311),Var (UnQual (Ident "happyReduce_311"))],Tuple Boxed [Lit (Int 312),Var (UnQual (Ident "happyReduce_312"))],Tuple Boxed [Lit (Int 313),Var (UnQual (Ident "happyReduce_313"))],Tuple Boxed [Lit (Int 314),Var (UnQual (Ident "happyReduce_314"))],Tuple Boxed [Lit (Int 315),Var (UnQual (Ident "happyReduce_315"))],Tuple Boxed [Lit (Int 316),Var (UnQual (Ident "happyReduce_316"))],Tuple Boxed [Lit (Int 317),Var (UnQual (Ident "happyReduce_317"))],Tuple Boxed [Lit (Int 318),Var (UnQual (Ident "happyReduce_318"))],Tuple Boxed [Lit (Int 319),Var (UnQual (Ident "happyReduce_319"))],Tuple Boxed [Lit (Int 320),Var (UnQual (Ident "happyReduce_320"))],Tuple Boxed [Lit (Int 321),Var (UnQual (Ident "happyReduce_321"))],Tuple Boxed [Lit (Int 322),Var (UnQual (Ident "happyReduce_322"))],Tuple Boxed [Lit (Int 323),Var (UnQual (Ident "happyReduce_323"))],Tuple Boxed [Lit (Int 324),Var (UnQual (Ident "happyReduce_324"))],Tuple Boxed [Lit (Int 325),Var (UnQual (Ident "happyReduce_325"))],Tuple Boxed [Lit (Int 326),Var (UnQual (Ident "happyReduce_326"))],Tuple Boxed [Lit (Int 327),Var (UnQual (Ident "happyReduce_327"))],Tuple Boxed [Lit (Int 328),Var (UnQual (Ident "happyReduce_328"))],Tuple Boxed [Lit (Int 329),Var (UnQual (Ident "happyReduce_329"))],Tuple Boxed [Lit (Int 330),Var (UnQual (Ident "happyReduce_330"))],Tuple Boxed [Lit (Int 331),Var (UnQual (Ident "happyReduce_331"))],Tuple Boxed [Lit (Int 332),Var (UnQual (Ident "happyReduce_332"))],Tuple Boxed [Lit (Int 333),Var (UnQual (Ident "happyReduce_333"))],Tuple Boxed [Lit (Int 334),Var (UnQual (Ident "happyReduce_334"))],Tuple Boxed [Lit (Int 335),Var (UnQual (Ident "happyReduce_335"))],Tuple Boxed [Lit (Int 336),Var (UnQual (Ident "happyReduce_336"))],Tuple Boxed [Lit (Int 337),Var (UnQual (Ident "happyReduce_337"))],Tuple Boxed [Lit (Int 338),Var (UnQual (Ident "happyReduce_338"))],Tuple Boxed [Lit (Int 339),Var (UnQual (Ident "happyReduce_339"))],Tuple Boxed [Lit (Int 340),Var (UnQual (Ident "happyReduce_340"))],Tuple Boxed [Lit (Int 341),Var (UnQual (Ident "happyReduce_341"))],Tuple Boxed [Lit (Int 342),Var (UnQual (Ident "happyReduce_342"))],Tuple Boxed [Lit (Int 343),Var (UnQual (Ident "happyReduce_343"))],Tuple Boxed [Lit (Int 344),Var (UnQual (Ident "happyReduce_344"))],Tuple Boxed [Lit (Int 345),Var (UnQual (Ident "happyReduce_345"))],Tuple Boxed [Lit (Int 346),Var (UnQual (Ident "happyReduce_346"))],Tuple Boxed [Lit (Int 347),Var (UnQual (Ident "happyReduce_347"))],Tuple Boxed [Lit (Int 348),Var (UnQual (Ident "happyReduce_348"))],Tuple Boxed [Lit (Int 349),Var (UnQual (Ident "happyReduce_349"))],Tuple Boxed [Lit (Int 350),Var (UnQual (Ident "happyReduce_350"))],Tuple Boxed [Lit (Int 351),Var (UnQual (Ident "happyReduce_351"))],Tuple Boxed [Lit (Int 352),Var (UnQual (Ident "happyReduce_352"))],Tuple Boxed [Lit (Int 353),Var (UnQual (Ident "happyReduce_353"))],Tuple Boxed [Lit (Int 354),Var (UnQual (Ident "happyReduce_354"))],Tuple Boxed [Lit (Int 355),Var (UnQual (Ident "happyReduce_355"))],Tuple Boxed [Lit (Int 356),Var (UnQual (Ident "happyReduce_356"))],Tuple Boxed [Lit (Int 357),Var (UnQual (Ident "happyReduce_357"))],Tuple Boxed [Lit (Int 358),Var (UnQual (Ident "happyReduce_358"))],Tuple Boxed [Lit (Int 359),Var (UnQual (Ident "happyReduce_359"))],Tuple Boxed [Lit (Int 360),Var (UnQual (Ident "happyReduce_360"))],Tuple Boxed [Lit (Int 361),Var (UnQual (Ident "happyReduce_361"))],Tuple Boxed [Lit (Int 362),Var (UnQual (Ident "happyReduce_362"))],Tuple Boxed [Lit (Int 363),Var (UnQual (Ident "happyReduce_363"))],Tuple Boxed [Lit (Int 364),Var (UnQual (Ident "happyReduce_364"))],Tuple Boxed [Lit (Int 365),Var (UnQual (Ident "happyReduce_365"))],Tuple Boxed [Lit (Int 366),Var (UnQual (Ident "happyReduce_366"))],Tuple Boxed [Lit (Int 367),Var (UnQual (Ident "happyReduce_367"))],Tuple Boxed [Lit (Int 368),Var (UnQual (Ident "happyReduce_368"))],Tuple Boxed [Lit (Int 369),Var (UnQual (Ident "happyReduce_369"))],Tuple Boxed [Lit (Int 370),Var (UnQual (Ident "happyReduce_370"))],Tuple Boxed [Lit (Int 371),Var (UnQual (Ident "happyReduce_371"))],Tuple Boxed [Lit (Int 372),Var (UnQual (Ident "happyReduce_372"))],Tuple Boxed [Lit (Int 373),Var (UnQual (Ident "happyReduce_373"))],Tuple Boxed [Lit (Int 374),Var (UnQual (Ident "happyReduce_374"))],Tuple Boxed [Lit (Int 375),Var (UnQual (Ident "happyReduce_375"))],Tuple Boxed [Lit (Int 376),Var (UnQual (Ident "happyReduce_376"))],Tuple Boxed [Lit (Int 377),Var (UnQual (Ident "happyReduce_377"))],Tuple Boxed [Lit (Int 378),Var (UnQual (Ident "happyReduce_378"))],Tuple Boxed [Lit (Int 379),Var (UnQual (Ident "happyReduce_379"))],Tuple Boxed [Lit (Int 380),Var (UnQual (Ident "happyReduce_380"))],Tuple Boxed [Lit (Int 381),Var (UnQual (Ident "happyReduce_381"))],Tuple Boxed [Lit (Int 382),Var (UnQual (Ident "happyReduce_382"))],Tuple Boxed [Lit (Int 383),Var (UnQual (Ident "happyReduce_383"))],Tuple Boxed [Lit (Int 384),Var (UnQual (Ident "happyReduce_384"))],Tuple Boxed [Lit (Int 385),Var (UnQual (Ident "happyReduce_385"))],Tuple Boxed [Lit (Int 386),Var (UnQual (Ident "happyReduce_386"))],Tuple Boxed [Lit (Int 387),Var (UnQual (Ident "happyReduce_387"))],Tuple Boxed [Lit (Int 388),Var (UnQual (Ident "happyReduce_388"))],Tuple Boxed [Lit (Int 389),Var (UnQual (Ident "happyReduce_389"))],Tuple Boxed [Lit (Int 390),Var (UnQual (Ident "happyReduce_390"))],Tuple Boxed [Lit (Int 391),Var (UnQual (Ident "happyReduce_391"))],Tuple Boxed [Lit (Int 392),Var (UnQual (Ident "happyReduce_392"))],Tuple Boxed [Lit (Int 393),Var (UnQual (Ident "happyReduce_393"))],Tuple Boxed [Lit (Int 394),Var (UnQual (Ident "happyReduce_394"))],Tuple Boxed [Lit (Int 395),Var (UnQual (Ident "happyReduce_395"))],Tuple Boxed [Lit (Int 396),Var (UnQual (Ident "happyReduce_396"))],Tuple Boxed [Lit (Int 397),Var (UnQual (Ident "happyReduce_397"))],Tuple Boxed [Lit (Int 398),Var (UnQual (Ident "happyReduce_398"))],Tuple Boxed [Lit (Int 399),Var (UnQual (Ident "happyReduce_399"))],Tuple Boxed [Lit (Int 400),Var (UnQual (Ident "happyReduce_400"))],Tuple Boxed [Lit (Int 401),Var (UnQual (Ident "happyReduce_401"))],Tuple Boxed [Lit (Int 402),Var (UnQual (Ident "happyReduce_402"))],Tuple Boxed [Lit (Int 403),Var (UnQual (Ident "happyReduce_403"))],Tuple Boxed [Lit (Int 404),Var (UnQual (Ident "happyReduce_404"))],Tuple Boxed [Lit (Int 405),Var (UnQual (Ident "happyReduce_405"))],Tuple Boxed [Lit (Int 406),Var (UnQual (Ident "happyReduce_406"))],Tuple Boxed [Lit (Int 407),Var (UnQual (Ident "happyReduce_407"))],Tuple Boxed [Lit (Int 408),Var (UnQual (Ident "happyReduce_408"))],Tuple Boxed [Lit (Int 409),Var (UnQual (Ident "happyReduce_409"))],Tuple Boxed [Lit (Int 410),Var (UnQual (Ident "happyReduce_410"))],Tuple Boxed [Lit (Int 411),Var (UnQual (Ident "happyReduce_411"))],Tuple Boxed [Lit (Int 412),Var (UnQual (Ident "happyReduce_412"))],Tuple Boxed [Lit (Int 413),Var (UnQual (Ident "happyReduce_413"))],Tuple Boxed [Lit (Int 414),Var (UnQual (Ident "happyReduce_414"))],Tuple Boxed [Lit (Int 415),Var (UnQual (Ident "happyReduce_415"))],Tuple Boxed [Lit (Int 416),Var (UnQual (Ident "happyReduce_416"))],Tuple Boxed [Lit (Int 417),Var (UnQual (Ident "happyReduce_417"))],Tuple Boxed [Lit (Int 418),Var (UnQual (Ident "happyReduce_418"))],Tuple Boxed [Lit (Int 419),Var (UnQual (Ident "happyReduce_419"))],Tuple Boxed [Lit (Int 420),Var (UnQual (Ident "happyReduce_420"))],Tuple Boxed [Lit (Int 421),Var (UnQual (Ident "happyReduce_421"))],Tuple Boxed [Lit (Int 422),Var (UnQual (Ident "happyReduce_422"))],Tuple Boxed [Lit (Int 423),Var (UnQual (Ident "happyReduce_423"))],Tuple Boxed [Lit (Int 424),Var (UnQual (Ident "happyReduce_424"))],Tuple Boxed [Lit (Int 425),Var (UnQual (Ident "happyReduce_425"))],Tuple Boxed [Lit (Int 426),Var (UnQual (Ident "happyReduce_426"))],Tuple Boxed [Lit (Int 427),Var (UnQual (Ident "happyReduce_427"))],Tuple Boxed [Lit (Int 428),Var (UnQual (Ident "happyReduce_428"))],Tuple Boxed [Lit (Int 429),Var (UnQual (Ident "happyReduce_429"))],Tuple Boxed [Lit (Int 430),Var (UnQual (Ident "happyReduce_430"))],Tuple Boxed [Lit (Int 431),Var (UnQual (Ident "happyReduce_431"))],Tuple Boxed [Lit (Int 432),Var (UnQual (Ident "happyReduce_432"))],Tuple Boxed [Lit (Int 433),Var (UnQual (Ident "happyReduce_433"))],Tuple Boxed [Lit (Int 434),Var (UnQual (Ident "happyReduce_434"))],Tuple Boxed [Lit (Int 435),Var (UnQual (Ident "happyReduce_435"))],Tuple Boxed [Lit (Int 436),Var (UnQual (Ident "happyReduce_436"))],Tuple Boxed [Lit (Int 437),Var (UnQual (Ident "happyReduce_437"))],Tuple Boxed [Lit (Int 438),Var (UnQual (Ident "happyReduce_438"))],Tuple Boxed [Lit (Int 439),Var (UnQual (Ident "happyReduce_439"))],Tuple Boxed [Lit (Int 440),Var (UnQual (Ident "happyReduce_440"))],Tuple Boxed [Lit (Int 441),Var (UnQual (Ident "happyReduce_441"))],Tuple Boxed [Lit (Int 442),Var (UnQual (Ident "happyReduce_442"))],Tuple Boxed [Lit (Int 443),Var (UnQual (Ident "happyReduce_443"))],Tuple Boxed [Lit (Int 444),Var (UnQual (Ident "happyReduce_444"))],Tuple Boxed [Lit (Int 445),Var (UnQual (Ident "happyReduce_445"))],Tuple Boxed [Lit (Int 446),Var (UnQual (Ident "happyReduce_446"))],Tuple Boxed [Lit (Int 447),Var (UnQual (Ident "happyReduce_447"))],Tuple Boxed [Lit (Int 448),Var (UnQual (Ident "happyReduce_448"))],Tuple Boxed [Lit (Int 449),Var (UnQual (Ident "happyReduce_449"))],Tuple Boxed [Lit (Int 450),Var (UnQual (Ident "happyReduce_450"))],Tuple Boxed [Lit (Int 451),Var (UnQual (Ident "happyReduce_451"))],Tuple Boxed [Lit (Int 452),Var (UnQual (Ident "happyReduce_452"))],Tuple Boxed [Lit (Int 453),Var (UnQual (Ident "happyReduce_453"))],Tuple Boxed [Lit (Int 454),Var (UnQual (Ident "happyReduce_454"))],Tuple Boxed [Lit (Int 455),Var (UnQual (Ident "happyReduce_455"))],Tuple Boxed [Lit (Int 456),Var (UnQual (Ident "happyReduce_456"))],Tuple Boxed [Lit (Int 457),Var (UnQual (Ident "happyReduce_457"))],Tuple Boxed [Lit (Int 458),Var (UnQual (Ident "happyReduce_458"))],Tuple Boxed [Lit (Int 459),Var (UnQual (Ident "happyReduce_459"))],Tuple Boxed [Lit (Int 460),Var (UnQual (Ident "happyReduce_460"))],Tuple Boxed [Lit (Int 461),Var (UnQual (Ident "happyReduce_461"))],Tuple Boxed [Lit (Int 462),Var (UnQual (Ident "happyReduce_462"))],Tuple Boxed [Lit (Int 463),Var (UnQual (Ident "happyReduce_463"))]]))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happy_n_terms")) (UnGuardedRhs (ExpTypeSig (SrcLoc "" -1 -1) (Lit (Int 102)) (TyCon (UnQual (Ident "Int"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happy_n_nonterms")) (UnGuardedRhs (ExpTypeSig (SrcLoc "" -1 -1) (Lit (Int 125)) (TyCon (UnQual (Ident "Int"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_4")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 0))) (Var (UnQual (Ident "happyReduction_4"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_4") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut8"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "decls")) (UnGuardedRhs (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))) Nothing]) (Case (Var (UnQual (Ident "decls"))) [Alt (SrcLoc "" -1 -1) (PList []) (UnGuardedRhs (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "n")) (Var (UnQual (Ident "getNewName"))),Generator (SrcLoc "" -1 -1) (PVar (Ident "p")) (Var (UnQual (Ident "getCurrentPosition"))),Qualifier (InfixApp (Var (UnQual (Ident "return"))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CTranslUnit"))) (Var (UnQual (Ident "decls")))) (Paren (App (App (App (Var (UnQual (Ident "mkNodeInfo'"))) (Var (UnQual (Ident "p")))) (Tuple Boxed [Var (UnQual (Ident "p")),Lit (Int 0)])) (Var (UnQual (Ident "n")))))))])) Nothing,Alt (SrcLoc "" -1 -1) (PParen (PInfixApp (PVar (Ident "d")) (Special Cons) (PVar (Ident "ds")))) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "d")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CTranslUnit"))) (Var (UnQual (Ident "decls")))))) Nothing])))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn7"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_5")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 1))) (Var (UnQual (Ident "happyReduction_5"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_5")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn8"))) (Paren (Var (UnQual (Ident "empty")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_6")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 1))) (Var (UnQual (Ident "happyReduction_6"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_6") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut8"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn8"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_7")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 1))) (Var (UnQual (Ident "happyReduction_7"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_7") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut8"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut9"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn8"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_8")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 2))) (Var (UnQual (Ident "happyReduction_8"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_8") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut10"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn9"))) (Paren (App (Con (UnQual (Ident "CFDefExt"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_9")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 2))) (Var (UnQual (Ident "happyReduction_9"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_9") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut32"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn9"))) (Paren (App (Con (UnQual (Ident "CDeclExt"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_10")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 2))) (Var (UnQual (Ident "happyReduction_10"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_10") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut9"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn9"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_11")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 2))) (Var (UnQual (Ident "happyReduction_11"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_11") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CAsmExt"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn9"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_12")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_12"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_12") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (List [])) (Var (UnQual (Ident "happy_var_1")))) (List [])) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_13")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_13"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_13") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_14")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_14"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_14") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_15")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_15"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_15") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_16")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_16"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_16") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_17")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_17"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_17") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_18")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_18"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_18") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (Var (UnQual (Ident "happy_var_3")))) (List [])) (Var (UnQual (Ident "happy_var_4"))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_19")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_19"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_19") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (List [])) (Var (UnQual (Ident "happy_var_1")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_20")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_20"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_20") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_21")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_21"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_21") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_22")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_22"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_22") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_23")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_23"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_23") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_24")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_24"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_24") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_25")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_25"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_25") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4")))))) (Var (UnQual (Ident "happy_var_5"))))))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_26")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 4))) (Var (UnQual (Ident "happyReduction_26"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_26") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "declr")) (UnGuardedRhs (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))) Nothing]) (InfixApp (InfixApp (Var (UnQual (Ident "enterScope"))) (QVarOp (UnQual (Symbol ">>"))) (App (Var (UnQual (Ident "doFuncParamDeclIdent"))) (Var (UnQual (Ident "declr"))))) (QVarOp (UnQual (Symbol ">>"))) (App (Var (UnQual (Ident "return"))) (Var (UnQual (Ident "declr")))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn11"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_27")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_27"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_27") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut13"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_28")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_28"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_28") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_29")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_29"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_29") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut22"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_30")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_30"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_30") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut23"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_31")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_31"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_31") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut24"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_32")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_32"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_32") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut25"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_33")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_33"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_33") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut26"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (App (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (App (Con (UnQual (Ident "CAsm"))) (Var (UnQual (Ident "happy_var_1")))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn12"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_34")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 6))) (Var (UnQual (Ident "happyReduction_34"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_34") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CLabel"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn13"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_35")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 6))) (Var (UnQual (Ident "happyReduction_35"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_35") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCase"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn13"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_36")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 6))) (Var (UnQual (Ident "happyReduction_36"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_36") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CDefault"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn13"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_37")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 6))) (Var (UnQual (Ident "happyReduction_37"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_37") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CCases"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn13"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_38")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 7))) (Var (UnQual (Ident "happyReduction_38"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_38") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut17"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCompound"))) (List [])) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn14"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_39")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 7))) (Var (UnQual (Ident "happyReduction_39"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_39") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut21"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut17"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCompound"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn14"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_40")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 0))) (Lit (PrimInt 8))) (Var (UnQual (Ident "happyReduction_40"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_40") [PParen (PVar (Ident "happyRest")),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Paren (Var (UnQual (Ident "enterScope")))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn15"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_41")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 0))) (Lit (PrimInt 9))) (Var (UnQual (Ident "happyReduction_41"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_41") [PParen (PVar (Ident "happyRest")),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Paren (Var (UnQual (Ident "leaveScope")))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn16"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_42")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 10))) (Var (UnQual (Ident "happyReduction_42"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_42")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn17"))) (Paren (Var (UnQual (Ident "empty")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_43")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 10))) (Var (UnQual (Ident "happyReduction_43"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_43") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut17"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut18"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn17"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_44")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 11))) (Var (UnQual (Ident "happyReduction_44"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_44") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn18"))) (Paren (App (Con (UnQual (Ident "CBlockStmt"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_45")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 11))) (Var (UnQual (Ident "happyReduction_45"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_45") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut19"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn18"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_46")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 12))) (Var (UnQual (Ident "happyReduction_46"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_46") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut32"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn19"))) (Paren (App (Con (UnQual (Ident "CBlockDecl"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_47")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 12))) (Var (UnQual (Ident "happyReduction_47"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_47") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut20"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn19"))) (Paren (App (Con (UnQual (Ident "CNestedFunDef"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_48")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 12))) (Var (UnQual (Ident "happyReduction_48"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_48") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut19"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn19"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_49")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 13))) (Var (UnQual (Ident "happyReduction_49"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_49") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn20"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_50")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 13))) (Var (UnQual (Ident "happyReduction_50"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_50") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn20"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_51")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 13))) (Var (UnQual (Ident "happyReduction_51"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_51") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn20"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_52")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 13))) (Var (UnQual (Ident "happyReduction_52"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_52") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn20"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_53")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 13))) (Var (UnQual (Ident "happyReduction_53"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_53") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (Var (UnQual (Ident "happy_var_3")))) (List [])) (Var (UnQual (Ident "happy_var_4"))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn20"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_54")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 14))) (Var (UnQual (Ident "happyReduction_54"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_54") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut82"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn21"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_55")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 14))) (Var (UnQual (Ident "happyReduction_55"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_55") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut21"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut82"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn21"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "rappendr"))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_56")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 15))) (Var (UnQual (Ident "happyReduction_56"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_56") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CExpr"))) (Con (UnQual (Ident "Nothing"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn22"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_57")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 15))) (Var (UnQual (Ident "happyReduction_57"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_57") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CExpr"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn22"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_58")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 16))) (Var (UnQual (Ident "happyReduction_58"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_58") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CIf"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5")))) (Con (UnQual (Ident "Nothing"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn23"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_59")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 16))) (Var (UnQual (Ident "happyReduction_59"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_59") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_7")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_7")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CIf"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_7"))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn23"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_60")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 16))) (Var (UnQual (Ident "happyReduction_60"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_60") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CSwitch"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn23"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_61")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 17))) (Var (UnQual (Ident "happyReduction_61"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_61") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CWhile"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5")))) (Con (UnQual (Ident "False"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn24"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_62")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 17))) (Var (UnQual (Ident "happyReduction_62"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_62") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CWhile"))) (Var (UnQual (Ident "happy_var_5")))) (Var (UnQual (Ident "happy_var_2")))) (Con (UnQual (Ident "True"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn24"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_63")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 9))) (Lit (PrimInt 17))) (Var (UnQual (Ident "happyReduction_63"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_63") [PParen (PInfixApp (PVar (Ident "happy_x_9")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_8")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_7")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_7")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_9")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_9")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFor"))) (Paren (App (Con (UnQual (Ident "Left"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_5")))) (Var (UnQual (Ident "happy_var_7")))) (Var (UnQual (Ident "happy_var_9"))))))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn24"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_64")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 10))) (Lit (PrimInt 17))) (Var (UnQual (Ident "happyReduction_64"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_64") [PParen (PInfixApp (PVar (Ident "happy_x_10")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_9")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_8")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut32"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_7")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_7")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_9")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_9")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFor"))) (Paren (App (Con (UnQual (Ident "Right"))) (Var (UnQual (Ident "happy_var_4")))))) (Var (UnQual (Ident "happy_var_5")))) (Var (UnQual (Ident "happy_var_7")))) (Var (UnQual (Ident "happy_var_9"))))))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn24"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_65")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 18))) (Var (UnQual (Ident "happyReduction_65"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_65") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CGoto"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn25"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_66")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 18))) (Var (UnQual (Ident "happyReduction_66"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_66") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CGotoPtr"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn25"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_67")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 18))) (Var (UnQual (Ident "happyReduction_67"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_67") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CCont")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn25"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_68")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 18))) (Var (UnQual (Ident "happyReduction_68"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_68") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CBreak")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn25"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_69")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 18))) (Var (UnQual (Ident "happyReduction_69"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_69") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CReturn"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn25"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_70")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 19))) (Var (UnQual (Ident "happyReduction_70"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_70") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut27"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Con (UnQual (Ident "CAsmStmt"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4")))) (List [])) (List [])) (List []))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn26"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_71")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 8))) (Lit (PrimInt 19))) (Var (UnQual (Ident "happyReduction_71"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_71") [PParen (PInfixApp (PVar (Ident "happy_x_8")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut27"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut28"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Con (UnQual (Ident "CAsmStmt"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6")))) (List [])) (List []))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn26"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_72")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 10))) (Lit (PrimInt 19))) (Var (UnQual (Ident "happyReduction_72"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_72") [PParen (PInfixApp (PVar (Ident "happy_x_10")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_9")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_8")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut27"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut28"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut28"))) (Var (UnQual (Ident "happy_x_8")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_8")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Con (UnQual (Ident "CAsmStmt"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6")))) (Var (UnQual (Ident "happy_var_8")))) (List []))))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn26"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_73")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 12))) (Lit (PrimInt 19))) (Var (UnQual (Ident "happyReduction_73"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_73") [PParen (PInfixApp (PVar (Ident "happy_x_12")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_11")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_10")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_9")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_8")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut27"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut28"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut28"))) (Var (UnQual (Ident "happy_x_8")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_8")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut31"))) (Var (UnQual (Ident "happy_x_10")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_10")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Con (UnQual (Ident "CAsmStmt"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6")))) (Var (UnQual (Ident "happy_var_8")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_10"))))))))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn26"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_74")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 20))) (Var (UnQual (Ident "happyReduction_74"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_74")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn27"))) (Paren (Con (UnQual (Ident "Nothing")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_75")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 20))) (Var (UnQual (Ident "happyReduction_75"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_75") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn27"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_76")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 21))) (Var (UnQual (Ident "happyReduction_76"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_76")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn28"))) (Paren (List [])))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_77")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 21))) (Var (UnQual (Ident "happyReduction_77"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_77") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut29"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn28"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_78")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 22))) (Var (UnQual (Ident "happyReduction_78"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_78") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut30"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn29"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_79")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 22))) (Var (UnQual (Ident "happyReduction_79"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_79") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut29"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut30"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn29"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_80")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 23))) (Var (UnQual (Ident "happyReduction_80"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_80") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CAsmOperand"))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn30"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_81")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 23))) (Var (UnQual (Ident "happyReduction_81"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_81") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_2")])) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CAsmOperand"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_2")))))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn30"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_82")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 23))) (Var (UnQual (Ident "happyReduction_82"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_82") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_2")])) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CAsmOperand"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_2")))))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn30"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_83")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 24))) (Var (UnQual (Ident "happyReduction_83"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_83") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn31"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_84")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 24))) (Var (UnQual (Ident "happyReduction_84"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_84") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut31"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn31"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_85")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 25))) (Var (UnQual (Ident "happyReduction_85"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_85") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut45"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn32"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_86")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 25))) (Var (UnQual (Ident "happyReduction_86"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_86") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut46"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn32"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_87")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 25))) (Var (UnQual (Ident "happyReduction_87"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_87") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut36"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedRhs (App (App (Var (UnQual (Ident "withLength"))) (Var (UnQual (Ident "at")))) (Paren (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (App (Var (Qual (ModuleName "List") (Ident "reverse"))) (Var (UnQual (Ident "dies"))))))))) Nothing]))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn32"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_88")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 25))) (Var (UnQual (Ident "happyReduction_88"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_88") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut34"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedRhs (App (App (Var (UnQual (Ident "withLength"))) (Var (UnQual (Ident "at")))) (Paren (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (App (Var (Qual (ModuleName "List") (Ident "reverse"))) (Var (UnQual (Ident "dies"))))))))) Nothing]))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn32"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_89")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 26))) (Var (UnQual (Ident "happyReduction_89"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_89")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn33"))) (Paren (Var (UnQual (Ident "empty")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_90")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 26))) (Var (UnQual (Ident "happyReduction_90"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_90") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut32"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn33"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_91")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 27))) (Var (UnQual (Ident "happyReduction_91"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_91") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "declspecs")) (UnGuardedRhs (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))) Nothing]) (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_4")),Con (UnQual (Ident "Nothing"))]])))])))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn34"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_92")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 27))) (Var (UnQual (Ident "happyReduction_92"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_92") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "declspecs")) (UnGuardedRhs (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1"))))) Nothing]) (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_4")),Con (UnQual (Ident "Nothing"))]])))])))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn34"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_93")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 27))) (Var (UnQual (Ident "happyReduction_93"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_93") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "declspecs")) (UnGuardedRhs (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1"))))) Nothing]) (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_3")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (InfixApp (Var (UnQual (Ident "declspecs"))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_5")),Con (UnQual (Ident "Nothing"))]])))])))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn34"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_94")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 27))) (Var (UnQual (Ident "happyReduction_94"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_94") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "declspecs")) (UnGuardedRhs (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1"))))) Nothing]) (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_4")),Con (UnQual (Ident "Nothing"))]])))])))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn34"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_95")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 27))) (Var (UnQual (Ident "happyReduction_95"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_95") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut34"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedRhs (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Tuple Boxed [App (Var (UnQual (Ident "fst"))) (Var (UnQual (Ident "happy_var_5"))),InfixApp (App (Var (UnQual (Ident "snd"))) (Var (UnQual (Ident "happy_var_5")))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_3")))])) (Var (UnQual (Ident "happy_var_4")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withLength"))) (Var (UnQual (Ident "at")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_6")),Con (UnQual (Ident "Nothing"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))))])) Nothing]))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn34"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_96")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 28))) (Var (UnQual (Ident "happyReduction_96"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_96") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut64"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn35"))) (Paren (Tuple Boxed [Var (UnQual (Ident "happy_var_1")),Var (UnQual (Ident "happy_var_2"))])))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_97")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 29))) (Var (UnQual (Ident "happyReduction_97"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_97") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut63"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_4")),Con (UnQual (Ident "Nothing"))]])))]))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn36"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_98")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 29))) (Var (UnQual (Ident "happyReduction_98"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_98") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut63"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_4")),Con (UnQual (Ident "Nothing"))]])))]))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn36"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_99")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 29))) (Var (UnQual (Ident "happyReduction_99"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_99") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut36"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut63"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedRhs (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Tuple Boxed [App (Var (UnQual (Ident "fst"))) (Var (UnQual (Ident "happy_var_5"))),InfixApp (App (Var (UnQual (Ident "snd"))) (Var (UnQual (Ident "happy_var_5")))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_3")))])) (Var (UnQual (Ident "happy_var_4")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (App (Var (UnQual (Ident "return"))) (Paren (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_6")),Con (UnQual (Ident "Nothing"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "at"))))))])) Nothing]))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn36"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_100")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 30))) (Var (UnQual (Ident "happyReduction_100"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_100") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut43"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn37"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_101")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 30))) (Var (UnQual (Ident "happyReduction_101"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_101") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut45"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn37"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_102")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 30))) (Var (UnQual (Ident "happyReduction_102"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_102") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut47"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn37"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_103")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_103"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_103") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn38"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_104")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_104"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_104") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn38"))) (Paren (InfixApp (App (Var (UnQual (Ident "reverseList"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_105")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_105"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_105") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn38"))) (Paren (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_106")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_106"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_106") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn38"))) (Paren (InfixApp (Paren (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_3")))))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_107")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_107"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_107") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut39"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn38"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_108")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_108"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_108") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn38"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_109")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 32))) (Var (UnQual (Ident "happyReduction_109"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_109") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn39"))) (Paren (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_110")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 32))) (Var (UnQual (Ident "happyReduction_110"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_110") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn39"))) (Paren (App (Con (UnQual (Ident "CTypeQual"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_111")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_111"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_111") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CTypedef")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_112")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_112"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_112") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CExtern")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_113")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_113"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_113") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CStatic")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_114")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_114"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_114") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CAuto")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_115")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_115"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_115") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CRegister")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_116")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_116"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_116") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CThread")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_117")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 34))) (Var (UnQual (Ident "happyReduction_117"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_117") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut44"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn41"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_118")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 34))) (Var (UnQual (Ident "happyReduction_118"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_118") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut46"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn41"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_119")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 34))) (Var (UnQual (Ident "happyReduction_119"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_119") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut48"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn41"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_120")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_120"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_120") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CVoidType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_121")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_121"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_121") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CCharType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_122")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_122"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_122") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CShortType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_123")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_123"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_123") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CIntType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_124")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_124"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_124") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CLongType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_125")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_125"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_125") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CFloatType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_126")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_126"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_126") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CDoubleType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_127")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_127"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_127") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CSignedType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_128")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_128"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_128") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CUnsigType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_129")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_129"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_129") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CBoolType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_130")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_130"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_130") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CComplexType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_131")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 36))) (Var (UnQual (Ident "happyReduction_131"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_131") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn43"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_132")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 36))) (Var (UnQual (Ident "happyReduction_132"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_132") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut44"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn43"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_133")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 36))) (Var (UnQual (Ident "happyReduction_133"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_133") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut43"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut39"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn43"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_134")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 36))) (Var (UnQual (Ident "happyReduction_134"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_134") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut43"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn43"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_135")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 36))) (Var (UnQual (Ident "happyReduction_135"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_135") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut43"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn43"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_136")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_136"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_136") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn44"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_137")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_137"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_137") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn44"))) (Paren (InfixApp (Paren (InfixApp (Var (UnQual (Ident "reverseList"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_138")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_138"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_138") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn44"))) (Paren (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_139")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_139"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_139") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn44"))) (Paren (InfixApp (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_3")))))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_140")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_140"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_140") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut44"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn44"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeQual"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_141")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_141"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_141") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut44"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn44"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_142")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_142"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_142") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut44"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn44"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_143")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 38))) (Var (UnQual (Ident "happyReduction_143"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_143") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut49"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn45"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_144")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 38))) (Var (UnQual (Ident "happyReduction_144"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_144") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut46"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn45"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_145")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 38))) (Var (UnQual (Ident "happyReduction_145"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_145") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut45"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut39"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn45"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_146")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 38))) (Var (UnQual (Ident "happyReduction_146"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_146") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut45"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn45"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_147")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_147"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_147") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut49"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn46"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_148")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_148"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_148") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut49"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn46"))) (Paren (InfixApp (Paren (InfixApp (Var (UnQual (Ident "reverseList"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_149")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_149"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_149") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut49"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn46"))) (Paren (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_150")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_150"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_150") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut49"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn46"))) (Paren (InfixApp (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_3")))))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_151")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_151"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_151") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut46"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn46"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeQual"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_152")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_152"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_152") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut46"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn46"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_153")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_153"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_153") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut48"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn47"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_154")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_154"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_154") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_2")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeDef"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn47"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_155")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_155"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_155") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfExpr"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn47"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_156")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_156"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_156") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfType"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn47"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_157")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_157"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_157") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut47"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut39"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn47"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_158")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_158"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_158") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut47"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn47"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_159")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_159"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_159") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "at")))))))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_160")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_160"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_160") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfExpr"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "at")))))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_161")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_161"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_161") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfType"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "at")))))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_162")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_162"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_162") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_2")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeDef"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_163")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_163"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_163") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfExpr"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_164")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_164"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_164") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfType"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_165")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_165"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_165") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_2")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (App (Var (UnQual (Ident "reverseList"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeDef"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "at")))))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_166")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_166"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_166") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (App (Var (UnQual (Ident "reverseList"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfExpr"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at")))))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_167")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_167"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_167") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (App (Var (UnQual (Ident "reverseList"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfType"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at")))))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_168")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_168"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_168") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_3")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeDef"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_169")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_169"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_169") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfExpr"))) (Var (UnQual (Ident "happy_var_5")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_170")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_170"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_170") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfType"))) (Var (UnQual (Ident "happy_var_5")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_171")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_171"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_171") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut48"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn48"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeQual"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_172")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_172"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_172") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut48"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn48"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_173")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 42))) (Var (UnQual (Ident "happyReduction_173"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_173") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut50"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CSUType"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn49"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_174")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 42))) (Var (UnQual (Ident "happyReduction_174"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_174") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut58"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CEnumType"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn49"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_175")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 43))) (Var (UnQual (Ident "happyReduction_175"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_175") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut51"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut52"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CStruct"))) (Paren (App (Var (UnQual (Ident "unL"))) (Var (UnQual (Ident "happy_var_1")))))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5"))))))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn50"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_176")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 43))) (Var (UnQual (Ident "happyReduction_176"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_176") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut51"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut52"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CStruct"))) (Paren (App (Var (UnQual (Ident "unL"))) (Var (UnQual (Ident "happy_var_1")))))) (Con (UnQual (Ident "Nothing")))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4"))))))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn50"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_177")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 43))) (Var (UnQual (Ident "happyReduction_177"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_177") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut51"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CStruct"))) (Paren (App (Var (UnQual (Ident "unL"))) (Var (UnQual (Ident "happy_var_1")))))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn50"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_178")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 44))) (Var (UnQual (Ident "happyReduction_178"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_178") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn51"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CStructTag")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_179")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 44))) (Var (UnQual (Ident "happyReduction_179"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_179") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn51"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CUnionTag")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_180")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 45))) (Var (UnQual (Ident "happyReduction_180"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_180")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn52"))) (Paren (Var (UnQual (Ident "empty")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_181")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 45))) (Var (UnQual (Ident "happyReduction_181"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_181") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut52"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn52"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_182")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 45))) (Var (UnQual (Ident "happyReduction_182"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_182") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut52"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut53"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn52"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_183")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 46))) (Var (UnQual (Ident "happyReduction_183"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_183") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut55"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn53"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (App (Var (Qual (ModuleName "List") (Ident "reverse"))) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "at"))))) Nothing])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_184")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 46))) (Var (UnQual (Ident "happyReduction_184"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_184") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut54"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn53"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (App (Var (Qual (ModuleName "List") (Ident "reverse"))) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "at"))))) Nothing])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_185")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 46))) (Var (UnQual (Ident "happyReduction_185"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_185") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut53"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn53"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_186")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 47))) (Var (UnQual (Ident "happyReduction_186"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_186") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut57"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_3"))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PVar (Ident "d"),PVar (Ident "s")]) (UnGuardedRhs (App (App (Con (UnQual (Ident "CDecl"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (List [Tuple Boxed [Var (UnQual (Ident "d")),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]]))) Nothing])))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn54"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_187")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 47))) (Var (UnQual (Ident "happyReduction_187"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_187") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut57"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_2"))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PVar (Ident "d"),PVar (Ident "s")]) (UnGuardedRhs (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [Var (UnQual (Ident "d")),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]]))) Nothing])))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn54"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_188")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 47))) (Var (UnQual (Ident "happyReduction_188"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_188") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut54"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut57"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn54"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedRhs (Case (Var (UnQual (Ident "happy_var_4"))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Just")) [PVar (Ident "d")],PVar (Ident "s")]) (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "appendObjAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "d")))),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "at"))))) Nothing,Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Nothing")) [],PVar (Ident "s")]) (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "at"))))) Nothing])) Nothing]))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_189")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 48))) (Var (UnQual (Ident "happyReduction_189"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_189") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut56"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_2"))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Just")) [PVar (Ident "d")],PVar (Ident "s")]) (UnGuardedRhs (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendObjAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "d")))),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]]))) Nothing,Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Nothing")) [],PVar (Ident "s")]) (UnGuardedRhs (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]]))) Nothing])))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn55"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_190")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 48))) (Var (UnQual (Ident "happyReduction_190"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_190") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut55"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut56"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn55"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "attr")]) (UnGuardedRhs (Case (Var (UnQual (Ident "happy_var_4"))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Just")) [PVar (Ident "d")],PVar (Ident "s")]) (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "appendObjAttrs"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_3"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_5")))))) (Var (UnQual (Ident "d")))),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "attr"))))) Nothing,Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Nothing")) [],PVar (Ident "s")]) (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "attr"))))) Nothing])) Nothing]))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_191")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 48))) (Var (UnQual (Ident "happyReduction_191"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_191") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn55"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_192")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 49))) (Var (UnQual (Ident "happyReduction_192"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_192") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut63"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn56"))) (Paren (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))),Con (UnQual (Ident "Nothing"))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_193")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 49))) (Var (UnQual (Ident "happyReduction_193"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_193") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn56"))) (Paren (Tuple Boxed [Con (UnQual (Ident "Nothing")),App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_2")))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_194")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 49))) (Var (UnQual (Ident "happyReduction_194"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_194") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut63"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn56"))) (Paren (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))),App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))])))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_195")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 50))) (Var (UnQual (Ident "happyReduction_195"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_195") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn57"))) (Paren (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))),Con (UnQual (Ident "Nothing"))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_196")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 50))) (Var (UnQual (Ident "happyReduction_196"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_196") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn57"))) (Paren (Tuple Boxed [Con (UnQual (Ident "Nothing")),App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_2")))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_197")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 50))) (Var (UnQual (Ident "happyReduction_197"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_197") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn57"))) (Paren (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))),App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))])))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_198")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 50))) (Var (UnQual (Ident "happyReduction_198"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_198") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut57"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn57"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Nothing")) [],PVar (Ident "expr")]) (UnGuardedRhs (Tuple Boxed [Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "expr"))])) Nothing,Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Just")) [PParen (PApp (UnQual (Ident "CDeclr")) [PVar (Ident "name"),PVar (Ident "derived"),PVar (Ident "asmname"),PVar (Ident "attrs"),PVar (Ident "node")])],PVar (Ident "bsz")]) (UnGuardedRhs (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (App (App (App (App (Con (UnQual (Ident "CDeclr"))) (Var (UnQual (Ident "name")))) (Var (UnQual (Ident "derived")))) (Var (UnQual (Ident "asmname")))) (Paren (InfixApp (Var (UnQual (Ident "attrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_2")))))) (Var (UnQual (Ident "node"))))),Var (UnQual (Ident "bsz"))])) Nothing])))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_199")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 51))) (Var (UnQual (Ident "happyReduction_199"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_199") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut59"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CEnum"))) (Con (UnQual (Ident "Nothing")))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4"))))))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn58"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_200")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 51))) (Var (UnQual (Ident "happyReduction_200"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_200") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut59"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CEnum"))) (Con (UnQual (Ident "Nothing")))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4"))))))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn58"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_201")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 51))) (Var (UnQual (Ident "happyReduction_201"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_201") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut59"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CEnum"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5"))))))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn58"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_202")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 51))) (Var (UnQual (Ident "happyReduction_202"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_202") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut59"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CEnum"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5"))))))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn58"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_203")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 51))) (Var (UnQual (Ident "happyReduction_203"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_203") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CEnum"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn58"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_204")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 52))) (Var (UnQual (Ident "happyReduction_204"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_204") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut60"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn59"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_205")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 52))) (Var (UnQual (Ident "happyReduction_205"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_205") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut59"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut60"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn59"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_206")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 53))) (Var (UnQual (Ident "happyReduction_206"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_206") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn60"))) (Paren (Tuple Boxed [Var (UnQual (Ident "happy_var_1")),Con (UnQual (Ident "Nothing"))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_207")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 53))) (Var (UnQual (Ident "happyReduction_207"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_207") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn60"))) (Paren (Tuple Boxed [Var (UnQual (Ident "happy_var_1")),App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))])))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_208")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 54))) (Var (UnQual (Ident "happyReduction_208"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_208") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CConstQual")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn61"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_209")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 54))) (Var (UnQual (Ident "happyReduction_209"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_209") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CVolatQual")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn61"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_210")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 54))) (Var (UnQual (Ident "happyReduction_210"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_210") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CRestrQual")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn61"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_211")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 54))) (Var (UnQual (Ident "happyReduction_211"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_211") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CInlineQual")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn61"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_212")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 55))) (Var (UnQual (Ident "happyReduction_212"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_212") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn62"))) (Paren (InfixApp (App (Var (UnQual (Ident "reverseList"))) (Paren (App (App (Var (UnQual (Ident "map"))) (Con (UnQual (Ident "CAttrQual")))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_213")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 55))) (Var (UnQual (Ident "happyReduction_213"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_213") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn62"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_214")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 55))) (Var (UnQual (Ident "happyReduction_214"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_214") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn62"))) (Paren (InfixApp (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "rappend"))) (App (App (Var (UnQual (Ident "map"))) (Con (UnQual (Ident "CAttrQual")))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_215")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 56))) (Var (UnQual (Ident "happyReduction_215"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_215") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn63"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_216")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 56))) (Var (UnQual (Ident "happyReduction_216"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_216") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut65"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn63"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_217")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 57))) (Var (UnQual (Ident "happyReduction_217"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_217")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn64"))) (Paren (Con (UnQual (Ident "Nothing")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_218")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 57))) (Var (UnQual (Ident "happyReduction_218"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_218") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn64"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_219")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 58))) (Var (UnQual (Ident "happyReduction_219"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_219") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn65"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_220")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 58))) (Var (UnQual (Ident "happyReduction_220"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_220") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn65"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_221")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 59))) (Var (UnQual (Ident "happyReduction_221"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_221") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "mkVarDeclr"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn66"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_222")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 59))) (Var (UnQual (Ident "happyReduction_222"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_222") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (App (Var (UnQual (Ident "happy_var_2"))) (Paren (App (App (Var (UnQual (Ident "mkVarDeclr"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "at")))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn66"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_223")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 59))) (Var (UnQual (Ident "happyReduction_223"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_223") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut67"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn66"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_224")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 60))) (Var (UnQual (Ident "happyReduction_224"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_224") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut68"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn67"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_225")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 60))) (Var (UnQual (Ident "happyReduction_225"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_225") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_2")))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn67"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_226")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 60))) (Var (UnQual (Ident "happyReduction_226"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_226") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (List []))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn67"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_227")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 60))) (Var (UnQual (Ident "happyReduction_227"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_227") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn67"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_228")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 60))) (Var (UnQual (Ident "happyReduction_228"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_228") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_4")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn67"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_229")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 61))) (Var (UnQual (Ident "happyReduction_229"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_229") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut67"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn68"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_230")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 61))) (Var (UnQual (Ident "happyReduction_230"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_230") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut67"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn68"))) (Paren (App (Var (UnQual (Ident "happy_var_4"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_231")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 61))) (Var (UnQual (Ident "happyReduction_231"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_231") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut67"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn68"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_232")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 61))) (Var (UnQual (Ident "happyReduction_232"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_232") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut67"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn68"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "happy_var_5"))) (Var (UnQual (Ident "happy_var_3")))))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_233")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_233"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_233") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut70"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn69"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_234")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_234"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_234") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut71"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_235")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_235"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_235") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut71"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_4")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_236")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_236"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_236") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut71"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_5")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_237")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_237"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_237") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_2")))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_238")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_238"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_238") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_239")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_239"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_239") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_4")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_240")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 63))) (Var (UnQual (Ident "happyReduction_240"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_240") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn70"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_241")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 63))) (Var (UnQual (Ident "happyReduction_241"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_241") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut71"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn70"))) (Paren (App (Var (UnQual (Ident "happy_var_3"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_242")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 63))) (Var (UnQual (Ident "happyReduction_242"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_242") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn70"))) (Paren (App (Var (UnQual (Ident "happy_var_4"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_243")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 64))) (Var (UnQual (Ident "happyReduction_243"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_243") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "mkVarDeclr"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn71"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_244")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 64))) (Var (UnQual (Ident "happyReduction_244"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_244") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut71"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn71"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_245")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 65))) (Var (UnQual (Ident "happyReduction_245"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_245") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut73"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn72"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_246")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 65))) (Var (UnQual (Ident "happyReduction_246"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_246") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut75"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn72"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_247")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 66))) (Var (UnQual (Ident "happyReduction_247"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_247") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut74"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn73"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_248")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 66))) (Var (UnQual (Ident "happyReduction_248"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_248") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_2")))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn73"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_249")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 66))) (Var (UnQual (Ident "happyReduction_249"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_249") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (List []))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn73"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_250")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 66))) (Var (UnQual (Ident "happyReduction_250"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_250") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn73"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_251")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 66))) (Var (UnQual (Ident "happyReduction_251"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_251") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_4")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn73"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_252")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 67))) (Var (UnQual (Ident "happyReduction_252"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_252") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut75"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn74"))) (Paren (App (Var (UnQual (Ident "happy_var_2"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_253")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 67))) (Var (UnQual (Ident "happyReduction_253"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_253") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut73"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn74"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_254")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 67))) (Var (UnQual (Ident "happyReduction_254"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_254") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut73"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn74"))) (Paren (App (Var (UnQual (Ident "happy_var_4"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_255")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 67))) (Var (UnQual (Ident "happyReduction_255"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_255") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut73"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn74"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_256")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 67))) (Var (UnQual (Ident "happyReduction_256"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_256") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut73"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn74"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "happy_var_5"))) (Var (UnQual (Ident "happy_var_3")))))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_257")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 68))) (Var (UnQual (Ident "happyReduction_257"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_257") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "mkVarDeclr"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn75"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_258")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 68))) (Var (UnQual (Ident "happyReduction_258"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_258") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut75"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn75"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_259")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 68))) (Var (UnQual (Ident "happyReduction_259"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_259") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut75"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn75"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_260")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 69))) (Var (UnQual (Ident "happyReduction_260"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_260") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut77"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn76"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_261")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 70))) (Var (UnQual (Ident "happyReduction_261"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_261") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut78"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn77"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_262")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 70))) (Var (UnQual (Ident "happyReduction_262"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_262") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut77"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_2")))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn77"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_263")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 70))) (Var (UnQual (Ident "happyReduction_263"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_263") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut77"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn77"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_264")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 71))) (Var (UnQual (Ident "happyReduction_264"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_264") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut75"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut82"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Var (UnQual (Ident "funDeclr"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (InfixApp (Con (UnQual (Ident "Left"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3"))))))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn78"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_265")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 71))) (Var (UnQual (Ident "happyReduction_265"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_265") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut77"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn78"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_266")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 71))) (Var (UnQual (Ident "happyReduction_266"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_266") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut77"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn78"))) (Paren (App (Var (UnQual (Ident "happy_var_4"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_267")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 72))) (Var (UnQual (Ident "happyReduction_267"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_267")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn79"))) (Paren (Tuple Boxed [List [],Con (UnQual (Ident "False"))])))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_268")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 72))) (Var (UnQual (Ident "happyReduction_268"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_268") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut80"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn79"))) (Paren (Tuple Boxed [App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))),Con (UnQual (Ident "False"))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_269")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 72))) (Var (UnQual (Ident "happyReduction_269"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_269") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut80"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn79"))) (Paren (Tuple Boxed [App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))),Con (UnQual (Ident "True"))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_270")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 73))) (Var (UnQual (Ident "happyReduction_270"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_270") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut81"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn80"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_271")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 73))) (Var (UnQual (Ident "happyReduction_271"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_271") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut80"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut81"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn80"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_272")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_272"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_272") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_273")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_273"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_273") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_274")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_274"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_274") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_275")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_275"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_275") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_276")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_276"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_276") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_277")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_277"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_277") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_278")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_278"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_278") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_279")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_279"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_279") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_280")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_280"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_280") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_281")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_281"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_281") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_282")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_282"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_282") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_283")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_283"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_283") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_284")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_284"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_284") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_285")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_285"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_285") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_286")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_286"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_286") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_287")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 75))) (Var (UnQual (Ident "happyReduction_287"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_287") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn82"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_288")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 75))) (Var (UnQual (Ident "happyReduction_288"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_288") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut82"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_3")])) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn82"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_289")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 76))) (Var (UnQual (Ident "happyReduction_289"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_289") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn83"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_290")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 76))) (Var (UnQual (Ident "happyReduction_290"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_290") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn83"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_291")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 76))) (Var (UnQual (Ident "happyReduction_291"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_291") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn83"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_292")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 76))) (Var (UnQual (Ident "happyReduction_292"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_292") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn83"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_293")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 77))) (Var (UnQual (Ident "happyReduction_293"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_293") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut88"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn84"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_294")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 77))) (Var (UnQual (Ident "happyReduction_294"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_294") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut89"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn84"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_295")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 77))) (Var (UnQual (Ident "happyReduction_295"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_295") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn84"))) (Paren (App (Var (UnQual (Ident "happy_var_1"))) (Var (UnQual (Ident "emptyDeclr"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_296")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 78))) (Var (UnQual (Ident "happyReduction_296"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_296") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut86"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn85"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_297")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 78))) (Var (UnQual (Ident "happyReduction_297"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_297") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut79"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (Case (Var (UnQual (Ident "happy_var_2"))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PVar (Ident "params"),PVar (Ident "variadic")]) (UnGuardedRhs (App (App (App (App (Var (UnQual (Ident "funDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Con (UnQual (Ident "Right"))) (Tuple Boxed [Var (UnQual (Ident "params")),Var (UnQual (Ident "variadic"))])))) (List [])) (Var (UnQual (Ident "at"))))) Nothing]))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn85"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_298")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 79))) (Var (UnQual (Ident "happyReduction_298"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_298") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut87"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn86"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_299")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 79))) (Var (UnQual (Ident "happyReduction_299"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_299") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut86"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut87"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn86"))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "decl")] (App (Var (UnQual (Ident "happy_var_2"))) (Paren (App (Var (UnQual (Ident "happy_var_1"))) (Var (UnQual (Ident "decl")))))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_300")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_300"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_300") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut120"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (List [])) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "False")))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_301")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_301"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_301") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut120"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (List [])) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "False")))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_302")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_302"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_302") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut120"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "False")))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_303")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_303"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_303") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut120"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "False")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_304")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_304"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_304") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (List [])) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "True")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_4")))))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_305")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_305"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_305") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_4")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "True")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_5")))))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_306")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_306"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_306") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_3"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_5")))))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "True")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_6")))))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_307")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_307"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_307") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (List [])) (Con (UnQual (Ident "True")))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_308")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_308"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_308") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_2"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_4")))))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (List [])) (Con (UnQual (Ident "True")))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_309")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_309"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_309") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_4")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Con (UnQual (Ident "True")))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_310")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_310"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_310") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_3"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_5")))))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Con (UnQual (Ident "True")))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_311")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_311"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_311") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "emptyDeclr")))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_312")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_312"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_312") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "emptyDeclr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_313")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_313"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_313") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_2")))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_314")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_314"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_314") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_315")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_315"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_315") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "emptyDeclr")))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_316")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_316"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_316") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (List []))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_317")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_317"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_317") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut88"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn89"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_318")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_318"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_318") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut89"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn89"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_319")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_319"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_319") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (Var (UnQual (Ident "happy_var_2"))) (Var (UnQual (Ident "emptyDeclr"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_320")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_320"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_320") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut88"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (Var (UnQual (Ident "happy_var_4"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_321")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_321"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_321") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut88"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_322")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_322"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_322") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut89"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_323")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_323"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_323") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "happy_var_3"))) (Var (UnQual (Ident "emptyDeclr")))))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_324")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_324"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_324") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut88"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "happy_var_5"))) (Var (UnQual (Ident "happy_var_3")))))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_325")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_325"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_325") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut89"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_326")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 83))) (Var (UnQual (Ident "happyReduction_326"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_326") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CInitExpr"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn90"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_327")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 83))) (Var (UnQual (Ident "happyReduction_327"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_327") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CInitList"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn90"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_328")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 83))) (Var (UnQual (Ident "happyReduction_328"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_328") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CInitList"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn90"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_329")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 84))) (Var (UnQual (Ident "happyReduction_329"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_329")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn91"))) (Paren (Con (UnQual (Ident "Nothing")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_330")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 84))) (Var (UnQual (Ident "happyReduction_330"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_330") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut90"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn91"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_331")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 85))) (Var (UnQual (Ident "happyReduction_331"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_331")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn92"))) (Paren (Var (UnQual (Ident "empty")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_332")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 85))) (Var (UnQual (Ident "happyReduction_332"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_332") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut90"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn92"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Tuple Boxed [List [],Var (UnQual (Ident "happy_var_1"))]))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_333")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 85))) (Var (UnQual (Ident "happyReduction_333"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_333") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut93"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut90"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn92"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Tuple Boxed [Var (UnQual (Ident "happy_var_1")),Var (UnQual (Ident "happy_var_2"))]))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_334")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 85))) (Var (UnQual (Ident "happyReduction_334"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_334") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut90"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn92"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Tuple Boxed [List [],Var (UnQual (Ident "happy_var_3"))]))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_335")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 85))) (Var (UnQual (Ident "happyReduction_335"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_335") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut93"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut90"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn92"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Tuple Boxed [Var (UnQual (Ident "happy_var_3")),Var (UnQual (Ident "happy_var_4"))])))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_336")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 86))) (Var (UnQual (Ident "happyReduction_336"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_336") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut94"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn93"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_337")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 86))) (Var (UnQual (Ident "happyReduction_337"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_337") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (List [App (App (Con (UnQual (Ident "CMemberDesig"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "at")))]))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn93"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_338")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 86))) (Var (UnQual (Ident "happyReduction_338"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_338") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut96"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn93"))) (Paren (List [Var (UnQual (Ident "happy_var_1"))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_339")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 87))) (Var (UnQual (Ident "happyReduction_339"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_339") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut95"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn94"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_340")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 87))) (Var (UnQual (Ident "happyReduction_340"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_340") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut94"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut95"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn94"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_341")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 88))) (Var (UnQual (Ident "happyReduction_341"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_341") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CArrDesig"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn95"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_342")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 88))) (Var (UnQual (Ident "happyReduction_342"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_342") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CMemberDesig"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn95"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_343")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 88))) (Var (UnQual (Ident "happyReduction_343"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_343") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut96"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn95"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_344")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 89))) (Var (UnQual (Ident "happyReduction_344"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_344") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CRangeDesig"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn96"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_345")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_345"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_345") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CVar"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn97"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_346")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_346"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_346") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut122"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn97"))) (Paren (App (Con (UnQual (Ident "CConst"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_347")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_347"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_347") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn97"))) (Paren (App (Con (UnQual (Ident "CConst"))) (Paren (App (Var (UnQual (Ident "liftStrLit"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_348")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_348"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_348") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn97"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_349")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_349"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_349") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CStatExpr"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn97"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_350")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_350"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_350") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "CBuiltinExpr"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CBuiltinVaArg"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5")))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn97"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_351")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_351"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_351") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut98"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "CBuiltinExpr"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CBuiltinOffsetOf"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5")))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn97"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_352")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_352"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_352") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "CBuiltinExpr"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CBuiltinTypesCompatible"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5")))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn97"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_353")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 91))) (Var (UnQual (Ident "happyReduction_353"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_353") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Var (UnQual (Ident "singleton"))) (QVarOp (UnQual (Symbol "."))) (App (Con (UnQual (Ident "CMemberDesig"))) (Var (UnQual (Ident "happy_var_1")))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn98"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_354")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 91))) (Var (UnQual (Ident "happyReduction_354"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_354") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut98"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (LeftSection (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc")))) (QVarOp (UnQual (Symbol "."))) (App (Con (UnQual (Ident "CMemberDesig"))) (Var (UnQual (Ident "happy_var_3")))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn98"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_355")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 91))) (Var (UnQual (Ident "happyReduction_355"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_355") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut98"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (LeftSection (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc")))) (QVarOp (UnQual (Symbol "."))) (App (Con (UnQual (Ident "CArrDesig"))) (Var (UnQual (Ident "happy_var_3")))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn98"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_356")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_356"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_356") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut97"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn99"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_357")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_357"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_357") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CIndex"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_358")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_358"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_358") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCall"))) (Var (UnQual (Ident "happy_var_1")))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_359")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_359"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_359") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut100"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCall"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_360")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_360"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_360") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CMember"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (Con (UnQual (Ident "False"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_361")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_361"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_361") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CMember"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (Con (UnQual (Ident "True"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_362")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_362"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_362") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CUnary"))) (Con (UnQual (Ident "CPostIncOp")))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_363")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_363"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_363") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CUnary"))) (Con (UnQual (Ident "CPostDecOp")))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_364")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_364"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_364") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCompoundLit"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_365")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_365"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_365") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCompoundLit"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_366")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 93))) (Var (UnQual (Ident "happyReduction_366"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_366") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn100"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_367")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 93))) (Var (UnQual (Ident "happyReduction_367"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_367") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut100"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn100"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_368")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_368"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_368") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn101"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_369")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_369"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_369") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CUnary"))) (Con (UnQual (Ident "CPreIncOp")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_370")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_370"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_370") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CUnary"))) (Con (UnQual (Ident "CPreDecOp")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_371")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_371"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_371") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn101"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_372")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_372"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_372") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut102"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CUnary"))) (Paren (App (Var (UnQual (Ident "unL"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_373")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_373"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_373") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CSizeofExpr"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_374")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_374"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_374") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CSizeofType"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_375")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_375"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_375") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CAlignofExpr"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_376")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_376"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_376") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CAlignofType"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_377")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_377"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_377") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CComplexReal"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_378")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_378"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_378") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CComplexImag"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_379")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_379"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_379") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CLabAddrExpr"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_380")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_380"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_380") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CAdrOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_381")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_381"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_381") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CIndOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_382")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_382"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_382") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CPlusOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_383")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_383"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_383") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CMinOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_384")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_384"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_384") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CCompOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_385")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_385"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_385") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CNegOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_386")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 96))) (Var (UnQual (Ident "happyReduction_386"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_386") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn103"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_387")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 96))) (Var (UnQual (Ident "happyReduction_387"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_387") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCast"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn103"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_388")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 97))) (Var (UnQual (Ident "happyReduction_388"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_388") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn104"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_389")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 97))) (Var (UnQual (Ident "happyReduction_389"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_389") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CMulOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn104"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_390")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 97))) (Var (UnQual (Ident "happyReduction_390"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_390") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CDivOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn104"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_391")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 97))) (Var (UnQual (Ident "happyReduction_391"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_391") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CRmdOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn104"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_392")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 98))) (Var (UnQual (Ident "happyReduction_392"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_392") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn105"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_393")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 98))) (Var (UnQual (Ident "happyReduction_393"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_393") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut105"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CAddOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn105"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_394")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 98))) (Var (UnQual (Ident "happyReduction_394"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_394") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut105"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CSubOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn105"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_395")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 99))) (Var (UnQual (Ident "happyReduction_395"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_395") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut105"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn106"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_396")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 99))) (Var (UnQual (Ident "happyReduction_396"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_396") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut105"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CShlOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn106"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_397")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 99))) (Var (UnQual (Ident "happyReduction_397"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_397") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut105"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CShrOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn106"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_398")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 100))) (Var (UnQual (Ident "happyReduction_398"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_398") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn107"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_399")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 100))) (Var (UnQual (Ident "happyReduction_399"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_399") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CLeOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn107"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_400")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 100))) (Var (UnQual (Ident "happyReduction_400"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_400") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CGrOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn107"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_401")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 100))) (Var (UnQual (Ident "happyReduction_401"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_401") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CLeqOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn107"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_402")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 100))) (Var (UnQual (Ident "happyReduction_402"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_402") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CGeqOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn107"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_403")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 101))) (Var (UnQual (Ident "happyReduction_403"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_403") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn108"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_404")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 101))) (Var (UnQual (Ident "happyReduction_404"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_404") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut108"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CEqOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn108"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_405")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 101))) (Var (UnQual (Ident "happyReduction_405"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_405") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut108"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CNeqOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn108"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_406")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 102))) (Var (UnQual (Ident "happyReduction_406"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_406") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut108"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn109"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_407")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 102))) (Var (UnQual (Ident "happyReduction_407"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_407") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut109"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut108"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CAndOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn109"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_408")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 103))) (Var (UnQual (Ident "happyReduction_408"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_408") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut109"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn110"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_409")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 103))) (Var (UnQual (Ident "happyReduction_409"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_409") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut110"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut109"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CXorOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn110"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_410")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 104))) (Var (UnQual (Ident "happyReduction_410"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_410") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut110"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn111"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_411")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 104))) (Var (UnQual (Ident "happyReduction_411"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_411") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut111"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut110"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "COrOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn111"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_412")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 105))) (Var (UnQual (Ident "happyReduction_412"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_412") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut111"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn112"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_413")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 105))) (Var (UnQual (Ident "happyReduction_413"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_413") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut112"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut111"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CLndOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn112"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_414")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 106))) (Var (UnQual (Ident "happyReduction_414"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_414") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut112"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn113"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_415")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 106))) (Var (UnQual (Ident "happyReduction_415"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_415") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut113"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut112"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CLorOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn113"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_416")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 107))) (Var (UnQual (Ident "happyReduction_416"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_416") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut113"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn114"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_417")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 107))) (Var (UnQual (Ident "happyReduction_417"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_417") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut113"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut114"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CCond"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_5"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn114"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_418")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 107))) (Var (UnQual (Ident "happyReduction_418"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_418") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut113"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut114"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CCond"))) (Var (UnQual (Ident "happy_var_1")))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn114"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_419")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 108))) (Var (UnQual (Ident "happyReduction_419"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_419") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut114"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn115"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_420")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 108))) (Var (UnQual (Ident "happyReduction_420"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_420") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut116"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CAssign"))) (Paren (App (Var (UnQual (Ident "unL"))) (Var (UnQual (Ident "happy_var_2")))))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn115"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_421")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_421"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_421") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CAssignOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_422")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_422"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_422") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CMulAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_423")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_423"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_423") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CDivAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_424")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_424"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_424") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CRmdAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_425")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_425"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_425") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CAddAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_426")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_426"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_426") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CSubAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_427")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_427"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_427") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CShlAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_428")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_428"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_428") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CShrAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_429")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_429"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_429") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CAndAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_430")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_430"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_430") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CXorAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_431")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_431"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_431") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "COrAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_432")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 110))) (Var (UnQual (Ident "happyReduction_432"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_432") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn117"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_433")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 110))) (Var (UnQual (Ident "happyReduction_433"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_433") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut118"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "es")) (UnGuardedRhs (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3"))))) Nothing]) (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "es")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CComma"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QConOp (Special Cons)) (Var (UnQual (Ident "es")))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn117"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_434")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 111))) (Var (UnQual (Ident "happyReduction_434"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_434") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn118"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_435")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 111))) (Var (UnQual (Ident "happyReduction_435"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_435") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut118"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn118"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_436")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 112))) (Var (UnQual (Ident "happyReduction_436"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_436")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn119"))) (Paren (Con (UnQual (Ident "Nothing")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_437")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 112))) (Var (UnQual (Ident "happyReduction_437"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_437") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn119"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_438")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 113))) (Var (UnQual (Ident "happyReduction_438"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_438")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn120"))) (Paren (Con (UnQual (Ident "Nothing")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_439")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 113))) (Var (UnQual (Ident "happyReduction_439"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_439") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn120"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_440")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 114))) (Var (UnQual (Ident "happyReduction_440"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_440") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut114"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn121"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_441")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 115))) (Var (UnQual (Ident "happyReduction_441"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_441") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokILit")) [PWildCard,PVar (Ident "i")]) (UnGuardedRhs (App (Con (UnQual (Ident "CIntConst"))) (Var (UnQual (Ident "i"))))) Nothing])))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn122"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_442")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 115))) (Var (UnQual (Ident "happyReduction_442"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_442") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokCLit")) [PWildCard,PVar (Ident "c")]) (UnGuardedRhs (App (Con (UnQual (Ident "CCharConst"))) (Var (UnQual (Ident "c"))))) Nothing])))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn122"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_443")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 115))) (Var (UnQual (Ident "happyReduction_443"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_443") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokFLit")) [PWildCard,PVar (Ident "f")]) (UnGuardedRhs (App (Con (UnQual (Ident "CFloatConst"))) (Var (UnQual (Ident "f"))))) Nothing])))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn122"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_444")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 116))) (Var (UnQual (Ident "happyReduction_444"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_444") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSLit")) [PWildCard,PVar (Ident "s")]) (UnGuardedRhs (App (Con (UnQual (Ident "CStrLit"))) (Var (UnQual (Ident "s"))))) Nothing])))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn123"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_445")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 116))) (Var (UnQual (Ident "happyReduction_445"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_445") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut124"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSLit")) [PWildCard,PVar (Ident "s")]) (UnGuardedRhs (App (Con (UnQual (Ident "CStrLit"))) (Paren (App (Var (UnQual (Ident "concatCStrings"))) (Paren (InfixApp (Var (UnQual (Ident "s"))) (QConOp (Special Cons)) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))))))) Nothing])))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn123"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_446")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 117))) (Var (UnQual (Ident "happyReduction_446"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_446") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn124"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSLit")) [PWildCard,PVar (Ident "s")]) (UnGuardedRhs (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "s"))))) Nothing])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_447")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 117))) (Var (UnQual (Ident "happyReduction_447"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_447") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut124"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn124"))) (Paren (Case (Var (UnQual (Ident "happy_var_2"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSLit")) [PWildCard,PVar (Ident "s")]) (UnGuardedRhs (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "s"))))) Nothing])))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_448")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 118))) (Var (UnQual (Ident "happyReduction_448"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_448") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn125"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_449")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 118))) (Var (UnQual (Ident "happyReduction_449"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_449") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn125"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_450")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 119))) (Var (UnQual (Ident "happyReduction_450"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_450")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn126"))) (Paren (List [])))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_451")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 119))) (Var (UnQual (Ident "happyReduction_451"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_451") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn126"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_452")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 120))) (Var (UnQual (Ident "happyReduction_452"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_452") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn127"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_453")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 120))) (Var (UnQual (Ident "happyReduction_453"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_453") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn127"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_454")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 121))) (Var (UnQual (Ident "happyReduction_454"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_454") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut129"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn128"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_455")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 122))) (Var (UnQual (Ident "happyReduction_455"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_455") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut130"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn129"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Nothing")) []) (UnGuardedRhs (Var (UnQual (Ident "empty")))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Just")) [PVar (Ident "attr")]) (UnGuardedRhs (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "attr"))))) Nothing])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_456")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 122))) (Var (UnQual (Ident "happyReduction_456"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_456") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut129"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut130"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn129"))) (Paren (App (Paren (App (App (App (Var (UnQual (Ident "maybe"))) (Var (UnQual (Ident "id")))) (Paren (App (Var (UnQual (Ident "flip"))) (Var (UnQual (Ident "snoc")))))) (Var (UnQual (Ident "happy_var_3"))))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_457")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 123))) (Var (UnQual (Ident "happyReduction_457"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_457")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn130"))) (Paren (Con (UnQual (Ident "Nothing")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_458")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 123))) (Var (UnQual (Ident "happyReduction_458"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_458") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CAttr"))) (Var (UnQual (Ident "happy_var_1")))) (List [])))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn130"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_459")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 123))) (Var (UnQual (Ident "happyReduction_459"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_459") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CAttr"))) (Paren (App (Var (UnQual (Ident "internalIdent"))) (Lit (String "const"))))) (List [])))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn130"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_460")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 123))) (Var (UnQual (Ident "happyReduction_460"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_460") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut131"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CAttr"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn130"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_461")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 123))) (Var (UnQual (Ident "happyReduction_461"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_461") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CAttr"))) (Var (UnQual (Ident "happy_var_1")))) (List [])))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn130"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_462")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 124))) (Var (UnQual (Ident "happyReduction_462"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_462") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn131"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_463")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 124))) (Var (UnQual (Ident "happyReduction_463"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_463") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut131"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn131"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyNewToken") [PVar (Ident "action"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "lexC"))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "tk")] (Let (BDecls [FunBind [Match (SrcLoc "" -1 -1) (Ident "cont") [PVar (Ident "i")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyDoAction"))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "action")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing]]) (Case (Var (UnQual (Ident "tk"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokEof")) []) (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyDoAction"))) (Lit (PrimInt 101))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "action")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokLParen")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 1)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokRParen")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 2)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokLBracket")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 3)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokRBracket")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 4)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokArrow")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 5)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokDot")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 6)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokExclam")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 7)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokTilde")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 8)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokInc")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 9)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokDec")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 10)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokPlus")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 11)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokMinus")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 12)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokStar")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 13)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSlash")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 14)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokPercent")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 15)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokAmper")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 16)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokShiftL")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 17)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokShiftR")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 18)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokLess")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 19)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokLessEq")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 20)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokHigh")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 21)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokHighEq")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 22)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokEqual")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 23)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokUnequal")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 24)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokHat")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 25)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokBar")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 26)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokAnd")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 27)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokOr")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 28)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokQuest")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 29)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokColon")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 30)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokAssign")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 31)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokPlusAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 32)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokMinusAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 33)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokStarAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 34)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSlashAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 35)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokPercAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 36)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokAmpAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 37)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokHatAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 38)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokBarAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 39)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSLAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 40)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSRAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 41)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokComma")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 42)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSemic")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 43)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokLBrace")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 44)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokRBrace")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 45)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokEllipsis")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 46)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokAlignof")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 47)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokAsm")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 48)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokAuto")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 49)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokBreak")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 50)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokBool")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 51)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokCase")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 52)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokChar")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 53)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokConst")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 54)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokContinue")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 55)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokComplex")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 56)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokDefault")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 57)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokDo")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 58)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokDouble")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 59)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokElse")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 60)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokEnum")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 61)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokExtern")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 62)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokFloat")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 63)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokFor")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 64)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGoto")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 65)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokIf")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 66)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokInline")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 67)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokInt")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 68)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokLong")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 69)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokLabel")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 70)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokRegister")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 71)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokRestrict")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 72)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokReturn")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 73)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokShort")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 74)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSigned")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 75)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSizeof")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 76)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokStatic")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 77)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokStruct")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 78)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSwitch")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 79)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokTypedef")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 80)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokTypeof")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 81)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokThread")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 82)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokUnion")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 83)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokUnsigned")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 84)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokVoid")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 85)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokVolatile")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 86)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokWhile")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 87)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokCLit")) [PWildCard,PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 88)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokILit")) [PWildCard,PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 89)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokFLit")) [PWildCard,PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 90)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSLit")) [PWildCard,PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 91)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_dollar_dollar")]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 92)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_dollar_dollar")]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 93)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCAttrTok")) [],PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 94)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCExtTok")) [],PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 95)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCComplexReal")) [],PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 96)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCComplexImag")) [],PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 97)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCVaArg")) [],PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 98)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCOffsetof")) [],PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 99)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCTyCompat")) [],PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 100)))) Nothing,Alt (SrcLoc "" -1 -1) PWildCard (UnGuardedRhs (App (Var (UnQual (Ident "happyError'"))) (Var (UnQual (Ident "tk"))))) Nothing])))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyError_") [PVar (Ident "tk")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyError'"))) (Var (UnQual (Ident "tk"))))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "happyThen"] (TyForall Nothing [] (TyFun (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a"))) (TyFun (TyParen (TyFun (TyVar (Ident "a")) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "b"))))) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "b")))))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyThen")) (UnGuardedRhs (Var (UnQual (Symbol ">>=")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyReturn"] (TyForall Nothing [] (TyFun (TyVar (Ident "a")) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a"))))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReturn")) (UnGuardedRhs (Paren (Var (UnQual (Ident "return"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyThen1")) (UnGuardedRhs (Var (UnQual (Ident "happyThen")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyReturn1"] (TyForall Nothing [] (TyFun (TyVar (Ident "a")) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a"))))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReturn1")) (UnGuardedRhs (Var (UnQual (Ident "happyReturn")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyError'"] (TyForall Nothing [] (TyFun (TyCon (UnQual (Ident "CToken"))) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyError'") [PVar (Ident "tk")] Nothing (UnGuardedRhs (App (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "token")] (Var (UnQual (Ident "happyError"))))) (Var (UnQual (Ident "tk"))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "translation_unit")) (UnGuardedRhs (Var (UnQual (Ident "happySomeParser")))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "happySomeParser")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (App (Var (UnQual (Ident "happyParse"))) (Lit (PrimInt 0))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "x")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyOut7"))) (Var (UnQual (Ident "x")))))))))) Nothing])),PatBind (SrcLoc "" -1 -1) (PVar (Ident "external_declaration")) (UnGuardedRhs (Var (UnQual (Ident "happySomeParser")))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "happySomeParser")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (App (Var (UnQual (Ident "happyParse"))) (Lit (PrimInt 1))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "x")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyOut9"))) (Var (UnQual (Ident "x")))))))))) Nothing])),PatBind (SrcLoc "" -1 -1) (PVar (Ident "statement")) (UnGuardedRhs (Var (UnQual (Ident "happySomeParser")))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "happySomeParser")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (App (Var (UnQual (Ident "happyParse"))) (Lit (PrimInt 2))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "x")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "x")))))))))) Nothing])),PatBind (SrcLoc "" -1 -1) (PVar (Ident "expression")) (UnGuardedRhs (Var (UnQual (Ident "happySomeParser")))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "happySomeParser")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (App (Var (UnQual (Ident "happyParse"))) (Lit (PrimInt 3))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "x")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "x")))))))))) Nothing])),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happySeq")) (UnGuardedRhs (Var (UnQual (Ident "happyDontSeq")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "reverseList"] (TyFun (TyList (TyVar (Ident "a"))) (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyVar (Ident "a"))))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "reverseList")) (UnGuardedRhs (InfixApp (Con (UnQual (Ident "Reversed"))) (QVarOp (UnQual (Symbol "."))) (Var (Qual (ModuleName "List") (Ident "reverse"))))) Nothing,DataDecl (SrcLoc "" -1 -1) DataType [] (Ident "Located") [UnkindedVar (Ident "a")] [QualConDecl (SrcLoc "" -1 -1) [] [] (ConDecl (Ident "L") [TyBang BangedTy (TyVar (Ident "a")),TyBang BangedTy (TyCon (UnQual (Ident "Position")))])] [],TypeSig (SrcLoc "" -1 -1) [Ident "unL"] (TyFun (TyApp (TyCon (UnQual (Ident "Located"))) (TyVar (Ident "a"))) (TyVar (Ident "a"))),FunBind [Match (SrcLoc "" -1 -1) (Ident "unL") [PParen (PApp (UnQual (Ident "L")) [PVar (Ident "a"),PVar (Ident "pos")])] Nothing (UnGuardedRhs (Var (UnQual (Ident "a")))) Nothing],InstDecl (SrcLoc "" -1 -1) Nothing [] [] (UnQual (Ident "Pos")) [TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyVar (Ident "a")))] [InsDecl (FunBind [Match (SrcLoc "" -1 -1) (Ident "posOf") [PParen (PApp (UnQual (Ident "L")) [PWildCard,PVar (Ident "pos")])] Nothing (UnGuardedRhs (Var (UnQual (Ident "pos")))) Nothing])],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "withNodeInfo")),TypeSig (SrcLoc "" -1 -1) [Ident "withNodeInfo"] (TyForall Nothing [ClassA (UnQual (Ident "Pos")) [TyVar (Ident "node")]] (TyFun (TyVar (Ident "node")) (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyVar (Ident "a")))) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "withNodeInfo") [PVar (Ident "node"),PVar (Ident "mkAttrNode")] Nothing (UnGuardedRhs (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "name")) (Var (UnQual (Ident "getNewName"))),Generator (SrcLoc "" -1 -1) (PVar (Ident "lastTok")) (Var (UnQual (Ident "getSavedToken"))),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "firstPos")) (UnGuardedRhs (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "node"))))) Nothing]),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "attrs")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "mkNodeInfo'"))) (Var (UnQual (Ident "firstPos")))) (Paren (InfixApp (Var (UnQual (Ident "posLenOfTok"))) (QVarOp (UnQual (Symbol "$!"))) (Var (UnQual (Ident "lastTok")))))) (Var (UnQual (Ident "name"))))) Nothing]),Qualifier (InfixApp (Var (UnQual (Ident "attrs"))) (QVarOp (UnQual (Ident "seq"))) (App (Var (UnQual (Ident "return"))) (Paren (App (Var (UnQual (Ident "mkAttrNode"))) (Var (UnQual (Ident "attrs")))))))])) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "withLength")),TypeSig (SrcLoc "" -1 -1) [Ident "withLength"] (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyVar (Ident "a")))) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "withLength") [PVar (Ident "nodeinfo"),PVar (Ident "mkAttrNode")] Nothing (UnGuardedRhs (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "lastTok")) (Var (UnQual (Ident "getSavedToken"))),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "firstPos")) (UnGuardedRhs (App (Var (UnQual (Ident "posOfNode"))) (Var (UnQual (Ident "nodeinfo"))))) Nothing]),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "attrs")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "mkNodeInfo'"))) (Var (UnQual (Ident "firstPos")))) (Paren (InfixApp (Var (UnQual (Ident "posLenOfTok"))) (QVarOp (UnQual (Symbol "$!"))) (Var (UnQual (Ident "lastTok")))))) (Paren (App (App (App (Var (UnQual (Ident "maybe"))) (Paren (App (Var (UnQual (Ident "error"))) (Lit (String "nameOfNode"))))) (Var (UnQual (Ident "id")))) (Paren (App (Var (UnQual (Ident "nameOfNode"))) (Var (UnQual (Ident "nodeinfo"))))))))) Nothing]),Qualifier (InfixApp (Var (UnQual (Ident "attrs"))) (QVarOp (UnQual (Ident "seq"))) (App (Var (UnQual (Ident "return"))) (Paren (App (Var (UnQual (Ident "mkAttrNode"))) (Var (UnQual (Ident "attrs")))))))])) Nothing],DataDecl (SrcLoc "" -1 -1) DataType [] (Ident "CDeclrR") [] [QualConDecl (SrcLoc "" -1 -1) [] [] (ConDecl (Ident "CDeclrR") [TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "Ident")))),TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDerivedDeclr"))))),TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit")))),TyList (TyCon (UnQual (Ident "CAttr"))),TyCon (UnQual (Ident "NodeInfo"))])] [],TypeSig (SrcLoc "" -1 -1) [Ident "reverseDeclr"] (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclr")))),FunBind [Match (SrcLoc "" -1 -1) (Ident "reverseDeclr") [PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ide"),PVar (Ident "reversedDDs"),PVar (Ident "asmname"),PVar (Ident "cattrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclr"))) (Var (UnQual (Ident "ide")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "reversedDDs")))))) (Var (UnQual (Ident "asmname")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "at"))))) Nothing],InstDecl (SrcLoc "" -1 -1) Nothing [] [] (UnQual (Ident "CNode")) [TyParen (TyCon (UnQual (Ident "CDeclrR")))] [InsDecl (FunBind [Match (SrcLoc "" -1 -1) (Ident "nodeInfo") [PParen (PApp (UnQual (Ident "CDeclrR")) [PWildCard,PWildCard,PWildCard,PWildCard,PVar (Ident "n")])] Nothing (UnGuardedRhs (Var (UnQual (Ident "n")))) Nothing])],InstDecl (SrcLoc "" -1 -1) Nothing [] [] (UnQual (Ident "Pos")) [TyParen (TyCon (UnQual (Ident "CDeclrR")))] [InsDecl (FunBind [Match (SrcLoc "" -1 -1) (Ident "posOf") [PParen (PApp (UnQual (Ident "CDeclrR")) [PWildCard,PWildCard,PWildCard,PWildCard,PVar (Ident "n")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "n"))))) Nothing])],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "withAttribute")),TypeSig (SrcLoc "" -1 -1) [Ident "withAttribute"] (TyForall Nothing [ClassA (UnQual (Ident "Pos")) [TyVar (Ident "node")]] (TyFun (TyVar (Ident "node")) (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyCon (UnQual (Ident "CDeclrR"))))) (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CDeclrR")))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "withAttribute") [PVar (Ident "node"),PVar (Ident "cattrs"),PVar (Ident "mkDeclrNode")] Nothing (UnGuardedRhs (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "name")) (Var (UnQual (Ident "getNewName"))),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "attrs")) (UnGuardedRhs (App (App (Var (UnQual (Ident "mkNodeInfo"))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "node")))))) (Var (UnQual (Ident "name"))))) Nothing]),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "newDeclr")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "cattrs")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "mkDeclrNode"))) (Var (UnQual (Ident "attrs")))))) Nothing]),Qualifier (InfixApp (Var (UnQual (Ident "attrs"))) (QVarOp (UnQual (Ident "seq"))) (InfixApp (Var (UnQual (Ident "newDeclr"))) (QVarOp (UnQual (Ident "seq"))) (App (Var (UnQual (Ident "return"))) (Var (UnQual (Ident "newDeclr"))))))])) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "withAttributePF")),TypeSig (SrcLoc "" -1 -1) [Ident "withAttributePF"] (TyForall Nothing [ClassA (UnQual (Ident "Pos")) [TyVar (Ident "node")]] (TyFun (TyVar (Ident "node")) (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR")))))) (TyApp (TyCon (UnQual (Ident "P"))) (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR")))))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "withAttributePF") [PVar (Ident "node"),PVar (Ident "cattrs"),PVar (Ident "mkDeclrCtor")] Nothing (UnGuardedRhs (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "name")) (Var (UnQual (Ident "getNewName"))),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "attrs")) (UnGuardedRhs (App (App (Var (UnQual (Ident "mkNodeInfo"))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "node")))))) (Var (UnQual (Ident "name"))))) Nothing]),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "newDeclr")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "cattrs")))) (QVarOp (UnQual (Symbol "."))) (App (Var (UnQual (Ident "mkDeclrCtor"))) (Var (UnQual (Ident "attrs")))))) Nothing]),Qualifier (InfixApp (Var (UnQual (Ident "attrs"))) (QVarOp (UnQual (Ident "seq"))) (InfixApp (Var (UnQual (Ident "newDeclr"))) (QVarOp (UnQual (Ident "seq"))) (App (Var (UnQual (Ident "return"))) (Var (UnQual (Ident "newDeclr"))))))])) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "appendObjAttrs"] (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyCon (UnQual (Ident "CDeclr"))) (TyCon (UnQual (Ident "CDeclr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "appendObjAttrs") [PVar (Ident "newAttrs"),PParen (PApp (UnQual (Ident "CDeclr")) [PVar (Ident "ident"),PVar (Ident "indirections"),PVar (Ident "asmname"),PVar (Ident "cAttrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclr"))) (Var (UnQual (Ident "ident")))) (Var (UnQual (Ident "indirections")))) (Var (UnQual (Ident "asmname")))) (Paren (InfixApp (Var (UnQual (Ident "cAttrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "newAttrs")))))) (Var (UnQual (Ident "at"))))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "appendObjAttrsR"] (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "appendObjAttrsR") [PVar (Ident "newAttrs"),PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PVar (Ident "indirections"),PVar (Ident "asmname"),PVar (Ident "cAttrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Var (UnQual (Ident "indirections")))) (Var (UnQual (Ident "asmname")))) (Paren (InfixApp (Var (UnQual (Ident "cAttrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "newAttrs")))))) (Var (UnQual (Ident "at"))))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "setAsmName"] (TyFun (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit")))) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "setAsmName") [PVar (Ident "mAsmName"),PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PVar (Ident "indirections"),PVar (Ident "oldName"),PVar (Ident "cattrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (Case (App (App (Var (UnQual (Ident "combineName"))) (Var (UnQual (Ident "mAsmName")))) (Var (UnQual (Ident "oldName")))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Left")) [PTuple Boxed [PVar (Ident "n1"),PVar (Ident "n2")]]) (UnGuardedRhs (App (App (Var (UnQual (Ident "failP"))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "n2")))))) (List [Lit (String "Duplicate assembler name: "),App (Var (UnQual (Ident "showName"))) (Var (UnQual (Ident "n1"))),App (Var (UnQual (Ident "showName"))) (Var (UnQual (Ident "n2")))]))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Right")) [PVar (Ident "newName")]) (UnGuardedRhs (InfixApp (Var (UnQual (Ident "return"))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Var (UnQual (Ident "indirections")))) (Var (UnQual (Ident "newName")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "at")))))) Nothing])) (Just (BDecls [FunBind [Match (SrcLoc "" -1 -1) (Ident "combineName") [PApp (UnQual (Ident "Nothing")) [],PApp (UnQual (Ident "Nothing")) []] Nothing (UnGuardedRhs (App (Con (UnQual (Ident "Right"))) (Con (UnQual (Ident "Nothing"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "combineName") [PApp (UnQual (Ident "Nothing")) [],PAsPat (Ident "oldname") (PParen (PApp (UnQual (Ident "Just")) [PWildCard]))] Nothing (UnGuardedRhs (App (Con (UnQual (Ident "Right"))) (Var (UnQual (Ident "oldname"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "combineName") [PAsPat (Ident "newname") (PParen (PApp (UnQual (Ident "Just")) [PWildCard])),PApp (UnQual (Ident "Nothing")) []] Nothing (UnGuardedRhs (App (Con (UnQual (Ident "Right"))) (Var (UnQual (Ident "newname"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "combineName") [PParen (PApp (UnQual (Ident "Just")) [PVar (Ident "n1")]),PParen (PApp (UnQual (Ident "Just")) [PVar (Ident "n2")])] Nothing (UnGuardedRhs (App (Con (UnQual (Ident "Left"))) (Tuple Boxed [Var (UnQual (Ident "n1")),Var (UnQual (Ident "n2"))]))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "showName") [PParen (PApp (UnQual (Ident "CStrLit")) [PVar (Ident "cstr"),PWildCard])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "show"))) (Var (UnQual (Ident "cstr"))))) Nothing]]))],TypeSig (SrcLoc "" -1 -1) [Ident "withAsmNameAttrs"] (TyFun (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit"))),TyList (TyCon (UnQual (Ident "CAttr")))]) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "withAsmNameAttrs") [PTuple Boxed [PVar (Ident "mAsmName"),PVar (Ident "newAttrs")],PVar (Ident "declr")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "setAsmName"))) (Var (UnQual (Ident "mAsmName")))) (Paren (App (App (Var (UnQual (Ident "appendObjAttrsR"))) (Var (UnQual (Ident "newAttrs")))) (Var (UnQual (Ident "declr"))))))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "appendDeclrAttrs"] (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "appendDeclrAttrs") [PVar (Ident "newAttrs"),PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PParen (PApp (UnQual (Ident "Reversed")) [PList []]),PVar (Ident "asmname"),PVar (Ident "cattrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Var (UnQual (Ident "empty")))) (Var (UnQual (Ident "asmname")))) (Paren (InfixApp (Var (UnQual (Ident "cattrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "newAttrs")))))) (Var (UnQual (Ident "at"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "appendDeclrAttrs") [PVar (Ident "newAttrs"),PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PParen (PApp (UnQual (Ident "Reversed")) [PParen (PInfixApp (PVar (Ident "x")) (Special Cons) (PVar (Ident "xs")))]),PVar (Ident "asmname"),PVar (Ident "cattrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Paren (App (Con (UnQual (Ident "Reversed"))) (Paren (InfixApp (App (Var (UnQual (Ident "appendAttrs"))) (Var (UnQual (Ident "x")))) (QConOp (Special Cons)) (Var (UnQual (Ident "xs")))))))) (Var (UnQual (Ident "asmname")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "at"))))) (Just (BDecls [FunBind [Match (SrcLoc "" -1 -1) (Ident "appendAttrs") [PParen (PApp (UnQual (Ident "CPtrDeclr")) [PVar (Ident "typeQuals"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (Con (UnQual (Ident "CPtrDeclr"))) (Paren (InfixApp (Var (UnQual (Ident "typeQuals"))) (QVarOp (UnQual (Symbol "++"))) (App (App (Var (UnQual (Ident "map"))) (Con (UnQual (Ident "CAttrQual")))) (Var (UnQual (Ident "newAttrs"))))))) (Var (UnQual (Ident "at"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "appendAttrs") [PParen (PApp (UnQual (Ident "CArrDeclr")) [PVar (Ident "typeQuals"),PVar (Ident "arraySize"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CArrDeclr"))) (Paren (InfixApp (Var (UnQual (Ident "typeQuals"))) (QVarOp (UnQual (Symbol "++"))) (App (App (Var (UnQual (Ident "map"))) (Con (UnQual (Ident "CAttrQual")))) (Var (UnQual (Ident "newAttrs"))))))) (Var (UnQual (Ident "arraySize")))) (Var (UnQual (Ident "at"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "appendAttrs") [PParen (PApp (UnQual (Ident "CFunDeclr")) [PVar (Ident "parameters"),PVar (Ident "cattrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CFunDeclr"))) (Var (UnQual (Ident "parameters")))) (Paren (InfixApp (Var (UnQual (Ident "cattrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "newAttrs")))))) (Var (UnQual (Ident "at"))))) Nothing]]))],TypeSig (SrcLoc "" -1 -1) [Ident "ptrDeclr"] (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyFun (TyList (TyCon (UnQual (Ident "CTypeQual")))) (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "ptrDeclr") [PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PVar (Ident "derivedDeclrs"),PVar (Ident "asmname"),PVar (Ident "cattrs"),PVar (Ident "dat")]),PVar (Ident "tyquals"),PVar (Ident "at")] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Paren (InfixApp (Var (UnQual (Ident "derivedDeclrs"))) (QVarOp (UnQual (Ident "snoc"))) (App (App (Con (UnQual (Ident "CPtrDeclr"))) (Var (UnQual (Ident "tyquals")))) (Var (UnQual (Ident "at"))))))) (Var (UnQual (Ident "asmname")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "dat"))))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "funDeclr"] (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyFun (TyParen (TyApp (TyApp (TyCon (UnQual (Ident "Either"))) (TyList (TyCon (UnQual (Ident "Ident"))))) (TyTuple Boxed [TyList (TyCon (UnQual (Ident "CDecl"))),TyCon (UnQual (Ident "Bool"))]))) (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyCon (UnQual (Ident "CDeclrR"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "funDeclr") [PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PVar (Ident "derivedDeclrs"),PVar (Ident "asmname"),PVar (Ident "dcattrs"),PVar (Ident "dat")]),PVar (Ident "params"),PVar (Ident "cattrs"),PVar (Ident "at")] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Paren (InfixApp (Var (UnQual (Ident "derivedDeclrs"))) (QVarOp (UnQual (Ident "snoc"))) (App (App (App (Con (UnQual (Ident "CFunDeclr"))) (Var (UnQual (Ident "params")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "at"))))))) (Var (UnQual (Ident "asmname")))) (Var (UnQual (Ident "dcattrs")))) (Var (UnQual (Ident "dat"))))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "arrDeclr"] (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyFun (TyList (TyCon (UnQual (Ident "CTypeQual")))) (TyFun (TyCon (UnQual (Ident "Bool"))) (TyFun (TyCon (UnQual (Ident "Bool"))) (TyFun (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))) (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyCon (UnQual (Ident "CDeclrR"))))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "arrDeclr") [PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PVar (Ident "derivedDeclrs"),PVar (Ident "asmname"),PVar (Ident "cattrs"),PVar (Ident "dat")]),PVar (Ident "tyquals"),PVar (Ident "var_sized"),PVar (Ident "static_size"),PVar (Ident "size_expr_opt"),PVar (Ident "at")] Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "arr_sz"))) (QVarOp (UnQual (Ident "seq"))) (Paren (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Paren (InfixApp (Var (UnQual (Ident "derivedDeclrs"))) (QVarOp (UnQual (Ident "snoc"))) (App (App (App (Con (UnQual (Ident "CArrDeclr"))) (Var (UnQual (Ident "tyquals")))) (Var (UnQual (Ident "arr_sz")))) (Var (UnQual (Ident "at"))))))) (Var (UnQual (Ident "asmname")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "dat"))))))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "arr_sz")) (UnGuardedRhs (Case (Var (UnQual (Ident "size_expr_opt"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Just")) [PVar (Ident "e")]) (UnGuardedRhs (App (App (Con (UnQual (Ident "CArrSize"))) (Var (UnQual (Ident "static_size")))) (Var (UnQual (Ident "e"))))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Nothing")) []) (UnGuardedRhs (App (Con (UnQual (Ident "CNoArrSize"))) (Var (UnQual (Ident "var_sized"))))) Nothing])) Nothing]))],TypeSig (SrcLoc "" -1 -1) [Ident "liftTypeQuals"] (TyFun (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CTypeQual"))))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "liftTypeQuals")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "map"))) (Con (UnQual (Ident "CTypeQual")))) (QVarOp (UnQual (Symbol "."))) (Var (UnQual (Ident "reverse"))))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "liftCAttrs"] (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "liftCAttrs")) (UnGuardedRhs (App (Var (UnQual (Ident "map"))) (Paren (InfixApp (Con (UnQual (Ident "CTypeQual"))) (QVarOp (UnQual (Symbol "."))) (Con (UnQual (Ident "CAttrQual"))))))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "addTrailingAttrs"] (TyFun (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))) (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "addTrailingAttrs") [PVar (Ident "declspecs"),PVar (Ident "new_attrs")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "viewr"))) (Var (UnQual (Ident "declspecs")))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PVar (Ident "specs_init"),PApp (UnQual (Ident "CTypeSpec")) [PParen (PApp (UnQual (Ident "CSUType")) [PParen (PApp (UnQual (Ident "CStruct")) [PVar (Ident "tag"),PVar (Ident "name"),PParen (PApp (UnQual (Ident "Just")) [PVar (Ident "def")]),PVar (Ident "def_attrs"),PVar (Ident "su_node")]),PVar (Ident "node")])]]) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "specs_init"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CSUType"))) (Paren (App (App (App (App (App (Con (UnQual (Ident "CStruct"))) (Var (UnQual (Ident "tag")))) (Var (UnQual (Ident "name")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "def")))))) (Paren (InfixApp (Var (UnQual (Ident "def_attrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "new_attrs")))))) (Var (UnQual (Ident "su_node")))))) (Var (UnQual (Ident "node"))))))))) Nothing,Alt (SrcLoc "" -1 -1) (PTuple Boxed [PVar (Ident "specs_init"),PApp (UnQual (Ident "CTypeSpec")) [PParen (PApp (UnQual (Ident "CEnumType")) [PParen (PApp (UnQual (Ident "CEnum")) [PVar (Ident "name"),PParen (PApp (UnQual (Ident "Just")) [PVar (Ident "def")]),PVar (Ident "def_attrs"),PVar (Ident "e_node")]),PVar (Ident "node")])]]) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "specs_init"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CEnumType"))) (Paren (App (App (App (App (Con (UnQual (Ident "CEnum"))) (Var (UnQual (Ident "name")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "def")))))) (Paren (InfixApp (Var (UnQual (Ident "def_attrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "new_attrs")))))) (Var (UnQual (Ident "e_node")))))) (Var (UnQual (Ident "node"))))))))) Nothing,Alt (SrcLoc "" -1 -1) PWildCard (UnGuardedRhs (InfixApp (Var (UnQual (Ident "declspecs"))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "new_attrs"))))))) Nothing])) Nothing],InstDecl (SrcLoc "" -1 -1) Nothing [] [ClassA (UnQual (Ident "Pos")) [TyVar (Ident "a")]] (UnQual (Ident "Pos")) [TyList (TyVar (Ident "a"))] [InsDecl (FunBind [Match (SrcLoc "" -1 -1) (Ident "posOf") [PParen (PInfixApp (PVar (Ident "x")) (Special Cons) PWildCard)] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "x"))))) Nothing])],InstDecl (SrcLoc "" -1 -1) Nothing [] [ClassA (UnQual (Ident "Pos")) [TyVar (Ident "a")]] (UnQual (Ident "Pos")) [TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyVar (Ident "a")))] [InsDecl (FunBind [Match (SrcLoc "" -1 -1) (Ident "posOf") [PParen (PApp (UnQual (Ident "Reversed")) [PVar (Ident "x")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "x"))))) Nothing])],TypeSig (SrcLoc "" -1 -1) [Ident "emptyDeclr"] (TyCon (UnQual (Ident "CDeclrR"))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "emptyDeclr")) (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "empty")))) (Con (UnQual (Ident "Nothing")))) (List [])) (Var (UnQual (Ident "undefNode"))))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "mkVarDeclr"] (TyFun (TyCon (UnQual (Ident "Ident"))) (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "mkVarDeclr") [PVar (Ident "ident")] Nothing (UnGuardedRhs (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "ident")))))) (Var (UnQual (Ident "empty")))) (Con (UnQual (Ident "Nothing")))) (List []))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "doDeclIdent"] (TyFun (TyList (TyCon (UnQual (Ident "CDeclSpec")))) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (Special UnitCon))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "doDeclIdent") [PVar (Ident "declspecs"),PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "mIdent"),PWildCard,PWildCard,PWildCard,PWildCard])] Nothing (UnGuardedRhs (Case (Var (UnQual (Ident "mIdent"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Nothing")) []) (UnGuardedRhs (App (Var (UnQual (Ident "return"))) (Con (Special UnitCon)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Just")) [PVar (Ident "ident")]) (GuardedRhss [GuardedRhs (SrcLoc "" -1 -1) [Qualifier (App (App (Var (UnQual (Ident "any"))) (Var (UnQual (Ident "iypedef")))) (Var (UnQual (Ident "declspecs"))))] (App (Var (UnQual (Ident "addTypedef"))) (Var (UnQual (Ident "ident")))),GuardedRhs (SrcLoc "" -1 -1) [Qualifier (Var (UnQual (Ident "otherwise")))] (App (Var (UnQual (Ident "shadowTypedef"))) (Var (UnQual (Ident "ident"))))]) Nothing])) (Just (BDecls [FunBind [Match (SrcLoc "" -1 -1) (Ident "iypedef") [PParen (PApp (UnQual (Ident "CStorageSpec")) [PParen (PApp (UnQual (Ident "CTypedef")) [PWildCard])])] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) Nothing,Match (SrcLoc "" -1 -1) (Ident "iypedef") [PWildCard] Nothing (UnGuardedRhs (Con (UnQual (Ident "False")))) Nothing]]))],TypeSig (SrcLoc "" -1 -1) [Ident "doFuncParamDeclIdent"] (TyFun (TyCon (UnQual (Ident "CDeclr"))) (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (Special UnitCon)))),FunBind [Match (SrcLoc "" -1 -1) (Ident "doFuncParamDeclIdent") [PParen (PApp (UnQual (Ident "CDeclr")) [PWildCard,PParen (PInfixApp (PApp (UnQual (Ident "CFunDeclr")) [PVar (Ident "params"),PWildCard,PWildCard]) (Special Cons) PWildCard),PWildCard,PWildCard,PWildCard])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "sequence_"))) (ListComp (Case (App (Var (UnQual (Ident "getCDeclrIdent"))) (Var (UnQual (Ident "declr")))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Nothing")) []) (UnGuardedRhs (App (Var (UnQual (Ident "return"))) (Con (Special UnitCon)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Just")) [PVar (Ident "ident")]) (UnGuardedRhs (App (Var (UnQual (Ident "shadowTypedef"))) (Var (UnQual (Ident "ident"))))) Nothing]) [QualStmt (Generator (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PWildCard,PVar (Ident "dle"),PWildCard]) (App (App (App (Var (UnQual (Ident "either"))) (Paren (App (Var (UnQual (Ident "const"))) (List [])))) (Var (UnQual (Ident "fst")))) (Var (UnQual (Ident "params"))))),QualStmt (Generator (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Just")) [PVar (Ident "declr")],PWildCard,PWildCard]) (Var (UnQual (Ident "dle"))))]))) Nothing,Match (SrcLoc "" -1 -1) (Ident "doFuncParamDeclIdent") [PWildCard] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "return"))) (Con (Special UnitCon)))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "getCDeclrIdent"] (TyFun (TyCon (UnQual (Ident "CDeclr"))) (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "Ident"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "getCDeclrIdent") [PParen (PApp (UnQual (Ident "CDeclr")) [PVar (Ident "mIdent"),PWildCard,PWildCard,PWildCard,PWildCard])] Nothing (UnGuardedRhs (Var (UnQual (Ident "mIdent")))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "happyError"] (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a"))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyError")) (UnGuardedRhs (Var (UnQual (Ident "parseError")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "parseC"] (TyFun (TyCon (UnQual (Ident "InputStream"))) (TyFun (TyCon (UnQual (Ident "Position"))) (TyApp (TyApp (TyCon (UnQual (Ident "Either"))) (TyCon (UnQual (Ident "ParseError")))) (TyCon (UnQual (Ident "CTranslUnit")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "parseC") [PVar (Ident "input"),PVar (Ident "initialPosition")] Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "fmap"))) (Var (UnQual (Ident "fst")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Var (UnQual (Ident "execParser"))) (Var (UnQual (Ident "translUnitP")))) (Var (UnQual (Ident "input")))) (Var (UnQual (Ident "initialPosition")))) (Var (UnQual (Ident "builtinTypeNames")))) (Paren (App (Var (UnQual (Ident "namesStartingFrom"))) (Lit (Int 0))))))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "translUnitP"] (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CTranslUnit")))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "translUnitP")) (UnGuardedRhs (Var (UnQual (Ident "translation_unit")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "extDeclP"] (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CExtDecl")))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "extDeclP")) (UnGuardedRhs (Var (UnQual (Ident "external_declaration")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "statementP"] (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CStat")))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "statementP")) (UnGuardedRhs (Var (UnQual (Ident "statement")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "expressionP"] (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CExpr")))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "expressionP")) (UnGuardedRhs (Var (UnQual (Ident "expression")))) Nothing,DataDecl (SrcLoc "" -1 -1) DataType [] (Ident "Happy_IntList") [] [QualConDecl (SrcLoc "" -1 -1) [] [] (ConDecl (Ident "HappyCons") [TyCon (UnQual (Ident "Int#")),TyCon (UnQual (Ident "Happy_IntList"))])] [],InfixDecl (SrcLoc "" -1 -1) AssocRight 9 [ConOp (Ident "HappyStk")],DataDecl (SrcLoc "" -1 -1) DataType [] (Ident "HappyStk") [UnkindedVar (Ident "a")] [QualConDecl (SrcLoc "" -1 -1) [] [] (ConDecl (Ident "HappyStk") [TyVar (Ident "a"),TyParen (TyApp (TyCon (UnQual (Ident "HappyStk"))) (TyVar (Ident "a")))])] [],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyParse") [PVar (Ident "start_state")] Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyNewToken"))) (Var (UnQual (Ident "start_state")))) (Var (UnQual (Ident "notHappyAtAll")))) (Var (UnQual (Ident "notHappyAtAll"))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyAccept") [PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PParen (PInfixApp PWildCard (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "ans")) (UnQual (Ident "HappyStk")) PWildCard))] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyReturn1"))) (Var (UnQual (Ident "ans"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyAccept") [PVar (Ident "j"),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PParen (PApp (UnQual (Ident "HappyStk")) [PVar (Ident "ans"),PWildCard])] Nothing (UnGuardedRhs (App (Paren (App (App (Var (UnQual (Ident "happyTcHack"))) (Var (UnQual (Ident "j")))) (Paren (App (Var (UnQual (Ident "happyTcHack"))) (Var (UnQual (Ident "st"))))))) (Paren (App (Var (UnQual (Ident "happyReturn1"))) (Var (UnQual (Ident "ans"))))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyDoAction") [PVar (Ident "i"),PVar (Ident "tk"),PVar (Ident "st")] Nothing (UnGuardedRhs (Case (Var (UnQual (Ident "action"))) [Alt (SrcLoc "" -1 -1) (PLit Signless (PrimInt 0)) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyFail"))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st"))))) Nothing,Alt (SrcLoc "" -1 -1) (PLit Negative (PrimInt 1)) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyAccept"))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st"))))) Nothing,Alt (SrcLoc "" -1 -1) (PVar (Ident "n")) (GuardedRhss [GuardedRhs (SrcLoc "" -1 -1) [Qualifier (Paren (InfixApp (Var (UnQual (Ident "n"))) (QVarOp (UnQual (Symbol "<#"))) (Paren (ExpTypeSig (SrcLoc "" -1 -1) (Lit (PrimInt 0)) (TyCon (UnQual (Ident "Int#")))))))] (App (App (App (Paren (InfixApp (Var (UnQual (Ident "happyReduceArr"))) (QVarOp (UnQual (Symbol "!"))) (Var (UnQual (Ident "rule"))))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st"))))]) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "rule")) (UnGuardedRhs (Paren (App (Con (UnQual (Ident "I#"))) (Paren (Paren (App (Var (UnQual (Ident "negateInt#"))) (Paren (Paren (InfixApp (Var (UnQual (Ident "n"))) (QVarOp (UnQual (Symbol "+#"))) (Paren (ExpTypeSig (SrcLoc "" -1 -1) (Lit (PrimInt 1)) (TyCon (UnQual (Ident "Int#")))))))))))))) Nothing])),Alt (SrcLoc "" -1 -1) (PVar (Ident "n")) (UnGuardedRhs (App (App (App (App (Var (UnQual (Ident "happyShift"))) (Var (UnQual (Ident "new_state")))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st"))))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "new_state")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "n"))) (QVarOp (UnQual (Symbol "-#"))) (Paren (ExpTypeSig (SrcLoc "" -1 -1) (Lit (PrimInt 1)) (TyCon (UnQual (Ident "Int#")))))))) Nothing]))])) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "off")) (UnGuardedRhs (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyActOffsets")))) (Var (UnQual (Ident "st"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "off_i")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "off"))) (QVarOp (UnQual (Symbol "+#"))) (Var (UnQual (Ident "i")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "check")) (UnGuardedRhs (If (Paren (InfixApp (Var (UnQual (Ident "off_i"))) (QVarOp (UnQual (Symbol ">=#"))) (Paren (ExpTypeSig (SrcLoc "" -1 -1) (Lit (PrimInt 0)) (TyCon (UnQual (Ident "Int#"))))))) (Paren (InfixApp (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyCheck")))) (Var (UnQual (Ident "off_i")))) (QVarOp (UnQual (Symbol "==#"))) (Var (UnQual (Ident "i"))))) (Con (UnQual (Ident "False"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "action")) (GuardedRhss [GuardedRhs (SrcLoc "" -1 -1) [Qualifier (Var (UnQual (Ident "check")))] (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyTable")))) (Var (UnQual (Ident "off_i")))),GuardedRhs (SrcLoc "" -1 -1) [Qualifier (Var (UnQual (Ident "otherwise")))] (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyDefActions")))) (Var (UnQual (Ident "st"))))]) Nothing]))],FunBind [Match (SrcLoc "" -1 -1) (Ident "indexShortOffAddr") [PParen (PApp (UnQual (Ident "HappyA#")) [PVar (Ident "arr")]),PVar (Ident "off")] Nothing (UnGuardedRhs (InfixApp (App (App (App (App (Var (UnQual (Ident "narrow16Int#"))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "intToInt16#")))) (Var (UnQual (Ident "i")))) (Paren (InfixApp (Var (UnQual (Ident "i"))) (QVarOp (UnQual (Ident "iShiftL#"))) (Lit (PrimInt 16))))) (QVarOp (UnQual (Ident "iShiftRA#"))) (Lit (PrimInt 16)))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "i")) (UnGuardedRhs (App (Var (UnQual (Ident "word2Int#"))) (Paren (InfixApp (Paren (InfixApp (Var (UnQual (Ident "high"))) (QVarOp (UnQual (Ident "uncheckedShiftL#"))) (Lit (PrimInt 8)))) (QVarOp (UnQual (Ident "or#"))) (Var (UnQual (Ident "low"))))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "i")) (UnGuardedRhs (App (Var (UnQual (Ident "word2Int#"))) (Paren (InfixApp (Paren (InfixApp (Var (UnQual (Ident "high"))) (QVarOp (UnQual (Ident "shiftL#"))) (Lit (PrimInt 8)))) (QVarOp (UnQual (Ident "or#"))) (Var (UnQual (Ident "low"))))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "high")) (UnGuardedRhs (App (Var (UnQual (Ident "int2Word#"))) (Paren (App (Var (UnQual (Ident "ord#"))) (Paren (App (App (Var (UnQual (Ident "indexCharOffAddr#"))) (Var (UnQual (Ident "arr")))) (Paren (InfixApp (Var (UnQual (Ident "off'"))) (QVarOp (UnQual (Symbol "+#"))) (Lit (PrimInt 1)))))))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "low")) (UnGuardedRhs (App (Var (UnQual (Ident "int2Word#"))) (Paren (App (Var (UnQual (Ident "ord#"))) (Paren (App (App (Var (UnQual (Ident "indexCharOffAddr#"))) (Var (UnQual (Ident "arr")))) (Var (UnQual (Ident "off'"))))))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "off'")) (UnGuardedRhs (InfixApp (Var (UnQual (Ident "off"))) (QVarOp (UnQual (Symbol "*#"))) (Lit (PrimInt 2)))) Nothing]))],DataDecl (SrcLoc "" -1 -1) DataType [] (Ident "HappyAddr") [] [QualConDecl (SrcLoc "" -1 -1) [] [] (ConDecl (Ident "HappyA#") [TyCon (UnQual (Ident "Addr#"))])] [],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyShift") [PVar (Ident "new_state"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PAsPat (Ident "stk") (PParen (PInfixApp (PVar (Ident "x")) (UnQual (Ident "HappyStk")) PWildCard))] Nothing (UnGuardedRhs (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "i")) (UnGuardedRhs (Paren (Case (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "I#")) [PParen (PVar (Ident "i"))])) (UnGuardedRhs (Var (UnQual (Ident "i")))) Nothing]))) Nothing]) (App (App (App (App (App (Var (UnQual (Ident "happyDoAction"))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "new_state")))) (Paren (App (App (Con (UnQual (Ident "HappyCons"))) (Paren (Var (UnQual (Ident "st"))))) (Paren (Var (UnQual (Ident "sts"))))))) (Paren (Var (UnQual (Ident "stk"))))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyShift") [PVar (Ident "new_state"),PVar (Ident "i"),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyNewToken"))) (Var (UnQual (Ident "new_state")))) (Paren (App (App (Con (UnQual (Ident "HappyCons"))) (Paren (Var (UnQual (Ident "st"))))) (Paren (Var (UnQual (Ident "sts"))))))) (Paren (InfixApp (Paren (App (Var (UnQual (Ident "happyInTok"))) (Paren (Var (UnQual (Ident "tk")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk"))))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_0") [PVar (Ident "i"),PVar (Ident "fn"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_0") [PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PAsPat (Ident "st") (PParen (PParen (PVar (Ident "action")))),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Paren (App (App (Con (UnQual (Ident "HappyCons"))) (Paren (Var (UnQual (Ident "st"))))) (Paren (Var (UnQual (Ident "sts"))))))) (Paren (InfixApp (Var (UnQual (Ident "fn"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk"))))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_1") [PVar (Ident "i"),PVar (Ident "fn"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_1") [PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PWildCard,PAsPat (Ident "sts") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st") (PParen (PVar (Ident "action")))),PParen PWildCard]))),PParen (PInfixApp (PVar (Ident "v1")) (UnQual (Ident "HappyStk")) (PVar (Ident "stk'")))] Nothing (UnGuardedRhs (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "r")) (UnGuardedRhs (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "v1"))))) Nothing]) (App (App (Var (UnQual (Ident "happySeq"))) (Var (UnQual (Ident "r")))) (Paren (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Paren (InfixApp (Var (UnQual (Ident "r"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk'")))))))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_2") [PVar (Ident "i"),PVar (Ident "fn"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_2") [PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PWildCard,PParen (PApp (UnQual (Ident "HappyCons")) [PParen PWildCard,PParen (PAsPat (Ident "sts") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st") (PParen (PVar (Ident "action")))),PParen PWildCard]))))]),PParen (PInfixApp (PVar (Ident "v1")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "v2")) (UnQual (Ident "HappyStk")) (PVar (Ident "stk'"))))] Nothing (UnGuardedRhs (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "r")) (UnGuardedRhs (App (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "v1")))) (Var (UnQual (Ident "v2"))))) Nothing]) (App (App (Var (UnQual (Ident "happySeq"))) (Var (UnQual (Ident "r")))) (Paren (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Paren (InfixApp (Var (UnQual (Ident "r"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk'")))))))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_3") [PVar (Ident "i"),PVar (Ident "fn"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_3") [PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PWildCard,PParen (PApp (UnQual (Ident "HappyCons")) [PParen PWildCard,PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen PWildCard,PParen (PAsPat (Ident "sts") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st") (PParen (PVar (Ident "action")))),PParen PWildCard]))))]))]),PParen (PInfixApp (PVar (Ident "v1")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "v2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "v3")) (UnQual (Ident "HappyStk")) (PVar (Ident "stk'")))))] Nothing (UnGuardedRhs (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "r")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "v1")))) (Var (UnQual (Ident "v2")))) (Var (UnQual (Ident "v3"))))) Nothing]) (App (App (Var (UnQual (Ident "happySeq"))) (Var (UnQual (Ident "r")))) (Paren (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Paren (InfixApp (Var (UnQual (Ident "r"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk'")))))))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduce") [PVar (Ident "k"),PVar (Ident "i"),PVar (Ident "fn"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyReduce") [PVar (Ident "k"),PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (Case (App (App (Var (UnQual (Ident "happyDrop"))) (Paren (InfixApp (Var (UnQual (Ident "k"))) (QVarOp (UnQual (Symbol "-#"))) (Paren (ExpTypeSig (SrcLoc "" -1 -1) (Lit (PrimInt 1)) (TyCon (UnQual (Ident "Int#")))))))) (Var (UnQual (Ident "sts")))) [Alt (SrcLoc "" -1 -1) (PAsPat (Ident "sts1") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st1") (PParen (PVar (Ident "action")))),PParen PWildCard])))) (UnGuardedRhs (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "r")) (UnGuardedRhs (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "stk"))))) Nothing]) (App (App (Var (UnQual (Ident "happyDoSeq"))) (Var (UnQual (Ident "r")))) (Paren (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st1")))) (Var (UnQual (Ident "sts1")))) (Var (UnQual (Ident "r")))))))) Nothing])) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyMonadReduce") [PVar (Ident "k"),PVar (Ident "nt"),PVar (Ident "fn"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyMonadReduce") [PVar (Ident "k"),PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen1"))) (Paren (App (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "stk")))) (Var (UnQual (Ident "tk")))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st1")))) (Var (UnQual (Ident "sts1")))) (Paren (InfixApp (Var (UnQual (Ident "r"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "drop_stk")))))))))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PAsPat (Ident "sts1") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st1") (PParen (PVar (Ident "action")))),PParen PWildCard])))) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDrop"))) (Var (UnQual (Ident "k")))) (Paren (App (App (Con (UnQual (Ident "HappyCons"))) (Paren (Var (UnQual (Ident "st"))))) (Paren (Var (UnQual (Ident "sts")))))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "drop_stk")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDropStk"))) (Var (UnQual (Ident "k")))) (Var (UnQual (Ident "stk"))))) Nothing]))],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyMonad2Reduce") [PVar (Ident "k"),PVar (Ident "nt"),PVar (Ident "fn"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyMonad2Reduce") [PVar (Ident "k"),PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen1"))) (Paren (App (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "stk")))) (Var (UnQual (Ident "tk")))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (App (App (Var (UnQual (Ident "happyNewToken"))) (Var (UnQual (Ident "new_state")))) (Var (UnQual (Ident "sts1")))) (Paren (InfixApp (Var (UnQual (Ident "r"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "drop_stk")))))))))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PAsPat (Ident "sts1") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st1") (PParen (PVar (Ident "action")))),PParen PWildCard])))) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDrop"))) (Var (UnQual (Ident "k")))) (Paren (App (App (Con (UnQual (Ident "HappyCons"))) (Paren (Var (UnQual (Ident "st"))))) (Paren (Var (UnQual (Ident "sts")))))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "drop_stk")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDropStk"))) (Var (UnQual (Ident "k")))) (Var (UnQual (Ident "stk"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "off")) (UnGuardedRhs (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyGotoOffsets")))) (Var (UnQual (Ident "st1"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "off_i")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "off"))) (QVarOp (UnQual (Symbol "+#"))) (Var (UnQual (Ident "nt")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "new_state")) (UnGuardedRhs (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyTable")))) (Var (UnQual (Ident "off_i"))))) Nothing]))],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyDrop") [PLit Signless (PrimInt 0),PVar (Ident "l")] Nothing (UnGuardedRhs (Var (UnQual (Ident "l")))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyDrop") [PVar (Ident "n"),PParen (PApp (UnQual (Ident "HappyCons")) [PParen PWildCard,PParen (PVar (Ident "t"))])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDrop"))) (Paren (InfixApp (Var (UnQual (Ident "n"))) (QVarOp (UnQual (Symbol "-#"))) (Paren (ExpTypeSig (SrcLoc "" -1 -1) (Lit (PrimInt 1)) (TyCon (UnQual (Ident "Int#")))))))) (Var (UnQual (Ident "t"))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyDropStk") [PLit Signless (PrimInt 0),PVar (Ident "l")] Nothing (UnGuardedRhs (Var (UnQual (Ident "l")))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyDropStk") [PVar (Ident "n"),PParen (PInfixApp (PVar (Ident "x")) (UnQual (Ident "HappyStk")) (PVar (Ident "xs")))] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDropStk"))) (Paren (InfixApp (Var (UnQual (Ident "n"))) (QVarOp (UnQual (Symbol "-#"))) (Paren (ExpTypeSig (SrcLoc "" -1 -1) (Lit (PrimInt 1)) (TyCon (UnQual (Ident "Int#")))))))) (Var (UnQual (Ident "xs"))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyGoto") [PVar (Ident "nt"),PVar (Ident "j"),PVar (Ident "tk"),PVar (Ident "st")] Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyDoAction"))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "new_state"))))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "off")) (UnGuardedRhs (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyGotoOffsets")))) (Var (UnQual (Ident "st"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "off_i")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "off"))) (QVarOp (UnQual (Symbol "+#"))) (Var (UnQual (Ident "nt")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "new_state")) (UnGuardedRhs (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyTable")))) (Var (UnQual (Ident "off_i"))))) Nothing]))],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyFail") [PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "old_st"),PWildCard,PVar (Ident "stk")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyError_"))) (Var (UnQual (Ident "tk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyFail") [PVar (Ident "i"),PVar (Ident "tk"),PParen (PVar (Ident "action")),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyDoAction"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "action")))) (Var (UnQual (Ident "sts")))) (Paren (InfixApp (Paren (App (Var (UnQual (Ident "unsafeCoerce#"))) (Paren (App (Con (UnQual (Ident "I#"))) (Paren (Var (UnQual (Ident "i")))))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk"))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "notHappyAtAll")) (UnGuardedRhs (App (Var (UnQual (Ident "error"))) (Lit (String "Internal Happy error\n")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyTcHack"] (TyFun (TyCon (UnQual (Ident "Int#"))) (TyFun (TyVar (Ident "a")) (TyVar (Ident "a")))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyTcHack") [PVar (Ident "x"),PVar (Ident "y")] Nothing (UnGuardedRhs (Var (UnQual (Ident "y")))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyTcHack")),TypeSig (SrcLoc "" -1 -1) [Ident "happyDoSeq",Ident "happyDontSeq"] (TyFun (TyVar (Ident "a")) (TyFun (TyVar (Ident "b")) (TyVar (Ident "b")))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyDoSeq") [PVar (Ident "a"),PVar (Ident "b")] Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "a"))) (QVarOp (UnQual (Ident "seq"))) (Var (UnQual (Ident "b"))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyDontSeq") [PVar (Ident "a"),PVar (Ident "b")] Nothing (UnGuardedRhs (Var (UnQual (Ident "b")))) Nothing],InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyDoAction")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyTable")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyCheck")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyActOffsets")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyGotoOffsets")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyDefActions")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyShift")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happySpecReduce_0")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happySpecReduce_1")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happySpecReduce_2")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happySpecReduce_3")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyReduce")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyMonadReduce")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyGoto")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyFail"))]--AST 2:--Module (SrcLoc "" -1 -1) (ModuleName "Language.C.Parser.Parser") [OptionsPragma (SrcLoc "" -1 -1) Nothing "-fglasgow-exts -cpp ",LanguagePragma (SrcLoc "" -1 -1) [Ident "MagicHash"]] Nothing (Just [EVar (UnQual (Ident "parseC")),EVar (UnQual (Ident "translUnitP")),EVar (UnQual (Ident "extDeclP")),EVar (UnQual (Ident "statementP")),EVar (UnQual (Ident "expressionP"))]) [ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Prelude", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (True,[IVar (Ident "reverse")])},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Data.List", importQualified = True, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Just (ModuleName "List"), importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Control.Monad", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "mplus")])},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Parser.Builtin", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "builtinTypeNames")])},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Parser.Lexer", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "lexC"),IVar (Ident "parseError")])},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Parser.Tokens", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IThingAll (Ident "CToken"),IThingAll (Ident "GnuCTok"),IVar (Ident "posLenOfTok")])},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Parser.ParserMonad", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IAbs NoNamespace (Ident "P"),IVar (Ident "failP"),IVar (Ident "execParser"),IVar (Ident "getNewName"),IVar (Ident "addTypedef"),IVar (Ident "shadowTypedef"),IVar (Ident "getCurrentPosition"),IVar (Ident "enterScope"),IVar (Ident "leaveScope"),IVar (Ident "getLastToken"),IVar (Ident "getSavedToken"),IThingAll (Ident "ParseError")])},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Data.RList", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Data.InputStream", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Data.Ident", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Data.Name", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Data.Node", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Data.Position", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Syntax", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Data.Array", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Array", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "GHC.Exts", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "GlaExts", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing}] [DataDecl (SrcLoc "" -1 -1) NewType [] (Ident "HappyAbsSyn") [] [QualConDecl (SrcLoc "" -1 -1) [] [] (ConDecl (Ident "HappyAbsSyn") [TyParen (TyFun (TyCon (Special UnitCon)) (TyCon (Special UnitCon)))])] [],TypeSig (SrcLoc "" -1 -1) [Ident "happyIn7"] (TyFun (TyParen (TyCon (UnQual (Ident "CTranslUnit")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn7") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn7")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut7"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CTranslUnit"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut7") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut7")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn8"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExtDecl")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn8") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn8")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut8"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExtDecl"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut8") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut8")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn9"] (TyFun (TyParen (TyCon (UnQual (Ident "CExtDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn9") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn9")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut9"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExtDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut9") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut9")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn10"] (TyFun (TyParen (TyCon (UnQual (Ident "CFunDef")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn10") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn10")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut10"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CFunDef"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut10") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut10")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn11"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn11") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn11")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut11"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut11") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut11")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn12"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn12") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn12")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut12"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut12") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut12")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn13"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn13") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn13")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut13"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut13") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut13")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn14"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn14") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn14")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut14"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut14") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut14")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn15"] (TyFun (TyParen (TyCon (Special UnitCon))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn15") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn15")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut15"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (Special UnitCon)))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut15") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut15")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn16"] (TyFun (TyParen (TyCon (Special UnitCon))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn16") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn16")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut16"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (Special UnitCon)))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut16") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut16")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn17"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CBlockItem")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn17") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn17")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut17"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CBlockItem"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut17") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut17")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn18"] (TyFun (TyParen (TyCon (UnQual (Ident "CBlockItem")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn18") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn18")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut18"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CBlockItem"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut18") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut18")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn19"] (TyFun (TyParen (TyCon (UnQual (Ident "CBlockItem")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn19") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn19")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut19"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CBlockItem"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut19") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut19")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn20"] (TyFun (TyParen (TyCon (UnQual (Ident "CFunDef")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn20") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn20")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut20"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CFunDef"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut20") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut20")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn21"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "Ident")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn21") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn21")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut21"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "Ident"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut21") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut21")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn22"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn22") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn22")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut22"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut22") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut22")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn23"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn23") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn23")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut23"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut23") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut23")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn24"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn24") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn24")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut24"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut24") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut24")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn25"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn25") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn25")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut25"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut25") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut25")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn26"] (TyFun (TyParen (TyCon (UnQual (Ident "CAsmStmt")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn26") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn26")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut26"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CAsmStmt"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut26") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut26")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn27"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CTypeQual"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn27") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn27")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut27"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CTypeQual")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut27") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut27")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn28"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CAsmOperand"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn28") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn28")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut28"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CAsmOperand")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut28") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut28")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn29"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CAsmOperand")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn29") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn29")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut29"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CAsmOperand"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut29") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut29")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn30"] (TyFun (TyParen (TyCon (UnQual (Ident "CAsmOperand")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn30") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn30")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut30"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CAsmOperand"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut30") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut30")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn31"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CStrLit")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn31") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn31")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut31"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CStrLit"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut31") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut31")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn32"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn32") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn32")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut32"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut32") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut32")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn33"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn33") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn33")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut33"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut33") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut33")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn34"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn34") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn34")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut34"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut34") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut34")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn35"] (TyFun (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit"))),TyList (TyCon (UnQual (Ident "CAttr")))])) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn35") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn35")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut35"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit"))),TyList (TyCon (UnQual (Ident "CAttr")))]))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut35") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut35")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn36"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn36") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn36")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut36"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut36") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut36")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn37"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CDeclSpec"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn37") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn37")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut37"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CDeclSpec")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut37") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut37")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn38"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn38") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn38")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut38"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut38") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut38")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn39"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclSpec")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn39") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn39")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut39"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclSpec"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut39") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut39")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn40"] (TyFun (TyParen (TyCon (UnQual (Ident "CStorageSpec")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn40") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn40")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut40"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStorageSpec"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut40") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut40")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn41"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CDeclSpec"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn41") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn41")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut41"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CDeclSpec")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut41") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut41")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn42"] (TyFun (TyParen (TyCon (UnQual (Ident "CTypeSpec")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn42") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn42")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut42"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CTypeSpec"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut42") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut42")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn43"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn43") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn43")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut43"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut43") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut43")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn44"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn44") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn44")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut44"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut44") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut44")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn45"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn45") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn45")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut45"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut45") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut45")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn46"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn46") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn46")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut46"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut46") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut46")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn47"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn47") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn47")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut47"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut47") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut47")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn48"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn48") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn48")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut48"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut48") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut48")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn49"] (TyFun (TyParen (TyCon (UnQual (Ident "CTypeSpec")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn49") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn49")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut49"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CTypeSpec"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut49") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut49")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn50"] (TyFun (TyParen (TyCon (UnQual (Ident "CStructUnion")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn50") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn50")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut50"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStructUnion"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut50") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut50")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn51"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CStructTag"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn51") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn51")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut51"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CStructTag")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut51") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut51")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn52"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn52") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn52")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut52"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut52") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut52")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn53"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn53") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn53")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut53"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut53") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut53")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn54"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn54") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn54")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut54"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut54") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut54")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn55"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn55") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn55")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut55"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut55") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut55")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn56"] (TyFun (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CDeclr"))),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))])) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn56") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn56")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut56"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CDeclr"))),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))]))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut56") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut56")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn57"] (TyFun (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CDeclr"))),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))])) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn57") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn57")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut57"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CDeclr"))),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))]))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut57") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut57")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn58"] (TyFun (TyParen (TyCon (UnQual (Ident "CEnum")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn58") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn58")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut58"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CEnum"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut58") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut58")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn59"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyTuple Boxed [TyCon (UnQual (Ident "Ident")),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))])))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn59") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn59")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut59"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyTuple Boxed [TyCon (UnQual (Ident "Ident")),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))]))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut59") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut59")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn60"] (TyFun (TyParen (TyTuple Boxed [TyCon (UnQual (Ident "Ident")),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))])) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn60") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn60")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut60"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyTuple Boxed [TyCon (UnQual (Ident "Ident")),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))]))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut60") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut60")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn61"] (TyFun (TyParen (TyCon (UnQual (Ident "CTypeQual")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn61") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn61")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut61"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CTypeQual"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut61") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut61")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn62"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CTypeQual")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn62") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn62")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut62"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CTypeQual"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut62") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut62")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn63"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn63") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn63")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut63"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut63") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut63")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn64"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn64") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn64")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut64"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut64") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut64")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn65"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn65") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn65")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut65"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut65") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut65")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn66"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn66") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn66")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut66"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut66") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut66")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn67"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn67") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn67")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut67"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut67") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut67")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn68"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn68") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn68")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut68"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut68") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut68")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn69"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn69") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn69")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut69"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut69") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut69")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn70"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn70") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn70")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut70"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut70") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut70")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn71"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn71") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn71")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut71"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut71") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut71")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn72"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn72") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn72")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut72"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut72") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut72")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn73"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn73") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn73")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut73"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut73") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut73")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn74"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn74") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn74")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut74"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut74") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut74")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn75"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn75") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn75")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut75"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut75") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut75")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn76"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn76") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn76")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut76"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut76") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut76")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn77"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn77") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn77")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut77"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut77") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut77")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn78"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn78") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn78")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut78"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut78") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut78")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn79"] (TyFun (TyParen (TyTuple Boxed [TyList (TyCon (UnQual (Ident "CDecl"))),TyCon (UnQual (Ident "Bool"))])) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn79") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn79")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut79"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyTuple Boxed [TyList (TyCon (UnQual (Ident "CDecl"))),TyCon (UnQual (Ident "Bool"))]))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut79") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut79")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn80"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn80") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn80")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut80"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut80") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut80")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn81"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn81") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn81")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut81"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut81") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut81")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn82"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "Ident")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn82") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn82")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut82"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "Ident"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut82") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut82")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn83"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn83") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn83")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut83"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut83") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut83")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn84"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn84") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn84")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut84"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut84") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut84")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn85"] (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn85") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn85")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut85"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut85") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut85")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn86"] (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn86") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn86")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut86"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut86") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut86")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn87"] (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn87") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn87")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut87"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut87") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut87")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn88"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn88") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn88")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut88"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut88") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut88")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn89"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn89") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn89")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut89"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut89") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut89")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn90"] (TyFun (TyParen (TyCon (UnQual (Ident "CInit")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn90") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn90")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut90"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CInit"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut90") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut90")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn91"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CInit"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn91") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn91")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut91"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CInit")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut91") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut91")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn92"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyCon (UnQual (Ident "CInitList"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn92") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn92")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut92"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyCon (UnQual (Ident "CInitList")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut92") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut92")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn93"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CDesignator"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn93") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn93")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut93"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CDesignator")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut93") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut93")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn94"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDesignator")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn94") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn94")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut94"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDesignator"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut94") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut94")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn95"] (TyFun (TyParen (TyCon (UnQual (Ident "CDesignator")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn95") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn95")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut95"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDesignator"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut95") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut95")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn96"] (TyFun (TyParen (TyCon (UnQual (Ident "CDesignator")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn96") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn96")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut96"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDesignator"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut96") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut96")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn97"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn97") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn97")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut97"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut97") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut97")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn98"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDesignator")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn98") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn98")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut98"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDesignator"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut98") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut98")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn99"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn99") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn99")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut99"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut99") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut99")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn100"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn100") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn100")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut100"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut100") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut100")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn101"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn101") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn101")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut101"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut101") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut101")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn102"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CUnaryOp"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn102") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn102")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut102"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CUnaryOp")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut102") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut102")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn103"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn103") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn103")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut103"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut103") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut103")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn104"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn104") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn104")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut104"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut104") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut104")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn105"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn105") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn105")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut105"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut105") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut105")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn106"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn106") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn106")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut106"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut106") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut106")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn107"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn107") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn107")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut107"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut107") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut107")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn108"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn108") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn108")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut108"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut108") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut108")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn109"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn109") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn109")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut109"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut109") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut109")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn110"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn110") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn110")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut110"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut110") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut110")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn111"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn111") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn111")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut111"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut111") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut111")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn112"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn112") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn112")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut112"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut112") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut112")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn113"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn113") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn113")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut113"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut113") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut113")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn114"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn114") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn114")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut114"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut114") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut114")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn115"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn115") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn115")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut115"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut115") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut115")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn116"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CAssignOp"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn116") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn116")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut116"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CAssignOp")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut116") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut116")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn117"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn117") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn117")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut117"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut117") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut117")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn118"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn118") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn118")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut118"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut118") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut118")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn119"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn119") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn119")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut119"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut119") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut119")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn120"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn120") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn120")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut120"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut120") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut120")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn121"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn121") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn121")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut121"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut121") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut121")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn122"] (TyFun (TyParen (TyCon (UnQual (Ident "CConst")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn122") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn122")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut122"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CConst"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut122") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut122")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn123"] (TyFun (TyParen (TyCon (UnQual (Ident "CStrLit")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn123") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn123")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut123"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStrLit"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut123") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut123")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn124"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CString")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn124") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn124")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut124"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CString"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut124") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut124")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn125"] (TyFun (TyParen (TyCon (UnQual (Ident "Ident")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn125") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn125")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut125"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "Ident"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut125") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut125")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn126"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CAttr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn126") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn126")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut126"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CAttr")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut126") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut126")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn127"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CAttr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn127") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn127")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut127"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CAttr")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut127") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut127")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn128"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CAttr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn128") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn128")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut128"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CAttr")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut128") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut128")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn129"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CAttr")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn129") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn129")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut129"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CAttr"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut129") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut129")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn130"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CAttr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn130") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn130")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut130"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CAttr")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut130") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut130")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn131"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn131") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn131")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut131"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut131") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut131")),TypeSig (SrcLoc "" -1 -1) [Ident "happyInTok"] (TyFun (TyCon (UnQual (Ident "CToken"))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyInTok") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyInTok")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOutTok"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyCon (UnQual (Ident "CToken")))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOutTok") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOutTok")),TypeSig (SrcLoc "" -1 -1) [Ident "happyActOffsets"] (TyCon (UnQual (Ident "HappyAddr"))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyActOffsets")) (UnGuardedRhs (App (Con (UnQual (Ident "HappyA#"))) (Lit (PrimString "\NUL\NUL\GS\SI\211\t1\SI\NUL\NUL\128\a\NUL\NUL\DEL\tw\SI1\SI\NUL\NUL\200\t\US\ENQ\ENQ\ENQ\DEL\ETX\240\EOTe\bT\bI\b>\b\198\EOT\NUL\NUL+\b\239\a\NUL\NUL\NUL\NUL\v\t\NUL\NUL\NUL\NUL\205\SO\205\SO\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\EOT\175\SO\150\SO\NUL\NUL\NUL\NUL\NUL\NUL\246\a\NUL\NUL2\SO\DC4\SO\DC4\SO\&H\bG\b$\b\182\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\222\a\230\a\NUL\NUL\NUL\NULJ\ENQ\210\a\251\r\208\a\214\a\211\t\245\a$\NUL\237\a\251\r\236\a\213\a\198\a\NUL\NULv\a\NUL\NUL\174\a\NUL\NUL\149\EOT\142\EOT\SOH\SOH\213\DC1\NUL\NUL\SOH\SOH\NUL\NUL\154\EM\154\EM\DC1\CAN\SOH\CAN!\b!\b\NUL\NUL\NUL\NULq\a\NUL\NUL\166\DC1\NUL\NUL\NUL\NUL\NUL\NUL\217\SOH\NUL\NUL\NUL\NUL\NUL\NULJ\ENQ\137\DC2\NUL\NUL=\SOH=\SOH\203\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULk\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\197\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\187\a\GS\SIU\a\NUL\NUL\184\ao\tz\SOHY\a[\a\179\DC2\NUL\NUL\NUL\NULK\NUL\178\a\180\t\170\aK\NUL\134\a\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NUL\NUL\NUL\167\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL8\CAN\NUL\NUL\157\a\NUL\NUL\148\CAN\255\nr\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NULw\DC1\151\a\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULg\a_\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULb\a\NUL\NULn\STXH\STX\SI\NULR\a\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NUL\NUL\NUL{\a\NUL\NULO\aS\a\NUL\NUL\ESC\a\NUL\NUL\ESC\a\NUL\NUL\NUL\NUL\251\r\251\r\NUL\NULM\a\251\rA\a\251\r\NUL\NULC\b\DC4\a\211\t\NUL\NUL\NUL\NUL\NUL\NUL\US\NUL\NUL\NULe\a\NUL\NUL.\a\244\ACK\NUL\NUL\195\SUB\195\SUB\251\r\NUL\NUL\v\t\NUL\NUL\NUL\NUL\240\ACK\NUL\NUL\NUL\NUL\v\t\NUL\NUL\v\t\NUL\NUL\NUL\NUL\NUL\NULN\a\151\ETX\231\SUB\171\EOT\171\EOTz\nL\aK\a\159\SUB\251\r\251\r\151\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\NUL\NUL\251\r\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\r\251\r6\EOT6\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULD\an\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\t\163\t\138\EOT\138\EOTO\EOTO\EOTO\EOTO\EOT\DEL\ETX\DEL\ETX\GS\EOT5\a+\a\SYN\a\f\a\251\r%\a\NUL\NUL\251\ACK\NUL\NULa\r\NUL\NUL\NUL\NUL\NUL\NUL\183\ACKW\SUB3\SUBH\DC1\NUL\SI\NUL\NUL\NUL\NUL\SI\a\SO\a\NUL\NUL\243\ACK\221\ACK\219\ACK\199\ACK\211\t\223\a\173\ACK\148\ACK|\ACK\211\t\251\r\NUL\NUL\203\ACKl\EM\171\ACK\167\ACK\NUL\NUL\196\ACK\NUL\NUL\195\ACK\193\ACK\234\NUL\216\NUL8\CAN\161\ACK]\ACK\170\ACK\NUL\NULo\t8\CAN\134\ACK\NUL\NUL\NUL\NUL\RS\EM[\v\NUL\NUL\NUL\NUL\177\SOH\147\SOH\142\ACK\136\ACK\SI\NULG\NUL\147\SOH\NUL\NUL8\CANf\ACK\NUL\NULI\ACK\NUL\NULo\t>\ACK\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NULb\ACK\NUL\NUL8\CAN=\ACK\NUL\NUL\155\n\NUL\NUL)\ACK\224\v\t\NUL\206\ENQt\STX\255\SIt\STX!\b!\b\208\SI$\ACK\251\ENQ\NUL\NUL\ESC\SOHE\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\216\NUL\EM\DC1\216\NUL\234\DLEZ\DC2o\t8\CAN\EOT\ACK\NUL\NUL\EM\ACK\158\t\DC2\NUL\DC2\NUL\SI\NUL\NUL\NUL\SI\NUL\NUL\NUL\SI\NUL\NUL\NUL\NUL\NUL\220\f\t\ACK\244\ENQ\204\ETX\ETX\ACK\254\ENQw\NUL\202\NUL\NUL\NUL\NUL\NUL\239\ENQ\NUL\NUL\NUL\NUL\205\STX\NUL\NUL\203\ENQ\204\ETX\170\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\220\fK\t\NUL\NUL\SI\NUL\NUL\NUL\253\f\NUL\NUL\200\ENQ\193\ENQ\140\ENQ\140\ENQ\187\DLE\NUL\NUL\241\NUL\201\NUL\140\ENQ\NUL\NULV\ENQf\CAN\NUL\NULS\ENQ\NUL\NUL\240\CAN\194\CAN\161\SI\222\DC2S\ENQS\ENQ\NUL\NULr\SII\aS\ENQ\NUL\NULS\ENQS\ENQ\NUL\NUL\171\EOTb\f\157\ENQ\155\ENQ\t\NUL\NUL\NUL\144\ENQF\ENQ7\n\t\NUL\NUL\NUL\NUL\NULo\t8\CANm\ENQ\NUL\NUL\143\ENQ\141\ENQ\220\ETB\NUL\NUL\NUL\NUL\NUL\NUL/\t\132\ENQ\SO\NUL\190\NUL\131\ENQ\SI\NUL\SI\NUL,\t\NUL\NUL\NUL\NUL\NUL\NUL\227\ne\NUL\NUL\NUL\NUL\NUL\129\ENQy\ENQ\DLE\ENQ\NUL\NUL\NUL\NUL\NUL\NUL5\ENQ5\ENQ\211\t\211\t\211\t\NUL\NUL\251\r\251\r\251\rB\ENQ\NUL\NUL\170\SOH\201\ETX\223\a\242\EOT\NUL\NUL#\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\216\NUL\140\DLE\216\NUL]\DLE-\ENQ\167\b\NUL\NUL{\SUB\154\ETX{\SUB\FS\ENQ\FS\ENQ\FS\ENQ0\f\NUL\NUL\162\t1\ENQ/\ENQ-\NUL3\DC2\NUL\NUL\NUL\NUL\254\v\251\r\NUL\NUL\251\r\NUL\NUL\251\r\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\179\STX\253\f\220\STX\NUL\NUL\153\SOH\NUL\NUL\212\EOT\251\r\154\ETX\254\v!\ENQ\r\ENQ\DC3\NUL\NUL\NUL\SI\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\171\EOT\t\ENQ\237\STX\NUL\NUL\249\EOT\NUL\NUL\192\EOT.\DLE\192\EOT\192\EOT\192\EOT\NUL\NUL\163\ETX\137\EOT\NUL\NUL\162\EOT*\NUL\211\t\199\EOT\156\EOT\151\EOT\DEL\EOT\NUL\NUL\NUL\NUL\136\EOT\136\EOT\161\EOT\NUL\NUL\NUL\NUL\"\t\NUL\NUL\NUL\NUL+\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\224\n\SI\NUL\NUL\NUL\175\ETB\212\STX\NUL\NUL\160\ETX\152\ETX\SI\SUB\194\DC2\NUL\NUL\NUL\NUL\190\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\159\EOT\154\EOT\139\EOT\134\EOT\t\NUL\n\EOT\NUL\NULz\EOT\NUL\NUL\NUL\NULh\EOT\251\r\NUL\NUL\NUL\NUL\NUL\NUL\180\EOT\159\NUL\EOT\DC2\NUL\NUL\NUL\NUL\220\n>\t$\n\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\US\SOH+\NUL+\NUL\SYN\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULG\STX\251\r\244\NUL\NUL\NUL\228\fd\EOTw\NUL\NUL\NUL\NUL\NUL\NUL\NUL\168\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\222\NUL\NUL\NUL+\NUL_\SOH\205\NUL>\EOT\NUL\NUL\NUL\NUL\251\r<\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\221\ETX\ESC\EOT\251\r\158\NUL\235\EM\200\ETX\NUL\NUL\200\ETX\NUL\NUL\200\ETX\ACK\EOT\251\r\NUL\NUL\NUL\NUL\205\NUL\US\t\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\211\t\251\r\251\r\245\ETX\NUL\NUL\n\SOH\239\ETX\NUL\NUL\SUB\EOTI\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\223\ETX\NUL\NUL\NUL\NUL\NUL\NUL\251\r@\ETX\NUL\NUL\NUL\NUL\NUL\NUL\SI\NUL\NUL\NUL\151\SOH\NUL\NUL\DLE\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\v\NUL\NUL\NUL\NUL\128\f\NUL\NUL\NUL\NUL\251\rc\v\NUL\NUL\NUL\NUL\NUL\NUL\ETX\EOT\NUL\NUL\SOH\EOT\225\ETX\251\r*\NUL\182\ETX*\NUL\NUL\NUL\216\ETX\211\ETX\NUL\NUL\NUL\NUL\NUL\NUL\251\r\NUL\NUL\158\NUL\212\STXj\ETX\NUL\NUL\251\r\NUL\NUL\NUL\NUL\185\ETX\NUL\NUL\NUL\NUL\NUL\NUL\251\r\NUL\NUL\NUL\NUL\NUL\NULJ\ETXJ\ETX\NUL\NUL\211\t\211\t\213\NUL\NUL\NUL\NUL\NUL\168\ETX;\ETX;\ETX\NUL\NUL\NUL\NULz\ETX\NUL\NUL\NUL\NULt\ETXr\ETX\NUL\NULF\ETX\v\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NAK\NUL\NUL\NUL\NUL\NUL\251\r\251\rl\ETX[\ETX\ETB\ETX\233\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyGotoOffsets"] (TyCon (UnQual (Ident "HappyAddr"))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyGotoOffsets")) (UnGuardedRhs (App (Con (UnQual (Ident "HappyA#"))) (Lit (PrimString "6\ETXq\NUL\211\ACK\198\GS<\ETX8\NUL\NUL\NUL\NUL\NUL\197\STX5\r\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULM\ETX\NUL\NUL\NUL\NULq\r\164\v\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\184\STX\213\n\185\n\NUL\NUL\NUL\NUL\NUL\NUL\167\STX\NUL\NUL \f\190\ETX`\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\a\ETX\SUB\NUL\NUL\NULv\US\NUL\NUL\NUL\NUL\184\ACK\NUL\NUL\149\STX\NUL\NULL\FS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\ETX\NUL\NUL\NUL\NUL\NUL\NUL*\ACK\195\NUL\NUL\NUL\138\ENQ\NUL\NUL\DC4\NUL\SYN\SOHl\STX}\SOH\162\SOH\203\NUL\NUL\NUL\NUL\NUL\150\b\NUL\NUL\154\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\b\226\STX\NUL\NUL\NUL\NUL\187\STX\NAK\SOH\NUL\NUL\168\n\215\t\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\\\b\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\255\255\NUL\NUL\NUL\NUL\NUL\NUL\202\NAKq\STX]\STXj\STXw\b\NUL\NUL\NUL\NULp\STX\NUL\NUL[\b\NUL\NUL@\NUL\198\STX\NUL\NUL\NUL\NUL\NUL\NULR\STX\158\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\173\EOT\NUL\NULf\STX\NUL\NUL\168\DC3\SYN\ETB\169\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULQ\STX\144\STX\236\NUL\NUL\NUL\NUL\NUL\SUB\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\STXO\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULe\STX\154\DC3\232\SYN5\bu\STX\NUL\NUL\NUL\NUL\NUL\NULJ\STX\\\STX\NUL\NUL\NUL\NUL\NUL\NULb\STX1\STXV\STX\243\a\NUL\NUL\238\a\NUL\NUL\NUL\NUL\171\GS\144\GS\NUL\NUL\NUL\NULu\GS\NUL\NULZ\GS\NUL\NUL\152\ACK\NUL\NULN\ACK\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\235\SOH\233\a\NUL\NUL{\SYNS\SYN[\US\NUL\NUL\231\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\193\STX\NUL\NUL[\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULi\ENQ\155\NULx\NULP\NUL\137\SYN\NUL\NUL\NUL\NUL\172\ETX?\GS\199\US$\GS\226\US\b\NAK\132\NAK\253\US\241\vo\v\240\f\187\f@\f:\v\155\f\SUB\v\252\a&\a\193\v,\n\157\t\NUL\NUL@\US\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\t\GS\238\FS\219\SOH\205\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\172\US\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\a\NUL\NUL\NUL\NUL\NUL\NUL\198\SOHa\EOT\NUL\NULs\DC3\218\b\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL3\ACK5\STX3\STX\234\SOH~\SOH\CAN\ACK%\US\NUL\NUL\NUL\NUL\166\b\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NAK\ETX\145 \135\EOT\221\SOH\206\a\NUL\NUL\NUL\NUL\166\NAKL\EOT\183\SOH\NUL\NUL\NUL\NUL\218\DC3&\ETX\NUL\NUL\NUL\NULl\ENQ0\DC3\NUL\NUL\NUL\NUL\162\a6\STX\182\v\NUL\NUL&\EOT\160\SOH\NUL\NUL\NUL\NUL\167\SOHN\NAK\199\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL.\STX\176\SOH\NUL\NUL\NUL\NUL\235\ETX`\SOH\NUL\NUL\169\SYN\NUL\NUL\NUL\NUL\196\ESCj\a\DC4\SOH@ \CAN\DC4( \159\SOH\CAN\NUL,\DC4\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\166\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132 G\aw h\DC4\175\DC4*\NAK\197\ETXM\SOH\NUL\NUL\NUL\NULs\a\211\SOH\235\EOT'\a\NUL\NUL \a\NUL\NUL\NAK\a\NUL\NUL\NUL\NUL\191\ETX\NUL\NUL\NUL\NUL\185\SOH\NUL\NUL\NUL\NUL\253\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULD\EOT\NAK\a\NUL\NUL\217\ACK\NUL\NUL\169\ESC\NUL\NUL\NUL\NUL\NUL\NUL\SYN\STX\247\SOH\169\DC4\NUL\NULo\DC3\r\SO\244\SOH\NUL\NUL\NUL\NUL\n\DC4\NUL\NUL\150\ACK\NUL\NUL\NUL\EOT\NUL\NUL>\DC3`\ETBv\ACKh\ACK\NUL\NUL\ACK\DC3Y\ETB+\ACK\NUL\NUL\DLE\ACK\226\ENQ\NUL\NUL\219\NULb\ETB\NUL\NUL\NUL\NUL\223\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\224\SYN\217\ENQ\NUL\NUL\NUL\NUL\210\DC4d\ETXB\SOH\NUL\NUL\NUL\NUL\NUL\NUL1\SYN\\\SOH\NUL\NUL\NUL\NUL\255\ENQ\NUL\NUL\249\b`\a\NUL\NUL\241\ENQ\228\ENQ\225\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\146\f\CAN\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SI\SOH\NUL\NUL\NUL\NUL\NUL\NUL^\SOHW\SOH\174\ENQ\147\ENQx\ENQ\NUL\NUL1\FS\SYN\FS\211\FS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\192\SOH3\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULT\tC\SOH\196\a>\SOH\NUL\NUL6\a\NUL\NUL@\SYN\213\255\225\DC4\NUL\NUL\NUL\NUL\NUL\NUL\199\STX\NUL\NUL\138\STX\NUL\NUL\NUL\NUL\249\NUL\150\DC4\NUL\NUL\NUL\NUL\DC3\ESC\n\US\NUL\NUL\145\US\NUL\NUL\239\RS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\142\ESC\157\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\212\RS\211\NUL\241\SUB\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\180\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\206\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\SOHg\SOH6\SOH\GS\SOH\ETB\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\244\255\SO\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\128\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\ENQ\NUL\NUL\NUL\NULk\SO\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\176\t\\\ENQ\NUL\NUL1\SYNj \NUL\NUL\NUL\NUL\NUL\NUL\EOT\EOT\185\SYN\NUL\NUL\NUL\NUL\"\SYN\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\206\EOT\176\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\185\RS\NUL\NUL\NUL\NUL\NUL\NUL\SUB\ETB\250\ENQd\DC4\NUL\NUL\NUL\NUL\128\SYN\154\ACK\202\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\195\STX\170\r6\r\250\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\158\RS\217\255\NUL\NULP\ESC\NUL\NULM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\217\255\NUL\NUL\145\ACK\191\ETXZ\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\131\RS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL(\NUL\NUL\NULh\RSW\EOTa\EOTx\EOT\NUL\NUL\t\EOT\NUL\NUL\134\ETX\NUL\NULM\RS\NUL\NUL\NUL\NULZ\ENQ\171\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\243\EOT\251\ESC\224\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\185\NUL\NUL\NUL\NUL\NUL\NUL\NUL\184\FSD\NUL\NUL\NUL\NUL\NUL\NUL\NUL,\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL5\ESC\NUL\NUL\NUL\NULs\ESC\NUL\NUL\NUL\NUL2\RS5\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\157\FS\245\255\NUL\NUL\241\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETB\RS\NUL\NUL_\ETX[ \208\255\NUL\NUL\252\GS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\225\GS\NUL\NUL\NUL\NUL\NUL\NUL\236\SOH\208\255\NUL\NUL\214\EOT\158\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL2\NUL\165\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\249\255I\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\FSg\FS\NUL\NUL\NUL\NUL\NUL\NUL\145\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyDefActions"] (TyCon (UnQual (Ident "HappyAddr"))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyDefActions")) (UnGuardedRhs (App (Con (UnQual (Ident "HappyA#"))) (Lit (PrimString "\250\255=\254\NUL\NUL\NUL\NUL\NUL\NUL=\254\155\254\143\254}\254\NUL\NUL{\254w\254t\254q\254l\254i\254g\254e\254c\254a\254_\254\\\254O\254\NUL\NUL\165\254\164\254=\254~\254\DEL\254\NUL\NUL\NUL\NUL\129\254\128\254\130\254\131\254\NUL\NUL\NUL\NUL\NUL\NULE\254F\254D\254C\254\166\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\228\255\227\255\226\255\225\255\224\255\223\255\222\255\NUL\NUL\NUL\NUL\199\255\215\255\181\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULK\254\NUL\NUL\NUL\NUL\166\254>\254\NUL\NUL\247\255\NUL\NUL\246\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\152\255\NUL\NULw\255\155\255\138\255\154\255\137\255\153\255\136\255l\255R\255=\254Q\255\NUL\NUL\229\255\n\255\b\255\t\255\166\255\251\254\250\254\NUL\NUL<\254;\254\NUL\NUL=\254\NUL\NUL\141\255~\255\134\255}\255\129\255=\254\143\255\130\255\132\255\131\255\140\255\133\255\128\255\142\255M\255\144\255\NUL\NUL\139\255L\255\DEL\255\135\255\254\254`\255\NUL\NUL=\254\NUL\NUL\245\255\NUL\NUL=\254\NUL\NUL<\254\NUL\NUL\NUL\NUL\a\255\249\254<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\151\255v\255k\255&\255\166\255:\254\NUL\NULZ\255+\255/\255,\255-\255.\255=\254\ETX\255\215\254\213\254\244\254I\254\NUL\NUL\150\255u\255j\255*\255&\255\166\255\NUL\NUL\NUL\NUL]\255\NUL\NULf\255T\255S\255b\255\146\255\145\255a\255o\255h\255g\255\169\255n\255m\255\170\255{\255r\255s\255q\255z\255y\255x\255\NUL\NUL&\255'\255#\255 \255\US\255$\255\SYN\255(\255\166\255\NUL\NUL=\254\"\255\NUL\NUL\148\255|\255p\255&\255\166\255\147\255\NUL\NULe\255\NUL\NUL&\255\166\255=\254\168\255=\254\167\255\243\255\NUL\NUL\NUL\NULJ\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL?\254K\254\NUL\NUL\NUL\NUL\188\255}\254G\254\NUL\NUL\187\255\NUL\NUL\180\255\213\255=\254\198\255=\254=\254\NUL\NUL\133\254=\254\134\254\140\254B\254A\254\138\254=\254\136\254=\254\132\254\141\254\142\254\NUL\NUL\222\254\138\255\137\255\136\255\NUL\NUL\NUL\NUL\NUL\NUL<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\139\254\NUL\NULZ\254V\254U\254Y\254X\254W\254R\254Q\254P\254T\254S\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\149\254\148\254\248\255\249\255\151\254\150\254\NUL\NUL\NUL\NUL\145\254\153\254[\254x\254y\254z\254u\254v\254r\254s\254m\254o\254n\254p\254j\254k\254h\254f\254d\254b\254\NUL\NUL\NUL\NUL`\254M\254N\254\163\254\NUL\NUL\219\254\216\254\218\254\217\254\NUL\NUL\220\254\244\254\200\254\221\254\162\254\NUL\NUL\NUL\NUL@\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\214\255\213\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\219\255\NUL\NUL=\254\NUL\NUL\NUL\NUL\190\255\NUL\NUL\186\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\182\254=\254\NUL\NUL\241\255=\254=\254\182\254\239\255!\255\244\254\NUL\NUL\RS\255\DC2\255<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\f\255=\254\182\254\240\255N\255K\255=\254\NUL\NUL\149\255t\255i\255)\255&\255\166\255\NUL\NULW\255=\254\182\254\238\255I\254H\254\NUL\NULI\254\130\254=\254\239\254\235\254\232\254\154\255\137\255\228\254\NUL\NUL\243\254\241\254\NUL\NUL<\254\224\254\212\254\236\255\165\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254=\254=\254\182\254\242\255\NUL\NUL\NUL\NUL\NUL\NUL=\254\246\254\253\254\STX\255\ACK\255\t\255\ENQ\255\248\254\NUL\NUL\NUL\NUL4\255\NUL\NUL\NUL\NUL\NUL\NUL6\254\NUL\NUL8\254\&4\254\&5\254_\255^\255\NUL\NUL3\255\&1\255\NUL\NUL\NUL\NUL\EOT\255\SOH\255\245\254\NUL\NUL\NUL\NUL\252\254\NUL\255\161\255\NUL\NUL\235\255\NUL\NUL\NUL\NUL&\255&\255\NUL\NUL(\255\NUL\NUL=\254&\255\247\254\NUL\NUL=\254\214\254=\254\226\254\NUL\NUL\227\254\244\254\200\254=\254=\254\231\254\244\254\200\254=\254\234\254=\254=\254\238\254=\254\NUL\NUL\NUL\NUL\NUL\NUL\130\254\211\254\NUL\NUL\NUL\NULI\254\130\254\163\255\231\255=\254=\254\182\254\237\255\NUL\NUL\NUL\NUL=\254K\255\157\255\233\255\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL\SI\255\SUB\255\NUL\NUL\GS\255\FS\255\DC1\255\NUL\NUL\NUL\NUL\164\255\232\255\NUL\NUL\NUL\NUL\NUL\NUL\159\255\158\255\234\255&\255&\255\NUL\NUL\NUL\NUL\NUL\NUL\189\255K\254K\254\NUL\NUL\NUL\NUL\220\255\NUL\NUL\NUL\NUL\214\255\NUL\NUL\211\255\NUL\NUL\212\255\210\255\208\255\209\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL`\255=\254\221\255=\254\NUL\NUL=\254\NUL\NUL\137\254\135\254=\254\198\254\196\254\NUL\NUL\NUL\NUL\NUL\NUL<\254\186\254|\254\180\254\NUL\NUL]\254\NUL\NUL\152\254\NUL\NUL\154\254\144\254^\254L\254\179\254\NUL\NUL\NUL\NUL\NUL\NUL\172\254\173\254\185\254\NUL\NUL\NUL\NUL\NUL\NUL\180\254\NUL\NUL\NUL\NUL\NUL\NUL\193\254\194\254\192\254\195\254\197\254\199\254<\254\NUL\NUL\NUL\NUL\158\254\NUL\NUL\207\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\217\255\NUL\NUL\NUL\NUL\201\255\NUL\NUL\179\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\197\255\195\255\194\255\182\254\182\254\NUL\NULd\255c\255\NUL\NUL\ESC\255\DLE\255\NUL\NUL\NAK\255\EM\255\r\255\SO\255\NUL\NUL\CAN\255\v\255=\254@\255I\255\NUL\NUL\NUL\NUL=\254<\254J\255O\255=\254\\\255[\255\162\255\230\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\254=\254\209\254\NUL\NUL\210\254\204\254\NUL\NUL\NUL\NUL\237\254\236\254\233\254=\254\196\254<\254\230\254\229\254=\254\196\254<\254\225\254\240\254\242\254\223\254\NUL\NUL\NUL\NUL\NUL\NUL&\255Y\255X\255\181\254\255\254\244\255\NUL\NUL\NUL\NUL\NUL\NUL8\255\NUL\NUL\NUL\NUL6\254\&7\254\&9\254\&1\254\NUL\NUL2\254\&2\255\&7\255\&0\255\NUL\NUL6\255\NUL\NUL<\254<\254\NUL\NUL\207\254\203\254\NUL\NUL\NUL\NUL\208\254\202\254V\255U\255F\255D\255<\255\NUL\NUL\NUL\NUL<\254=\254H\255=\254G\255=\254?\255\NUL\NULP\255\ETB\255\NUL\NUL\NUL\NUL\DC4\255%\255\156\255\160\255\NUL\NULK\254K\254\NUL\NUL\218\255\NUL\NUL\178\255\177\255\NUL\NUL\NUL\NUL\185\255\216\255\200\255\206\255\204\255\205\255\NUL\NUL\203\255\159\254\160\254\NUL\NUL\NUL\NUL\161\254\191\254\189\254\190\254\188\254\NUL\NUL\169\254\NUL\NUL\174\254\171\254\168\254\175\254\178\254\NUL\NUL\147\254\177\254\NUL\NUL\146\254\170\254\NUL\NUL\NUL\NUL\184\254\187\254\157\254\NUL\NUL\202\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\179\255\193\255\NUL\NUL\NUL\NUL\196\255\DC3\255>\255\NUL\NULB\255\NUL\NUL\NUL\NULE\255;\255\NUL\NUL9\255\201\254\NUL\NUL\206\254\&5\255\&3\254\NUL\NUL0\254\205\254:\255=\254C\255=\255\NUL\NUL\NUL\NUL\NUL\NUL\184\255\176\255\NUL\NUL\NUL\NUL\NUL\NUL\156\254\183\254\NUL\NUL\176\254\167\254\NUL\NUL\NUL\NUL\175\255\NUL\NUL\NUL\NUL\214\255\192\255A\255\191\255\NUL\NUL\172\255\183\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\171\255\182\255\173\255\174\255")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyCheck"] (TyCon (UnQual (Ident "HappyAddr"))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyCheck")) (UnGuardedRhs (App (Con (UnQual (Ident "HappyA#"))) (Lit (PrimString "\255\255\STX\NUL\ETX\NUL\EOT\NUL6\NULt\NUL\NAK\NUL\SYN\NUL\ETB\NUL\NAK\NUL\SYN\NUL\ETB\NUL\ETB\NUL\EOT\NUL5\NUL\SOH\NUL\SOH\NUL\CAN\NUL\ETX\NUL\SOH\NUL\EOT\NUL\STX\NUL\FS\NUL\STX\NUL\EM\NULt\NUL\ESC\NUL\r\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\SOH\NUL\ETX\NUL\DC4\NUL\STX\NUL[\NUL\r\NUL3\NUL9\NUL \NUL!\NUL7\NUL#\NUL\r\NUL!\NUL\STX\NUL\ETX\NUL\EOT\NUL\RS\NUL.\NUL*\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULy\NUL\SOH\NULy\NUL6\NULv\NUL\SOH\NUL.\NUL6\NULv\NUL6\NUL\EM\NUL\t\NUL\ESC\NUL\r\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULt\NUL\SOH\NUL^\NULt\NULt\NUL\\\NUL3\NUL^\NULt\NUL\\\NUL7\NUL^\NUL^\NUL\r\NUL\STX\NUL\ETX\NUL\EOT\NULw\NULx\NULy\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL\\\NUL]\NULB\NULC\NULD\NUL[\NUL6\NUL\\\NUL]\NUL^\NUL\EM\NUL^\NUL\ESC\NULy\NUL\GS\NUL\RS\NUL\US\NULy\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\EOT\NUL\SOH\NUL\SOH\NULy\NUL\ETX\NUL\\\NUL3\NUL^\NULt\NUL\\\NUL7\NUL^\NUL\STX\NUL\r\NUL\r\NUL6\NUL6\NULw\NULx\NULy\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULy\NULv\NUL!\NUL\RS\NUL#\NUL#\NUL\SOH\NUL\a\NUL\\\NUL]\NUL^\NUL*\NUL+\NUL,\NUL\EOT\NUL{\NULy\NUL\SOH\NUL\r\NUL\STX\NUL3\NUL\SOH\NUL,\NUL6\NUL6\NUL*\NUL\\\NULT\NUL6\NUL\r\NUL\STX\NULT\NUL\SOH\NUL\r\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULC\NUL \NUL!\NUL\r\NUL#\NULH\NULw\NULx\NULy\NUL\SOH\NUL!\NUL*\NUL+\NUL,\NUL\EOT\NULy\NUL\SOH\NUL\RS\NUL*\NULV\NUL3\NUL\r\NULy\NUL6\NUL\\\NUL\\\NUL]\NUL^\NUL\r\NUL\\\NUL]\NUL6\NUL\SOH\NUL6\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL-\NUL\STX\NUL!\NUL\r\NUL#\NULC\NUL6\NULx\NULy\NULy\NULH\NUL*\NUL+\NUL,\NUL\EOT\NUL\\\NUL]\NUL^\NUL\STX\NUL\a\NUL3\NUL\SOH\NUL-\NUL6\NULV\NUL\a\NUL\\\NUL]\NUL^\NUL\RS\NUL\\\NUL]\NUL^\NUL\r\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL\\\NUL]\NUL!\NUL!\NUL#\NUL#\NUL\\\NUL]\NULy\NUL\a\NUL\SOH\NUL*\NUL+\NUL,\NUL\EOT\NUL\a\NULy\NUL*\NUL\\\NUL\EOT\NUL3\NULv\NUL\r\NUL7\NUL6\NUL\\\NUL]\NUL^\NUL\\\NUL]\NULw\NULx\NULy\NUL6\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL\\\NUL]\NUL!\NUL\SOH\NUL#\NULC\NUL \NUL!\NULy\NUL#\NULH\NUL*\NUL+\NUL,\NUL\EOT\NUL\r\NUL*\NUL+\NUL,\NUL\STX\NUL3\NULy\NUL\FS\NUL6\NULV\NUL3\NULz\NUL{\NUL6\NUL\FS\NUL\\\NUL]\NUL^\NULK\NULA\NULB\NULC\NULD\NULt\NULA\NULB\NULC\NULD\NUL!\NUL-\NUL#\NULw\NULx\NULy\NULy\NULy\NUL9\NUL*\NUL+\NUL,\NUL\SOH\NUL6\NULT\NUL9\NUL*\NUL\\\NUL3\NUL^\NUL\ETX\NUL6\NUL!\NUL\ACK\NUL\r\NULT\NULC\NUL\ENQ\NUL\ACK\NUL\a\NUL,\NULH\NULA\NULB\NULC\NULD\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\SOH\NUL6\NULT\NULV\NULx\NULy\NUL\US\NUL4\NUL5\NUL\\\NULy\NUL^\NUL\r\NUL \NUL!\NUL*\NUL \NUL!\NUL-\NUL\ENQ\NUL\ACK\NUL\a\NUL\RS\NUL\t\NUL\SUB\NUL\v\NUL\f\NUL\r\NUL\a\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL-\NUL6\NUL\\\NUL]\NUL6\NUL\EM\NUL\SOH\NUL\ESC\NUL\ETX\NUL\GS\NUL\RS\NUL\US\NULy\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL4\NUL5\NUL\\\NUL]\NUL^\NULt\NUL3\NULT\NUL\n\NULy\NUL7\NULZ\NUL\SO\NUL\\\NULv\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULT\NULn\NUL\\\NUL]\NUL^\NUL\FS\NULs\NULt\NUL\FS\NULv\NULB\NULC\NULD\NULy\NUL,\NULZ\NULy\NUL\\\NUL0\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL9\NULn\NULv\NUL9\NULT\NUL\FS\NULs\NULt\NULK\NULv\NULw\NULx\NULy\NUL\ENQ\NUL\ACK\NUL\a\NUL\n\NUL\t\NULy\NUL\v\NUL\f\NUL\r\NULv\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\SOH\NUL\FS\NULx\NULy\NUL\FS\NUL\EM\NUL9\NUL\ESC\NULv\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NULw\NULx\NULy\NUL\FS\NUL9\NUL3\NUL\a\NUL9\NUL\FS\NUL7\NUL\FS\NUL\FS\NUL\SOH\NUL\SUB\NUL*\NUL<\NUL=\NUL-\NUL\SOH\NUL\SUB\NUL\ETX\NULB\NULC\NULD\NUL\r\NUL\a\NUL\"\NUL#\NUL\SUB\NUL%\NUL\r\NUL'\NUL9\NUL)\NUL*\NUL+\NUL,\NUL9\NUL\a\NUL9\NUL9\NUL \NUL!\NUL3\NULZ\NULv\NUL\\\NUL7\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL6\NULn\NUL\\\NUL]\NUL^\NULL\NULs\NULt\NUL\SUB\NULv\NULw\NULx\NULy\NULy\NUL\a\NULA\NULB\NULC\NULD\NULZ\NULP\NUL\\\NUL\SUB\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\a\NULn\NUL\\\NUL]\NUL^\NUL\a\NULs\NULt\NUL\\\NUL]\NULw\NULx\NULy\NUL\SOH\NULy\NULM\NULN\NULO\NULP\NULQ\NULR\NUL*\NULt\NUL\ETX\NUL-\NUL\r\NUL\ACK\NUL\"\NUL#\NULy\NUL%\NULv\NUL'\NULy\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL\STX\NUL\ETX\NUL6\NUL\RS\NUL\ACK\NUL3\NULX\NULY\NUL*\NUL7\NUL6\NUL-\NUL\US\NUL\SUB\NUL6\NUL;\NUL<\NUL=\NUL>\NUL?\NULy\NULA\NULB\NULC\NULD\NUL\a\NUL\"\NUL#\NULv\NUL%\NULL\NUL'\NUL\b\NUL)\NUL*\NUL+\NUL,\NULM\NULN\NULO\NULP\NULQ\NULR\NUL3\NULZ\NULu\NUL\\\NUL7\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULv\NULn\NUL\\\NUL]\NULm\NULL\NULs\NULt\NUL\NUL\NUL\SOH\NULw\NULx\NULy\NULx\NULy\NUL\SOH\NULw\NULx\NULy\NULZ\NUL+\NUL\\\NUL[\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\a\NULn\NULA\NULB\NULC\NULD\NULs\NULt\NUL6\NUL\STX\NULw\NULx\NULy\NUL;\NUL<\NUL=\NUL>\NUL?\NUL[\NULA\NULB\NULC\NULD\NUL\a\NULF\NULG\NUL\STX\NUL\"\NUL#\NUL+\NUL%\NUL\SOH\NUL'\NUL\SOH\NUL)\NUL*\NUL+\NUL,\NULN\NULO\NULP\NUL\EM\NUL\EOT\NUL\ESC\NUL3\NUL\GS\NUL\RS\NUL\US\NUL7\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL[\NUL3\NUL\SOH\NULL\NUL\ETX\NUL7\NUL\\\NUL]\NULx\NULy\NULA\NULB\NULC\NULD\NUL\r\NUL\\\NUL]\NULZ\NUL^\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULZ\NULn\NUL\\\NUL\EOT\NUL^\NUL_\NULs\NULt\NUL*\NUL+\NULw\NULx\NULy\NUL!\NUL^\NUL#\NUL*\NUL+\NUL\a\NUL*\NUL+\NUL#\NUL*\NUL+\NUL,\NULs\NULt\NUL\STX\NUL*\NUL+\NUL,\NUL3\NUL\STX\NULw\NULx\NULy\NUL\EM\NUL3\NUL\ESC\NUL+\NUL\GS\NUL\RS\NUL\US\NUL\EOT\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL*\NUL+\NUL6\NUL\\\NUL]\NUL3\NULN\NULO\NULP\NUL7\NULw\NULx\NULy\NULA\NULB\NULC\NULD\NUL\EM\NUL\EOT\NUL\ESC\NUL\EOT\NUL\GS\NUL\RS\NUL\US\NUL,\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULZ\NUL*\NUL\\\NUL\SOH\NUL^\NUL_\NUL3\NULy\NUL+\NUL!\NUL7\NUL#\NUL\RS\NULy\NUL^\NUL#\NUL\\\NUL]\NUL*\NUL+\NUL,\NUL\a\NUL*\NUL+\NUL,\NULs\NULt\NUL3\NUL\ETB\NUL\CAN\NUL6\NUL3\NULy\NUL\RS\NUL6\NUL^\NULw\NULx\NULy\NUL\EM\NUL\EOT\NUL\ESC\NUL\EOT\NUL\GS\NUL\RS\NUL\US\NUL0\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL<\NUL=\NUL>\NUL?\NUL@\NUL3\NULB\NULC\NULD\NUL7\NULF\NULG\NUL\DC1\NUL\DC2\NULw\NULx\NULy\NUL\EM\NUL\STX\NUL\ESC\NUL^\NUL\GS\NUL\RS\NUL\US\NUL\EOT\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULy\NUL6\NULw\NULx\NULy\NUL\EOT\NUL3\NULw\NULx\NULy\NUL7\NUL#\NULA\NULB\NULC\NULD\NUL2\NUL\EOT\NUL*\NUL+\NUL,\NUL\a\NUL\EOT\NULx\NULy\NUL\\\NUL]\NUL3\NUL\v\NUL\f\NUL6\NULA\NULB\NULC\NULD\NUL\STX\NULw\NULx\NULy\NUL\EM\NUL\STX\NUL\ESC\NUL\STX\NUL\GS\NUL\RS\NUL\US\NUL\US\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL\SOH\NUL-\NUL\ETX\NUL*\NUL+\NUL3\NUL<\NULx\NULy\NUL7\NUL*\NUL+\NUL\r\NUL+\NULw\NULx\NULy\NUL\EM\NUL+\NUL\ESC\NUL\STX\NUL\GS\NUL\RS\NUL\US\NUL+\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULy\NUL\ENQ\NUL\ACK\NUL\a\NUL\\\NUL]\NUL3\NUL6\NUL\FS\NUL\GS\NUL7\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL6\NUL!\NUL,\NUL#\NULC\NULw\NULx\NULy\NUL\RS\NULH\NUL*\NUL+\NUL,\NULC\NUL\ENQ\NUL\ACK\NUL\a\NUL\STX\NULH\NUL3\NULw\NULx\NULy\NULV\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\ETB\NUL\CAN\NUL^\NULV\NUL\STX\NULB\NULC\NULD\NUL\STX\NUL\\\NUL]\NUL^\NUL\ENQ\NUL\ACK\NUL\a\NUL\DC1\NUL\DC2\NULN\NULO\NULP\NULQ\NULR\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL7\NUL\STX\NULw\NULx\NULy\NULw\NULx\NULy\NUL\v\NUL\f\NULA\NULB\NULC\NULD\NULZ\NUL\STX\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULy\NULn\NULw\NULx\NULy\NUL,\NULs\NULt\NUL\RS\NULv\NULZ\NUL\\\NUL\\\NUL-\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\RS\NULn\NULw\NULx\NULy\NUL0\NULs\NULt\NULZ\NULv\NUL\\\NUL[\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\STX\NULn\NUL\ENQ\NUL\ACK\NUL\a\NUL6\NULs\NULt\NUL\STX\NULv\NUL\STX\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\US\NULC\NUL\EOT\NUL\STX\NUL6\NUL\STX\NULH\NULM\NUL\EOT\NUL;\NUL<\NUL=\NUL\ENQ\NUL\ACK\NUL\a\NULA\NULB\NULC\NULD\NUL\EOT\NULV\NUL\EOT\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL;\NUL<\NUL=\NULN\NULO\NULP\NULA\NULB\NULC\NULD\NUL^\NUL\\\NUL\ENQ\NUL\ACK\NUL\a\NULM\NULN\NULO\NULP\NULQ\NULR\NUL0\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL8\NUL\STX\NUL:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\STX\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULZ\NULy\NUL\\\NUL+\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULy\NULn\NULN\NULO\NULP\NUL\US\NULs\NULt\NULZ\NULv\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\STX\NULn\NULN\NULO\NULP\NUL\STX\NULs\NULt\NULZ\NULv\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\STX\NULn\NUL\ENQ\NUL\ACK\NUL\a\NUL,\NULs\NULt\NUL\US\NULv\NUL*\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL^\NUL\EOT\NUL\EOT\NULN\NULO\NULP\NULN\NULO\NULP\NUL;\NUL<\NUL=\NUL\ENQ\NUL\ACK\NUL\a\NULA\NULB\NULC\NULD\NULN\NULO\NULP\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NULM\NULN\NULO\NULP\NULQ\NULR\NULN\NULO\NULP\NULw\NULx\NULy\NUL\ENQ\NUL\ACK\NUL\a\NULw\NULx\NULy\NULw\NULx\NULy\NUL\US\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL8\NUL\SOH\NUL:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL,\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULZ\NULy\NUL\\\NUL,\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\US\NULn\NULw\NULx\NULy\NUL\STX\NULs\NULt\NULZ\NULv\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\b\NULn\NULw\NULx\NULy\NUL\US\NULs\NULt\NULZ\NULv\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL^\NULn\NUL\ENQ\NUL\ACK\NUL\a\NUL\US\NULs\NULt\NUL\STX\NULv\NUL\STX\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\SOH\NUL<\NUL=\NUL>\NUL?\NUL@\NUL+\NULB\NULC\NULD\NUL+\NUL[\NUL\ENQ\NUL\ACK\NUL\a\NULA\NULB\NULC\NULD\NULw\NULx\NULy\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NULM\NULN\NULO\NULP\NULQ\NULR\NULw\NULx\NULy\NUL\\\NUL*\NULZ\NULF\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL*\NULn\NUL*\NULp\NULx\NULy\NULs\NULt\NULw\NULx\NULy\NUL\STX\NUL\STX\NULZ\NULy\NUL\\\NUL^\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL*\NULn\NULN\NULO\NULP\NUL\RS\NULs\NULt\NULZ\NULv\NUL\\\NUL\SUB\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\ESC\NULn\NUL\f\NUL\r\NUL\EM\NUL\DLE\NULs\NULt\NUL\EOT\NULv\NUL\SOH\NUL[\NUL\ETX\NUL\STX\NUL\STX\NUL\EM\NUL\STX\NUL\ESC\NUL^\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULN\NULO\NULP\NUL\SOH\NUL \NUL!\NUL3\NUL#\NULW\NUL+\NUL7\NULN\NULO\NULP\NUL*\NUL+\NUL,\NULF\NULN\NULO\NULP\NUL+\NUL^\NUL3\NUL,\NUL\SOH\NUL6\NUL,\NUL6\NULZ\NUL\SOH\NUL\\\NUL0\NUL^\NUL_\NUL`\NULa\NULA\NULB\NULC\NULD\NULC\NUL\r\NUL,\NUL0\NULZ\NULH\NUL\\\NUL,\NUL^\NUL_\NUL`\NUL7\NUL\SOH\NULs\NULt\NUL;\NUL<\NUL=\NUL,\NULV\NUL\ETX\NULA\NULB\NULC\NULD\NUL\\\NUL]\NUL^\NUL\SOH\NULs\NULt\NUL+\NUL\STX\NULw\NULx\NULy\NUL0\NUL1\NUL,\NUL3\NUL\STX\NUL5\NUL[\NUL^\NUL8\NUL\SOH\NULe\NUL;\NUL\SOH\NUL=\NUL>\NUL?\NULy\NULN\NULO\NULP\NULD\NULE\NUL\SOH\NULG\NUL\EOT\NUL^\NULJ\NULK\NUL\SOH\NULM\NULN\NUL^\NULP\NULQ\NULR\NULS\NULT\NULU\NUL\SOH\NULw\NULx\NULy\NUL,\NULe\NUL\\\NUL]\NUL^\NUL_\NUL\SOH\NULw\NULx\NULy\NUL\RS\NULe\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SOH\NUL\SOH\NUL\DLE\NULN\NULO\NULP\NULZ\NUL\RS\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NUL\ESC\NUL+\NUL8\NUL+\NUL:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\RS\NULA\NULB\NULC\NULD\NUL+\NUL+\NUL,\NULs\NULt\NUL/\NUL0\NUL1\NUL2\NUL3\NUL4\NUL5\NUL6\NUL7\NUL8\NUL9\NUL:\NUL;\NULe\NUL=\NUL>\NUL?\NUL@\NULA\NULB\NULC\NULD\NULE\NUL\SOH\NULG\NULH\NULI\NULJ\NULK\NULL\NULM\NULN\NULO\NULP\NULQ\NULR\NULS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULw\NULx\NULy\NUL\SOH\NUL\SOH\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL[\NUL1\NUL\DLE\NULe\NUL*\NULZ\NUL6\NUL\\\NUL\ESC\NUL^\NUL_\NUL`\NULa\NUL\ESC\NUL>\NULw\NULx\NULy\NUL\SUB\NULC\NULw\NULx\NULy\NULG\NULH\NULw\NULx\NULy\NUL\EM\NULM\NULs\NULt\NULP\NUL/\NULR\NUL1\NUL\DLE\NUL3\NULV\NUL5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL^\NUL=\NUL>\NUL?\NULN\NULO\NULP\NULC\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NULL\NULM\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULN\NULO\NULP\NUL\255\255\&6\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULA\NULB\NULC\NULD\NUL\255\255F\NULG\NUL\EM\NUL\255\255\ESC\NUL\ESC\NUL\GS\NUL\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULw\NULx\NULy\NUL/\NUL\255\255\&1\NUL3\NUL3\NUL\255\255\&5\NUL7\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NULN\NULO\NULP\NUL\255\255D\NULE\NUL\255\255G\NULx\NULy\NULJ\NULK\NULL\NULM\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULw\NULx\NULy\NUL\255\255\&7\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255w\NULx\NULy\NUL\SOH\NUL\STX\NUL\ETX\NUL\SOH\NUL\STX\NUL\ETX\NUL\ESC\NULM\NULN\NULO\NULP\NULQ\NULR\NUL\SOH\NUL\STX\NUL\ETX\NUL\SOH\NUL\STX\NUL\ETX\NUL\255\255\255\255<\NUL=\NUL,\NUL\255\255\255\255/\NULB\NULC\NULD\NUL3\NUL\SOH\NUL5\NUL\ETX\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\r\NUL\SOH\NUL\STX\NUL\ETX\NULD\NULE\NULw\NULx\NULy\NUL\255\255J\NULK\NULL\NUL\EOT\NULN\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULx\NULy\NUL\255\255\&6\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\SOH\NULC\NUL\ETX\NUL\255\255\ENQ\NUL\ACK\NULH\NUL\255\255\t\NUL\n\NUL\ESC\NUL\255\255\&8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NULV\NULA\NULB\NULC\NULD\NUL\255\255\\\NUL\255\255^\NUL\255\255/\NUL\SOH\NUL\STX\NUL\ETX\NUL3\NUL\SOH\NUL5\NUL\ETX\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\r\NUL\r\NUL\SO\NUL\SI\NULD\NULE\NUL\SOH\NUL\STX\NUL\ETX\NUL\255\255J\NULK\NULL\NUL\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\r\NUL\SO\NUL\SI\NUL6\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255C\NUL6\NUL\255\255\255\255\255\255H\NUL;\NUL<\NUL=\NUL\ESC\NUL\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255Z\NULV\NUL\\\NUL\255\255^\NUL_\NUL`\NUL+\NUL,\NUL^\NUL\255\255/\NUL0\NUL\255\255\&2\NUL\255\255\&4\NUL\255\255\255\255\&7\NUL\255\255\&9\NUL:\NUL7\NUL\255\255s\NULt\NUL\255\255@\NULA\NULB\NUL\255\255\255\255A\NULB\NULC\NULD\NULI\NULF\NULG\NULL\NUL\255\255\255\255O\NUL\255\255\255\255\SOH\NUL\255\255\ETX\NULx\NULy\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\r\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\ESC\NUL\255\255\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255/\NUL\255\255D\NULE\NUL\255\255G\NUL\255\255\&6\NULJ\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULC\NUL\SOH\NUL\255\255\ETX\NUL\255\255H\NUL\\\NUL]\NUL^\NULL\NULM\NUL\255\255Z\NUL\r\NUL\\\NUL\255\255^\NUL_\NUL`\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255s\NULt\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\ESC\NUL=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255/\NULQ\NUL\255\255S\NULT\NULU\NULV\NUL6\NUL\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL\255\255\255\255\255\255\255\255\SOH\NULC\NUL\ETX\NUL\255\255\SOH\NUL\255\255H\NUL\SOH\NUL\255\255\255\255L\NULM\NUL\r\NULB\NULC\NULD\NUL\r\NULF\NULG\NUL\r\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\&6\NULZ\NUL\255\255\\\NUL6\NUL^\NUL_\NUL6\NUL\ESC\NUL\255\255\255\255\255\255\255\255C\NULx\NULy\NUL\255\255C\NULH\NUL\255\255C\NUL\255\255H\NUL\255\255\255\255H\NULs\NULt\NUL/\NULZ\NUL\255\255\\\NULV\NUL^\NUL_\NUL6\NULV\NUL\255\255\\\NULV\NUL^\NUL\255\255\\\NUL]\NUL^\NUL\\\NUL]\NUL^\NULC\NUL\255\255\255\255\255\255\255\255H\NULs\NULt\NUL\255\255L\NULM\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255V\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\ETX\NUL\255\255\r\NUL\ACK\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NUL\SOH\NUL\ESC\NUL\ETX\NUL\255\255\255\255\ACK\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULs\NULt\NUL,\NUL-\NUL6\NUL/\NUL\255\255Z\NUL\255\255\\\NUL\ESC\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULC\NUL\255\255\255\255\255\255\255\255H\NUL\255\255\255\255\255\255\255\255,\NUL-\NUL\255\255/\NUL\255\255s\NULt\NULL\NUL\255\255V\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULs\NULt\NUL\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\ESC\NULF\NULG\NULZ\NUL\SOH\NUL\\\NUL\ETX\NUL^\NUL_\NUL\ACK\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL/\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&6\NULs\NULt\NUL\ESC\NUL\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NUL\255\255C\NUL\255\255\255\255\255\255\255\255H\NUL\255\255,\NUL\255\255L\NUL/\NULx\NULy\NUL\255\255\SOH\NUL\255\255\ETX\NULs\NULt\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\r\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255\255\255\255\255\255\255L\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULs\NULt\NUL6\NUL\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULC\NUL\255\255\255\255\255\255\255\255H\NUL\255\255Z\NUL\255\255\\\NUL\ESC\NUL^\NUL_\NUL`\NUL\SOH\NUL\255\255\255\255\255\255\255\255V\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL^\NUL\255\255\DLE\NUL/\NUL\255\255s\NULt\NUL\255\255\255\255\255\255\&6\NUL\255\255Z\NUL\ESC\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NUL\255\255C\NUL\255\255\255\255\255\255\255\255H\NUL\255\255,\NUL\255\255L\NUL/\NUL\255\255\255\255\255\255s\NULt\NUL\255\255\255\255\255\255V\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\&6\NUL\255\255\255\255\255\255L\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\SOH\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\STX\NUL\255\255\255\255\r\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NUL\SOH\NUL\ESC\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULy\NUL\255\255\DLE\NULs\NULt\NUL\255\255\255\255\&6\NUL/\NUL\255\255Z\NUL\255\255\\\NUL\ESC\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULC\NUL\255\255\255\255\255\255\255\255H\NUL\255\255\255\255\255\255\255\255,\NUL\255\255\255\255/\NUL\255\255s\NULt\NULL\NUL\255\255V\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL\255\255^\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULs\NULt\NUL\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\255\255\ESC\NUL\SOH\NUL\STX\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL,\NUL\255\255Z\NUL/\NUL\\\NUL\255\255^\NUL_\NUL`\NUL\255\255\ESC\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULs\NULt\NUL\255\255/\NUL\255\255L\NULx\NULy\NUL\255\255\255\255\ESC\NUL\255\255\255\255\RS\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL/\NUL\255\255L\NUL\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255L\NULs\NULt\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NULX\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\SOH\NUL\ESC\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULx\NULy\NUL\DLE\NUL\255\255\255\255\255\255\255\255\255\255/\NUL\255\255\255\255\255\255\255\255\ESC\NUL\255\255\255\255\255\255\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL/\NUL7\NUL\255\255\255\255L\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\ESC\NULA\NULB\NULC\NULD\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NUL/\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255\255\255\255\255\255\255L\NUL\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\SOH\NUL\ESC\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\255\255\255\255\255\255/\NUL\255\255\255\255\255\255\255\255\ESC\NUL\255\255\255\255\255\255\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL/\NUL\255\255\255\255\255\255L\NULx\NULy\NUL\255\255\255\255\255\255\ESC\NUL\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NUL/\NUL\255\255\255\255\255\255\255\255\SOH\NUL\255\255\ETX\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\r\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255\255\255\255\255\255\255L\NUL\255\255\255\255\255\255\255\255\SOH\NUL\255\255\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\r\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\&6\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255C\NUL\255\255\255\255\255\255\255\255H\NUL\255\255\255\255\255\255\ESC\NUL0\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NULV\NUL\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255^\NUL\255\255/\NULD\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\SOH\NUL\255\255\ETX\NUL\255\255\255\255\255\255\\\NUL]\NUL^\NUL_\NULL\NUL\255\255\r\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\US\NUL \NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL\255\255\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\SOH\NUL\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\255\255\&1\NUL\255\255\&3\NUL\r\NUL5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL]\NUL^\NUL8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\SOH\NUL\255\255\\\NUL]\NUL^\NUL\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\r\NUL8\NUL\255\255\SOH\NUL;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\r\NULG\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\SOH\NUL\RS\NUL\ETX\NUL\255\255\255\255\255\255\\\NUL]\NUL^\NUL\255\255\&6\NUL\255\255\r\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\&3\NULC\NUL5\NUL\255\255\255\255\&8\NULH\NUL\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255V\NUL\255\255\255\255J\NULK\NUL\255\255\\\NULN\NUL^\NUL\255\255Q\NUL6\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NULC\NUL\255\255\255\255\RS\NUL\US\NULH\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255V\NUL\255\255\255\255\255\255\255\255\&3\NUL\\\NUL\255\255^\NUL7\NUL\255\255\255\255\255\255\255\255<\NUL=\NUL\255\255\255\255\255\255\255\255B\NULC\NULD\NUL\255\255\255\255\255\255H\NULI\NULJ\NUL\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255<\NUL=\NUL>\NUL?\NUL@\NUL3\NULB\NULC\NULD\NUL7\NULF\NULG\NUL\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NULB\NULC\NULD\NUL\255\255\255\255\255\255H\NULI\NULJ\NUL\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255x\NULy\NUL7\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\255\255w\NULx\NULy\NUL\255\255\255\255\255\255H\NULI\NULJ\NUL\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255<\NUL=\NUL>\NUL?\NUL@\NUL3\NULB\NULC\NULD\NUL7\NULF\NULG\NUL\255\255\255\255\255\255\255\255\255\255x\NULy\NUL\255\255w\NULx\NULy\NUL\255\255\255\255\255\255H\NULI\NULJ\NULK\NUL\255\255\255\255\255\255\255\255\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NULx\NULy\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NULH\NULI\NULJ\NUL\255\255\255\255\255\255\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255 \NUL!\NUL\255\255#\NUL\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255!\NUL6\NUL#\NUL\255\255w\NULx\NULy\NULJ\NUL\255\255*\NUL+\NUL,\NULA\NULB\NULC\NULD\NUL\255\255\255\255\&3\NUL\255\255\255\255\&6\NUL\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255w\NULx\NULy\NUL\255\255!\NUL\255\255#\NUL\255\255!\NUL\255\255#\NUL\255\255\255\255*\NUL+\NUL,\NULy\NUL*\NUL+\NUL,\NUL\255\255\255\255\&3\NUL\255\255\255\255\255\255\&3\NUL\255\255\255\255\&6\NUL\255\255<\NUL=\NUL\255\255\255\255x\NULy\NULB\NULC\NULD\NULA\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL!\NUL\255\255#\NUL\255\255\255\255\255\255\255\255\255\255\255\255*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL!\NUL\255\255#\NUL\255\255\255\255\255\255!\NUL\255\255#\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255*\NUL+\NUL,\NUL3\NULy\NUL\255\255\&6\NULx\NULy\NUL3\NUL\255\255N\NULO\NULP\NULQ\NULR\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255A\NULB\NULC\NULD\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\"\NUL#\NUL3\NUL%\NUL\255\255'\NUL7\NUL)\NUL*\NUL+\NUL,\NUL\255\255y\NUL\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL\255\255\255\255\255\255\255\255\255\255L\NUL\255\255\255\255\255\255y\NUL\255\255\255\255\255\255\255\255\255\255y\NUL\255\255\255\255\255\255Z\NULL\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255w\NULx\NULy\NUL\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NULL\NUL)\NUL*\NUL+\NUL,\NULs\NULt\NUL\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255Z\NUL7\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255L\NUL\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NUL\255\255\"\NUL#\NUL\255\255%\NUL\255\255'\NULL\NUL)\NUL*\NUL+\NUL,\NULs\NULt\NUL\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255Z\NUL7\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255L\NUL\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255.\NUL/\NUL0\NUL\"\NUL#\NUL3\NUL%\NUL\255\255'\NUL7\NUL)\NUL*\NUL+\NUL,\NUL\255\255.\NUL/\NUL0\NUL\"\NUL#\NUL3\NUL%\NUL\255\255'\NUL7\NUL)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\"\NUL#\NUL7\NUL%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL\255\255L\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\"\NUL#\NULL\NUL%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NULw\NULx\NULy\NUL\255\255#\NUL\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL*\NUL+\NUL,\NUL6\NULw\NULx\NULy\NUL\255\255\255\255\&3\NUL\255\255\255\255\&6\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255L\NUL\255\255\255\255w\NULx\NULy\NULM\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL#\NUL\255\255\255\255\&6\NUL\255\255\255\255\255\255*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\&2\NUL3\NUL\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\255\255w\NULx\NULy\NULA\NULB\NULC\NULD\NUL\255\255\255\255\255\255x\NULy\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL6\NUL\255\255\255\255\255\255q\NUL\255\255s\NULt\NUL\255\255\&7\NULw\NULx\NULy\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL\255\255F\NULG\NUL\255\255\255\255y\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL7\NUL\255\255\255\255\&6\NULq\NUL\255\255s\NULt\NUL;\NUL<\NUL=\NUL\255\255y\NUL\255\255A\NULB\NULC\NULD\NULw\NULx\NULy\NUL\255\255\255\255\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255q\NUL\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL7\NULw\NULx\NULy\NUL;\NUL<\NUL=\NUL7\NUL6\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255A\NULB\NULC\NULD\NUL\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255w\NULx\NULy\NUL\255\255\255\255s\NULt\NULw\NULx\NULy\NUL+\NUL\255\255-\NUL\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255+\NUL\255\255-\NUL\255\255\255\255]\NUL^\NUL_\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255+\NULQ\NUL\255\255S\NULT\NULU\NUL1\NUL\255\255\255\255\255\255\255\255\&6\NUL\255\255]\NUL^\NUL_\NUL+\NUL\255\255\255\255>\NUL\255\255\255\255\&1\NUL\255\255C\NUL\255\255\255\255\&6\NULG\NULH\NUL\255\255\255\255\255\255\255\255M\NUL>\NUL\255\255P\NUL\255\255R\NULC\NUL\255\255\255\255V\NULG\NULH\NUL\255\255\255\255\255\255\255\255M\NUL^\NUL\255\255P\NUL\255\255R\NUL,\NUL\255\255\255\255V\NUL\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255^\NUL8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255.\NUL]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL]\NUL^\NUL8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL]\NUL^\NUL8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255\255\255>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NUL\255\255\255\255P\NUL\255\255R\NUL\255\255T\NULU\NULV\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL_\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255\255\255\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255T\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255S\NUL^\NULU\NULV\NULW\NULX\NULY\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULS\NULv\NULU\NULV\NULW\NULX\NULY\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULS\NULv\NUL\255\255V\NULW\NULX\NULY\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NULv\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NUL\255\255S\NUL\255\255\255\255\255\255\255\255\255\255|\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255S\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255S\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255q\NUL\255\255s\NULt\NUL\255\255Z\NUL\255\255\\\NULy\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255o\NUL\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NUL;\NUL<\NUL=\NUL\255\255\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255s\NULt\NUL\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL;\NUL<\NUL=\NUL\255\255\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\&1\NULM\NULN\NULO\NULP\NULQ\NULR\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL1\NULA\NULB\NULC\NULD\NUL\255\255\255\255\&8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyTable"] (TyCon (UnQual (Ident "HappyAddr"))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyTable")) (UnGuardedRhs (App (Con (UnQual (Ident "HappyA#"))) (Lit (PrimString "\NUL\NUL\136\NULL\NULM\NUL\162\SOH{\ETX^\ETX\DC2\ETX\DC3\ETX\DC1\ETX\DC2\ETX\DC3\ETX`\ETX=\254\230\STX%\STX\141\SOHr\ETX\170\NUL\203\SOH5\ETX%\ETX\SUB\STXz\ETXN\NULi\ETXO\NUL&\STXP\NULQ\NULR\NUL\204\SOHS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\212\STX\SYN\ETX\248\NUL{\STX\130\STX\239\NUL_\NUL\132\SOH\199\NUL\185\NUL`\NUL\200\NUL\247\SOH\188\NUL=\SOHL\NULM\NULu\SOH6\ETX{\ETXa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\156\NUL%\STXO\ETX\186\NUL\131\STX\203\SOHv\SOH\189\NUL\226\SOH\249\NULN\NULq\ETXO\NUL&\STXP\NULQ\NULR\NUL\204\SOHS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\DC4\ETX\151\SOH\134\NUL\DC4\ETX\DC4\ETX\132\NUL_\NUL\134\NULs\ETX\132\NUL`\NUL\134\NUL\134\NUL\214\NULK\NULL\NULM\NULh\NULi\NULj\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\240\NULK\NUL\200\SOHc\NUL\201\SOH*\NUL\182\NUL\132\NUL\152\SOH\134\NULN\NUL\134\NULO\NUL\201\NULP\NULQ\NULR\NUL\190\NULS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\170\NUL\203\SOH\ACK\STXO\ETX\170\NUL\132\NUL_\NUL\134\NULj\ETX\132\NUL`\NUL\134\NULU\ETX\204\SOH\a\STX\221\SOH\189\NULh\NULi\NULj\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\156\NUL9\ETX\171\NUL\251\STX\172\NUL\196\NUL%\STX;\ETX\132\NUL\152\SOH\134\NUL\173\NUL]\NUL^\NUL\215\NUL\225\STX\183\NUL\211\STX&\STX\224\STX_\NUL%\STX\157\SOH\174\NUL\197\NULV\ETX\222\SOH\n\ETX<\254\247\SOHm\ETX\v\ETX\246\SOH&\STX\175\NULb\NULc\NULd\NUL\176\NULf\NULg\NUL<\254\216\NUL\185\NUL\247\SOH\217\NUL<\254h\NULi\NULj\NUL\203\SOH\181\NUL\218\NUL]\NUL^\NUL\158\SOH\190\NUL\212\STXn\ETX\225\STX<\254_\NUL\204\SOH`\STX\186\NUL\132\NUL\132\NUL\215\NUL\134\NUL\247\SOH\240\NULK\NUL\182\NUL\213\NUL\161\NUL\219\NULb\NULc\NULd\NUL\220\NULf\NULg\NULT\ETXA\ETX\159\SOH\214\NUL\160\SOH\162\NUL\174\NUL\177\NULj\NUL\198\NUL\163\NUL\161\SOH]\NUL^\NUL\150\NUL\132\NUL\215\NUL\134\NUL\249\SOH\EM\ETX_\NUL\236\STX\232\STX\162\SOH\164\NUL\SUB\ETX\132\NUL\215\NUL\134\NULB\ETX\132\NUL\215\NUL\134\NUL\247\SOH\163\SOHb\NULc\NULd\NUL\164\SOHf\NULg\NUL\132\NUL\215\NUL\151\NUL\195\NUL\152\NUL\196\NUL\240\NULK\NUL\221\NUL\ESC\ETXl\NUL\153\NUL]\NUL^\NUL\134\STX\GS\ETX\183\NUL\250\SOH\132\NUL\137\STX_\NUL(\ETXm\NUL\f\STX\197\NUL\132\NUL\152\SOH\134\NUL\240\NULK\NUL\193\STX\128\STXj\NUL\161\NUL\154\NULb\NULc\NULd\NUL\155\NULf\NULg\NUL\132\NUL\215\NUL\171\NUL\203\SOH\172\NUL\162\NUL\216\NUL\185\NUL\156\NUL\217\NUL\163\NUL\173\NUL]\NUL^\NUL\FS\ETX\204\SOH\218\NUL]\NUL^\NULg\STX_\NUL`\STX\152\STX\174\NUL\164\NUL_\NUL\218\SOH\219\SOH\186\NUL\153\STX\132\NUL\215\NUL\134\NUL\140\STX\175\NULb\NULc\NUL\208\SOH\154\STX\219\NULb\NULc\NUL\208\SOH\159\SOH\168\STX\160\SOH\r\STX\140\NULj\NUL\156\NUL\198\NUL\132\SOH\161\SOH]\NUL^\NUL\151\SOH\161\NUL\180\STX\132\SOHh\STX\132\NUL_\NUL\134\NUL\168\254\162\SOH\188\NUL\168\254\214\NUL\236\SOH\162\NULn\ETX2\NUL3\NUL\215\SOH\163\NUL\163\SOHb\NULc\NUL\208\SOH\144\STX4\NUL5\NUL6\NUL7\NUL8\NUL%\STX\189\NUL\SYN\STX\164\NUL\135\STXj\NUL\168\254\218\STX\225\SOH\132\NUL\221\NUL\134\NUL&\STX\192\NUL\185\NUL7\ETX\184\NUL\185\NUL8\ETXF\STX2\NUL3\NUL\145\STX\141\STX\EM\STXH\STXI\STXJ\STX\ESC\STX4\NUL5\NUL6\NUL7\NUL8\NUL\RS\STX\186\NUL\240\NULK\NUL\186\NULK\STX\169\NULO\NUL\170\NULP\NULL\STXM\STX\156\NULS\NULN\STXU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\224\SOH\225\SOH\132\NUL\152\SOH\134\NULB\STX_\NUL \STXp\SOH\190\NULO\STX\ACK\NULq\SOH\a\NUL\226\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL/\STX9\NUL\132\NUL\215\NUL\134\NUL\137\SOH\CAN\NUL\EM\NUL\168\SOH:\NUL\146\NULc\NUL\233\SOH\193\NUL\229\255\ACK\NUL\187\NUL\a\NUL\134\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\132\SOH9\NUL\226\SOH\132\SOH5\STX\198\SOH\CAN\NUL\EM\NULC\STX:\NULh\NUL\195\SOHj\NULF\STX2\NUL3\NULD\STXG\STX`\STXH\STXI\STXJ\STX?\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\146\SOH\SUB\STX\149\NULj\NUL\131\SOHK\STX\132\SOHO\NUL@\SOHP\NULL\STXM\STX\214\NULS\NULN\STXU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\r\SOHp\ETX\140\NULj\NUL\137\SOH\132\SOH_\NUL\134\SOH\132\SOH\153\SOHO\STX\168\SOH\198\SOH\151\SOH\130\SOH\234\STX#\STX\207\NUL\235\STX\ACK\STX\136\SOH\170\NUL\200\SOHc\NUL\201\SOH\214\NUL\138\SOH\SO\SOHU\NUL\152\SOH\SI\SOH\a\STX\DLE\SOH\132\SOH\DC1\SOH\\\NUL]\NUL^\NUL\132\SOH\154\SOH\132\SOH\132\SOH\192\NUL\185\NUL_\NUL\ACK\NUL\155\SOH\a\NUL\DC2\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\186\NUL9\NUL\132\NUL\215\NUL\134\NULh\SOH\CAN\NUL\EM\NUL\167\SOH:\NULh\NUL\195\SOHj\NUL\156\NUL\169\SOH\207\SOHb\NULc\NUL\208\SOH\ACK\NUL\188\SOH\a\NUL\197\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\r\SOH\DC4\SOH\132\NUL\152\SOH\134\NUL\199\SOH\CAN\NUL\EM\NUL\132\NUL\215\NULh\NUL\NAK\SOHj\NUL\246\SOH\156\NUL}\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH0\ETX\212\SOHu\STX1\ETX\247\SOHv\STX\SO\SOHU\NUL\193\NUL\SI\SOH\213\SOH\DLE\SOH\156\NUL\DC1\SOH\\\NUL]\NUL^\NUL\r\SOH \ETX!\ETX\159\NUL\EOT\ETX\"\ETX_\NUL+\ETX,\ETX\221\STX\DC2\SOH\174\NUL\222\STX.\ETX\164\NUL\174\NUL+\STX\206\NUL\207\NUL,\STX\209\NUL\156\NUL\209\SOHb\NULc\NUL\208\SOH\231\NUL\SO\SOHU\NUL\237\NUL\SI\SOHi\SOH\DLE\SOH\250\NUL\DC1\SOH\\\NUL]\NUL^\NUL~\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH_\NUL\ACK\NUL\EOT\SOH\a\NUL\DC2\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\n\SOH\DC4\SOH\132\NUL\215\NUL+\SOHk\SOH\CAN\NUL\EM\NUL\135\NUL\ENQ\NULh\NUL\NAK\SOHj\NUL-\STXj\NUL\ENQ\NUL\DEL\STX\128\STXj\NUL\ACK\NUL}\ETX\a\NUL*\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\r\SOH\DC4\SOH8\STXb\NULc\NUL\208\SOH\CAN\NUL\EM\NUL\174\NUL~\ETXh\NUL\NAK\SOHj\NUL+\STX\206\NUL\207\NUL,\STX\209\NUL*\NUL\209\SOHb\NULc\NULd\NUL\181\STX\210\SOHg\NUL\DEL\ETX\SO\SOHU\NULu\ETX\SI\SOHv\ETX\DLE\SOHw\ETX\DC1\SOH\\\NUL]\NUL^\NUL8\ETX\166\NUL\167\NUL\190\SOHi\ETXO\NUL_\NULP\NUL\191\SOH\192\SOH\DC2\SOHS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NULZ\ETX \SOH!\SOH\"\SOH#\SOH*\NUL_\NULe\SOH\DC3\SOH\170\NUL\194\SOH\240\NULK\NUL-\STXj\NUL\249\STXb\NULc\NUL\208\SOHf\SOH=\ETX>\ETX\ACK\NUL\134\NUL\a\NULl\ETX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\ACK\NUL\DC4\SOH\a\NULX\ETX\NUL\SOH\t\NUL\CAN\NUL\EM\NUL\254\STX\255\STXh\NUL\NAK\SOHj\NUL\151\NUL\134\NUL\152\NUL\NUL\ETX\SOH\ETX\238\SOH\250\SOH\EM\ETX\152\NUL\153\NUL]\NUL^\NUL\CAN\NUL\EM\NUL]\ETX\153\NUL]\NUL^\NUL_\NUL^\ETXh\NUL\195\SOHj\NUL\190\SOH_\NULO\NUL`\ETXP\NUL\191\SOH\192\SOHc\ETXS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\ETB\STX\250\SOH\143\STX\162\SOH\240\NULK\NUL_\NUL&\STX\166\NUL\167\NUL\194\SOHI\ETX\140\NULj\NUL\229\SOHb\NULc\NUL\208\SOH\190\SOHd\ETXO\NULe\ETXP\NUL\191\SOH\192\SOH=\NULS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\ACK\NUL@\ETX\a\NUL?\ETX\STX\SOH\t\NUL_\NUL\156\NULC\ETX\159\SOH\194\SOH\160\SOHI\ETX\156\NUL\134\NUL\172\NUL\240\NULK\NUL\161\SOH]\NUL^\NUL!\STX\173\NUL]\NUL^\NUL\CAN\NUL\EM\NUL_\NUL\RS\SOH\US\SOH\162\SOH_\NUL\156\NULO\ETX\174\NUL\134\NULh\NUL\195\SOHj\NUL\190\SOHQ\ETXO\NULS\ETXP\NUL\191\SOH\192\SOH\134\SOHS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL0\STX\146\SOH\207\NUL\147\SOH\209\NUL\157\STX_\NUL\146\NULc\NUL\147\NUL\194\SOH\148\NULg\NUL$\SOH%\SOHh\NUL\195\SOHj\NUL\190\SOH\227\STXO\NUL\134\NULP\NUL\191\SOH\192\SOH\240\STXS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\156\NUL\174\NUL\251\STX\252\STXj\NUL\241\STX_\NULJ\ETX\140\NULj\NUL\194\SOH\160\SOH\209\SOHb\NULc\NUL\208\SOHL\ETX\244\STX\161\SOH]\NUL^\NUL6\STX\245\STX\149\SOHj\NUL\240\NULK\NUL_\NUL&\SOH'\SOH\162\SOH\249\STXb\NULc\NUL\208\SOH\246\STXh\NUL\195\SOHj\NUL\190\SOH\247\STXO\NUL\n\ETXP\NUL\191\SOH\192\SOH\238\SOHS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\189\SOH\ACK\STX\CAN\ETX\170\NUL\228\NUL\229\NUL_\NUL\r\ETX\211\SOHj\NUL\194\SOH\230\NUL\231\NUL\a\STX\SO\ETXh\NUL\195\SOHj\NUL\190\SOH\SI\ETXO\NUL\DLE\ETXP\NUL\191\SOH\192\SOH\ETB\ETXS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\156\NULo\ETX2\NUL3\NUL\240\NULK\NUL_\NUL\161\NUL\CAN\SOH\EM\SOH\194\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\161\NUL\151\NUL=\NUL\152\NUL\162\NULK\ETX\140\NULj\NUL+\ETX\163\NUL\153\NUL]\NUL^\NUL\162\NULE\ETX2\NUL3\NUL\US\ETX\163\NUL_\NULh\NUL\195\SOHj\NUL\164\NUL4\NUL5\NUL6\NUL7\NUL8\NUL\RS\SOH\US\SOH\134\NUL\164\NUL#\ETX\200\SOHc\NUL\201\SOH&\ETX\132\NUL\215\NUL\134\NUL\DLE\ETX2\NUL3\NUL$\SOH%\SOHw\STX\166\NUL\167\NULx\STXy\STX4\NUL5\NUL6\NUL7\NUL8\NUL\232\SOH'\ETXh\NUL\195\SOHj\NUL\241\STX\140\NULj\NUL&\SOH'\SOH\143\NULb\NULc\NUL\208\SOH\ACK\NUL|\STX\a\NUL}\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\156\NUL9\NUL\242\STX\140\NULj\NULc\STX\CAN\NUL\EM\NUL>\254:\NUL\ACK\NUL\188\SOH\a\NUL\140\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\146\STX9\NULh\NUL\145\NULj\NUL\134\SOH\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL*\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\156\STX9\NUL\149\STX2\NUL3\NUL\161\NUL\CAN\NUL\EM\NUL\157\STX:\NUL\165\STX\167\STX4\NUL5\NUL6\NUL7\NUL8\NUL\238\SOH\162\NUL\202\NUL\179\STX\162\SOH\180\STX\163\NUL\188\STX\189\STX\158\STX\206\NUL\207\NUL\150\STX2\NUL3\NUL\229\SOHb\NULc\NUL\208\SOH\191\STX\164\NUL\192\STX4\NUL5\NUL6\NUL7\NUL8\NUL*\STX\206\NUL\207\NUL\ENQ\ETX\166\NUL\167\NUL\207\SOHb\NULc\NUL\208\SOH\134\NUL\209\STX\151\STX2\NUL3\NULf\SOH_\SOH\166\NUL\167\NUL`\SOHa\SOH\134\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\203\NUL\214\STX\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\215\STX\210\NULb\NULc\NULd\NUL\211\NULf\NULg\NUL\ACK\NUL\156\NUL\a\NUL\218\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\156\NUL9\NUL&\STX\166\NUL\167\NUL\220\STX\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL\223\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\223\SOH9\NUL#\ETX\166\NUL\167\NUL\224\SOH\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL\229\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\236\SOH9\NULA\STX2\NUL3\NUL\228\SOH\CAN\NUL\EM\NUL\238\SOH:\NUL\251\SOH\252\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\134\NUL\DC2\STX\224\NUL&\STX\166\NUL\167\NUL\162\STX\166\NUL\167\NUL*\STX\206\NUL\207\NULR\STX2\NUL3\NUL\207\SOHb\NULc\NUL\208\SOH\163\STX\166\NUL\167\NUL4\NUL5\NUL6\NUL7\NUL8\NUL}\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH&\STX\166\NUL\167\NUL\184\STX\140\NULj\NULv\SOH2\NUL3\NUL\189\STX\140\NULj\NUL\194\STX\140\NULj\NUL\238\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\225\NUL\EM\STX\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL=\NUL\210\NULb\NULc\NULd\NUL\226\NULf\NULg\NUL\ACK\NUL\156\NUL\a\NUL \STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\238\SOH9\NUL\195\STX\140\NULj\NUL(\STX\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL)\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NULx\SOH9\NUL\196\STX\140\NULj\NUL\238\SOH\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL4\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\134\NUL9\NUL\241\NUL2\NUL3\NUL\238\SOH\CAN\NUL\EM\NUL:\STX:\NUL;\STX<\STX4\NUL5\NUL6\NUL7\NUL8\NUL@\STX\146\SOH\207\NUL\147\SOH\209\NUL\157\STX=\STX\146\NULc\NUL\233\SOH>\STX*\NUL1\NUL2\NUL3\NUL\207\SOHb\NULc\NUL\208\SOH\200\STX\140\NULj\NUL4\NUL5\NUL6\NUL7\NUL8\NUL}\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\201\STX\140\NULj\NUL\188\SOHT\STX\ACK\NULF\STX\a\NULW\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NULU\STX\234\NULV\STXy\SOH\149\SOHj\NUL\CAN\NUL\EM\NUL\205\STX\140\NULj\NULX\STXY\STX\ACK\NUL\156\NUL\a\NUL\134\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NULd\STX9\NUL\216\STX\166\NUL\167\NULf\STX\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL\ESC\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\SUB\SOH9\NUL\133\STXJ\STX\FS\SOH\GS\SOH\CAN\NUL\EM\NULi\STX:\NUL\ACK\STXk\SOH\170\NUL]\SOH^\SOHK\STXh\SOHO\NUL\134\NULP\NULL\STXM\STX\a\STXS\NULN\STXU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\165\NUL\166\NUL\167\NULt\SOH\216\NUL\185\NUL_\NUL\217\NULx\SOH|\SOHO\STX\230\SOH\166\NUL\167\NUL\218\NUL]\NUL^\NULs\SOH\231\SOH\166\NUL\167\NUL~\SOH\134\NUL_\NUL=\NUL\136\SOH\186\NUL=\NUL=\254\ACK\NULl\NUL\a\NUL\134\SOH\244\NUL\t\NUL\n\NULI\SOH\247\SOHb\NULc\NUL\208\SOH=\254m\NUL\229\255\134\SOH\ACK\NUL=\254\a\NUL=\NUL\244\NUL\t\NUL\ETX\SOH\165\STX\158\SOH\CAN\NUL\EM\NUL\142\SOH\206\NUL\207\NUL=\NUL=\254\170\NUL\143\NULb\NULc\NUL\208\SOH\132\NUL\215\NUL\134\NUL\197\SOH\CAN\NUL\EM\NUL?\SOH\205\SOHh\NUL\195\SOHj\NULn\NULo\NUL=\NULp\NUL\207\SOHq\NUL*\NUL\134\NULr\NUL\218\SOH\255\255s\NUL\138\NULt\NULu\NULv\NUL\221\NUL\165\NUL\166\NUL\167\NULw\NULx\NUL\139\NULy\NUL\136\STX\134\NULz\NUL{\NUL\142\NUL|\NUL}\NUL\134\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\233\NULh\NUL\144\SOHj\NUL=\NUL\255\255\132\NUL\133\NUL\134\NUL\135\NUL\ESC\NUL\SO\STX\140\NULj\NUL?\254\251\255\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\234\NUL\237\NUL#\NUL&\STX\166\NUL\167\NUL\ACK\NUL\243\NUL\a\NUL\241\NUL\244\NUL\t\NULa\STX$\NUL\244\NUL\203\NUL\248\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\252\NUL\210\NULb\NULc\NUL\208\SOH\253\NUL<\NUL=\NUL\CAN\NUL\EM\NUL%\NUL>\NULo\NUL?\NULp\NUL@\NULq\NUL=\254A\NULr\NULB\NULC\NULs\NUL\255\255t\NULu\NULv\NULD\NULE\NULF\NUL=\254w\NULx\NUL\254\NULy\NUL=\254G\NULz\NUL{\NUL&\NUL|\NUL}\NULH\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254I\NUL'\NUL(\NUL)\NUL*\NULJ\NULQ\STX\134\NULR\STX-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL4\STX\140\NULj\NUL\255\NUL\NUL\SOH\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\ACK\SOHo\NUL#\NUL\255\255\ETB\SOH\ACK\NUL\161\NUL\a\NUL\SUB\SOH\244\NUL\t\NUL\n\NULJ\SOH$\NULu\NULo\SOH\140\NULj\NUL\ESC\SOH\162\NUL\128\SOH\140\NULj\NULy\NUL\163\NUL\129\SOH\140\NULj\NUL\FS\SOH|\NUL\CAN\NUL\EM\NUL~\NUL%\NUL\128\NUL\215\255\GS\SOH\215\255\164\NUL\215\255\215\255\NUL\NUL\215\255\NUL\NUL\NUL\NUL\215\255\134\NUL\215\255\215\255\215\255\139\SOH\166\NUL\167\NUL\215\255\215\255\215\255\NUL\NUL\215\255\215\255\NUL\NUL\215\255\215\255&\NUL\215\255\215\255\NUL\NUL\215\255\215\255\215\255\215\255\215\255\215\255\215\255\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\215\255\215\255,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\165\NUL\166\NUL\167\NUL\NUL\NUL\174\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\209\SOHb\NULc\NULd\NUL\NUL\NUL\210\SOHg\NUL>\STX\NUL\NULO\NUL$\NULP\NUL\191\SOH\192\SOH\NUL\NULS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\139\NUL\140\NULj\NUL%\NUL\NUL\NULo\NUL_\NULp\NUL\NUL\NULq\NUL\194\SOH\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\165\NUL\166\NUL\167\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\211\SOHj\NULz\NUL{\NUL&\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\133\NUL\134\NULR\STX-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\180\NUL\140\NULj\NUL\NUL\NULY\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NULh\NUL\195\SOHj\NUL\141\SOHG\ETX\170\NUL\141\SOH\t\ETX\170\NUL$\NULZ\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\141\SOH\162\STX\170\NUL\141\SOH\168\STX\170\NUL\NUL\NUL\NUL\NUL\146\SOH\207\NUL=\NUL\NUL\NUL\NUL\NUL%\NUL\146\NULc\NUL\233\SOHp\NUL\SOH\STXq\NUL\170\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\STX\STX\141\SOH\206\SOH\170\NULw\NULx\NULh\NUL[\STXj\NUL\NUL\NULz\NUL{\NUL&\NUL\138\STX}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\133\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\149\SOHj\NUL\NUL\NUL<\254\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL8\SOH<\254\&9\SOH\NUL\NUL:\SOH;\SOH<\254\NUL\NUL<\SOH=\SOH$\NUL\NUL\NUL\225\NUL\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL<\254\210\NULb\NULc\NUL\208\SOH\NUL\NUL\132\NUL\NUL\NUL\134\NUL\NUL\NUL%\NUL\141\SOH\235\SOH\170\NULp\NULe\SOHq\NUL\170\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NULf\SOH(\SOH)\SOH*\SOHw\NULx\NUL\169\NUL\206\SOH\170\NUL\NUL\NULz\NUL{\NUL&\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\133\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL(\SOH)\SOH*\SOH<\254\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL<\254\174\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254+\STX\206\NUL\207\NUL$\NUL\NUL\NUL\NUL\NUL\209\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\ACK\NUL<\254\a\NUL\NUL\NUL\244\NUL\t\NULF\SOH<\NUL=\NUL\134\NUL\NUL\NUL%\NUL>\NUL\NUL\NUL?\NUL\NUL\NUL@\NUL\NUL\NUL\NUL\NULA\NUL\NUL\NULB\NULC\NUL\142\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NULD\NULE\NULF\NUL\NUL\NUL\NUL\NUL\143\NULb\NULc\NULd\NULG\NUL\144\NULg\NUL&\NUL\NUL\NUL\NUL\NULH\NUL\NUL\NUL\NUL\NUL\SOH\STX\NUL\NUL\170\NUL\ACK\ETXj\NULI\NUL'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\STX\STX,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\187\STX\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\145\NULj\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL%\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\161\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\162\NULe\SOH\NUL\NUL\170\NUL\NUL\NUL\163\NUL\132\NUL\159\NUL\134\NUL&\NUL<\254\NUL\NUL\ACK\NULf\SOH\a\NUL\NUL\NUL\244\NUL\t\NULG\SOH\164\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\SYN\STX\NUL\NUL\NUL\NUL#\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL$\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL%\NUL\179\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NUL\161\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\180\NUL\134\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\STX\162\NUL\170\NUL\NUL\NUL%\STX\NUL\NUL\163\NUL\161\STX\NUL\NUL\NUL\NUL&\NUL=\254\STX\STX\146\NULc\NUL\147\NUL&\STX\148\NULg\NUL\247\SOH\164\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\175\SOH\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\161\NUL\ACK\NUL\NUL\NUL\a\NUL\161\NUL\ACK\SOH\t\NUL\161\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NUL\149\NULj\NUL\NUL\NUL\162\NUL\163\NUL\NUL\NUL\162\NUL\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\163\NUL\CAN\NUL\EM\NUL%\NUL\ACK\NUL\NUL\NUL\a\NUL\164\NUL\b\SOH\t\NUL=\254\164\NUL\NUL\NUL\132\NUL\164\NUL\134\NUL\NUL\NUL\132\NUL\215\NUL\134\NUL\132\NUL\215\NUL\134\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\CAN\NUL\EM\NUL\NUL\NUL&\NUL\176\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL/\STX\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NULu\STX\NUL\NUL\214\NULv\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NULK\SOH\ESC\NUL$\NULu\STX\NUL\NUL\NUL\NULv\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\CAN\NUL\EM\NULw\STXf\ETX\161\NUL%\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL$\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULM\SOH\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\STX4\ETX\NUL\NUL%\NUL\NUL\NUL\CAN\NUL\EM\NUL&\NUL\NUL\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\215\NUL\134\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULQ\SOH'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\DC1\STX\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\146\SOH\207\NUL\147\SOH\209\NUL\"\STX\NUL\NUL\146\NULc\NUL\147\NUL$\NUL\148\NULg\NUL\ACK\NUL\ESC\NUL\a\NULu\STX\v\SOH\t\NULv\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254\CAN\NUL\EM\NUL$\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NULH\SOH\NUL\NUL<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254\NUL\NULw\STX\NUL\NUL&\NUL%\NUL\149\SOHj\NUL\NUL\NULe\SOH\NUL\NUL\170\NUL\CAN\NUL\EM\NUL<\254\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NULf\SOH\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULR\SOH'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\CAN\NUL\EM\NUL\161\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL$\NUL\244\NUL\t\NUL\ETX\SOH\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\164\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\134\NUL\NUL\NUL#\NUL%\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\161\NUL\NUL\NUL\ACK\NUL$\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULN\SOH\NUL\NUL\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULw\STX\NUL\NUL&\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\164\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\162\SOH\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\158\STX\206\NUL\207\NUL\159\STX\209\NUL\NUL\NUL\229\SOHb\NULc\NUL\208\SOH\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\203\SOH\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\230\STX\NUL\NUL\NUL\NUL\204\SOH\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NULL\SOH\ESC\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\156\NUL\NUL\NUL#\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\161\NUL%\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL$\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULO\SOH\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\STX\NUL\NUL\NUL\NUL%\NUL\NUL\NUL\CAN\NUL\EM\NUL&\NUL\NUL\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\NUL\NUL\134\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULP\SOH\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\146\SOH\207\NUL\147\SOH\209\NUL\"\STX\NUL\NUL\146\NULc\NUL\233\SOH\NUL\NUL$\NUL\ESC\NULE\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NULc\STX\NUL\NUL\ACK\NUL%\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL*\SOH\NUL\NUL$\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\CAN\NUL\EM\NUL\NUL\NUL%\NUL\NUL\NUL&\NUL\149\SOHj\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NULY\SOH\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL%\NUL\NUL\NUL&\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\f\SOH\t\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL&\NUL\CAN\NUL\EM\NUL\146\SOH\207\NUL\147\SOH\209\NUL)\STX\NUL\NUL\146\NULc\NUL\233\SOH'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STX\SOH$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\149\SOHj\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL%\NUL\209\STX\NUL\NUL\NUL\NUL&\NUL\142\SOH\206\NUL\207\NUL\143\SOH\209\NUL$\NUL\143\NULb\NULc\NUL\208\SOH\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\144\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\b\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\146\SOH\207\NUL\147\SOH\209\NUL\a\ETX\NUL\NUL\146\NULc\NUL\233\SOH\n\SOH$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STX\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\149\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULe\SOH\NUL\NUL\170\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NULf\SOH,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULl\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NULm\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL$\NULn\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL=\254\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\134\NUL\NUL\NUL%\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\ACK\STX\NUL\NUL\170\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\133\NUL\134\NUL\135\NUL&\NUL\NUL\NUL\a\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL-\SOH.\SOH/\SOH0\SOH1\SOH2\SOH3\SOH4\SOH5\SOH6\SOH7\SOH\NUL\NUL\SOH\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\STX\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\133\NUL\134\NUL\SOH\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\STX\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\133\NUL\134\NUL\SOH\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\STX\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\167\SOH\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\167\SOH\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NULe\SOHo\NUL\170\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULf\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\167\SOH\134\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NUL\ACK\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\a\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NULe\SOHo\NUL\170\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULf\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\203\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL\NUL\NULo\NUL\NUL\NULp\NUL\204\SOHq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\159\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULl\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NULm\NULr\NUL\NUL\NUL\203\SOHs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\204\SOHy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\SOH\STX\251\STX\170\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL\NUL\NUL\161\NUL\NUL\NUL\STX\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULp\NUL\162\NULq\NUL\NUL\NUL\NUL\NULr\NUL\163\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\164\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\132\NUL}\NUL\134\NUL\NUL\NUL\158\NUL=\254\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL=\254\NUL\NUL\NUL\NUL\176\SOH\177\SOH=\254S\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\132\NUL\NUL\NUL\134\NUL\181\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\146\SOH\207\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\146\NULc\NUL\233\SOH\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\\\STX\166\NUL\167\NUL]\STX^\STX\NUL\NUL\NUL\NUL\NUL\NUL\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\146\SOH\207\NUL\147\SOH\209\NUL)\STX_\NUL\146\NULc\NUL\147\NUL\181\SOH\148\NULg\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\199\STXj\NUL\146\NULc\NUL\233\SOH\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\\\STX\166\NUL\167\NUL]\STX^\STX\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\149\SOHj\NUL\181\SOH\146\SOH\207\NUL\147\SOH\209\NUL\148\SOH\NUL\NUL\146\NULc\NUL\233\SOH\NUL\NULh\NUL\204\STXj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\\\STX\166\NUL\167\NUL]\STX^\STX\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\146\SOH\207\NUL\147\SOH\209\NUL\148\SOH_\NUL\146\NULc\NUL\147\NUL\181\SOH\148\NULg\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\149\SOHj\NUL\NUL\NULh\NUL_\STXj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\185\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\181\SOH\149\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\186\SOHj\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\216\NUL\185\NUL\NUL\NUL\217\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\181\SOH\218\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\171\NUL\186\NUL\172\NUL\NUL\NULh\NUL\186\SOHj\NUL\206\STX\NUL\NUL\173\NUL]\NUL^\NUL\a\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL\NUL\NUL\b\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\252\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\253\SOH_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NULh\NUL\186\SOHj\NUL\NUL\NUL\151\NUL\NUL\NUL\152\NUL\NUL\NUL\171\NUL\NUL\NUL\172\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL\221\NUL\173\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL#\STX\207\NUL\NUL\NUL\NUL\NUL\254\SOH\255\SOH\200\SOHc\NUL\201\SOH\242\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\STX\166\NUL\167\NULx\STXy\STX\151\NUL\NUL\NUL\152\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\159\SOH\NUL\NUL\160\SOH\NUL\NUL\NUL\NUL\NUL\NUL\151\NUL\NUL\NUL\152\NUL\161\SOH]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL_\NUL\156\NUL\NUL\NUL\162\SOH\243\SOHj\NUL_\NUL\NUL\NULw\STX\166\NUL\167\NULx\STXy\STX\NUL\NUL\212\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\241\SOHb\NULc\NUL\208\SOH\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SO\SOHU\NUL_\NUL\SI\SOH\NUL\NUL\DLE\SOH\DC2\SOH\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\182\STX\NUL\NUL\NUL\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\129\STX\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\183\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NULU\SOH\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\239\SOH\DC1\SOH\\\NUL]\NUL^\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\ACK\NUL\DC2\SOH\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\240\SOH\NUL\NUL\FS\STX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\GS\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NULT\SOH\NUL\NUL\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH1\STX\DC1\SOH\\\NUL]\NUL^\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\ACK\NUL\DC2\SOH\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL2\STX\NUL\NUL\215\SOH\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\216\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\169\STXU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\247\STX\171\STX\172\STX\169\STXU\NUL_\NUL\SI\SOH\NUL\NUL\DLE\SOH\173\STX\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\170\STX\171\STX\172\STX\SO\SOHU\NUL_\NUL\SI\SOH\NUL\NUL\DLE\SOH\173\STX\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\SO\SOHU\NUL\DC2\SOH\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\NUL\NUL\132\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\174\STXj\NUL\NUL\NUL\SO\SOHU\NULm\SOH\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NULh\NUL\174\STXj\NUL\NUL\NUL\172\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\173\NUL]\NUL^\NUL\174\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL\209\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NULn\SOH\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL~\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\NUL\NUL^\SOH_\SOH\166\NUL\167\NUL`\SOHa\SOH\152\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\248\STX_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL\DEL\STX\236\STXj\NUL\249\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NULb\SOHc\SOH\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\162\SOH\NUL\NUL\NUL\NUL\NUL\NUL\DC2\STX\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\141\SOH\DC3\STX\DC4\STXj\NUL\142\SOH\206\NUL\207\NUL\143\SOH\209\NUL\NUL\NUL\143\NULb\NULc\NULd\NUL\NUL\NUL\144\NULg\NUL\NUL\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\170\SOH\NUL\NUL\NUL\NUL\174\NUL\185\STX\NUL\NUL\CAN\NUL\EM\NUL+\STX\206\NUL\207\NUL\NUL\NUL\156\NUL\NUL\NUL\209\SOHb\NULc\NUL\208\SOHh\NUL\144\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL~\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\172\SOH\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\173\SOHj\NUL\197\STX\DEL\STX\237\STXj\NUL\142\SOH\206\NUL\207\NUL\202\STX\159\NUL\NUL\NUL\143\NULb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\143\NULb\NULc\NUL\208\SOH\NUL\NULZ\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NULZ\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\192\STX\NUL\NULh\NUL\198\STXj\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NULh\NUL\203\STXj\NUL\176\STX\NUL\NUL\ENQ\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\176\STX\NUL\NUL\177\STX\NUL\NUL\NUL\NUL\133\NUL\134\NUL\178\STXp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\192\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NULo\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\161\NUL\NUL\NUL\133\NUL\134\NUL\178\STX\195\NUL\NUL\NUL\NUL\NULu\NUL\NUL\NUL\NUL\NULo\NUL\NUL\NUL\162\NUL\NUL\NUL\NUL\NUL\161\NULy\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\NULu\NUL\NUL\NUL~\NUL\NUL\NUL\128\NUL\162\NUL\NUL\NUL\NUL\NUL\164\NULy\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\NUL\134\NUL\NUL\NUL~\NUL\NUL\NUL\128\NUL=\NUL\NUL\NUL\NUL\NUL\164\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\208\STX\133\NUL\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\188\SOH\133\NUL\134\NUL;\254\NUL\NUL;\254\NUL\NUL;\254;\254\NUL\NUL;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL;\254;\254;\254\NUL\NUL\NUL\NUL\NUL\NUL;\254;\254;\254\NUL\NUL;\254;\254\NUL\NUL;\254;\254\NUL\NUL;\254;\254\NUL\NUL;\254;\254;\254;\254;\254;\254;\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL;\254;\254o\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\167\SOH\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\133\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\159\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NUL\NUL\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL\NUL\NUL\NUL\NUL~\NUL\NUL\NUL\128\NUL\NUL\NUL\130\NUL\131\NUL\164\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NUL\178\STXp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\166\SOH\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\167\SOH\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\179\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NUL;\254\NUL\NUL;\254;\254\NUL\NUL;\254\180\NUL\134\NUL;\254\NUL\NUL;\254\NUL\NUL;\254\NUL\NUL\NUL\NUL\NUL\NUL;\254;\254;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL;\254;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL;\254;\254;\254;\254p\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL;\254;\254s\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\166\SOH\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\167\SOH\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\133\NUL\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\158\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\159\NUL\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\133\NUL\134\NULs\NUL\NUL\NUL\NUL\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULl\STX\134\NUL'\ETXn\STXo\STXp\STXq\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NULl\STXs\STXm\STXn\STXo\STXp\STXq\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL1\ETXs\STX\NUL\NUL2\ETXo\STXp\STXq\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NULs\STX\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\227\STX\CAN\NUL\EM\NUL\NUL\NULg\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\228\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL.\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\215\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SI\STX\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\156\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NULC\ETX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NULD\ETX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NUL\147\STX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NUL\148\STX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NUL\235\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULw\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULx\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULa\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL:\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\146\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULA\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NULB\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULC\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULW\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULZ\SOH\NUL\NUL\NUL\NUL[\SOH\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULz\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL|\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL~\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\DEL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\ETB\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULV\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULX\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL[\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULf\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULG\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULM\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULQ\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\232\STX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\238\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL)\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULi\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULk\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL@\STX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULE\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULl\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\246\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NULj\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NULd\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NULY\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NULV\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NULS\SOH\STX\STX\206\NUL\207\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETX\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EOT\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\t\STX\206\NUL\207\NUL\NUL\NUL\NUL\NUL\NUL\NUL\n\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULY\ETX\v\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\STX\ETX\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\SOH\ETX\244\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\STX\ETX\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH\203\NUL\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH\225\NUL\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH7\STX\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL")))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduceArr")) (UnGuardedRhs (App (App (Var (UnQual (Ident "array"))) (Tuple Boxed [Lit (Int 4),Lit (Int 463)])) (List [Tuple Boxed [Lit (Int 4),Var (UnQual (Ident "happyReduce_4"))],Tuple Boxed [Lit (Int 5),Var (UnQual (Ident "happyReduce_5"))],Tuple Boxed [Lit (Int 6),Var (UnQual (Ident "happyReduce_6"))],Tuple Boxed [Lit (Int 7),Var (UnQual (Ident "happyReduce_7"))],Tuple Boxed [Lit (Int 8),Var (UnQual (Ident "happyReduce_8"))],Tuple Boxed [Lit (Int 9),Var (UnQual (Ident "happyReduce_9"))],Tuple Boxed [Lit (Int 10),Var (UnQual (Ident "happyReduce_10"))],Tuple Boxed [Lit (Int 11),Var (UnQual (Ident "happyReduce_11"))],Tuple Boxed [Lit (Int 12),Var (UnQual (Ident "happyReduce_12"))],Tuple Boxed [Lit (Int 13),Var (UnQual (Ident "happyReduce_13"))],Tuple Boxed [Lit (Int 14),Var (UnQual (Ident "happyReduce_14"))],Tuple Boxed [Lit (Int 15),Var (UnQual (Ident "happyReduce_15"))],Tuple Boxed [Lit (Int 16),Var (UnQual (Ident "happyReduce_16"))],Tuple Boxed [Lit (Int 17),Var (UnQual (Ident "happyReduce_17"))],Tuple Boxed [Lit (Int 18),Var (UnQual (Ident "happyReduce_18"))],Tuple Boxed [Lit (Int 19),Var (UnQual (Ident "happyReduce_19"))],Tuple Boxed [Lit (Int 20),Var (UnQual (Ident "happyReduce_20"))],Tuple Boxed [Lit (Int 21),Var (UnQual (Ident "happyReduce_21"))],Tuple Boxed [Lit (Int 22),Var (UnQual (Ident "happyReduce_22"))],Tuple Boxed [Lit (Int 23),Var (UnQual (Ident "happyReduce_23"))],Tuple Boxed [Lit (Int 24),Var (UnQual (Ident "happyReduce_24"))],Tuple Boxed [Lit (Int 25),Var (UnQual (Ident "happyReduce_25"))],Tuple Boxed [Lit (Int 26),Var (UnQual (Ident "happyReduce_26"))],Tuple Boxed [Lit (Int 27),Var (UnQual (Ident "happyReduce_27"))],Tuple Boxed [Lit (Int 28),Var (UnQual (Ident "happyReduce_28"))],Tuple Boxed [Lit (Int 29),Var (UnQual (Ident "happyReduce_29"))],Tuple Boxed [Lit (Int 30),Var (UnQual (Ident "happyReduce_30"))],Tuple Boxed [Lit (Int 31),Var (UnQual (Ident "happyReduce_31"))],Tuple Boxed [Lit (Int 32),Var (UnQual (Ident "happyReduce_32"))],Tuple Boxed [Lit (Int 33),Var (UnQual (Ident "happyReduce_33"))],Tuple Boxed [Lit (Int 34),Var (UnQual (Ident "happyReduce_34"))],Tuple Boxed [Lit (Int 35),Var (UnQual (Ident "happyReduce_35"))],Tuple Boxed [Lit (Int 36),Var (UnQual (Ident "happyReduce_36"))],Tuple Boxed [Lit (Int 37),Var (UnQual (Ident "happyReduce_37"))],Tuple Boxed [Lit (Int 38),Var (UnQual (Ident "happyReduce_38"))],Tuple Boxed [Lit (Int 39),Var (UnQual (Ident "happyReduce_39"))],Tuple Boxed [Lit (Int 40),Var (UnQual (Ident "happyReduce_40"))],Tuple Boxed [Lit (Int 41),Var (UnQual (Ident "happyReduce_41"))],Tuple Boxed [Lit (Int 42),Var (UnQual (Ident "happyReduce_42"))],Tuple Boxed [Lit (Int 43),Var (UnQual (Ident "happyReduce_43"))],Tuple Boxed [Lit (Int 44),Var (UnQual (Ident "happyReduce_44"))],Tuple Boxed [Lit (Int 45),Var (UnQual (Ident "happyReduce_45"))],Tuple Boxed [Lit (Int 46),Var (UnQual (Ident "happyReduce_46"))],Tuple Boxed [Lit (Int 47),Var (UnQual (Ident "happyReduce_47"))],Tuple Boxed [Lit (Int 48),Var (UnQual (Ident "happyReduce_48"))],Tuple Boxed [Lit (Int 49),Var (UnQual (Ident "happyReduce_49"))],Tuple Boxed [Lit (Int 50),Var (UnQual (Ident "happyReduce_50"))],Tuple Boxed [Lit (Int 51),Var (UnQual (Ident "happyReduce_51"))],Tuple Boxed [Lit (Int 52),Var (UnQual (Ident "happyReduce_52"))],Tuple Boxed [Lit (Int 53),Var (UnQual (Ident "happyReduce_53"))],Tuple Boxed [Lit (Int 54),Var (UnQual (Ident "happyReduce_54"))],Tuple Boxed [Lit (Int 55),Var (UnQual (Ident "happyReduce_55"))],Tuple Boxed [Lit (Int 56),Var (UnQual (Ident "happyReduce_56"))],Tuple Boxed [Lit (Int 57),Var (UnQual (Ident "happyReduce_57"))],Tuple Boxed [Lit (Int 58),Var (UnQual (Ident "happyReduce_58"))],Tuple Boxed [Lit (Int 59),Var (UnQual (Ident "happyReduce_59"))],Tuple Boxed [Lit (Int 60),Var (UnQual (Ident "happyReduce_60"))],Tuple Boxed [Lit (Int 61),Var (UnQual (Ident "happyReduce_61"))],Tuple Boxed [Lit (Int 62),Var (UnQual (Ident "happyReduce_62"))],Tuple Boxed [Lit (Int 63),Var (UnQual (Ident "happyReduce_63"))],Tuple Boxed [Lit (Int 64),Var (UnQual (Ident "happyReduce_64"))],Tuple Boxed [Lit (Int 65),Var (UnQual (Ident "happyReduce_65"))],Tuple Boxed [Lit (Int 66),Var (UnQual (Ident "happyReduce_66"))],Tuple Boxed [Lit (Int 67),Var (UnQual (Ident "happyReduce_67"))],Tuple Boxed [Lit (Int 68),Var (UnQual (Ident "happyReduce_68"))],Tuple Boxed [Lit (Int 69),Var (UnQual (Ident "happyReduce_69"))],Tuple Boxed [Lit (Int 70),Var (UnQual (Ident "happyReduce_70"))],Tuple Boxed [Lit (Int 71),Var (UnQual (Ident "happyReduce_71"))],Tuple Boxed [Lit (Int 72),Var (UnQual (Ident "happyReduce_72"))],Tuple Boxed [Lit (Int 73),Var (UnQual (Ident "happyReduce_73"))],Tuple Boxed [Lit (Int 74),Var (UnQual (Ident "happyReduce_74"))],Tuple Boxed [Lit (Int 75),Var (UnQual (Ident "happyReduce_75"))],Tuple Boxed [Lit (Int 76),Var (UnQual (Ident "happyReduce_76"))],Tuple Boxed [Lit (Int 77),Var (UnQual (Ident "happyReduce_77"))],Tuple Boxed [Lit (Int 78),Var (UnQual (Ident "happyReduce_78"))],Tuple Boxed [Lit (Int 79),Var (UnQual (Ident "happyReduce_79"))],Tuple Boxed [Lit (Int 80),Var (UnQual (Ident "happyReduce_80"))],Tuple Boxed [Lit (Int 81),Var (UnQual (Ident "happyReduce_81"))],Tuple Boxed [Lit (Int 82),Var (UnQual (Ident "happyReduce_82"))],Tuple Boxed [Lit (Int 83),Var (UnQual (Ident "happyReduce_83"))],Tuple Boxed [Lit (Int 84),Var (UnQual (Ident "happyReduce_84"))],Tuple Boxed [Lit (Int 85),Var (UnQual (Ident "happyReduce_85"))],Tuple Boxed [Lit (Int 86),Var (UnQual (Ident "happyReduce_86"))],Tuple Boxed [Lit (Int 87),Var (UnQual (Ident "happyReduce_87"))],Tuple Boxed [Lit (Int 88),Var (UnQual (Ident "happyReduce_88"))],Tuple Boxed [Lit (Int 89),Var (UnQual (Ident "happyReduce_89"))],Tuple Boxed [Lit (Int 90),Var (UnQual (Ident "happyReduce_90"))],Tuple Boxed [Lit (Int 91),Var (UnQual (Ident "happyReduce_91"))],Tuple Boxed [Lit (Int 92),Var (UnQual (Ident "happyReduce_92"))],Tuple Boxed [Lit (Int 93),Var (UnQual (Ident "happyReduce_93"))],Tuple Boxed [Lit (Int 94),Var (UnQual (Ident "happyReduce_94"))],Tuple Boxed [Lit (Int 95),Var (UnQual (Ident "happyReduce_95"))],Tuple Boxed [Lit (Int 96),Var (UnQual (Ident "happyReduce_96"))],Tuple Boxed [Lit (Int 97),Var (UnQual (Ident "happyReduce_97"))],Tuple Boxed [Lit (Int 98),Var (UnQual (Ident "happyReduce_98"))],Tuple Boxed [Lit (Int 99),Var (UnQual (Ident "happyReduce_99"))],Tuple Boxed [Lit (Int 100),Var (UnQual (Ident "happyReduce_100"))],Tuple Boxed [Lit (Int 101),Var (UnQual (Ident "happyReduce_101"))],Tuple Boxed [Lit (Int 102),Var (UnQual (Ident "happyReduce_102"))],Tuple Boxed [Lit (Int 103),Var (UnQual (Ident "happyReduce_103"))],Tuple Boxed [Lit (Int 104),Var (UnQual (Ident "happyReduce_104"))],Tuple Boxed [Lit (Int 105),Var (UnQual (Ident "happyReduce_105"))],Tuple Boxed [Lit (Int 106),Var (UnQual (Ident "happyReduce_106"))],Tuple Boxed [Lit (Int 107),Var (UnQual (Ident "happyReduce_107"))],Tuple Boxed [Lit (Int 108),Var (UnQual (Ident "happyReduce_108"))],Tuple Boxed [Lit (Int 109),Var (UnQual (Ident "happyReduce_109"))],Tuple Boxed [Lit (Int 110),Var (UnQual (Ident "happyReduce_110"))],Tuple Boxed [Lit (Int 111),Var (UnQual (Ident "happyReduce_111"))],Tuple Boxed [Lit (Int 112),Var (UnQual (Ident "happyReduce_112"))],Tuple Boxed [Lit (Int 113),Var (UnQual (Ident "happyReduce_113"))],Tuple Boxed [Lit (Int 114),Var (UnQual (Ident "happyReduce_114"))],Tuple Boxed [Lit (Int 115),Var (UnQual (Ident "happyReduce_115"))],Tuple Boxed [Lit (Int 116),Var (UnQual (Ident "happyReduce_116"))],Tuple Boxed [Lit (Int 117),Var (UnQual (Ident "happyReduce_117"))],Tuple Boxed [Lit (Int 118),Var (UnQual (Ident "happyReduce_118"))],Tuple Boxed [Lit (Int 119),Var (UnQual (Ident "happyReduce_119"))],Tuple Boxed [Lit (Int 120),Var (UnQual (Ident "happyReduce_120"))],Tuple Boxed [Lit (Int 121),Var (UnQual (Ident "happyReduce_121"))],Tuple Boxed [Lit (Int 122),Var (UnQual (Ident "happyReduce_122"))],Tuple Boxed [Lit (Int 123),Var (UnQual (Ident "happyReduce_123"))],Tuple Boxed [Lit (Int 124),Var (UnQual (Ident "happyReduce_124"))],Tuple Boxed [Lit (Int 125),Var (UnQual (Ident "happyReduce_125"))],Tuple Boxed [Lit (Int 126),Var (UnQual (Ident "happyReduce_126"))],Tuple Boxed [Lit (Int 127),Var (UnQual (Ident "happyReduce_127"))],Tuple Boxed [Lit (Int 128),Var (UnQual (Ident "happyReduce_128"))],Tuple Boxed [Lit (Int 129),Var (UnQual (Ident "happyReduce_129"))],Tuple Boxed [Lit (Int 130),Var (UnQual (Ident "happyReduce_130"))],Tuple Boxed [Lit (Int 131),Var (UnQual (Ident "happyReduce_131"))],Tuple Boxed [Lit (Int 132),Var (UnQual (Ident "happyReduce_132"))],Tuple Boxed [Lit (Int 133),Var (UnQual (Ident "happyReduce_133"))],Tuple Boxed [Lit (Int 134),Var (UnQual (Ident "happyReduce_134"))],Tuple Boxed [Lit (Int 135),Var (UnQual (Ident "happyReduce_135"))],Tuple Boxed [Lit (Int 136),Var (UnQual (Ident "happyReduce_136"))],Tuple Boxed [Lit (Int 137),Var (UnQual (Ident "happyReduce_137"))],Tuple Boxed [Lit (Int 138),Var (UnQual (Ident "happyReduce_138"))],Tuple Boxed [Lit (Int 139),Var (UnQual (Ident "happyReduce_139"))],Tuple Boxed [Lit (Int 140),Var (UnQual (Ident "happyReduce_140"))],Tuple Boxed [Lit (Int 141),Var (UnQual (Ident "happyReduce_141"))],Tuple Boxed [Lit (Int 142),Var (UnQual (Ident "happyReduce_142"))],Tuple Boxed [Lit (Int 143),Var (UnQual (Ident "happyReduce_143"))],Tuple Boxed [Lit (Int 144),Var (UnQual (Ident "happyReduce_144"))],Tuple Boxed [Lit (Int 145),Var (UnQual (Ident "happyReduce_145"))],Tuple Boxed [Lit (Int 146),Var (UnQual (Ident "happyReduce_146"))],Tuple Boxed [Lit (Int 147),Var (UnQual (Ident "happyReduce_147"))],Tuple Boxed [Lit (Int 148),Var (UnQual (Ident "happyReduce_148"))],Tuple Boxed [Lit (Int 149),Var (UnQual (Ident "happyReduce_149"))],Tuple Boxed [Lit (Int 150),Var (UnQual (Ident "happyReduce_150"))],Tuple Boxed [Lit (Int 151),Var (UnQual (Ident "happyReduce_151"))],Tuple Boxed [Lit (Int 152),Var (UnQual (Ident "happyReduce_152"))],Tuple Boxed [Lit (Int 153),Var (UnQual (Ident "happyReduce_153"))],Tuple Boxed [Lit (Int 154),Var (UnQual (Ident "happyReduce_154"))],Tuple Boxed [Lit (Int 155),Var (UnQual (Ident "happyReduce_155"))],Tuple Boxed [Lit (Int 156),Var (UnQual (Ident "happyReduce_156"))],Tuple Boxed [Lit (Int 157),Var (UnQual (Ident "happyReduce_157"))],Tuple Boxed [Lit (Int 158),Var (UnQual (Ident "happyReduce_158"))],Tuple Boxed [Lit (Int 159),Var (UnQual (Ident "happyReduce_159"))],Tuple Boxed [Lit (Int 160),Var (UnQual (Ident "happyReduce_160"))],Tuple Boxed [Lit (Int 161),Var (UnQual (Ident "happyReduce_161"))],Tuple Boxed [Lit (Int 162),Var (UnQual (Ident "happyReduce_162"))],Tuple Boxed [Lit (Int 163),Var (UnQual (Ident "happyReduce_163"))],Tuple Boxed [Lit (Int 164),Var (UnQual (Ident "happyReduce_164"))],Tuple Boxed [Lit (Int 165),Var (UnQual (Ident "happyReduce_165"))],Tuple Boxed [Lit (Int 166),Var (UnQual (Ident "happyReduce_166"))],Tuple Boxed [Lit (Int 167),Var (UnQual (Ident "happyReduce_167"))],Tuple Boxed [Lit (Int 168),Var (UnQual (Ident "happyReduce_168"))],Tuple Boxed [Lit (Int 169),Var (UnQual (Ident "happyReduce_169"))],Tuple Boxed [Lit (Int 170),Var (UnQual (Ident "happyReduce_170"))],Tuple Boxed [Lit (Int 171),Var (UnQual (Ident "happyReduce_171"))],Tuple Boxed [Lit (Int 172),Var (UnQual (Ident "happyReduce_172"))],Tuple Boxed [Lit (Int 173),Var (UnQual (Ident "happyReduce_173"))],Tuple Boxed [Lit (Int 174),Var (UnQual (Ident "happyReduce_174"))],Tuple Boxed [Lit (Int 175),Var (UnQual (Ident "happyReduce_175"))],Tuple Boxed [Lit (Int 176),Var (UnQual (Ident "happyReduce_176"))],Tuple Boxed [Lit (Int 177),Var (UnQual (Ident "happyReduce_177"))],Tuple Boxed [Lit (Int 178),Var (UnQual (Ident "happyReduce_178"))],Tuple Boxed [Lit (Int 179),Var (UnQual (Ident "happyReduce_179"))],Tuple Boxed [Lit (Int 180),Var (UnQual (Ident "happyReduce_180"))],Tuple Boxed [Lit (Int 181),Var (UnQual (Ident "happyReduce_181"))],Tuple Boxed [Lit (Int 182),Var (UnQual (Ident "happyReduce_182"))],Tuple Boxed [Lit (Int 183),Var (UnQual (Ident "happyReduce_183"))],Tuple Boxed [Lit (Int 184),Var (UnQual (Ident "happyReduce_184"))],Tuple Boxed [Lit (Int 185),Var (UnQual (Ident "happyReduce_185"))],Tuple Boxed [Lit (Int 186),Var (UnQual (Ident "happyReduce_186"))],Tuple Boxed [Lit (Int 187),Var (UnQual (Ident "happyReduce_187"))],Tuple Boxed [Lit (Int 188),Var (UnQual (Ident "happyReduce_188"))],Tuple Boxed [Lit (Int 189),Var (UnQual (Ident "happyReduce_189"))],Tuple Boxed [Lit (Int 190),Var (UnQual (Ident "happyReduce_190"))],Tuple Boxed [Lit (Int 191),Var (UnQual (Ident "happyReduce_191"))],Tuple Boxed [Lit (Int 192),Var (UnQual (Ident "happyReduce_192"))],Tuple Boxed [Lit (Int 193),Var (UnQual (Ident "happyReduce_193"))],Tuple Boxed [Lit (Int 194),Var (UnQual (Ident "happyReduce_194"))],Tuple Boxed [Lit (Int 195),Var (UnQual (Ident "happyReduce_195"))],Tuple Boxed [Lit (Int 196),Var (UnQual (Ident "happyReduce_196"))],Tuple Boxed [Lit (Int 197),Var (UnQual (Ident "happyReduce_197"))],Tuple Boxed [Lit (Int 198),Var (UnQual (Ident "happyReduce_198"))],Tuple Boxed [Lit (Int 199),Var (UnQual (Ident "happyReduce_199"))],Tuple Boxed [Lit (Int 200),Var (UnQual (Ident "happyReduce_200"))],Tuple Boxed [Lit (Int 201),Var (UnQual (Ident "happyReduce_201"))],Tuple Boxed [Lit (Int 202),Var (UnQual (Ident "happyReduce_202"))],Tuple Boxed [Lit (Int 203),Var (UnQual (Ident "happyReduce_203"))],Tuple Boxed [Lit (Int 204),Var (UnQual (Ident "happyReduce_204"))],Tuple Boxed [Lit (Int 205),Var (UnQual (Ident "happyReduce_205"))],Tuple Boxed [Lit (Int 206),Var (UnQual (Ident "happyReduce_206"))],Tuple Boxed [Lit (Int 207),Var (UnQual (Ident "happyReduce_207"))],Tuple Boxed [Lit (Int 208),Var (UnQual (Ident "happyReduce_208"))],Tuple Boxed [Lit (Int 209),Var (UnQual (Ident "happyReduce_209"))],Tuple Boxed [Lit (Int 210),Var (UnQual (Ident "happyReduce_210"))],Tuple Boxed [Lit (Int 211),Var (UnQual (Ident "happyReduce_211"))],Tuple Boxed [Lit (Int 212),Var (UnQual (Ident "happyReduce_212"))],Tuple Boxed [Lit (Int 213),Var (UnQual (Ident "happyReduce_213"))],Tuple Boxed [Lit (Int 214),Var (UnQual (Ident "happyReduce_214"))],Tuple Boxed [Lit (Int 215),Var (UnQual (Ident "happyReduce_215"))],Tuple Boxed [Lit (Int 216),Var (UnQual (Ident "happyReduce_216"))],Tuple Boxed [Lit (Int 217),Var (UnQual (Ident "happyReduce_217"))],Tuple Boxed [Lit (Int 218),Var (UnQual (Ident "happyReduce_218"))],Tuple Boxed [Lit (Int 219),Var (UnQual (Ident "happyReduce_219"))],Tuple Boxed [Lit (Int 220),Var (UnQual (Ident "happyReduce_220"))],Tuple Boxed [Lit (Int 221),Var (UnQual (Ident "happyReduce_221"))],Tuple Boxed [Lit (Int 222),Var (UnQual (Ident "happyReduce_222"))],Tuple Boxed [Lit (Int 223),Var (UnQual (Ident "happyReduce_223"))],Tuple Boxed [Lit (Int 224),Var (UnQual (Ident "happyReduce_224"))],Tuple Boxed [Lit (Int 225),Var (UnQual (Ident "happyReduce_225"))],Tuple Boxed [Lit (Int 226),Var (UnQual (Ident "happyReduce_226"))],Tuple Boxed [Lit (Int 227),Var (UnQual (Ident "happyReduce_227"))],Tuple Boxed [Lit (Int 228),Var (UnQual (Ident "happyReduce_228"))],Tuple Boxed [Lit (Int 229),Var (UnQual (Ident "happyReduce_229"))],Tuple Boxed [Lit (Int 230),Var (UnQual (Ident "happyReduce_230"))],Tuple Boxed [Lit (Int 231),Var (UnQual (Ident "happyReduce_231"))],Tuple Boxed [Lit (Int 232),Var (UnQual (Ident "happyReduce_232"))],Tuple Boxed [Lit (Int 233),Var (UnQual (Ident "happyReduce_233"))],Tuple Boxed [Lit (Int 234),Var (UnQual (Ident "happyReduce_234"))],Tuple Boxed [Lit (Int 235),Var (UnQual (Ident "happyReduce_235"))],Tuple Boxed [Lit (Int 236),Var (UnQual (Ident "happyReduce_236"))],Tuple Boxed [Lit (Int 237),Var (UnQual (Ident "happyReduce_237"))],Tuple Boxed [Lit (Int 238),Var (UnQual (Ident "happyReduce_238"))],Tuple Boxed [Lit (Int 239),Var (UnQual (Ident "happyReduce_239"))],Tuple Boxed [Lit (Int 240),Var (UnQual (Ident "happyReduce_240"))],Tuple Boxed [Lit (Int 241),Var (UnQual (Ident "happyReduce_241"))],Tuple Boxed [Lit (Int 242),Var (UnQual (Ident "happyReduce_242"))],Tuple Boxed [Lit (Int 243),Var (UnQual (Ident "happyReduce_243"))],Tuple Boxed [Lit (Int 244),Var (UnQual (Ident "happyReduce_244"))],Tuple Boxed [Lit (Int 245),Var (UnQual (Ident "happyReduce_245"))],Tuple Boxed [Lit (Int 246),Var (UnQual (Ident "happyReduce_246"))],Tuple Boxed [Lit (Int 247),Var (UnQual (Ident "happyReduce_247"))],Tuple Boxed [Lit (Int 248),Var (UnQual (Ident "happyReduce_248"))],Tuple Boxed [Lit (Int 249),Var (UnQual (Ident "happyReduce_249"))],Tuple Boxed [Lit (Int 250),Var (UnQual (Ident "happyReduce_250"))],Tuple Boxed [Lit (Int 251),Var (UnQual (Ident "happyReduce_251"))],Tuple Boxed [Lit (Int 252),Var (UnQual (Ident "happyReduce_252"))],Tuple Boxed [Lit (Int 253),Var (UnQual (Ident "happyReduce_253"))],Tuple Boxed [Lit (Int 254),Var (UnQual (Ident "happyReduce_254"))],Tuple Boxed [Lit (Int 255),Var (UnQual (Ident "happyReduce_255"))],Tuple Boxed [Lit (Int 256),Var (UnQual (Ident "happyReduce_256"))],Tuple Boxed [Lit (Int 257),Var (UnQual (Ident "happyReduce_257"))],Tuple Boxed [Lit (Int 258),Var (UnQual (Ident "happyReduce_258"))],Tuple Boxed [Lit (Int 259),Var (UnQual (Ident "happyReduce_259"))],Tuple Boxed [Lit (Int 260),Var (UnQual (Ident "happyReduce_260"))],Tuple Boxed [Lit (Int 261),Var (UnQual (Ident "happyReduce_261"))],Tuple Boxed [Lit (Int 262),Var (UnQual (Ident "happyReduce_262"))],Tuple Boxed [Lit (Int 263),Var (UnQual (Ident "happyReduce_263"))],Tuple Boxed [Lit (Int 264),Var (UnQual (Ident "happyReduce_264"))],Tuple Boxed [Lit (Int 265),Var (UnQual (Ident "happyReduce_265"))],Tuple Boxed [Lit (Int 266),Var (UnQual (Ident "happyReduce_266"))],Tuple Boxed [Lit (Int 267),Var (UnQual (Ident "happyReduce_267"))],Tuple Boxed [Lit (Int 268),Var (UnQual (Ident "happyReduce_268"))],Tuple Boxed [Lit (Int 269),Var (UnQual (Ident "happyReduce_269"))],Tuple Boxed [Lit (Int 270),Var (UnQual (Ident "happyReduce_270"))],Tuple Boxed [Lit (Int 271),Var (UnQual (Ident "happyReduce_271"))],Tuple Boxed [Lit (Int 272),Var (UnQual (Ident "happyReduce_272"))],Tuple Boxed [Lit (Int 273),Var (UnQual (Ident "happyReduce_273"))],Tuple Boxed [Lit (Int 274),Var (UnQual (Ident "happyReduce_274"))],Tuple Boxed [Lit (Int 275),Var (UnQual (Ident "happyReduce_275"))],Tuple Boxed [Lit (Int 276),Var (UnQual (Ident "happyReduce_276"))],Tuple Boxed [Lit (Int 277),Var (UnQual (Ident "happyReduce_277"))],Tuple Boxed [Lit (Int 278),Var (UnQual (Ident "happyReduce_278"))],Tuple Boxed [Lit (Int 279),Var (UnQual (Ident "happyReduce_279"))],Tuple Boxed [Lit (Int 280),Var (UnQual (Ident "happyReduce_280"))],Tuple Boxed [Lit (Int 281),Var (UnQual (Ident "happyReduce_281"))],Tuple Boxed [Lit (Int 282),Var (UnQual (Ident "happyReduce_282"))],Tuple Boxed [Lit (Int 283),Var (UnQual (Ident "happyReduce_283"))],Tuple Boxed [Lit (Int 284),Var (UnQual (Ident "happyReduce_284"))],Tuple Boxed [Lit (Int 285),Var (UnQual (Ident "happyReduce_285"))],Tuple Boxed [Lit (Int 286),Var (UnQual (Ident "happyReduce_286"))],Tuple Boxed [Lit (Int 287),Var (UnQual (Ident "happyReduce_287"))],Tuple Boxed [Lit (Int 288),Var (UnQual (Ident "happyReduce_288"))],Tuple Boxed [Lit (Int 289),Var (UnQual (Ident "happyReduce_289"))],Tuple Boxed [Lit (Int 290),Var (UnQual (Ident "happyReduce_290"))],Tuple Boxed [Lit (Int 291),Var (UnQual (Ident "happyReduce_291"))],Tuple Boxed [Lit (Int 292),Var (UnQual (Ident "happyReduce_292"))],Tuple Boxed [Lit (Int 293),Var (UnQual (Ident "happyReduce_293"))],Tuple Boxed [Lit (Int 294),Var (UnQual (Ident "happyReduce_294"))],Tuple Boxed [Lit (Int 295),Var (UnQual (Ident "happyReduce_295"))],Tuple Boxed [Lit (Int 296),Var (UnQual (Ident "happyReduce_296"))],Tuple Boxed [Lit (Int 297),Var (UnQual (Ident "happyReduce_297"))],Tuple Boxed [Lit (Int 298),Var (UnQual (Ident "happyReduce_298"))],Tuple Boxed [Lit (Int 299),Var (UnQual (Ident "happyReduce_299"))],Tuple Boxed [Lit (Int 300),Var (UnQual (Ident "happyReduce_300"))],Tuple Boxed [Lit (Int 301),Var (UnQual (Ident "happyReduce_301"))],Tuple Boxed [Lit (Int 302),Var (UnQual (Ident "happyReduce_302"))],Tuple Boxed [Lit (Int 303),Var (UnQual (Ident "happyReduce_303"))],Tuple Boxed [Lit (Int 304),Var (UnQual (Ident "happyReduce_304"))],Tuple Boxed [Lit (Int 305),Var (UnQual (Ident "happyReduce_305"))],Tuple Boxed [Lit (Int 306),Var (UnQual (Ident "happyReduce_306"))],Tuple Boxed [Lit (Int 307),Var (UnQual (Ident "happyReduce_307"))],Tuple Boxed [Lit (Int 308),Var (UnQual (Ident "happyReduce_308"))],Tuple Boxed [Lit (Int 309),Var (UnQual (Ident "happyReduce_309"))],Tuple Boxed [Lit (Int 310),Var (UnQual (Ident "happyReduce_310"))],Tuple Boxed [Lit (Int 311),Var (UnQual (Ident "happyReduce_311"))],Tuple Boxed [Lit (Int 312),Var (UnQual (Ident "happyReduce_312"))],Tuple Boxed [Lit (Int 313),Var (UnQual (Ident "happyReduce_313"))],Tuple Boxed [Lit (Int 314),Var (UnQual (Ident "happyReduce_314"))],Tuple Boxed [Lit (Int 315),Var (UnQual (Ident "happyReduce_315"))],Tuple Boxed [Lit (Int 316),Var (UnQual (Ident "happyReduce_316"))],Tuple Boxed [Lit (Int 317),Var (UnQual (Ident "happyReduce_317"))],Tuple Boxed [Lit (Int 318),Var (UnQual (Ident "happyReduce_318"))],Tuple Boxed [Lit (Int 319),Var (UnQual (Ident "happyReduce_319"))],Tuple Boxed [Lit (Int 320),Var (UnQual (Ident "happyReduce_320"))],Tuple Boxed [Lit (Int 321),Var (UnQual (Ident "happyReduce_321"))],Tuple Boxed [Lit (Int 322),Var (UnQual (Ident "happyReduce_322"))],Tuple Boxed [Lit (Int 323),Var (UnQual (Ident "happyReduce_323"))],Tuple Boxed [Lit (Int 324),Var (UnQual (Ident "happyReduce_324"))],Tuple Boxed [Lit (Int 325),Var (UnQual (Ident "happyReduce_325"))],Tuple Boxed [Lit (Int 326),Var (UnQual (Ident "happyReduce_326"))],Tuple Boxed [Lit (Int 327),Var (UnQual (Ident "happyReduce_327"))],Tuple Boxed [Lit (Int 328),Var (UnQual (Ident "happyReduce_328"))],Tuple Boxed [Lit (Int 329),Var (UnQual (Ident "happyReduce_329"))],Tuple Boxed [Lit (Int 330),Var (UnQual (Ident "happyReduce_330"))],Tuple Boxed [Lit (Int 331),Var (UnQual (Ident "happyReduce_331"))],Tuple Boxed [Lit (Int 332),Var (UnQual (Ident "happyReduce_332"))],Tuple Boxed [Lit (Int 333),Var (UnQual (Ident "happyReduce_333"))],Tuple Boxed [Lit (Int 334),Var (UnQual (Ident "happyReduce_334"))],Tuple Boxed [Lit (Int 335),Var (UnQual (Ident "happyReduce_335"))],Tuple Boxed [Lit (Int 336),Var (UnQual (Ident "happyReduce_336"))],Tuple Boxed [Lit (Int 337),Var (UnQual (Ident "happyReduce_337"))],Tuple Boxed [Lit (Int 338),Var (UnQual (Ident "happyReduce_338"))],Tuple Boxed [Lit (Int 339),Var (UnQual (Ident "happyReduce_339"))],Tuple Boxed [Lit (Int 340),Var (UnQual (Ident "happyReduce_340"))],Tuple Boxed [Lit (Int 341),Var (UnQual (Ident "happyReduce_341"))],Tuple Boxed [Lit (Int 342),Var (UnQual (Ident "happyReduce_342"))],Tuple Boxed [Lit (Int 343),Var (UnQual (Ident "happyReduce_343"))],Tuple Boxed [Lit (Int 344),Var (UnQual (Ident "happyReduce_344"))],Tuple Boxed [Lit (Int 345),Var (UnQual (Ident "happyReduce_345"))],Tuple Boxed [Lit (Int 346),Var (UnQual (Ident "happyReduce_346"))],Tuple Boxed [Lit (Int 347),Var (UnQual (Ident "happyReduce_347"))],Tuple Boxed [Lit (Int 348),Var (UnQual (Ident "happyReduce_348"))],Tuple Boxed [Lit (Int 349),Var (UnQual (Ident "happyReduce_349"))],Tuple Boxed [Lit (Int 350),Var (UnQual (Ident "happyReduce_350"))],Tuple Boxed [Lit (Int 351),Var (UnQual (Ident "happyReduce_351"))],Tuple Boxed [Lit (Int 352),Var (UnQual (Ident "happyReduce_352"))],Tuple Boxed [Lit (Int 353),Var (UnQual (Ident "happyReduce_353"))],Tuple Boxed [Lit (Int 354),Var (UnQual (Ident "happyReduce_354"))],Tuple Boxed [Lit (Int 355),Var (UnQual (Ident "happyReduce_355"))],Tuple Boxed [Lit (Int 356),Var (UnQual (Ident "happyReduce_356"))],Tuple Boxed [Lit (Int 357),Var (UnQual (Ident "happyReduce_357"))],Tuple Boxed [Lit (Int 358),Var (UnQual (Ident "happyReduce_358"))],Tuple Boxed [Lit (Int 359),Var (UnQual (Ident "happyReduce_359"))],Tuple Boxed [Lit (Int 360),Var (UnQual (Ident "happyReduce_360"))],Tuple Boxed [Lit (Int 361),Var (UnQual (Ident "happyReduce_361"))],Tuple Boxed [Lit (Int 362),Var (UnQual (Ident "happyReduce_362"))],Tuple Boxed [Lit (Int 363),Var (UnQual (Ident "happyReduce_363"))],Tuple Boxed [Lit (Int 364),Var (UnQual (Ident "happyReduce_364"))],Tuple Boxed [Lit (Int 365),Var (UnQual (Ident "happyReduce_365"))],Tuple Boxed [Lit (Int 366),Var (UnQual (Ident "happyReduce_366"))],Tuple Boxed [Lit (Int 367),Var (UnQual (Ident "happyReduce_367"))],Tuple Boxed [Lit (Int 368),Var (UnQual (Ident "happyReduce_368"))],Tuple Boxed [Lit (Int 369),Var (UnQual (Ident "happyReduce_369"))],Tuple Boxed [Lit (Int 370),Var (UnQual (Ident "happyReduce_370"))],Tuple Boxed [Lit (Int 371),Var (UnQual (Ident "happyReduce_371"))],Tuple Boxed [Lit (Int 372),Var (UnQual (Ident "happyReduce_372"))],Tuple Boxed [Lit (Int 373),Var (UnQual (Ident "happyReduce_373"))],Tuple Boxed [Lit (Int 374),Var (UnQual (Ident "happyReduce_374"))],Tuple Boxed [Lit (Int 375),Var (UnQual (Ident "happyReduce_375"))],Tuple Boxed [Lit (Int 376),Var (UnQual (Ident "happyReduce_376"))],Tuple Boxed [Lit (Int 377),Var (UnQual (Ident "happyReduce_377"))],Tuple Boxed [Lit (Int 378),Var (UnQual (Ident "happyReduce_378"))],Tuple Boxed [Lit (Int 379),Var (UnQual (Ident "happyReduce_379"))],Tuple Boxed [Lit (Int 380),Var (UnQual (Ident "happyReduce_380"))],Tuple Boxed [Lit (Int 381),Var (UnQual (Ident "happyReduce_381"))],Tuple Boxed [Lit (Int 382),Var (UnQual (Ident "happyReduce_382"))],Tuple Boxed [Lit (Int 383),Var (UnQual (Ident "happyReduce_383"))],Tuple Boxed [Lit (Int 384),Var (UnQual (Ident "happyReduce_384"))],Tuple Boxed [Lit (Int 385),Var (UnQual (Ident "happyReduce_385"))],Tuple Boxed [Lit (Int 386),Var (UnQual (Ident "happyReduce_386"))],Tuple Boxed [Lit (Int 387),Var (UnQual (Ident "happyReduce_387"))],Tuple Boxed [Lit (Int 388),Var (UnQual (Ident "happyReduce_388"))],Tuple Boxed [Lit (Int 389),Var (UnQual (Ident "happyReduce_389"))],Tuple Boxed [Lit (Int 390),Var (UnQual (Ident "happyReduce_390"))],Tuple Boxed [Lit (Int 391),Var (UnQual (Ident "happyReduce_391"))],Tuple Boxed [Lit (Int 392),Var (UnQual (Ident "happyReduce_392"))],Tuple Boxed [Lit (Int 393),Var (UnQual (Ident "happyReduce_393"))],Tuple Boxed [Lit (Int 394),Var (UnQual (Ident "happyReduce_394"))],Tuple Boxed [Lit (Int 395),Var (UnQual (Ident "happyReduce_395"))],Tuple Boxed [Lit (Int 396),Var (UnQual (Ident "happyReduce_396"))],Tuple Boxed [Lit (Int 397),Var (UnQual (Ident "happyReduce_397"))],Tuple Boxed [Lit (Int 398),Var (UnQual (Ident "happyReduce_398"))],Tuple Boxed [Lit (Int 399),Var (UnQual (Ident "happyReduce_399"))],Tuple Boxed [Lit (Int 400),Var (UnQual (Ident "happyReduce_400"))],Tuple Boxed [Lit (Int 401),Var (UnQual (Ident "happyReduce_401"))],Tuple Boxed [Lit (Int 402),Var (UnQual (Ident "happyReduce_402"))],Tuple Boxed [Lit (Int 403),Var (UnQual (Ident "happyReduce_403"))],Tuple Boxed [Lit (Int 404),Var (UnQual (Ident "happyReduce_404"))],Tuple Boxed [Lit (Int 405),Var (UnQual (Ident "happyReduce_405"))],Tuple Boxed [Lit (Int 406),Var (UnQual (Ident "happyReduce_406"))],Tuple Boxed [Lit (Int 407),Var (UnQual (Ident "happyReduce_407"))],Tuple Boxed [Lit (Int 408),Var (UnQual (Ident "happyReduce_408"))],Tuple Boxed [Lit (Int 409),Var (UnQual (Ident "happyReduce_409"))],Tuple Boxed [Lit (Int 410),Var (UnQual (Ident "happyReduce_410"))],Tuple Boxed [Lit (Int 411),Var (UnQual (Ident "happyReduce_411"))],Tuple Boxed [Lit (Int 412),Var (UnQual (Ident "happyReduce_412"))],Tuple Boxed [Lit (Int 413),Var (UnQual (Ident "happyReduce_413"))],Tuple Boxed [Lit (Int 414),Var (UnQual (Ident "happyReduce_414"))],Tuple Boxed [Lit (Int 415),Var (UnQual (Ident "happyReduce_415"))],Tuple Boxed [Lit (Int 416),Var (UnQual (Ident "happyReduce_416"))],Tuple Boxed [Lit (Int 417),Var (UnQual (Ident "happyReduce_417"))],Tuple Boxed [Lit (Int 418),Var (UnQual (Ident "happyReduce_418"))],Tuple Boxed [Lit (Int 419),Var (UnQual (Ident "happyReduce_419"))],Tuple Boxed [Lit (Int 420),Var (UnQual (Ident "happyReduce_420"))],Tuple Boxed [Lit (Int 421),Var (UnQual (Ident "happyReduce_421"))],Tuple Boxed [Lit (Int 422),Var (UnQual (Ident "happyReduce_422"))],Tuple Boxed [Lit (Int 423),Var (UnQual (Ident "happyReduce_423"))],Tuple Boxed [Lit (Int 424),Var (UnQual (Ident "happyReduce_424"))],Tuple Boxed [Lit (Int 425),Var (UnQual (Ident "happyReduce_425"))],Tuple Boxed [Lit (Int 426),Var (UnQual (Ident "happyReduce_426"))],Tuple Boxed [Lit (Int 427),Var (UnQual (Ident "happyReduce_427"))],Tuple Boxed [Lit (Int 428),Var (UnQual (Ident "happyReduce_428"))],Tuple Boxed [Lit (Int 429),Var (UnQual (Ident "happyReduce_429"))],Tuple Boxed [Lit (Int 430),Var (UnQual (Ident "happyReduce_430"))],Tuple Boxed [Lit (Int 431),Var (UnQual (Ident "happyReduce_431"))],Tuple Boxed [Lit (Int 432),Var (UnQual (Ident "happyReduce_432"))],Tuple Boxed [Lit (Int 433),Var (UnQual (Ident "happyReduce_433"))],Tuple Boxed [Lit (Int 434),Var (UnQual (Ident "happyReduce_434"))],Tuple Boxed [Lit (Int 435),Var (UnQual (Ident "happyReduce_435"))],Tuple Boxed [Lit (Int 436),Var (UnQual (Ident "happyReduce_436"))],Tuple Boxed [Lit (Int 437),Var (UnQual (Ident "happyReduce_437"))],Tuple Boxed [Lit (Int 438),Var (UnQual (Ident "happyReduce_438"))],Tuple Boxed [Lit (Int 439),Var (UnQual (Ident "happyReduce_439"))],Tuple Boxed [Lit (Int 440),Var (UnQual (Ident "happyReduce_440"))],Tuple Boxed [Lit (Int 441),Var (UnQual (Ident "happyReduce_441"))],Tuple Boxed [Lit (Int 442),Var (UnQual (Ident "happyReduce_442"))],Tuple Boxed [Lit (Int 443),Var (UnQual (Ident "happyReduce_443"))],Tuple Boxed [Lit (Int 444),Var (UnQual (Ident "happyReduce_444"))],Tuple Boxed [Lit (Int 445),Var (UnQual (Ident "happyReduce_445"))],Tuple Boxed [Lit (Int 446),Var (UnQual (Ident "happyReduce_446"))],Tuple Boxed [Lit (Int 447),Var (UnQual (Ident "happyReduce_447"))],Tuple Boxed [Lit (Int 448),Var (UnQual (Ident "happyReduce_448"))],Tuple Boxed [Lit (Int 449),Var (UnQual (Ident "happyReduce_449"))],Tuple Boxed [Lit (Int 450),Var (UnQual (Ident "happyReduce_450"))],Tuple Boxed [Lit (Int 451),Var (UnQual (Ident "happyReduce_451"))],Tuple Boxed [Lit (Int 452),Var (UnQual (Ident "happyReduce_452"))],Tuple Boxed [Lit (Int 453),Var (UnQual (Ident "happyReduce_453"))],Tuple Boxed [Lit (Int 454),Var (UnQual (Ident "happyReduce_454"))],Tuple Boxed [Lit (Int 455),Var (UnQual (Ident "happyReduce_455"))],Tuple Boxed [Lit (Int 456),Var (UnQual (Ident "happyReduce_456"))],Tuple Boxed [Lit (Int 457),Var (UnQual (Ident "happyReduce_457"))],Tuple Boxed [Lit (Int 458),Var (UnQual (Ident "happyReduce_458"))],Tuple Boxed [Lit (Int 459),Var (UnQual (Ident "happyReduce_459"))],Tuple Boxed [Lit (Int 460),Var (UnQual (Ident "happyReduce_460"))],Tuple Boxed [Lit (Int 461),Var (UnQual (Ident "happyReduce_461"))],Tuple Boxed [Lit (Int 462),Var (UnQual (Ident "happyReduce_462"))],Tuple Boxed [Lit (Int 463),Var (UnQual (Ident "happyReduce_463"))]]))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happy_n_terms")) (UnGuardedRhs (ExpTypeSig (SrcLoc "" -1 -1) (Lit (Int 102)) (TyCon (UnQual (Ident "Int"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happy_n_nonterms")) (UnGuardedRhs (ExpTypeSig (SrcLoc "" -1 -1) (Lit (Int 125)) (TyCon (UnQual (Ident "Int"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_4")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 0))) (Var (UnQual (Ident "happyReduction_4"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_4") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut8"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "decls")) (UnGuardedRhs (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))) Nothing]) (Case (Var (UnQual (Ident "decls"))) [Alt (SrcLoc "" -1 -1) (PList []) (UnGuardedRhs (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "n")) (Var (UnQual (Ident "getNewName"))),Generator (SrcLoc "" -1 -1) (PVar (Ident "p")) (Var (UnQual (Ident "getCurrentPosition"))),Qualifier (InfixApp (Var (UnQual (Ident "return"))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CTranslUnit"))) (Var (UnQual (Ident "decls")))) (Paren (App (App (App (Var (UnQual (Ident "mkNodeInfo'"))) (Var (UnQual (Ident "p")))) (Tuple Boxed [Var (UnQual (Ident "p")),Lit (Int 0)])) (Var (UnQual (Ident "n")))))))])) Nothing,Alt (SrcLoc "" -1 -1) (PParen (PInfixApp (PVar (Ident "d")) (Special Cons) (PVar (Ident "ds")))) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "d")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CTranslUnit"))) (Var (UnQual (Ident "decls")))))) Nothing])))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn7"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_5")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 1))) (Var (UnQual (Ident "happyReduction_5"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_5")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn8"))) (Paren (Var (UnQual (Ident "empty")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_6")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 1))) (Var (UnQual (Ident "happyReduction_6"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_6") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut8"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn8"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_7")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 1))) (Var (UnQual (Ident "happyReduction_7"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_7") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut8"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut9"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn8"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_8")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 2))) (Var (UnQual (Ident "happyReduction_8"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_8") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut10"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn9"))) (Paren (App (Con (UnQual (Ident "CFDefExt"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_9")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 2))) (Var (UnQual (Ident "happyReduction_9"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_9") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut32"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn9"))) (Paren (App (Con (UnQual (Ident "CDeclExt"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_10")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 2))) (Var (UnQual (Ident "happyReduction_10"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_10") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut9"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn9"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_11")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 2))) (Var (UnQual (Ident "happyReduction_11"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_11") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CAsmExt"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn9"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_12")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_12"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_12") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (List [])) (Var (UnQual (Ident "happy_var_1")))) (List [])) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_13")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_13"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_13") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_14")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_14"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_14") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_15")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_15"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_15") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_16")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_16"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_16") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_17")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_17"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_17") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_18")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_18"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_18") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (Var (UnQual (Ident "happy_var_3")))) (List [])) (Var (UnQual (Ident "happy_var_4"))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_19")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_19"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_19") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (List [])) (Var (UnQual (Ident "happy_var_1")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_20")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_20"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_20") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_21")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_21"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_21") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_22")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_22"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_22") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_23")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_23"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_23") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_24")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_24"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_24") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_25")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_25"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_25") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4")))))) (Var (UnQual (Ident "happy_var_5"))))))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_26")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 4))) (Var (UnQual (Ident "happyReduction_26"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_26") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "declr")) (UnGuardedRhs (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))) Nothing]) (InfixApp (InfixApp (Var (UnQual (Ident "enterScope"))) (QVarOp (UnQual (Symbol ">>"))) (App (Var (UnQual (Ident "doFuncParamDeclIdent"))) (Var (UnQual (Ident "declr"))))) (QVarOp (UnQual (Symbol ">>"))) (App (Var (UnQual (Ident "return"))) (Var (UnQual (Ident "declr")))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn11"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_27")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_27"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_27") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut13"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_28")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_28"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_28") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_29")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_29"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_29") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut22"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_30")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_30"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_30") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut23"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_31")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_31"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_31") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut24"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_32")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_32"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_32") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut25"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_33")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_33"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_33") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut26"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (App (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (App (Con (UnQual (Ident "CAsm"))) (Var (UnQual (Ident "happy_var_1")))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn12"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_34")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 6))) (Var (UnQual (Ident "happyReduction_34"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_34") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CLabel"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn13"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_35")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 6))) (Var (UnQual (Ident "happyReduction_35"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_35") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCase"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn13"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_36")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 6))) (Var (UnQual (Ident "happyReduction_36"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_36") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CDefault"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn13"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_37")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 6))) (Var (UnQual (Ident "happyReduction_37"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_37") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CCases"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn13"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_38")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 7))) (Var (UnQual (Ident "happyReduction_38"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_38") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut17"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCompound"))) (List [])) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn14"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_39")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 7))) (Var (UnQual (Ident "happyReduction_39"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_39") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut21"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut17"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCompound"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn14"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_40")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 0))) (Lit (PrimInt 8))) (Var (UnQual (Ident "happyReduction_40"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_40") [PParen (PVar (Ident "happyRest")),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Paren (Var (UnQual (Ident "enterScope")))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn15"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_41")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 0))) (Lit (PrimInt 9))) (Var (UnQual (Ident "happyReduction_41"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_41") [PParen (PVar (Ident "happyRest")),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Paren (Var (UnQual (Ident "leaveScope")))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn16"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_42")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 10))) (Var (UnQual (Ident "happyReduction_42"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_42")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn17"))) (Paren (Var (UnQual (Ident "empty")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_43")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 10))) (Var (UnQual (Ident "happyReduction_43"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_43") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut17"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut18"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn17"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_44")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 11))) (Var (UnQual (Ident "happyReduction_44"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_44") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn18"))) (Paren (App (Con (UnQual (Ident "CBlockStmt"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_45")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 11))) (Var (UnQual (Ident "happyReduction_45"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_45") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut19"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn18"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_46")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 12))) (Var (UnQual (Ident "happyReduction_46"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_46") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut32"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn19"))) (Paren (App (Con (UnQual (Ident "CBlockDecl"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_47")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 12))) (Var (UnQual (Ident "happyReduction_47"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_47") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut20"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn19"))) (Paren (App (Con (UnQual (Ident "CNestedFunDef"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_48")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 12))) (Var (UnQual (Ident "happyReduction_48"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_48") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut19"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn19"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_49")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 13))) (Var (UnQual (Ident "happyReduction_49"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_49") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn20"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_50")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 13))) (Var (UnQual (Ident "happyReduction_50"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_50") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn20"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_51")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 13))) (Var (UnQual (Ident "happyReduction_51"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_51") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn20"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_52")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 13))) (Var (UnQual (Ident "happyReduction_52"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_52") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn20"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_53")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 13))) (Var (UnQual (Ident "happyReduction_53"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_53") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (Var (UnQual (Ident "happy_var_3")))) (List [])) (Var (UnQual (Ident "happy_var_4"))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn20"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_54")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 14))) (Var (UnQual (Ident "happyReduction_54"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_54") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut82"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn21"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_55")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 14))) (Var (UnQual (Ident "happyReduction_55"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_55") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut21"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut82"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn21"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "rappendr"))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_56")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 15))) (Var (UnQual (Ident "happyReduction_56"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_56") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CExpr"))) (Con (UnQual (Ident "Nothing"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn22"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_57")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 15))) (Var (UnQual (Ident "happyReduction_57"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_57") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CExpr"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn22"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_58")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 16))) (Var (UnQual (Ident "happyReduction_58"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_58") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CIf"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5")))) (Con (UnQual (Ident "Nothing"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn23"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_59")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 16))) (Var (UnQual (Ident "happyReduction_59"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_59") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_7")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_7")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CIf"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_7"))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn23"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_60")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 16))) (Var (UnQual (Ident "happyReduction_60"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_60") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CSwitch"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn23"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_61")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 17))) (Var (UnQual (Ident "happyReduction_61"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_61") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CWhile"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5")))) (Con (UnQual (Ident "False"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn24"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_62")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 17))) (Var (UnQual (Ident "happyReduction_62"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_62") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CWhile"))) (Var (UnQual (Ident "happy_var_5")))) (Var (UnQual (Ident "happy_var_2")))) (Con (UnQual (Ident "True"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn24"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_63")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 9))) (Lit (PrimInt 17))) (Var (UnQual (Ident "happyReduction_63"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_63") [PParen (PInfixApp (PVar (Ident "happy_x_9")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_8")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_7")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_7")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_9")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_9")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFor"))) (Paren (App (Con (UnQual (Ident "Left"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_5")))) (Var (UnQual (Ident "happy_var_7")))) (Var (UnQual (Ident "happy_var_9"))))))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn24"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_64")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 10))) (Lit (PrimInt 17))) (Var (UnQual (Ident "happyReduction_64"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_64") [PParen (PInfixApp (PVar (Ident "happy_x_10")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_9")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_8")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut32"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_7")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_7")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_9")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_9")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFor"))) (Paren (App (Con (UnQual (Ident "Right"))) (Var (UnQual (Ident "happy_var_4")))))) (Var (UnQual (Ident "happy_var_5")))) (Var (UnQual (Ident "happy_var_7")))) (Var (UnQual (Ident "happy_var_9"))))))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn24"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_65")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 18))) (Var (UnQual (Ident "happyReduction_65"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_65") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CGoto"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn25"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_66")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 18))) (Var (UnQual (Ident "happyReduction_66"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_66") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CGotoPtr"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn25"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_67")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 18))) (Var (UnQual (Ident "happyReduction_67"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_67") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CCont")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn25"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_68")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 18))) (Var (UnQual (Ident "happyReduction_68"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_68") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CBreak")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn25"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_69")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 18))) (Var (UnQual (Ident "happyReduction_69"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_69") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CReturn"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn25"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_70")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 19))) (Var (UnQual (Ident "happyReduction_70"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_70") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut27"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Con (UnQual (Ident "CAsmStmt"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4")))) (List [])) (List [])) (List []))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn26"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_71")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 8))) (Lit (PrimInt 19))) (Var (UnQual (Ident "happyReduction_71"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_71") [PParen (PInfixApp (PVar (Ident "happy_x_8")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut27"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut28"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Con (UnQual (Ident "CAsmStmt"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6")))) (List [])) (List []))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn26"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_72")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 10))) (Lit (PrimInt 19))) (Var (UnQual (Ident "happyReduction_72"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_72") [PParen (PInfixApp (PVar (Ident "happy_x_10")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_9")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_8")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut27"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut28"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut28"))) (Var (UnQual (Ident "happy_x_8")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_8")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Con (UnQual (Ident "CAsmStmt"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6")))) (Var (UnQual (Ident "happy_var_8")))) (List []))))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn26"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_73")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 12))) (Lit (PrimInt 19))) (Var (UnQual (Ident "happyReduction_73"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_73") [PParen (PInfixApp (PVar (Ident "happy_x_12")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_11")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_10")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_9")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_8")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut27"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut28"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut28"))) (Var (UnQual (Ident "happy_x_8")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_8")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut31"))) (Var (UnQual (Ident "happy_x_10")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_10")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Con (UnQual (Ident "CAsmStmt"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6")))) (Var (UnQual (Ident "happy_var_8")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_10"))))))))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn26"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_74")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 20))) (Var (UnQual (Ident "happyReduction_74"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_74")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn27"))) (Paren (Con (UnQual (Ident "Nothing")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_75")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 20))) (Var (UnQual (Ident "happyReduction_75"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_75") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn27"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_76")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 21))) (Var (UnQual (Ident "happyReduction_76"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_76")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn28"))) (Paren (List [])))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_77")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 21))) (Var (UnQual (Ident "happyReduction_77"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_77") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut29"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn28"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_78")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 22))) (Var (UnQual (Ident "happyReduction_78"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_78") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut30"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn29"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_79")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 22))) (Var (UnQual (Ident "happyReduction_79"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_79") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut29"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut30"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn29"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_80")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 23))) (Var (UnQual (Ident "happyReduction_80"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_80") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CAsmOperand"))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn30"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_81")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 23))) (Var (UnQual (Ident "happyReduction_81"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_81") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_2")])) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CAsmOperand"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_2")))))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn30"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_82")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 23))) (Var (UnQual (Ident "happyReduction_82"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_82") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_2")])) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CAsmOperand"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_2")))))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn30"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_83")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 24))) (Var (UnQual (Ident "happyReduction_83"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_83") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn31"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_84")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 24))) (Var (UnQual (Ident "happyReduction_84"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_84") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut31"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn31"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_85")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 25))) (Var (UnQual (Ident "happyReduction_85"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_85") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut45"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn32"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_86")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 25))) (Var (UnQual (Ident "happyReduction_86"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_86") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut46"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn32"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_87")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 25))) (Var (UnQual (Ident "happyReduction_87"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_87") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut36"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedRhs (App (App (Var (UnQual (Ident "withLength"))) (Var (UnQual (Ident "at")))) (Paren (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (App (Var (Qual (ModuleName "List") (Ident "reverse"))) (Var (UnQual (Ident "dies"))))))))) Nothing]))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn32"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_88")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 25))) (Var (UnQual (Ident "happyReduction_88"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_88") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut34"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedRhs (App (App (Var (UnQual (Ident "withLength"))) (Var (UnQual (Ident "at")))) (Paren (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (App (Var (Qual (ModuleName "List") (Ident "reverse"))) (Var (UnQual (Ident "dies"))))))))) Nothing]))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn32"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_89")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 26))) (Var (UnQual (Ident "happyReduction_89"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_89")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn33"))) (Paren (Var (UnQual (Ident "empty")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_90")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 26))) (Var (UnQual (Ident "happyReduction_90"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_90") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut32"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn33"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_91")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 27))) (Var (UnQual (Ident "happyReduction_91"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_91") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "declspecs")) (UnGuardedRhs (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))) Nothing]) (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_4")),Con (UnQual (Ident "Nothing"))]])))])))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn34"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_92")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 27))) (Var (UnQual (Ident "happyReduction_92"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_92") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "declspecs")) (UnGuardedRhs (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1"))))) Nothing]) (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_4")),Con (UnQual (Ident "Nothing"))]])))])))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn34"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_93")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 27))) (Var (UnQual (Ident "happyReduction_93"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_93") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "declspecs")) (UnGuardedRhs (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1"))))) Nothing]) (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_3")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (InfixApp (Var (UnQual (Ident "declspecs"))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_5")),Con (UnQual (Ident "Nothing"))]])))])))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn34"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_94")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 27))) (Var (UnQual (Ident "happyReduction_94"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_94") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "declspecs")) (UnGuardedRhs (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1"))))) Nothing]) (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_4")),Con (UnQual (Ident "Nothing"))]])))])))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn34"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_95")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 27))) (Var (UnQual (Ident "happyReduction_95"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_95") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut34"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedRhs (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Tuple Boxed [App (Var (UnQual (Ident "fst"))) (Var (UnQual (Ident "happy_var_5"))),InfixApp (App (Var (UnQual (Ident "snd"))) (Var (UnQual (Ident "happy_var_5")))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_3")))])) (Var (UnQual (Ident "happy_var_4")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withLength"))) (Var (UnQual (Ident "at")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_6")),Con (UnQual (Ident "Nothing"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))))])) Nothing]))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn34"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_96")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 28))) (Var (UnQual (Ident "happyReduction_96"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_96") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut64"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn35"))) (Paren (Tuple Boxed [Var (UnQual (Ident "happy_var_1")),Var (UnQual (Ident "happy_var_2"))])))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_97")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 29))) (Var (UnQual (Ident "happyReduction_97"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_97") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut63"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_4")),Con (UnQual (Ident "Nothing"))]])))]))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn36"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_98")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 29))) (Var (UnQual (Ident "happyReduction_98"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_98") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut63"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_4")),Con (UnQual (Ident "Nothing"))]])))]))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn36"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_99")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 29))) (Var (UnQual (Ident "happyReduction_99"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_99") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut36"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut63"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedRhs (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Tuple Boxed [App (Var (UnQual (Ident "fst"))) (Var (UnQual (Ident "happy_var_5"))),InfixApp (App (Var (UnQual (Ident "snd"))) (Var (UnQual (Ident "happy_var_5")))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_3")))])) (Var (UnQual (Ident "happy_var_4")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (App (Var (UnQual (Ident "return"))) (Paren (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_6")),Con (UnQual (Ident "Nothing"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "at"))))))])) Nothing]))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn36"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_100")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 30))) (Var (UnQual (Ident "happyReduction_100"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_100") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut43"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn37"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_101")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 30))) (Var (UnQual (Ident "happyReduction_101"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_101") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut45"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn37"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_102")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 30))) (Var (UnQual (Ident "happyReduction_102"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_102") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut47"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn37"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_103")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_103"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_103") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn38"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_104")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_104"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_104") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn38"))) (Paren (InfixApp (App (Var (UnQual (Ident "reverseList"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_105")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_105"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_105") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn38"))) (Paren (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_106")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_106"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_106") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn38"))) (Paren (InfixApp (Paren (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_3")))))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_107")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_107"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_107") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut39"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn38"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_108")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_108"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_108") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn38"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_109")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 32))) (Var (UnQual (Ident "happyReduction_109"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_109") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn39"))) (Paren (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_110")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 32))) (Var (UnQual (Ident "happyReduction_110"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_110") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn39"))) (Paren (App (Con (UnQual (Ident "CTypeQual"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_111")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_111"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_111") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CTypedef")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_112")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_112"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_112") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CExtern")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_113")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_113"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_113") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CStatic")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_114")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_114"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_114") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CAuto")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_115")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_115"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_115") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CRegister")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_116")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_116"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_116") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CThread")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_117")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 34))) (Var (UnQual (Ident "happyReduction_117"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_117") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut44"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn41"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_118")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 34))) (Var (UnQual (Ident "happyReduction_118"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_118") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut46"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn41"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_119")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 34))) (Var (UnQual (Ident "happyReduction_119"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_119") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut48"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn41"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_120")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_120"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_120") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CVoidType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_121")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_121"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_121") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CCharType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_122")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_122"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_122") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CShortType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_123")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_123"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_123") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CIntType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_124")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_124"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_124") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CLongType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_125")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_125"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_125") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CFloatType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_126")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_126"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_126") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CDoubleType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_127")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_127"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_127") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CSignedType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_128")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_128"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_128") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CUnsigType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_129")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_129"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_129") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CBoolType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_130")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_130"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_130") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CComplexType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_131")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 36))) (Var (UnQual (Ident "happyReduction_131"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_131") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn43"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_132")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 36))) (Var (UnQual (Ident "happyReduction_132"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_132") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut44"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn43"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_133")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 36))) (Var (UnQual (Ident "happyReduction_133"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_133") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut43"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut39"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn43"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_134")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 36))) (Var (UnQual (Ident "happyReduction_134"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_134") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut43"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn43"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_135")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 36))) (Var (UnQual (Ident "happyReduction_135"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_135") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut43"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn43"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_136")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_136"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_136") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn44"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_137")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_137"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_137") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn44"))) (Paren (InfixApp (Paren (InfixApp (Var (UnQual (Ident "reverseList"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_138")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_138"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_138") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn44"))) (Paren (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_139")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_139"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_139") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn44"))) (Paren (InfixApp (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_3")))))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_140")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_140"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_140") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut44"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn44"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeQual"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_141")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_141"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_141") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut44"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn44"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_142")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_142"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_142") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut44"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn44"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_143")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 38))) (Var (UnQual (Ident "happyReduction_143"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_143") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut49"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn45"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_144")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 38))) (Var (UnQual (Ident "happyReduction_144"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_144") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut46"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn45"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_145")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 38))) (Var (UnQual (Ident "happyReduction_145"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_145") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut45"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut39"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn45"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_146")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 38))) (Var (UnQual (Ident "happyReduction_146"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_146") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut45"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn45"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_147")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_147"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_147") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut49"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn46"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_148")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_148"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_148") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut49"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn46"))) (Paren (InfixApp (Paren (InfixApp (Var (UnQual (Ident "reverseList"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_149")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_149"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_149") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut49"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn46"))) (Paren (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_150")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_150"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_150") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut49"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn46"))) (Paren (InfixApp (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_3")))))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_151")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_151"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_151") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut46"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn46"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeQual"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_152")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_152"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_152") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut46"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn46"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_153")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_153"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_153") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut48"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn47"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_154")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_154"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_154") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_2")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeDef"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn47"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_155")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_155"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_155") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfExpr"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn47"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_156")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_156"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_156") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfType"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn47"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_157")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_157"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_157") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut47"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut39"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn47"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_158")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_158"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_158") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut47"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn47"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_159")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_159"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_159") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "at")))))))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_160")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_160"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_160") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfExpr"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "at")))))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_161")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_161"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_161") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfType"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "at")))))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_162")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_162"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_162") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_2")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeDef"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_163")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_163"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_163") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfExpr"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_164")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_164"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_164") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfType"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_165")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_165"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_165") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_2")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (App (Var (UnQual (Ident "reverseList"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeDef"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "at")))))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_166")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_166"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_166") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (App (Var (UnQual (Ident "reverseList"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfExpr"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at")))))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_167")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_167"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_167") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (App (Var (UnQual (Ident "reverseList"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfType"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at")))))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_168")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_168"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_168") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_3")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeDef"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_169")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_169"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_169") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfExpr"))) (Var (UnQual (Ident "happy_var_5")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_170")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_170"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_170") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfType"))) (Var (UnQual (Ident "happy_var_5")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_171")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_171"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_171") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut48"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn48"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeQual"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_172")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_172"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_172") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut48"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn48"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_173")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 42))) (Var (UnQual (Ident "happyReduction_173"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_173") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut50"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CSUType"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn49"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_174")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 42))) (Var (UnQual (Ident "happyReduction_174"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_174") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut58"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CEnumType"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn49"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_175")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 43))) (Var (UnQual (Ident "happyReduction_175"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_175") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut51"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut52"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CStruct"))) (Paren (App (Var (UnQual (Ident "unL"))) (Var (UnQual (Ident "happy_var_1")))))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5"))))))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn50"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_176")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 43))) (Var (UnQual (Ident "happyReduction_176"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_176") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut51"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut52"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CStruct"))) (Paren (App (Var (UnQual (Ident "unL"))) (Var (UnQual (Ident "happy_var_1")))))) (Con (UnQual (Ident "Nothing")))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4"))))))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn50"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_177")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 43))) (Var (UnQual (Ident "happyReduction_177"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_177") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut51"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CStruct"))) (Paren (App (Var (UnQual (Ident "unL"))) (Var (UnQual (Ident "happy_var_1")))))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn50"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_178")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 44))) (Var (UnQual (Ident "happyReduction_178"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_178") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn51"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CStructTag")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_179")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 44))) (Var (UnQual (Ident "happyReduction_179"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_179") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn51"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CUnionTag")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_180")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 45))) (Var (UnQual (Ident "happyReduction_180"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_180")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn52"))) (Paren (Var (UnQual (Ident "empty")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_181")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 45))) (Var (UnQual (Ident "happyReduction_181"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_181") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut52"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn52"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_182")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 45))) (Var (UnQual (Ident "happyReduction_182"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_182") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut52"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut53"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn52"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_183")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 46))) (Var (UnQual (Ident "happyReduction_183"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_183") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut55"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn53"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (App (Var (Qual (ModuleName "List") (Ident "reverse"))) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "at"))))) Nothing])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_184")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 46))) (Var (UnQual (Ident "happyReduction_184"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_184") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut54"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn53"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (App (Var (Qual (ModuleName "List") (Ident "reverse"))) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "at"))))) Nothing])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_185")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 46))) (Var (UnQual (Ident "happyReduction_185"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_185") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut53"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn53"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_186")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 47))) (Var (UnQual (Ident "happyReduction_186"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_186") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut57"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_3"))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PVar (Ident "d"),PVar (Ident "s")]) (UnGuardedRhs (App (App (Con (UnQual (Ident "CDecl"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (List [Tuple Boxed [Var (UnQual (Ident "d")),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]]))) Nothing])))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn54"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_187")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 47))) (Var (UnQual (Ident "happyReduction_187"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_187") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut57"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_2"))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PVar (Ident "d"),PVar (Ident "s")]) (UnGuardedRhs (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [Var (UnQual (Ident "d")),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]]))) Nothing])))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn54"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_188")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 47))) (Var (UnQual (Ident "happyReduction_188"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_188") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut54"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut57"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn54"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedRhs (Case (Var (UnQual (Ident "happy_var_4"))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Just")) [PVar (Ident "d")],PVar (Ident "s")]) (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "appendObjAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "d")))),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "at"))))) Nothing,Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Nothing")) [],PVar (Ident "s")]) (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "at"))))) Nothing])) Nothing]))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_189")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 48))) (Var (UnQual (Ident "happyReduction_189"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_189") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut56"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_2"))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Just")) [PVar (Ident "d")],PVar (Ident "s")]) (UnGuardedRhs (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendObjAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "d")))),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]]))) Nothing,Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Nothing")) [],PVar (Ident "s")]) (UnGuardedRhs (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]]))) Nothing])))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn55"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_190")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 48))) (Var (UnQual (Ident "happyReduction_190"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_190") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut55"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut56"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn55"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "attr")]) (UnGuardedRhs (Case (Var (UnQual (Ident "happy_var_4"))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Just")) [PVar (Ident "d")],PVar (Ident "s")]) (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "appendObjAttrs"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_3"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_5")))))) (Var (UnQual (Ident "d")))),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "attr"))))) Nothing,Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Nothing")) [],PVar (Ident "s")]) (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "attr"))))) Nothing])) Nothing]))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_191")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 48))) (Var (UnQual (Ident "happyReduction_191"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_191") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn55"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_192")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 49))) (Var (UnQual (Ident "happyReduction_192"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_192") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut63"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn56"))) (Paren (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))),Con (UnQual (Ident "Nothing"))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_193")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 49))) (Var (UnQual (Ident "happyReduction_193"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_193") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn56"))) (Paren (Tuple Boxed [Con (UnQual (Ident "Nothing")),App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_2")))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_194")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 49))) (Var (UnQual (Ident "happyReduction_194"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_194") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut63"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn56"))) (Paren (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))),App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))])))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_195")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 50))) (Var (UnQual (Ident "happyReduction_195"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_195") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn57"))) (Paren (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))),Con (UnQual (Ident "Nothing"))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_196")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 50))) (Var (UnQual (Ident "happyReduction_196"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_196") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn57"))) (Paren (Tuple Boxed [Con (UnQual (Ident "Nothing")),App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_2")))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_197")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 50))) (Var (UnQual (Ident "happyReduction_197"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_197") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn57"))) (Paren (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))),App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))])))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_198")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 50))) (Var (UnQual (Ident "happyReduction_198"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_198") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut57"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn57"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Nothing")) [],PVar (Ident "expr")]) (UnGuardedRhs (Tuple Boxed [Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "expr"))])) Nothing,Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Just")) [PParen (PApp (UnQual (Ident "CDeclr")) [PVar (Ident "name"),PVar (Ident "derived"),PVar (Ident "asmname"),PVar (Ident "attrs"),PVar (Ident "node")])],PVar (Ident "bsz")]) (UnGuardedRhs (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (App (App (App (App (Con (UnQual (Ident "CDeclr"))) (Var (UnQual (Ident "name")))) (Var (UnQual (Ident "derived")))) (Var (UnQual (Ident "asmname")))) (Paren (InfixApp (Var (UnQual (Ident "attrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_2")))))) (Var (UnQual (Ident "node"))))),Var (UnQual (Ident "bsz"))])) Nothing])))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_199")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 51))) (Var (UnQual (Ident "happyReduction_199"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_199") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut59"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CEnum"))) (Con (UnQual (Ident "Nothing")))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4"))))))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn58"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_200")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 51))) (Var (UnQual (Ident "happyReduction_200"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_200") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut59"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CEnum"))) (Con (UnQual (Ident "Nothing")))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4"))))))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn58"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_201")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 51))) (Var (UnQual (Ident "happyReduction_201"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_201") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut59"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CEnum"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5"))))))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn58"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_202")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 51))) (Var (UnQual (Ident "happyReduction_202"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_202") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut59"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CEnum"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5"))))))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn58"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_203")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 51))) (Var (UnQual (Ident "happyReduction_203"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_203") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CEnum"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn58"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_204")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 52))) (Var (UnQual (Ident "happyReduction_204"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_204") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut60"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn59"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_205")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 52))) (Var (UnQual (Ident "happyReduction_205"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_205") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut59"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut60"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn59"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_206")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 53))) (Var (UnQual (Ident "happyReduction_206"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_206") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn60"))) (Paren (Tuple Boxed [Var (UnQual (Ident "happy_var_1")),Con (UnQual (Ident "Nothing"))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_207")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 53))) (Var (UnQual (Ident "happyReduction_207"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_207") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn60"))) (Paren (Tuple Boxed [Var (UnQual (Ident "happy_var_1")),App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))])))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_208")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 54))) (Var (UnQual (Ident "happyReduction_208"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_208") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CConstQual")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn61"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_209")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 54))) (Var (UnQual (Ident "happyReduction_209"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_209") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CVolatQual")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn61"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_210")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 54))) (Var (UnQual (Ident "happyReduction_210"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_210") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CRestrQual")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn61"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_211")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 54))) (Var (UnQual (Ident "happyReduction_211"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_211") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CInlineQual")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn61"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_212")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 55))) (Var (UnQual (Ident "happyReduction_212"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_212") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn62"))) (Paren (InfixApp (App (Var (UnQual (Ident "reverseList"))) (Paren (App (App (Var (UnQual (Ident "map"))) (Con (UnQual (Ident "CAttrQual")))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_213")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 55))) (Var (UnQual (Ident "happyReduction_213"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_213") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn62"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_214")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 55))) (Var (UnQual (Ident "happyReduction_214"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_214") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn62"))) (Paren (InfixApp (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "rappend"))) (App (App (Var (UnQual (Ident "map"))) (Con (UnQual (Ident "CAttrQual")))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_215")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 56))) (Var (UnQual (Ident "happyReduction_215"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_215") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn63"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_216")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 56))) (Var (UnQual (Ident "happyReduction_216"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_216") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut65"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn63"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_217")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 57))) (Var (UnQual (Ident "happyReduction_217"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_217")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn64"))) (Paren (Con (UnQual (Ident "Nothing")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_218")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 57))) (Var (UnQual (Ident "happyReduction_218"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_218") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn64"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_219")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 58))) (Var (UnQual (Ident "happyReduction_219"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_219") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn65"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_220")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 58))) (Var (UnQual (Ident "happyReduction_220"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_220") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn65"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_221")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 59))) (Var (UnQual (Ident "happyReduction_221"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_221") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "mkVarDeclr"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn66"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_222")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 59))) (Var (UnQual (Ident "happyReduction_222"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_222") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (App (Var (UnQual (Ident "happy_var_2"))) (Paren (App (App (Var (UnQual (Ident "mkVarDeclr"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "at")))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn66"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_223")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 59))) (Var (UnQual (Ident "happyReduction_223"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_223") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut67"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn66"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_224")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 60))) (Var (UnQual (Ident "happyReduction_224"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_224") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut68"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn67"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_225")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 60))) (Var (UnQual (Ident "happyReduction_225"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_225") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_2")))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn67"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_226")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 60))) (Var (UnQual (Ident "happyReduction_226"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_226") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (List []))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn67"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_227")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 60))) (Var (UnQual (Ident "happyReduction_227"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_227") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn67"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_228")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 60))) (Var (UnQual (Ident "happyReduction_228"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_228") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_4")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn67"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_229")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 61))) (Var (UnQual (Ident "happyReduction_229"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_229") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut67"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn68"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_230")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 61))) (Var (UnQual (Ident "happyReduction_230"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_230") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut67"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn68"))) (Paren (App (Var (UnQual (Ident "happy_var_4"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_231")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 61))) (Var (UnQual (Ident "happyReduction_231"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_231") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut67"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn68"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_232")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 61))) (Var (UnQual (Ident "happyReduction_232"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_232") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut67"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn68"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "happy_var_5"))) (Var (UnQual (Ident "happy_var_3")))))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_233")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_233"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_233") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut70"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn69"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_234")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_234"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_234") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut71"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_235")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_235"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_235") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut71"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_4")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_236")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_236"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_236") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut71"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_5")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_237")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_237"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_237") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_2")))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_238")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_238"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_238") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_239")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_239"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_239") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_4")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_240")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 63))) (Var (UnQual (Ident "happyReduction_240"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_240") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn70"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_241")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 63))) (Var (UnQual (Ident "happyReduction_241"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_241") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut71"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn70"))) (Paren (App (Var (UnQual (Ident "happy_var_3"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_242")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 63))) (Var (UnQual (Ident "happyReduction_242"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_242") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn70"))) (Paren (App (Var (UnQual (Ident "happy_var_4"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_243")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 64))) (Var (UnQual (Ident "happyReduction_243"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_243") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "mkVarDeclr"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn71"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_244")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 64))) (Var (UnQual (Ident "happyReduction_244"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_244") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut71"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn71"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_245")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 65))) (Var (UnQual (Ident "happyReduction_245"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_245") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut73"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn72"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_246")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 65))) (Var (UnQual (Ident "happyReduction_246"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_246") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut75"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn72"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_247")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 66))) (Var (UnQual (Ident "happyReduction_247"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_247") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut74"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn73"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_248")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 66))) (Var (UnQual (Ident "happyReduction_248"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_248") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_2")))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn73"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_249")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 66))) (Var (UnQual (Ident "happyReduction_249"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_249") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (List []))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn73"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_250")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 66))) (Var (UnQual (Ident "happyReduction_250"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_250") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn73"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_251")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 66))) (Var (UnQual (Ident "happyReduction_251"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_251") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_4")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn73"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_252")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 67))) (Var (UnQual (Ident "happyReduction_252"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_252") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut75"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn74"))) (Paren (App (Var (UnQual (Ident "happy_var_2"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_253")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 67))) (Var (UnQual (Ident "happyReduction_253"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_253") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut73"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn74"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_254")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 67))) (Var (UnQual (Ident "happyReduction_254"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_254") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut73"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn74"))) (Paren (App (Var (UnQual (Ident "happy_var_4"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_255")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 67))) (Var (UnQual (Ident "happyReduction_255"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_255") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut73"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn74"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_256")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 67))) (Var (UnQual (Ident "happyReduction_256"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_256") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut73"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn74"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "happy_var_5"))) (Var (UnQual (Ident "happy_var_3")))))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_257")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 68))) (Var (UnQual (Ident "happyReduction_257"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_257") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "mkVarDeclr"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn75"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_258")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 68))) (Var (UnQual (Ident "happyReduction_258"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_258") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut75"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn75"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_259")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 68))) (Var (UnQual (Ident "happyReduction_259"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_259") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut75"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn75"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_260")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 69))) (Var (UnQual (Ident "happyReduction_260"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_260") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut77"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn76"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_261")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 70))) (Var (UnQual (Ident "happyReduction_261"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_261") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut78"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn77"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_262")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 70))) (Var (UnQual (Ident "happyReduction_262"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_262") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut77"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_2")))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn77"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_263")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 70))) (Var (UnQual (Ident "happyReduction_263"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_263") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut77"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn77"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_264")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 71))) (Var (UnQual (Ident "happyReduction_264"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_264") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut75"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut82"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Var (UnQual (Ident "funDeclr"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (InfixApp (Con (UnQual (Ident "Left"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3"))))))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn78"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_265")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 71))) (Var (UnQual (Ident "happyReduction_265"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_265") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut77"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn78"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_266")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 71))) (Var (UnQual (Ident "happyReduction_266"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_266") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut77"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn78"))) (Paren (App (Var (UnQual (Ident "happy_var_4"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_267")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 72))) (Var (UnQual (Ident "happyReduction_267"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_267")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn79"))) (Paren (Tuple Boxed [List [],Con (UnQual (Ident "False"))])))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_268")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 72))) (Var (UnQual (Ident "happyReduction_268"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_268") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut80"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn79"))) (Paren (Tuple Boxed [App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))),Con (UnQual (Ident "False"))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_269")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 72))) (Var (UnQual (Ident "happyReduction_269"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_269") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut80"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn79"))) (Paren (Tuple Boxed [App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))),Con (UnQual (Ident "True"))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_270")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 73))) (Var (UnQual (Ident "happyReduction_270"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_270") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut81"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn80"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_271")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 73))) (Var (UnQual (Ident "happyReduction_271"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_271") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut80"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut81"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn80"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_272")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_272"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_272") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_273")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_273"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_273") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_274")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_274"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_274") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_275")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_275"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_275") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_276")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_276"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_276") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_277")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_277"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_277") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_278")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_278"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_278") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_279")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_279"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_279") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_280")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_280"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_280") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_281")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_281"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_281") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_282")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_282"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_282") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_283")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_283"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_283") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_284")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_284"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_284") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_285")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_285"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_285") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_286")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_286"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_286") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_287")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 75))) (Var (UnQual (Ident "happyReduction_287"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_287") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn82"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_288")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 75))) (Var (UnQual (Ident "happyReduction_288"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_288") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut82"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_3")])) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn82"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_289")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 76))) (Var (UnQual (Ident "happyReduction_289"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_289") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn83"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_290")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 76))) (Var (UnQual (Ident "happyReduction_290"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_290") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn83"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_291")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 76))) (Var (UnQual (Ident "happyReduction_291"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_291") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn83"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_292")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 76))) (Var (UnQual (Ident "happyReduction_292"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_292") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn83"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_293")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 77))) (Var (UnQual (Ident "happyReduction_293"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_293") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut88"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn84"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_294")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 77))) (Var (UnQual (Ident "happyReduction_294"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_294") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut89"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn84"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_295")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 77))) (Var (UnQual (Ident "happyReduction_295"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_295") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn84"))) (Paren (App (Var (UnQual (Ident "happy_var_1"))) (Var (UnQual (Ident "emptyDeclr"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_296")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 78))) (Var (UnQual (Ident "happyReduction_296"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_296") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut86"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn85"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_297")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 78))) (Var (UnQual (Ident "happyReduction_297"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_297") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut79"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (Case (Var (UnQual (Ident "happy_var_2"))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PVar (Ident "params"),PVar (Ident "variadic")]) (UnGuardedRhs (App (App (App (App (Var (UnQual (Ident "funDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Con (UnQual (Ident "Right"))) (Tuple Boxed [Var (UnQual (Ident "params")),Var (UnQual (Ident "variadic"))])))) (List [])) (Var (UnQual (Ident "at"))))) Nothing]))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn85"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_298")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 79))) (Var (UnQual (Ident "happyReduction_298"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_298") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut87"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn86"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_299")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 79))) (Var (UnQual (Ident "happyReduction_299"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_299") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut86"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut87"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn86"))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "decl")] (App (Var (UnQual (Ident "happy_var_2"))) (Paren (App (Var (UnQual (Ident "happy_var_1"))) (Var (UnQual (Ident "decl")))))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_300")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_300"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_300") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut120"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (List [])) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "False")))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_301")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_301"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_301") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut120"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (List [])) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "False")))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_302")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_302"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_302") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut120"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "False")))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_303")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_303"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_303") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut120"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "False")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_304")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_304"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_304") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (List [])) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "True")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_4")))))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_305")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_305"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_305") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_4")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "True")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_5")))))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_306")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_306"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_306") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_3"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_5")))))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "True")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_6")))))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_307")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_307"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_307") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (List [])) (Con (UnQual (Ident "True")))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_308")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_308"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_308") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_2"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_4")))))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (List [])) (Con (UnQual (Ident "True")))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_309")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_309"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_309") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_4")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Con (UnQual (Ident "True")))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_310")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_310"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_310") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_3"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_5")))))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Con (UnQual (Ident "True")))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_311")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_311"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_311") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "emptyDeclr")))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_312")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_312"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_312") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "emptyDeclr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_313")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_313"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_313") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_2")))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_314")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_314"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_314") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_315")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_315"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_315") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "emptyDeclr")))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_316")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_316"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_316") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (List []))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_317")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_317"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_317") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut88"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn89"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_318")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_318"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_318") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut89"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn89"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_319")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_319"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_319") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (Var (UnQual (Ident "happy_var_2"))) (Var (UnQual (Ident "emptyDeclr"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_320")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_320"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_320") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut88"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (Var (UnQual (Ident "happy_var_4"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_321")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_321"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_321") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut88"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_322")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_322"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_322") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut89"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_323")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_323"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_323") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "happy_var_3"))) (Var (UnQual (Ident "emptyDeclr")))))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_324")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_324"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_324") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut88"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "happy_var_5"))) (Var (UnQual (Ident "happy_var_3")))))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_325")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_325"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_325") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut89"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_326")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 83))) (Var (UnQual (Ident "happyReduction_326"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_326") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CInitExpr"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn90"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_327")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 83))) (Var (UnQual (Ident "happyReduction_327"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_327") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CInitList"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn90"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_328")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 83))) (Var (UnQual (Ident "happyReduction_328"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_328") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CInitList"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn90"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_329")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 84))) (Var (UnQual (Ident "happyReduction_329"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_329")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn91"))) (Paren (Con (UnQual (Ident "Nothing")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_330")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 84))) (Var (UnQual (Ident "happyReduction_330"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_330") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut90"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn91"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_331")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 85))) (Var (UnQual (Ident "happyReduction_331"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_331")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn92"))) (Paren (Var (UnQual (Ident "empty")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_332")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 85))) (Var (UnQual (Ident "happyReduction_332"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_332") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut90"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn92"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Tuple Boxed [List [],Var (UnQual (Ident "happy_var_1"))]))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_333")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 85))) (Var (UnQual (Ident "happyReduction_333"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_333") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut93"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut90"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn92"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Tuple Boxed [Var (UnQual (Ident "happy_var_1")),Var (UnQual (Ident "happy_var_2"))]))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_334")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 85))) (Var (UnQual (Ident "happyReduction_334"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_334") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut90"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn92"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Tuple Boxed [List [],Var (UnQual (Ident "happy_var_3"))]))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_335")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 85))) (Var (UnQual (Ident "happyReduction_335"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_335") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut93"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut90"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn92"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Tuple Boxed [Var (UnQual (Ident "happy_var_3")),Var (UnQual (Ident "happy_var_4"))])))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_336")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 86))) (Var (UnQual (Ident "happyReduction_336"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_336") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut94"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn93"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_337")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 86))) (Var (UnQual (Ident "happyReduction_337"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_337") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (List [App (App (Con (UnQual (Ident "CMemberDesig"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "at")))]))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn93"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_338")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 86))) (Var (UnQual (Ident "happyReduction_338"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_338") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut96"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn93"))) (Paren (List [Var (UnQual (Ident "happy_var_1"))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_339")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 87))) (Var (UnQual (Ident "happyReduction_339"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_339") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut95"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn94"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_340")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 87))) (Var (UnQual (Ident "happyReduction_340"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_340") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut94"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut95"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn94"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_341")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 88))) (Var (UnQual (Ident "happyReduction_341"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_341") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CArrDesig"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn95"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_342")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 88))) (Var (UnQual (Ident "happyReduction_342"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_342") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CMemberDesig"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn95"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_343")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 88))) (Var (UnQual (Ident "happyReduction_343"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_343") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut96"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn95"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_344")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 89))) (Var (UnQual (Ident "happyReduction_344"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_344") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CRangeDesig"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn96"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_345")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_345"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_345") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CVar"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn97"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_346")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_346"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_346") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut122"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn97"))) (Paren (App (Con (UnQual (Ident "CConst"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_347")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_347"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_347") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn97"))) (Paren (App (Con (UnQual (Ident "CConst"))) (Paren (App (Var (UnQual (Ident "liftStrLit"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_348")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_348"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_348") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn97"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_349")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_349"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_349") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CStatExpr"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn97"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_350")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_350"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_350") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "CBuiltinExpr"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CBuiltinVaArg"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5")))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn97"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_351")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_351"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_351") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut98"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "CBuiltinExpr"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CBuiltinOffsetOf"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5")))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn97"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_352")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_352"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_352") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "CBuiltinExpr"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CBuiltinTypesCompatible"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5")))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn97"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_353")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 91))) (Var (UnQual (Ident "happyReduction_353"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_353") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Var (UnQual (Ident "singleton"))) (QVarOp (UnQual (Symbol "."))) (App (Con (UnQual (Ident "CMemberDesig"))) (Var (UnQual (Ident "happy_var_1")))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn98"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_354")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 91))) (Var (UnQual (Ident "happyReduction_354"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_354") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut98"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (LeftSection (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc")))) (QVarOp (UnQual (Symbol "."))) (App (Con (UnQual (Ident "CMemberDesig"))) (Var (UnQual (Ident "happy_var_3")))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn98"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_355")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 91))) (Var (UnQual (Ident "happyReduction_355"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_355") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut98"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (LeftSection (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc")))) (QVarOp (UnQual (Symbol "."))) (App (Con (UnQual (Ident "CArrDesig"))) (Var (UnQual (Ident "happy_var_3")))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn98"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_356")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_356"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_356") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut97"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn99"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_357")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_357"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_357") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CIndex"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_358")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_358"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_358") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCall"))) (Var (UnQual (Ident "happy_var_1")))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_359")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_359"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_359") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut100"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCall"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_360")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_360"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_360") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CMember"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (Con (UnQual (Ident "False"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_361")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_361"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_361") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CMember"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (Con (UnQual (Ident "True"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_362")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_362"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_362") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CUnary"))) (Con (UnQual (Ident "CPostIncOp")))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_363")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_363"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_363") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CUnary"))) (Con (UnQual (Ident "CPostDecOp")))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_364")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_364"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_364") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCompoundLit"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_365")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_365"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_365") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCompoundLit"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_366")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 93))) (Var (UnQual (Ident "happyReduction_366"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_366") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn100"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_367")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 93))) (Var (UnQual (Ident "happyReduction_367"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_367") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut100"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn100"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_368")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_368"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_368") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn101"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_369")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_369"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_369") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CUnary"))) (Con (UnQual (Ident "CPreIncOp")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_370")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_370"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_370") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CUnary"))) (Con (UnQual (Ident "CPreDecOp")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_371")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_371"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_371") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn101"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_372")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_372"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_372") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut102"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CUnary"))) (Paren (App (Var (UnQual (Ident "unL"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_373")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_373"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_373") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CSizeofExpr"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_374")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_374"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_374") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CSizeofType"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_375")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_375"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_375") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CAlignofExpr"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_376")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_376"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_376") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CAlignofType"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_377")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_377"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_377") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CComplexReal"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_378")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_378"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_378") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CComplexImag"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_379")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_379"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_379") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CLabAddrExpr"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_380")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_380"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_380") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CAdrOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_381")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_381"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_381") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CIndOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_382")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_382"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_382") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CPlusOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_383")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_383"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_383") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CMinOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_384")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_384"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_384") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CCompOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_385")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_385"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_385") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CNegOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_386")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 96))) (Var (UnQual (Ident "happyReduction_386"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_386") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn103"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_387")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 96))) (Var (UnQual (Ident "happyReduction_387"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_387") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCast"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn103"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_388")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 97))) (Var (UnQual (Ident "happyReduction_388"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_388") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn104"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_389")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 97))) (Var (UnQual (Ident "happyReduction_389"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_389") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CMulOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn104"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_390")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 97))) (Var (UnQual (Ident "happyReduction_390"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_390") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CDivOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn104"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_391")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 97))) (Var (UnQual (Ident "happyReduction_391"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_391") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CRmdOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn104"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_392")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 98))) (Var (UnQual (Ident "happyReduction_392"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_392") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn105"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_393")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 98))) (Var (UnQual (Ident "happyReduction_393"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_393") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut105"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CAddOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn105"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_394")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 98))) (Var (UnQual (Ident "happyReduction_394"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_394") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut105"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CSubOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn105"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_395")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 99))) (Var (UnQual (Ident "happyReduction_395"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_395") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut105"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn106"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_396")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 99))) (Var (UnQual (Ident "happyReduction_396"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_396") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut105"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CShlOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn106"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_397")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 99))) (Var (UnQual (Ident "happyReduction_397"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_397") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut105"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CShrOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn106"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_398")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 100))) (Var (UnQual (Ident "happyReduction_398"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_398") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn107"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_399")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 100))) (Var (UnQual (Ident "happyReduction_399"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_399") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CLeOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn107"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_400")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 100))) (Var (UnQual (Ident "happyReduction_400"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_400") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CGrOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn107"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_401")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 100))) (Var (UnQual (Ident "happyReduction_401"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_401") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CLeqOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn107"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_402")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 100))) (Var (UnQual (Ident "happyReduction_402"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_402") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CGeqOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn107"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_403")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 101))) (Var (UnQual (Ident "happyReduction_403"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_403") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn108"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_404")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 101))) (Var (UnQual (Ident "happyReduction_404"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_404") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut108"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CEqOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn108"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_405")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 101))) (Var (UnQual (Ident "happyReduction_405"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_405") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut108"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CNeqOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn108"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_406")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 102))) (Var (UnQual (Ident "happyReduction_406"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_406") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut108"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn109"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_407")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 102))) (Var (UnQual (Ident "happyReduction_407"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_407") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut109"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut108"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CAndOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn109"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_408")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 103))) (Var (UnQual (Ident "happyReduction_408"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_408") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut109"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn110"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_409")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 103))) (Var (UnQual (Ident "happyReduction_409"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_409") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut110"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut109"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CXorOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn110"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_410")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 104))) (Var (UnQual (Ident "happyReduction_410"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_410") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut110"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn111"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_411")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 104))) (Var (UnQual (Ident "happyReduction_411"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_411") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut111"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut110"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "COrOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn111"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_412")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 105))) (Var (UnQual (Ident "happyReduction_412"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_412") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut111"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn112"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_413")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 105))) (Var (UnQual (Ident "happyReduction_413"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_413") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut112"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut111"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CLndOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn112"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_414")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 106))) (Var (UnQual (Ident "happyReduction_414"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_414") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut112"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn113"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_415")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 106))) (Var (UnQual (Ident "happyReduction_415"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_415") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut113"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut112"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CLorOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn113"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_416")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 107))) (Var (UnQual (Ident "happyReduction_416"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_416") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut113"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn114"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_417")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 107))) (Var (UnQual (Ident "happyReduction_417"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_417") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut113"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut114"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CCond"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_5"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn114"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_418")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 107))) (Var (UnQual (Ident "happyReduction_418"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_418") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut113"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut114"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CCond"))) (Var (UnQual (Ident "happy_var_1")))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn114"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_419")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 108))) (Var (UnQual (Ident "happyReduction_419"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_419") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut114"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn115"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_420")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 108))) (Var (UnQual (Ident "happyReduction_420"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_420") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut116"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CAssign"))) (Paren (App (Var (UnQual (Ident "unL"))) (Var (UnQual (Ident "happy_var_2")))))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn115"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_421")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_421"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_421") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CAssignOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_422")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_422"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_422") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CMulAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_423")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_423"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_423") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CDivAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_424")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_424"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_424") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CRmdAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_425")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_425"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_425") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CAddAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_426")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_426"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_426") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CSubAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_427")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_427"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_427") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CShlAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_428")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_428"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_428") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CShrAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_429")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_429"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_429") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CAndAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_430")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_430"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_430") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CXorAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_431")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_431"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_431") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "COrAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_432")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 110))) (Var (UnQual (Ident "happyReduction_432"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_432") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn117"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_433")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 110))) (Var (UnQual (Ident "happyReduction_433"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_433") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut118"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "es")) (UnGuardedRhs (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3"))))) Nothing]) (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "es")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CComma"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QConOp (Special Cons)) (Var (UnQual (Ident "es")))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn117"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_434")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 111))) (Var (UnQual (Ident "happyReduction_434"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_434") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn118"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_435")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 111))) (Var (UnQual (Ident "happyReduction_435"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_435") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut118"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn118"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_436")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 112))) (Var (UnQual (Ident "happyReduction_436"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_436")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn119"))) (Paren (Con (UnQual (Ident "Nothing")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_437")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 112))) (Var (UnQual (Ident "happyReduction_437"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_437") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn119"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_438")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 113))) (Var (UnQual (Ident "happyReduction_438"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_438")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn120"))) (Paren (Con (UnQual (Ident "Nothing")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_439")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 113))) (Var (UnQual (Ident "happyReduction_439"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_439") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn120"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_440")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 114))) (Var (UnQual (Ident "happyReduction_440"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_440") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut114"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn121"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_441")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 115))) (Var (UnQual (Ident "happyReduction_441"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_441") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokILit")) [PWildCard,PVar (Ident "i")]) (UnGuardedRhs (App (Con (UnQual (Ident "CIntConst"))) (Var (UnQual (Ident "i"))))) Nothing])))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn122"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_442")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 115))) (Var (UnQual (Ident "happyReduction_442"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_442") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokCLit")) [PWildCard,PVar (Ident "c")]) (UnGuardedRhs (App (Con (UnQual (Ident "CCharConst"))) (Var (UnQual (Ident "c"))))) Nothing])))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn122"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_443")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 115))) (Var (UnQual (Ident "happyReduction_443"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_443") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokFLit")) [PWildCard,PVar (Ident "f")]) (UnGuardedRhs (App (Con (UnQual (Ident "CFloatConst"))) (Var (UnQual (Ident "f"))))) Nothing])))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn122"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_444")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 116))) (Var (UnQual (Ident "happyReduction_444"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_444") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSLit")) [PWildCard,PVar (Ident "s")]) (UnGuardedRhs (App (Con (UnQual (Ident "CStrLit"))) (Var (UnQual (Ident "s"))))) Nothing])))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn123"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_445")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 116))) (Var (UnQual (Ident "happyReduction_445"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_445") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut124"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSLit")) [PWildCard,PVar (Ident "s")]) (UnGuardedRhs (App (Con (UnQual (Ident "CStrLit"))) (Paren (App (Var (UnQual (Ident "concatCStrings"))) (Paren (InfixApp (Var (UnQual (Ident "s"))) (QConOp (Special Cons)) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))))))) Nothing])))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn123"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_446")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 117))) (Var (UnQual (Ident "happyReduction_446"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_446") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn124"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSLit")) [PWildCard,PVar (Ident "s")]) (UnGuardedRhs (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "s"))))) Nothing])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_447")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 117))) (Var (UnQual (Ident "happyReduction_447"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_447") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut124"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn124"))) (Paren (Case (Var (UnQual (Ident "happy_var_2"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSLit")) [PWildCard,PVar (Ident "s")]) (UnGuardedRhs (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "s"))))) Nothing])))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_448")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 118))) (Var (UnQual (Ident "happyReduction_448"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_448") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn125"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_449")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 118))) (Var (UnQual (Ident "happyReduction_449"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_449") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn125"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_450")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 119))) (Var (UnQual (Ident "happyReduction_450"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_450")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn126"))) (Paren (List [])))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_451")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 119))) (Var (UnQual (Ident "happyReduction_451"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_451") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn126"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_452")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 120))) (Var (UnQual (Ident "happyReduction_452"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_452") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn127"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_453")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 120))) (Var (UnQual (Ident "happyReduction_453"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_453") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn127"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_454")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 121))) (Var (UnQual (Ident "happyReduction_454"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_454") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut129"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn128"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_455")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 122))) (Var (UnQual (Ident "happyReduction_455"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_455") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut130"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn129"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Nothing")) []) (UnGuardedRhs (Var (UnQual (Ident "empty")))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Just")) [PVar (Ident "attr")]) (UnGuardedRhs (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "attr"))))) Nothing])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_456")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 122))) (Var (UnQual (Ident "happyReduction_456"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_456") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut129"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut130"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn129"))) (Paren (App (Paren (App (App (App (Var (UnQual (Ident "maybe"))) (Var (UnQual (Ident "id")))) (Paren (App (Var (UnQual (Ident "flip"))) (Var (UnQual (Ident "snoc")))))) (Var (UnQual (Ident "happy_var_3"))))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_457")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 123))) (Var (UnQual (Ident "happyReduction_457"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_457")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn130"))) (Paren (Con (UnQual (Ident "Nothing")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_458")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 123))) (Var (UnQual (Ident "happyReduction_458"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_458") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CAttr"))) (Var (UnQual (Ident "happy_var_1")))) (List [])))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn130"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_459")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 123))) (Var (UnQual (Ident "happyReduction_459"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_459") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CAttr"))) (Paren (App (Var (UnQual (Ident "internalIdent"))) (Lit (String "const"))))) (List [])))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn130"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_460")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 123))) (Var (UnQual (Ident "happyReduction_460"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_460") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut131"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CAttr"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn130"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_461")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 123))) (Var (UnQual (Ident "happyReduction_461"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_461") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CAttr"))) (Var (UnQual (Ident "happy_var_1")))) (List [])))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn130"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_462")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 124))) (Var (UnQual (Ident "happyReduction_462"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_462") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn131"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_463")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 124))) (Var (UnQual (Ident "happyReduction_463"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_463") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut131"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn131"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyNewToken") [PVar (Ident "action"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "lexC"))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "tk")] (Let (BDecls [FunBind [Match (SrcLoc "" -1 -1) (Ident "cont") [PVar (Ident "i")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyDoAction"))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "action")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing]]) (Case (Var (UnQual (Ident "tk"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokEof")) []) (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyDoAction"))) (Lit (PrimInt 101))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "action")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokLParen")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 1)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokRParen")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 2)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokLBracket")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 3)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokRBracket")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 4)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokArrow")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 5)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokDot")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 6)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokExclam")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 7)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokTilde")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 8)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokInc")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 9)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokDec")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 10)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokPlus")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 11)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokMinus")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 12)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokStar")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 13)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSlash")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 14)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokPercent")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 15)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokAmper")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 16)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokShiftL")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 17)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokShiftR")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 18)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokLess")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 19)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokLessEq")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 20)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokHigh")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 21)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokHighEq")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 22)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokEqual")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 23)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokUnequal")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 24)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokHat")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 25)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokBar")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 26)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokAnd")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 27)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokOr")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 28)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokQuest")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 29)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokColon")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 30)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokAssign")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 31)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokPlusAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 32)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokMinusAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 33)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokStarAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 34)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSlashAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 35)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokPercAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 36)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokAmpAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 37)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokHatAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 38)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokBarAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 39)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSLAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 40)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSRAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 41)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokComma")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 42)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSemic")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 43)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokLBrace")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 44)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokRBrace")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 45)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokEllipsis")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 46)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokAlignof")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 47)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokAsm")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 48)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokAuto")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 49)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokBreak")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 50)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokBool")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 51)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokCase")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 52)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokChar")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 53)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokConst")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 54)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokContinue")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 55)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokComplex")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 56)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokDefault")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 57)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokDo")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 58)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokDouble")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 59)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokElse")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 60)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokEnum")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 61)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokExtern")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 62)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokFloat")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 63)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokFor")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 64)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGoto")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 65)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokIf")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 66)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokInline")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 67)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokInt")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 68)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokLong")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 69)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokLabel")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 70)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokRegister")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 71)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokRestrict")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 72)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokReturn")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 73)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokShort")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 74)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSigned")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 75)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSizeof")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 76)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokStatic")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 77)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokStruct")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 78)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSwitch")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 79)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokTypedef")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 80)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokTypeof")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 81)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokThread")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 82)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokUnion")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 83)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokUnsigned")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 84)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokVoid")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 85)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokVolatile")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 86)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokWhile")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 87)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokCLit")) [PWildCard,PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 88)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokILit")) [PWildCard,PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 89)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokFLit")) [PWildCard,PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 90)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSLit")) [PWildCard,PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 91)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_dollar_dollar")]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 92)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_dollar_dollar")]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 93)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCAttrTok")) [],PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 94)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCExtTok")) [],PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 95)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCComplexReal")) [],PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 96)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCComplexImag")) [],PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 97)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCVaArg")) [],PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 98)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCOffsetof")) [],PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 99)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCTyCompat")) [],PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 100)))) Nothing,Alt (SrcLoc "" -1 -1) PWildCard (UnGuardedRhs (App (Var (UnQual (Ident "happyError'"))) (Var (UnQual (Ident "tk"))))) Nothing])))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyError_") [PVar (Ident "tk")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyError'"))) (Var (UnQual (Ident "tk"))))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "happyThen"] (TyFun (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a"))) (TyFun (TyParen (TyFun (TyVar (Ident "a")) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "b"))))) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "b"))))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyThen")) (UnGuardedRhs (Var (UnQual (Symbol ">>=")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyReturn"] (TyFun (TyVar (Ident "a")) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a")))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReturn")) (UnGuardedRhs (Paren (Var (UnQual (Ident "return"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyThen1")) (UnGuardedRhs (Var (UnQual (Ident "happyThen")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyReturn1"] (TyFun (TyVar (Ident "a")) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a")))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReturn1")) (UnGuardedRhs (Var (UnQual (Ident "happyReturn")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyError'"] (TyFun (TyCon (UnQual (Ident "CToken"))) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a")))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyError'") [PVar (Ident "tk")] Nothing (UnGuardedRhs (App (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "token")] (Var (UnQual (Ident "happyError"))))) (Var (UnQual (Ident "tk"))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "translation_unit")) (UnGuardedRhs (Var (UnQual (Ident "happySomeParser")))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "happySomeParser")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (App (Var (UnQual (Ident "happyParse"))) (Lit (PrimInt 0))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "x")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyOut7"))) (Var (UnQual (Ident "x")))))))))) Nothing])),PatBind (SrcLoc "" -1 -1) (PVar (Ident "external_declaration")) (UnGuardedRhs (Var (UnQual (Ident "happySomeParser")))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "happySomeParser")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (App (Var (UnQual (Ident "happyParse"))) (Lit (PrimInt 1))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "x")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyOut9"))) (Var (UnQual (Ident "x")))))))))) Nothing])),PatBind (SrcLoc "" -1 -1) (PVar (Ident "statement")) (UnGuardedRhs (Var (UnQual (Ident "happySomeParser")))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "happySomeParser")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (App (Var (UnQual (Ident "happyParse"))) (Lit (PrimInt 2))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "x")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "x")))))))))) Nothing])),PatBind (SrcLoc "" -1 -1) (PVar (Ident "expression")) (UnGuardedRhs (Var (UnQual (Ident "happySomeParser")))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "happySomeParser")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (App (Var (UnQual (Ident "happyParse"))) (Lit (PrimInt 3))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "x")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "x")))))))))) Nothing])),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happySeq")) (UnGuardedRhs (Var (UnQual (Ident "happyDontSeq")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "reverseList"] (TyFun (TyList (TyVar (Ident "a"))) (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyVar (Ident "a"))))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "reverseList")) (UnGuardedRhs (InfixApp (Con (UnQual (Ident "Reversed"))) (QVarOp (UnQual (Symbol "."))) (Var (Qual (ModuleName "List") (Ident "reverse"))))) Nothing,DataDecl (SrcLoc "" -1 -1) DataType [] (Ident "Located") [UnkindedVar (Ident "a")] [QualConDecl (SrcLoc "" -1 -1) [] [] (ConDecl (Ident "L") [TyBang BangedTy (TyVar (Ident "a")),TyBang BangedTy (TyCon (UnQual (Ident "Position")))])] [],TypeSig (SrcLoc "" -1 -1) [Ident "unL"] (TyFun (TyApp (TyCon (UnQual (Ident "Located"))) (TyVar (Ident "a"))) (TyVar (Ident "a"))),FunBind [Match (SrcLoc "" -1 -1) (Ident "unL") [PParen (PApp (UnQual (Ident "L")) [PVar (Ident "a"),PVar (Ident "pos")])] Nothing (UnGuardedRhs (Var (UnQual (Ident "a")))) Nothing],InstDecl (SrcLoc "" -1 -1) Nothing [] [] (UnQual (Ident "Pos")) [TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyVar (Ident "a")))] [InsDecl (FunBind [Match (SrcLoc "" -1 -1) (Ident "posOf") [PParen (PApp (UnQual (Ident "L")) [PWildCard,PVar (Ident "pos")])] Nothing (UnGuardedRhs (Var (UnQual (Ident "pos")))) Nothing])],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "withNodeInfo")),TypeSig (SrcLoc "" -1 -1) [Ident "withNodeInfo"] (TyForall Nothing [ClassA (UnQual (Ident "Pos")) [TyVar (Ident "node")]] (TyFun (TyVar (Ident "node")) (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyVar (Ident "a")))) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "withNodeInfo") [PVar (Ident "node"),PVar (Ident "mkAttrNode")] Nothing (UnGuardedRhs (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "name")) (Var (UnQual (Ident "getNewName"))),Generator (SrcLoc "" -1 -1) (PVar (Ident "lastTok")) (Var (UnQual (Ident "getSavedToken"))),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "firstPos")) (UnGuardedRhs (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "node"))))) Nothing]),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "attrs")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "mkNodeInfo'"))) (Var (UnQual (Ident "firstPos")))) (Paren (InfixApp (Var (UnQual (Ident "posLenOfTok"))) (QVarOp (UnQual (Symbol "$!"))) (Var (UnQual (Ident "lastTok")))))) (Var (UnQual (Ident "name"))))) Nothing]),Qualifier (InfixApp (Var (UnQual (Ident "attrs"))) (QVarOp (UnQual (Ident "seq"))) (App (Var (UnQual (Ident "return"))) (Paren (App (Var (UnQual (Ident "mkAttrNode"))) (Var (UnQual (Ident "attrs")))))))])) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "withLength")),TypeSig (SrcLoc "" -1 -1) [Ident "withLength"] (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyVar (Ident "a")))) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "withLength") [PVar (Ident "nodeinfo"),PVar (Ident "mkAttrNode")] Nothing (UnGuardedRhs (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "lastTok")) (Var (UnQual (Ident "getSavedToken"))),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "firstPos")) (UnGuardedRhs (App (Var (UnQual (Ident "posOfNode"))) (Var (UnQual (Ident "nodeinfo"))))) Nothing]),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "attrs")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "mkNodeInfo'"))) (Var (UnQual (Ident "firstPos")))) (Paren (InfixApp (Var (UnQual (Ident "posLenOfTok"))) (QVarOp (UnQual (Symbol "$!"))) (Var (UnQual (Ident "lastTok")))))) (Paren (App (App (App (Var (UnQual (Ident "maybe"))) (Paren (App (Var (UnQual (Ident "error"))) (Lit (String "nameOfNode"))))) (Var (UnQual (Ident "id")))) (Paren (App (Var (UnQual (Ident "nameOfNode"))) (Var (UnQual (Ident "nodeinfo"))))))))) Nothing]),Qualifier (InfixApp (Var (UnQual (Ident "attrs"))) (QVarOp (UnQual (Ident "seq"))) (App (Var (UnQual (Ident "return"))) (Paren (App (Var (UnQual (Ident "mkAttrNode"))) (Var (UnQual (Ident "attrs")))))))])) Nothing],DataDecl (SrcLoc "" -1 -1) DataType [] (Ident "CDeclrR") [] [QualConDecl (SrcLoc "" -1 -1) [] [] (ConDecl (Ident "CDeclrR") [TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "Ident")))),TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDerivedDeclr"))))),TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit")))),TyList (TyCon (UnQual (Ident "CAttr"))),TyCon (UnQual (Ident "NodeInfo"))])] [],TypeSig (SrcLoc "" -1 -1) [Ident "reverseDeclr"] (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclr")))),FunBind [Match (SrcLoc "" -1 -1) (Ident "reverseDeclr") [PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ide"),PVar (Ident "reversedDDs"),PVar (Ident "asmname"),PVar (Ident "cattrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclr"))) (Var (UnQual (Ident "ide")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "reversedDDs")))))) (Var (UnQual (Ident "asmname")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "at"))))) Nothing],InstDecl (SrcLoc "" -1 -1) Nothing [] [] (UnQual (Ident "CNode")) [TyParen (TyCon (UnQual (Ident "CDeclrR")))] [InsDecl (FunBind [Match (SrcLoc "" -1 -1) (Ident "nodeInfo") [PParen (PApp (UnQual (Ident "CDeclrR")) [PWildCard,PWildCard,PWildCard,PWildCard,PVar (Ident "n")])] Nothing (UnGuardedRhs (Var (UnQual (Ident "n")))) Nothing])],InstDecl (SrcLoc "" -1 -1) Nothing [] [] (UnQual (Ident "Pos")) [TyParen (TyCon (UnQual (Ident "CDeclrR")))] [InsDecl (FunBind [Match (SrcLoc "" -1 -1) (Ident "posOf") [PParen (PApp (UnQual (Ident "CDeclrR")) [PWildCard,PWildCard,PWildCard,PWildCard,PVar (Ident "n")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "n"))))) Nothing])],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "withAttribute")),TypeSig (SrcLoc "" -1 -1) [Ident "withAttribute"] (TyForall Nothing [ClassA (UnQual (Ident "Pos")) [TyVar (Ident "node")]] (TyFun (TyVar (Ident "node")) (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyCon (UnQual (Ident "CDeclrR"))))) (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CDeclrR")))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "withAttribute") [PVar (Ident "node"),PVar (Ident "cattrs"),PVar (Ident "mkDeclrNode")] Nothing (UnGuardedRhs (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "name")) (Var (UnQual (Ident "getNewName"))),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "attrs")) (UnGuardedRhs (App (App (Var (UnQual (Ident "mkNodeInfo"))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "node")))))) (Var (UnQual (Ident "name"))))) Nothing]),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "newDeclr")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "cattrs")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "mkDeclrNode"))) (Var (UnQual (Ident "attrs")))))) Nothing]),Qualifier (InfixApp (Var (UnQual (Ident "attrs"))) (QVarOp (UnQual (Ident "seq"))) (InfixApp (Var (UnQual (Ident "newDeclr"))) (QVarOp (UnQual (Ident "seq"))) (App (Var (UnQual (Ident "return"))) (Var (UnQual (Ident "newDeclr"))))))])) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "withAttributePF")),TypeSig (SrcLoc "" -1 -1) [Ident "withAttributePF"] (TyForall Nothing [ClassA (UnQual (Ident "Pos")) [TyVar (Ident "node")]] (TyFun (TyVar (Ident "node")) (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR")))))) (TyApp (TyCon (UnQual (Ident "P"))) (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR")))))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "withAttributePF") [PVar (Ident "node"),PVar (Ident "cattrs"),PVar (Ident "mkDeclrCtor")] Nothing (UnGuardedRhs (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "name")) (Var (UnQual (Ident "getNewName"))),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "attrs")) (UnGuardedRhs (App (App (Var (UnQual (Ident "mkNodeInfo"))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "node")))))) (Var (UnQual (Ident "name"))))) Nothing]),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "newDeclr")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "cattrs")))) (QVarOp (UnQual (Symbol "."))) (App (Var (UnQual (Ident "mkDeclrCtor"))) (Var (UnQual (Ident "attrs")))))) Nothing]),Qualifier (InfixApp (Var (UnQual (Ident "attrs"))) (QVarOp (UnQual (Ident "seq"))) (InfixApp (Var (UnQual (Ident "newDeclr"))) (QVarOp (UnQual (Ident "seq"))) (App (Var (UnQual (Ident "return"))) (Var (UnQual (Ident "newDeclr"))))))])) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "appendObjAttrs"] (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyCon (UnQual (Ident "CDeclr"))) (TyCon (UnQual (Ident "CDeclr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "appendObjAttrs") [PVar (Ident "newAttrs"),PParen (PApp (UnQual (Ident "CDeclr")) [PVar (Ident "ident"),PVar (Ident "indirections"),PVar (Ident "asmname"),PVar (Ident "cAttrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclr"))) (Var (UnQual (Ident "ident")))) (Var (UnQual (Ident "indirections")))) (Var (UnQual (Ident "asmname")))) (Paren (InfixApp (Var (UnQual (Ident "cAttrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "newAttrs")))))) (Var (UnQual (Ident "at"))))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "appendObjAttrsR"] (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "appendObjAttrsR") [PVar (Ident "newAttrs"),PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PVar (Ident "indirections"),PVar (Ident "asmname"),PVar (Ident "cAttrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Var (UnQual (Ident "indirections")))) (Var (UnQual (Ident "asmname")))) (Paren (InfixApp (Var (UnQual (Ident "cAttrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "newAttrs")))))) (Var (UnQual (Ident "at"))))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "setAsmName"] (TyFun (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit")))) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "setAsmName") [PVar (Ident "mAsmName"),PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PVar (Ident "indirections"),PVar (Ident "oldName"),PVar (Ident "cattrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (Case (App (App (Var (UnQual (Ident "combineName"))) (Var (UnQual (Ident "mAsmName")))) (Var (UnQual (Ident "oldName")))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Left")) [PTuple Boxed [PVar (Ident "n1"),PVar (Ident "n2")]]) (UnGuardedRhs (App (App (Var (UnQual (Ident "failP"))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "n2")))))) (List [Lit (String "Duplicate assembler name: "),App (Var (UnQual (Ident "showName"))) (Var (UnQual (Ident "n1"))),App (Var (UnQual (Ident "showName"))) (Var (UnQual (Ident "n2")))]))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Right")) [PVar (Ident "newName")]) (UnGuardedRhs (InfixApp (Var (UnQual (Ident "return"))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Var (UnQual (Ident "indirections")))) (Var (UnQual (Ident "newName")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "at")))))) Nothing])) (Just (BDecls [FunBind [Match (SrcLoc "" -1 -1) (Ident "combineName") [PApp (UnQual (Ident "Nothing")) [],PApp (UnQual (Ident "Nothing")) []] Nothing (UnGuardedRhs (App (Con (UnQual (Ident "Right"))) (Con (UnQual (Ident "Nothing"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "combineName") [PApp (UnQual (Ident "Nothing")) [],PAsPat (Ident "oldname") (PParen (PApp (UnQual (Ident "Just")) [PWildCard]))] Nothing (UnGuardedRhs (App (Con (UnQual (Ident "Right"))) (Var (UnQual (Ident "oldname"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "combineName") [PAsPat (Ident "newname") (PParen (PApp (UnQual (Ident "Just")) [PWildCard])),PApp (UnQual (Ident "Nothing")) []] Nothing (UnGuardedRhs (App (Con (UnQual (Ident "Right"))) (Var (UnQual (Ident "newname"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "combineName") [PParen (PApp (UnQual (Ident "Just")) [PVar (Ident "n1")]),PParen (PApp (UnQual (Ident "Just")) [PVar (Ident "n2")])] Nothing (UnGuardedRhs (App (Con (UnQual (Ident "Left"))) (Tuple Boxed [Var (UnQual (Ident "n1")),Var (UnQual (Ident "n2"))]))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "showName") [PParen (PApp (UnQual (Ident "CStrLit")) [PVar (Ident "cstr"),PWildCard])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "show"))) (Var (UnQual (Ident "cstr"))))) Nothing]]))],TypeSig (SrcLoc "" -1 -1) [Ident "withAsmNameAttrs"] (TyFun (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit"))),TyList (TyCon (UnQual (Ident "CAttr")))]) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "withAsmNameAttrs") [PTuple Boxed [PVar (Ident "mAsmName"),PVar (Ident "newAttrs")],PVar (Ident "declr")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "setAsmName"))) (Var (UnQual (Ident "mAsmName")))) (Paren (App (App (Var (UnQual (Ident "appendObjAttrsR"))) (Var (UnQual (Ident "newAttrs")))) (Var (UnQual (Ident "declr"))))))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "appendDeclrAttrs"] (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "appendDeclrAttrs") [PVar (Ident "newAttrs"),PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PParen (PApp (UnQual (Ident "Reversed")) [PList []]),PVar (Ident "asmname"),PVar (Ident "cattrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Var (UnQual (Ident "empty")))) (Var (UnQual (Ident "asmname")))) (Paren (InfixApp (Var (UnQual (Ident "cattrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "newAttrs")))))) (Var (UnQual (Ident "at"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "appendDeclrAttrs") [PVar (Ident "newAttrs"),PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PParen (PApp (UnQual (Ident "Reversed")) [PParen (PInfixApp (PVar (Ident "x")) (Special Cons) (PVar (Ident "xs")))]),PVar (Ident "asmname"),PVar (Ident "cattrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Paren (App (Con (UnQual (Ident "Reversed"))) (Paren (InfixApp (App (Var (UnQual (Ident "appendAttrs"))) (Var (UnQual (Ident "x")))) (QConOp (Special Cons)) (Var (UnQual (Ident "xs")))))))) (Var (UnQual (Ident "asmname")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "at"))))) (Just (BDecls [FunBind [Match (SrcLoc "" -1 -1) (Ident "appendAttrs") [PParen (PApp (UnQual (Ident "CPtrDeclr")) [PVar (Ident "typeQuals"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (Con (UnQual (Ident "CPtrDeclr"))) (Paren (InfixApp (Var (UnQual (Ident "typeQuals"))) (QVarOp (UnQual (Symbol "++"))) (App (App (Var (UnQual (Ident "map"))) (Con (UnQual (Ident "CAttrQual")))) (Var (UnQual (Ident "newAttrs"))))))) (Var (UnQual (Ident "at"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "appendAttrs") [PParen (PApp (UnQual (Ident "CArrDeclr")) [PVar (Ident "typeQuals"),PVar (Ident "arraySize"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CArrDeclr"))) (Paren (InfixApp (Var (UnQual (Ident "typeQuals"))) (QVarOp (UnQual (Symbol "++"))) (App (App (Var (UnQual (Ident "map"))) (Con (UnQual (Ident "CAttrQual")))) (Var (UnQual (Ident "newAttrs"))))))) (Var (UnQual (Ident "arraySize")))) (Var (UnQual (Ident "at"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "appendAttrs") [PParen (PApp (UnQual (Ident "CFunDeclr")) [PVar (Ident "parameters"),PVar (Ident "cattrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CFunDeclr"))) (Var (UnQual (Ident "parameters")))) (Paren (InfixApp (Var (UnQual (Ident "cattrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "newAttrs")))))) (Var (UnQual (Ident "at"))))) Nothing]]))],TypeSig (SrcLoc "" -1 -1) [Ident "ptrDeclr"] (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyFun (TyList (TyCon (UnQual (Ident "CTypeQual")))) (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "ptrDeclr") [PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PVar (Ident "derivedDeclrs"),PVar (Ident "asmname"),PVar (Ident "cattrs"),PVar (Ident "dat")]),PVar (Ident "tyquals"),PVar (Ident "at")] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Paren (InfixApp (Var (UnQual (Ident "derivedDeclrs"))) (QVarOp (UnQual (Ident "snoc"))) (App (App (Con (UnQual (Ident "CPtrDeclr"))) (Var (UnQual (Ident "tyquals")))) (Var (UnQual (Ident "at"))))))) (Var (UnQual (Ident "asmname")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "dat"))))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "funDeclr"] (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyFun (TyParen (TyApp (TyApp (TyCon (UnQual (Ident "Either"))) (TyList (TyCon (UnQual (Ident "Ident"))))) (TyTuple Boxed [TyList (TyCon (UnQual (Ident "CDecl"))),TyCon (UnQual (Ident "Bool"))]))) (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyCon (UnQual (Ident "CDeclrR"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "funDeclr") [PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PVar (Ident "derivedDeclrs"),PVar (Ident "asmname"),PVar (Ident "dcattrs"),PVar (Ident "dat")]),PVar (Ident "params"),PVar (Ident "cattrs"),PVar (Ident "at")] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Paren (InfixApp (Var (UnQual (Ident "derivedDeclrs"))) (QVarOp (UnQual (Ident "snoc"))) (App (App (App (Con (UnQual (Ident "CFunDeclr"))) (Var (UnQual (Ident "params")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "at"))))))) (Var (UnQual (Ident "asmname")))) (Var (UnQual (Ident "dcattrs")))) (Var (UnQual (Ident "dat"))))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "arrDeclr"] (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyFun (TyList (TyCon (UnQual (Ident "CTypeQual")))) (TyFun (TyCon (UnQual (Ident "Bool"))) (TyFun (TyCon (UnQual (Ident "Bool"))) (TyFun (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))) (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyCon (UnQual (Ident "CDeclrR"))))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "arrDeclr") [PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PVar (Ident "derivedDeclrs"),PVar (Ident "asmname"),PVar (Ident "cattrs"),PVar (Ident "dat")]),PVar (Ident "tyquals"),PVar (Ident "var_sized"),PVar (Ident "static_size"),PVar (Ident "size_expr_opt"),PVar (Ident "at")] Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "arr_sz"))) (QVarOp (UnQual (Ident "seq"))) (Paren (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Paren (InfixApp (Var (UnQual (Ident "derivedDeclrs"))) (QVarOp (UnQual (Ident "snoc"))) (App (App (App (Con (UnQual (Ident "CArrDeclr"))) (Var (UnQual (Ident "tyquals")))) (Var (UnQual (Ident "arr_sz")))) (Var (UnQual (Ident "at"))))))) (Var (UnQual (Ident "asmname")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "dat"))))))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "arr_sz")) (UnGuardedRhs (Case (Var (UnQual (Ident "size_expr_opt"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Just")) [PVar (Ident "e")]) (UnGuardedRhs (App (App (Con (UnQual (Ident "CArrSize"))) (Var (UnQual (Ident "static_size")))) (Var (UnQual (Ident "e"))))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Nothing")) []) (UnGuardedRhs (App (Con (UnQual (Ident "CNoArrSize"))) (Var (UnQual (Ident "var_sized"))))) Nothing])) Nothing]))],TypeSig (SrcLoc "" -1 -1) [Ident "liftTypeQuals"] (TyFun (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CTypeQual"))))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "liftTypeQuals")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "map"))) (Con (UnQual (Ident "CTypeQual")))) (QVarOp (UnQual (Symbol "."))) (Var (UnQual (Ident "reverse"))))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "liftCAttrs"] (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "liftCAttrs")) (UnGuardedRhs (App (Var (UnQual (Ident "map"))) (Paren (InfixApp (Con (UnQual (Ident "CTypeQual"))) (QVarOp (UnQual (Symbol "."))) (Con (UnQual (Ident "CAttrQual"))))))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "addTrailingAttrs"] (TyFun (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))) (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "addTrailingAttrs") [PVar (Ident "declspecs"),PVar (Ident "new_attrs")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "viewr"))) (Var (UnQual (Ident "declspecs")))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PVar (Ident "specs_init"),PApp (UnQual (Ident "CTypeSpec")) [PParen (PApp (UnQual (Ident "CSUType")) [PParen (PApp (UnQual (Ident "CStruct")) [PVar (Ident "tag"),PVar (Ident "name"),PParen (PApp (UnQual (Ident "Just")) [PVar (Ident "def")]),PVar (Ident "def_attrs"),PVar (Ident "su_node")]),PVar (Ident "node")])]]) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "specs_init"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CSUType"))) (Paren (App (App (App (App (App (Con (UnQual (Ident "CStruct"))) (Var (UnQual (Ident "tag")))) (Var (UnQual (Ident "name")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "def")))))) (Paren (InfixApp (Var (UnQual (Ident "def_attrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "new_attrs")))))) (Var (UnQual (Ident "su_node")))))) (Var (UnQual (Ident "node"))))))))) Nothing,Alt (SrcLoc "" -1 -1) (PTuple Boxed [PVar (Ident "specs_init"),PApp (UnQual (Ident "CTypeSpec")) [PParen (PApp (UnQual (Ident "CEnumType")) [PParen (PApp (UnQual (Ident "CEnum")) [PVar (Ident "name"),PParen (PApp (UnQual (Ident "Just")) [PVar (Ident "def")]),PVar (Ident "def_attrs"),PVar (Ident "e_node")]),PVar (Ident "node")])]]) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "specs_init"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CEnumType"))) (Paren (App (App (App (App (Con (UnQual (Ident "CEnum"))) (Var (UnQual (Ident "name")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "def")))))) (Paren (InfixApp (Var (UnQual (Ident "def_attrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "new_attrs")))))) (Var (UnQual (Ident "e_node")))))) (Var (UnQual (Ident "node"))))))))) Nothing,Alt (SrcLoc "" -1 -1) PWildCard (UnGuardedRhs (InfixApp (Var (UnQual (Ident "declspecs"))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "new_attrs"))))))) Nothing])) Nothing],InstDecl (SrcLoc "" -1 -1) Nothing [] [ClassA (UnQual (Ident "Pos")) [TyVar (Ident "a")]] (UnQual (Ident "Pos")) [TyList (TyVar (Ident "a"))] [InsDecl (FunBind [Match (SrcLoc "" -1 -1) (Ident "posOf") [PParen (PInfixApp (PVar (Ident "x")) (Special Cons) PWildCard)] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "x"))))) Nothing])],InstDecl (SrcLoc "" -1 -1) Nothing [] [ClassA (UnQual (Ident "Pos")) [TyVar (Ident "a")]] (UnQual (Ident "Pos")) [TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyVar (Ident "a")))] [InsDecl (FunBind [Match (SrcLoc "" -1 -1) (Ident "posOf") [PParen (PApp (UnQual (Ident "Reversed")) [PVar (Ident "x")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "x"))))) Nothing])],TypeSig (SrcLoc "" -1 -1) [Ident "emptyDeclr"] (TyCon (UnQual (Ident "CDeclrR"))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "emptyDeclr")) (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "empty")))) (Con (UnQual (Ident "Nothing")))) (List [])) (Var (UnQual (Ident "undefNode"))))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "mkVarDeclr"] (TyFun (TyCon (UnQual (Ident "Ident"))) (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "mkVarDeclr") [PVar (Ident "ident")] Nothing (UnGuardedRhs (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "ident")))))) (Var (UnQual (Ident "empty")))) (Con (UnQual (Ident "Nothing")))) (List []))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "doDeclIdent"] (TyFun (TyList (TyCon (UnQual (Ident "CDeclSpec")))) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (Special UnitCon))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "doDeclIdent") [PVar (Ident "declspecs"),PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "mIdent"),PWildCard,PWildCard,PWildCard,PWildCard])] Nothing (UnGuardedRhs (Case (Var (UnQual (Ident "mIdent"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Nothing")) []) (UnGuardedRhs (App (Var (UnQual (Ident "return"))) (Con (Special UnitCon)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Just")) [PVar (Ident "ident")]) (GuardedRhss [GuardedRhs (SrcLoc "" -1 -1) [Qualifier (App (App (Var (UnQual (Ident "any"))) (Var (UnQual (Ident "iypedef")))) (Var (UnQual (Ident "declspecs"))))] (App (Var (UnQual (Ident "addTypedef"))) (Var (UnQual (Ident "ident")))),GuardedRhs (SrcLoc "" -1 -1) [Qualifier (Var (UnQual (Ident "otherwise")))] (App (Var (UnQual (Ident "shadowTypedef"))) (Var (UnQual (Ident "ident"))))]) Nothing])) (Just (BDecls [FunBind [Match (SrcLoc "" -1 -1) (Ident "iypedef") [PParen (PApp (UnQual (Ident "CStorageSpec")) [PParen (PApp (UnQual (Ident "CTypedef")) [PWildCard])])] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) Nothing,Match (SrcLoc "" -1 -1) (Ident "iypedef") [PWildCard] Nothing (UnGuardedRhs (Con (UnQual (Ident "False")))) Nothing]]))],TypeSig (SrcLoc "" -1 -1) [Ident "doFuncParamDeclIdent"] (TyFun (TyCon (UnQual (Ident "CDeclr"))) (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (Special UnitCon)))),FunBind [Match (SrcLoc "" -1 -1) (Ident "doFuncParamDeclIdent") [PParen (PApp (UnQual (Ident "CDeclr")) [PWildCard,PParen (PInfixApp (PApp (UnQual (Ident "CFunDeclr")) [PVar (Ident "params"),PWildCard,PWildCard]) (Special Cons) PWildCard),PWildCard,PWildCard,PWildCard])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "sequence_"))) (ListComp (Case (App (Var (UnQual (Ident "getCDeclrIdent"))) (Var (UnQual (Ident "declr")))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Nothing")) []) (UnGuardedRhs (App (Var (UnQual (Ident "return"))) (Con (Special UnitCon)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Just")) [PVar (Ident "ident")]) (UnGuardedRhs (App (Var (UnQual (Ident "shadowTypedef"))) (Var (UnQual (Ident "ident"))))) Nothing]) [QualStmt (Generator (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PWildCard,PVar (Ident "dle"),PWildCard]) (App (App (App (Var (UnQual (Ident "either"))) (Paren (App (Var (UnQual (Ident "const"))) (List [])))) (Var (UnQual (Ident "fst")))) (Var (UnQual (Ident "params"))))),QualStmt (Generator (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Just")) [PVar (Ident "declr")],PWildCard,PWildCard]) (Var (UnQual (Ident "dle"))))]))) Nothing,Match (SrcLoc "" -1 -1) (Ident "doFuncParamDeclIdent") [PWildCard] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "return"))) (Con (Special UnitCon)))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "getCDeclrIdent"] (TyFun (TyCon (UnQual (Ident "CDeclr"))) (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "Ident"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "getCDeclrIdent") [PParen (PApp (UnQual (Ident "CDeclr")) [PVar (Ident "mIdent"),PWildCard,PWildCard,PWildCard,PWildCard])] Nothing (UnGuardedRhs (Var (UnQual (Ident "mIdent")))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "happyError"] (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a"))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyError")) (UnGuardedRhs (Var (UnQual (Ident "parseError")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "parseC"] (TyFun (TyCon (UnQual (Ident "InputStream"))) (TyFun (TyCon (UnQual (Ident "Position"))) (TyApp (TyApp (TyCon (UnQual (Ident "Either"))) (TyCon (UnQual (Ident "ParseError")))) (TyCon (UnQual (Ident "CTranslUnit")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "parseC") [PVar (Ident "input"),PVar (Ident "initialPosition")] Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "fmap"))) (Var (UnQual (Ident "fst")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Var (UnQual (Ident "execParser"))) (Var (UnQual (Ident "translUnitP")))) (Var (UnQual (Ident "input")))) (Var (UnQual (Ident "initialPosition")))) (Var (UnQual (Ident "builtinTypeNames")))) (Paren (App (Var (UnQual (Ident "namesStartingFrom"))) (Lit (Int 0))))))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "translUnitP"] (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CTranslUnit")))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "translUnitP")) (UnGuardedRhs (Var (UnQual (Ident "translation_unit")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "extDeclP"] (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CExtDecl")))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "extDeclP")) (UnGuardedRhs (Var (UnQual (Ident "external_declaration")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "statementP"] (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CStat")))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "statementP")) (UnGuardedRhs (Var (UnQual (Ident "statement")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "expressionP"] (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CExpr")))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "expressionP")) (UnGuardedRhs (Var (UnQual (Ident "expression")))) Nothing,DataDecl (SrcLoc "" -1 -1) DataType [] (Ident "Happy_IntList") [] [QualConDecl (SrcLoc "" -1 -1) [] [] (ConDecl (Ident "HappyCons") [TyCon (UnQual (Ident "Int#")),TyCon (UnQual (Ident "Happy_IntList"))])] [],InfixDecl (SrcLoc "" -1 -1) AssocRight 9 [ConOp (Ident "HappyStk")],DataDecl (SrcLoc "" -1 -1) DataType [] (Ident "HappyStk") [UnkindedVar (Ident "a")] [QualConDecl (SrcLoc "" -1 -1) [] [] (ConDecl (Ident "HappyStk") [TyVar (Ident "a"),TyParen (TyApp (TyCon (UnQual (Ident "HappyStk"))) (TyVar (Ident "a")))])] [],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyParse") [PVar (Ident "start_state")] Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyNewToken"))) (Var (UnQual (Ident "start_state")))) (Var (UnQual (Ident "notHappyAtAll")))) (Var (UnQual (Ident "notHappyAtAll"))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyAccept") [PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PParen (PInfixApp PWildCard (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "ans")) (UnQual (Ident "HappyStk")) PWildCard)))] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyReturn1"))) (Var (UnQual (Ident "ans"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyAccept") [PVar (Ident "j"),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PParen (PApp (UnQual (Ident "HappyStk")) [PVar (Ident "ans"),PWildCard])] Nothing (UnGuardedRhs (App (Paren (App (App (Var (UnQual (Ident "happyTcHack"))) (Var (UnQual (Ident "j")))) (Paren (App (Var (UnQual (Ident "happyTcHack"))) (Var (UnQual (Ident "st"))))))) (Paren (App (Var (UnQual (Ident "happyReturn1"))) (Var (UnQual (Ident "ans"))))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyDoAction") [PVar (Ident "i"),PVar (Ident "tk"),PVar (Ident "st")] Nothing (UnGuardedRhs (Case (Var (UnQual (Ident "action"))) [Alt (SrcLoc "" -1 -1) (PLit Signless (PrimInt 0)) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyFail"))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st"))))) Nothing,Alt (SrcLoc "" -1 -1) (PLit Negative (PrimInt 1)) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyAccept"))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st"))))) Nothing,Alt (SrcLoc "" -1 -1) (PVar (Ident "n")) (GuardedRhss [GuardedRhs (SrcLoc "" -1 -1) [Qualifier (Paren (InfixApp (Var (UnQual (Ident "n"))) (QVarOp (UnQual (Symbol "<#"))) (Paren (ExpTypeSig (SrcLoc "" -1 -1) (Lit (PrimInt 0)) (TyCon (UnQual (Ident "Int#")))))))] (App (App (App (Paren (InfixApp (Var (UnQual (Ident "happyReduceArr"))) (QVarOp (UnQual (Symbol "!"))) (Var (UnQual (Ident "rule"))))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st"))))]) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "rule")) (UnGuardedRhs (Paren (App (Con (UnQual (Ident "I#"))) (Paren (Paren (App (Var (UnQual (Ident "negateInt#"))) (Paren (Paren (InfixApp (Var (UnQual (Ident "n"))) (QVarOp (UnQual (Symbol "+#"))) (Paren (ExpTypeSig (SrcLoc "" -1 -1) (Lit (PrimInt 1)) (TyCon (UnQual (Ident "Int#")))))))))))))) Nothing])),Alt (SrcLoc "" -1 -1) (PVar (Ident "n")) (UnGuardedRhs (App (App (App (App (Var (UnQual (Ident "happyShift"))) (Var (UnQual (Ident "new_state")))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st"))))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "new_state")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "n"))) (QVarOp (UnQual (Symbol "-#"))) (Paren (ExpTypeSig (SrcLoc "" -1 -1) (Lit (PrimInt 1)) (TyCon (UnQual (Ident "Int#")))))))) Nothing]))])) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "off")) (UnGuardedRhs (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyActOffsets")))) (Var (UnQual (Ident "st"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "off_i")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "off"))) (QVarOp (UnQual (Symbol "+#"))) (Var (UnQual (Ident "i")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "check")) (UnGuardedRhs (If (Paren (InfixApp (Var (UnQual (Ident "off_i"))) (QVarOp (UnQual (Symbol ">=#"))) (Paren (ExpTypeSig (SrcLoc "" -1 -1) (Lit (PrimInt 0)) (TyCon (UnQual (Ident "Int#"))))))) (Paren (InfixApp (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyCheck")))) (Var (UnQual (Ident "off_i")))) (QVarOp (UnQual (Symbol "==#"))) (Var (UnQual (Ident "i"))))) (Con (UnQual (Ident "False"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "action")) (GuardedRhss [GuardedRhs (SrcLoc "" -1 -1) [Qualifier (Var (UnQual (Ident "check")))] (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyTable")))) (Var (UnQual (Ident "off_i")))),GuardedRhs (SrcLoc "" -1 -1) [Qualifier (Var (UnQual (Ident "otherwise")))] (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyDefActions")))) (Var (UnQual (Ident "st"))))]) Nothing]))],FunBind [Match (SrcLoc "" -1 -1) (Ident "indexShortOffAddr") [PParen (PApp (UnQual (Ident "HappyA#")) [PVar (Ident "arr")]),PVar (Ident "off")] Nothing (UnGuardedRhs (InfixApp (App (App (App (App (Var (UnQual (Ident "narrow16Int#"))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "intToInt16#")))) (Var (UnQual (Ident "i")))) (Paren (InfixApp (Var (UnQual (Ident "i"))) (QVarOp (UnQual (Ident "iShiftL#"))) (Lit (PrimInt 16))))) (QVarOp (UnQual (Ident "iShiftRA#"))) (Lit (PrimInt 16)))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "i")) (UnGuardedRhs (App (Var (UnQual (Ident "word2Int#"))) (Paren (InfixApp (Paren (InfixApp (Var (UnQual (Ident "high"))) (QVarOp (UnQual (Ident "uncheckedShiftL#"))) (Lit (PrimInt 8)))) (QVarOp (UnQual (Ident "or#"))) (Var (UnQual (Ident "low"))))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "i")) (UnGuardedRhs (App (Var (UnQual (Ident "word2Int#"))) (Paren (InfixApp (Paren (InfixApp (Var (UnQual (Ident "high"))) (QVarOp (UnQual (Ident "shiftL#"))) (Lit (PrimInt 8)))) (QVarOp (UnQual (Ident "or#"))) (Var (UnQual (Ident "low"))))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "high")) (UnGuardedRhs (App (Var (UnQual (Ident "int2Word#"))) (Paren (App (Var (UnQual (Ident "ord#"))) (Paren (App (App (Var (UnQual (Ident "indexCharOffAddr#"))) (Var (UnQual (Ident "arr")))) (Paren (InfixApp (Var (UnQual (Ident "off'"))) (QVarOp (UnQual (Symbol "+#"))) (Lit (PrimInt 1)))))))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "low")) (UnGuardedRhs (App (Var (UnQual (Ident "int2Word#"))) (Paren (App (Var (UnQual (Ident "ord#"))) (Paren (App (App (Var (UnQual (Ident "indexCharOffAddr#"))) (Var (UnQual (Ident "arr")))) (Var (UnQual (Ident "off'"))))))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "off'")) (UnGuardedRhs (InfixApp (Var (UnQual (Ident "off"))) (QVarOp (UnQual (Symbol "*#"))) (Lit (PrimInt 2)))) Nothing]))],DataDecl (SrcLoc "" -1 -1) DataType [] (Ident "HappyAddr") [] [QualConDecl (SrcLoc "" -1 -1) [] [] (ConDecl (Ident "HappyA#") [TyCon (UnQual (Ident "Addr#"))])] [],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyShift") [PVar (Ident "new_state"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PAsPat (Ident "stk") (PParen (PInfixApp (PVar (Ident "x")) (UnQual (Ident "HappyStk")) PWildCard))] Nothing (UnGuardedRhs (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "i")) (UnGuardedRhs (Paren (Case (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "I#")) [PParen (PVar (Ident "i"))])) (UnGuardedRhs (Var (UnQual (Ident "i")))) Nothing]))) Nothing]) (App (App (App (App (App (Var (UnQual (Ident "happyDoAction"))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "new_state")))) (Paren (App (App (Con (UnQual (Ident "HappyCons"))) (Paren (Var (UnQual (Ident "st"))))) (Paren (Var (UnQual (Ident "sts"))))))) (Paren (Var (UnQual (Ident "stk"))))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyShift") [PVar (Ident "new_state"),PVar (Ident "i"),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyNewToken"))) (Var (UnQual (Ident "new_state")))) (Paren (App (App (Con (UnQual (Ident "HappyCons"))) (Paren (Var (UnQual (Ident "st"))))) (Paren (Var (UnQual (Ident "sts"))))))) (Paren (InfixApp (Paren (App (Var (UnQual (Ident "happyInTok"))) (Paren (Var (UnQual (Ident "tk")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk"))))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_0") [PVar (Ident "i"),PVar (Ident "fn"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_0") [PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PAsPat (Ident "st") (PParen (PParen (PVar (Ident "action")))),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Paren (App (App (Con (UnQual (Ident "HappyCons"))) (Paren (Var (UnQual (Ident "st"))))) (Paren (Var (UnQual (Ident "sts"))))))) (Paren (InfixApp (Var (UnQual (Ident "fn"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk"))))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_1") [PVar (Ident "i"),PVar (Ident "fn"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_1") [PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PWildCard,PAsPat (Ident "sts") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st") (PParen (PVar (Ident "action")))),PParen PWildCard]))),PParen (PInfixApp (PVar (Ident "v1")) (UnQual (Ident "HappyStk")) (PVar (Ident "stk'")))] Nothing (UnGuardedRhs (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "r")) (UnGuardedRhs (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "v1"))))) Nothing]) (App (App (Var (UnQual (Ident "happySeq"))) (Var (UnQual (Ident "r")))) (Paren (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Paren (InfixApp (Var (UnQual (Ident "r"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk'")))))))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_2") [PVar (Ident "i"),PVar (Ident "fn"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_2") [PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PWildCard,PParen (PApp (UnQual (Ident "HappyCons")) [PParen PWildCard,PParen (PAsPat (Ident "sts") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st") (PParen (PVar (Ident "action")))),PParen PWildCard]))))]),PParen (PInfixApp (PVar (Ident "v1")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "v2")) (UnQual (Ident "HappyStk")) (PVar (Ident "stk'")))))] Nothing (UnGuardedRhs (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "r")) (UnGuardedRhs (App (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "v1")))) (Var (UnQual (Ident "v2"))))) Nothing]) (App (App (Var (UnQual (Ident "happySeq"))) (Var (UnQual (Ident "r")))) (Paren (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Paren (InfixApp (Var (UnQual (Ident "r"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk'")))))))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_3") [PVar (Ident "i"),PVar (Ident "fn"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_3") [PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PWildCard,PParen (PApp (UnQual (Ident "HappyCons")) [PParen PWildCard,PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen PWildCard,PParen (PAsPat (Ident "sts") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st") (PParen (PVar (Ident "action")))),PParen PWildCard]))))]))]),PParen (PInfixApp (PVar (Ident "v1")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "v2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "v3")) (UnQual (Ident "HappyStk")) (PVar (Ident "stk'")))))))] Nothing (UnGuardedRhs (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "r")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "v1")))) (Var (UnQual (Ident "v2")))) (Var (UnQual (Ident "v3"))))) Nothing]) (App (App (Var (UnQual (Ident "happySeq"))) (Var (UnQual (Ident "r")))) (Paren (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Paren (InfixApp (Var (UnQual (Ident "r"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk'")))))))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduce") [PVar (Ident "k"),PVar (Ident "i"),PVar (Ident "fn"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyReduce") [PVar (Ident "k"),PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (Case (App (App (Var (UnQual (Ident "happyDrop"))) (Paren (InfixApp (Var (UnQual (Ident "k"))) (QVarOp (UnQual (Symbol "-#"))) (Paren (ExpTypeSig (SrcLoc "" -1 -1) (Lit (PrimInt 1)) (TyCon (UnQual (Ident "Int#")))))))) (Var (UnQual (Ident "sts")))) [Alt (SrcLoc "" -1 -1) (PAsPat (Ident "sts1") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st1") (PParen (PVar (Ident "action")))),PParen PWildCard])))) (UnGuardedRhs (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "r")) (UnGuardedRhs (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "stk"))))) Nothing]) (App (App (Var (UnQual (Ident "happyDoSeq"))) (Var (UnQual (Ident "r")))) (Paren (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st1")))) (Var (UnQual (Ident "sts1")))) (Var (UnQual (Ident "r")))))))) Nothing])) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyMonadReduce") [PVar (Ident "k"),PVar (Ident "nt"),PVar (Ident "fn"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyMonadReduce") [PVar (Ident "k"),PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen1"))) (Paren (App (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "stk")))) (Var (UnQual (Ident "tk")))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st1")))) (Var (UnQual (Ident "sts1")))) (Paren (InfixApp (Var (UnQual (Ident "r"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "drop_stk")))))))))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PAsPat (Ident "sts1") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st1") (PParen (PVar (Ident "action")))),PParen PWildCard])))) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDrop"))) (Var (UnQual (Ident "k")))) (Paren (App (App (Con (UnQual (Ident "HappyCons"))) (Paren (Var (UnQual (Ident "st"))))) (Paren (Var (UnQual (Ident "sts")))))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "drop_stk")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDropStk"))) (Var (UnQual (Ident "k")))) (Var (UnQual (Ident "stk"))))) Nothing]))],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyMonad2Reduce") [PVar (Ident "k"),PVar (Ident "nt"),PVar (Ident "fn"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyMonad2Reduce") [PVar (Ident "k"),PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen1"))) (Paren (App (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "stk")))) (Var (UnQual (Ident "tk")))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (App (App (Var (UnQual (Ident "happyNewToken"))) (Var (UnQual (Ident "new_state")))) (Var (UnQual (Ident "sts1")))) (Paren (InfixApp (Var (UnQual (Ident "r"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "drop_stk")))))))))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PAsPat (Ident "sts1") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st1") (PParen (PVar (Ident "action")))),PParen PWildCard])))) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDrop"))) (Var (UnQual (Ident "k")))) (Paren (App (App (Con (UnQual (Ident "HappyCons"))) (Paren (Var (UnQual (Ident "st"))))) (Paren (Var (UnQual (Ident "sts")))))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "drop_stk")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDropStk"))) (Var (UnQual (Ident "k")))) (Var (UnQual (Ident "stk"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "off")) (UnGuardedRhs (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyGotoOffsets")))) (Var (UnQual (Ident "st1"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "off_i")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "off"))) (QVarOp (UnQual (Symbol "+#"))) (Var (UnQual (Ident "nt")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "new_state")) (UnGuardedRhs (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyTable")))) (Var (UnQual (Ident "off_i"))))) Nothing]))],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyDrop") [PLit Signless (PrimInt 0),PVar (Ident "l")] Nothing (UnGuardedRhs (Var (UnQual (Ident "l")))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyDrop") [PVar (Ident "n"),PParen (PApp (UnQual (Ident "HappyCons")) [PParen PWildCard,PParen (PVar (Ident "t"))])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDrop"))) (Paren (InfixApp (Var (UnQual (Ident "n"))) (QVarOp (UnQual (Symbol "-#"))) (Paren (ExpTypeSig (SrcLoc "" -1 -1) (Lit (PrimInt 1)) (TyCon (UnQual (Ident "Int#")))))))) (Var (UnQual (Ident "t"))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyDropStk") [PLit Signless (PrimInt 0),PVar (Ident "l")] Nothing (UnGuardedRhs (Var (UnQual (Ident "l")))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyDropStk") [PVar (Ident "n"),PParen (PInfixApp (PVar (Ident "x")) (UnQual (Ident "HappyStk")) (PVar (Ident "xs")))] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDropStk"))) (Paren (InfixApp (Var (UnQual (Ident "n"))) (QVarOp (UnQual (Symbol "-#"))) (Paren (ExpTypeSig (SrcLoc "" -1 -1) (Lit (PrimInt 1)) (TyCon (UnQual (Ident "Int#")))))))) (Var (UnQual (Ident "xs"))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyGoto") [PVar (Ident "nt"),PVar (Ident "j"),PVar (Ident "tk"),PVar (Ident "st")] Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyDoAction"))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "new_state"))))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "off")) (UnGuardedRhs (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyGotoOffsets")))) (Var (UnQual (Ident "st"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "off_i")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "off"))) (QVarOp (UnQual (Symbol "+#"))) (Var (UnQual (Ident "nt")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "new_state")) (UnGuardedRhs (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyTable")))) (Var (UnQual (Ident "off_i"))))) Nothing]))],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyFail") [PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "old_st"),PWildCard,PVar (Ident "stk")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyError_"))) (Var (UnQual (Ident "tk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyFail") [PVar (Ident "i"),PVar (Ident "tk"),PParen (PVar (Ident "action")),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyDoAction"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "action")))) (Var (UnQual (Ident "sts")))) (Paren (InfixApp (Paren (App (Var (UnQual (Ident "unsafeCoerce#"))) (Paren (App (Con (UnQual (Ident "I#"))) (Paren (Var (UnQual (Ident "i")))))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk"))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "notHappyAtAll")) (UnGuardedRhs (App (Var (UnQual (Ident "error"))) (Lit (String "Internal Happy error\n")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyTcHack"] (TyFun (TyCon (UnQual (Ident "Int#"))) (TyFun (TyVar (Ident "a")) (TyVar (Ident "a")))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyTcHack") [PVar (Ident "x"),PVar (Ident "y")] Nothing (UnGuardedRhs (Var (UnQual (Ident "y")))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyTcHack")),TypeSig (SrcLoc "" -1 -1) [Ident "happyDoSeq",Ident "happyDontSeq"] (TyFun (TyVar (Ident "a")) (TyFun (TyVar (Ident "b")) (TyVar (Ident "b")))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyDoSeq") [PVar (Ident "a"),PVar (Ident "b")] Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "a"))) (QVarOp (UnQual (Ident "seq"))) (Var (UnQual (Ident "b"))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyDontSeq") [PVar (Ident "a"),PVar (Ident "b")] Nothing (UnGuardedRhs (Var (UnQual (Ident "b")))) Nothing],InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyDoAction")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyTable")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyCheck")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyActOffsets")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyGotoOffsets")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyDefActions")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyShift")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happySpecReduce_0")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happySpecReduce_1")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happySpecReduce_2")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happySpecReduce_3")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyReduce")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyMonadReduce")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyGoto")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyFail"))]-
− tests/examples/CParser.hs.prettyprinter.golden
@@ -1,6540 +0,0 @@-{-# OPTIONS -fglasgow-exts -cpp #-}-{-# LANGUAGE MagicHash #-}-module Language.C.Parser.Parser-       (parseC, translUnitP, extDeclP, statementP, expressionP) where-import Prelude hiding (reverse)-import qualified Data.List as List-import Control.Monad (mplus)-import Language.C.Parser.Builtin (builtinTypeNames)-import Language.C.Parser.Lexer (lexC, parseError)-import Language.C.Parser.Tokens-       (CToken(..), GnuCTok(..), posLenOfTok)-import Language.C.Parser.ParserMonad-       (P, failP, execParser, getNewName, addTypedef, shadowTypedef,-        getCurrentPosition, enterScope, leaveScope, getLastToken,-        getSavedToken, ParseError(..))-import Language.C.Data.RList-import Language.C.Data.InputStream-import Language.C.Data.Ident-import Language.C.Data.Name-import Language.C.Data.Node-import Language.C.Data.Position-import Language.C.Syntax-import Data.Array-import Array-import GHC.Exts-import GlaExts--newtype HappyAbsSyn = HappyAbsSyn (() -> ())--happyIn7 :: (CTranslUnit) -> (HappyAbsSyn)-happyIn7 x = unsafeCoerce# x--{-# INLINE happyIn7 #-}--happyOut7 :: (HappyAbsSyn) -> (CTranslUnit)-happyOut7 x = unsafeCoerce# x--{-# INLINE happyOut7 #-}--happyIn8 :: (Reversed [CExtDecl]) -> (HappyAbsSyn)-happyIn8 x = unsafeCoerce# x--{-# INLINE happyIn8 #-}--happyOut8 :: (HappyAbsSyn) -> (Reversed [CExtDecl])-happyOut8 x = unsafeCoerce# x--{-# INLINE happyOut8 #-}--happyIn9 :: (CExtDecl) -> (HappyAbsSyn)-happyIn9 x = unsafeCoerce# x--{-# INLINE happyIn9 #-}--happyOut9 :: (HappyAbsSyn) -> (CExtDecl)-happyOut9 x = unsafeCoerce# x--{-# INLINE happyOut9 #-}--happyIn10 :: (CFunDef) -> (HappyAbsSyn)-happyIn10 x = unsafeCoerce# x--{-# INLINE happyIn10 #-}--happyOut10 :: (HappyAbsSyn) -> (CFunDef)-happyOut10 x = unsafeCoerce# x--{-# INLINE happyOut10 #-}--happyIn11 :: (CDeclr) -> (HappyAbsSyn)-happyIn11 x = unsafeCoerce# x--{-# INLINE happyIn11 #-}--happyOut11 :: (HappyAbsSyn) -> (CDeclr)-happyOut11 x = unsafeCoerce# x--{-# INLINE happyOut11 #-}--happyIn12 :: (CStat) -> (HappyAbsSyn)-happyIn12 x = unsafeCoerce# x--{-# INLINE happyIn12 #-}--happyOut12 :: (HappyAbsSyn) -> (CStat)-happyOut12 x = unsafeCoerce# x--{-# INLINE happyOut12 #-}--happyIn13 :: (CStat) -> (HappyAbsSyn)-happyIn13 x = unsafeCoerce# x--{-# INLINE happyIn13 #-}--happyOut13 :: (HappyAbsSyn) -> (CStat)-happyOut13 x = unsafeCoerce# x--{-# INLINE happyOut13 #-}--happyIn14 :: (CStat) -> (HappyAbsSyn)-happyIn14 x = unsafeCoerce# x--{-# INLINE happyIn14 #-}--happyOut14 :: (HappyAbsSyn) -> (CStat)-happyOut14 x = unsafeCoerce# x--{-# INLINE happyOut14 #-}--happyIn15 :: (()) -> (HappyAbsSyn)-happyIn15 x = unsafeCoerce# x--{-# INLINE happyIn15 #-}--happyOut15 :: (HappyAbsSyn) -> (())-happyOut15 x = unsafeCoerce# x--{-# INLINE happyOut15 #-}--happyIn16 :: (()) -> (HappyAbsSyn)-happyIn16 x = unsafeCoerce# x--{-# INLINE happyIn16 #-}--happyOut16 :: (HappyAbsSyn) -> (())-happyOut16 x = unsafeCoerce# x--{-# INLINE happyOut16 #-}--happyIn17 :: (Reversed [CBlockItem]) -> (HappyAbsSyn)-happyIn17 x = unsafeCoerce# x--{-# INLINE happyIn17 #-}--happyOut17 :: (HappyAbsSyn) -> (Reversed [CBlockItem])-happyOut17 x = unsafeCoerce# x--{-# INLINE happyOut17 #-}--happyIn18 :: (CBlockItem) -> (HappyAbsSyn)-happyIn18 x = unsafeCoerce# x--{-# INLINE happyIn18 #-}--happyOut18 :: (HappyAbsSyn) -> (CBlockItem)-happyOut18 x = unsafeCoerce# x--{-# INLINE happyOut18 #-}--happyIn19 :: (CBlockItem) -> (HappyAbsSyn)-happyIn19 x = unsafeCoerce# x--{-# INLINE happyIn19 #-}--happyOut19 :: (HappyAbsSyn) -> (CBlockItem)-happyOut19 x = unsafeCoerce# x--{-# INLINE happyOut19 #-}--happyIn20 :: (CFunDef) -> (HappyAbsSyn)-happyIn20 x = unsafeCoerce# x--{-# INLINE happyIn20 #-}--happyOut20 :: (HappyAbsSyn) -> (CFunDef)-happyOut20 x = unsafeCoerce# x--{-# INLINE happyOut20 #-}--happyIn21 :: (Reversed [Ident]) -> (HappyAbsSyn)-happyIn21 x = unsafeCoerce# x--{-# INLINE happyIn21 #-}--happyOut21 :: (HappyAbsSyn) -> (Reversed [Ident])-happyOut21 x = unsafeCoerce# x--{-# INLINE happyOut21 #-}--happyIn22 :: (CStat) -> (HappyAbsSyn)-happyIn22 x = unsafeCoerce# x--{-# INLINE happyIn22 #-}--happyOut22 :: (HappyAbsSyn) -> (CStat)-happyOut22 x = unsafeCoerce# x--{-# INLINE happyOut22 #-}--happyIn23 :: (CStat) -> (HappyAbsSyn)-happyIn23 x = unsafeCoerce# x--{-# INLINE happyIn23 #-}--happyOut23 :: (HappyAbsSyn) -> (CStat)-happyOut23 x = unsafeCoerce# x--{-# INLINE happyOut23 #-}--happyIn24 :: (CStat) -> (HappyAbsSyn)-happyIn24 x = unsafeCoerce# x--{-# INLINE happyIn24 #-}--happyOut24 :: (HappyAbsSyn) -> (CStat)-happyOut24 x = unsafeCoerce# x--{-# INLINE happyOut24 #-}--happyIn25 :: (CStat) -> (HappyAbsSyn)-happyIn25 x = unsafeCoerce# x--{-# INLINE happyIn25 #-}--happyOut25 :: (HappyAbsSyn) -> (CStat)-happyOut25 x = unsafeCoerce# x--{-# INLINE happyOut25 #-}--happyIn26 :: (CAsmStmt) -> (HappyAbsSyn)-happyIn26 x = unsafeCoerce# x--{-# INLINE happyIn26 #-}--happyOut26 :: (HappyAbsSyn) -> (CAsmStmt)-happyOut26 x = unsafeCoerce# x--{-# INLINE happyOut26 #-}--happyIn27 :: (Maybe CTypeQual) -> (HappyAbsSyn)-happyIn27 x = unsafeCoerce# x--{-# INLINE happyIn27 #-}--happyOut27 :: (HappyAbsSyn) -> (Maybe CTypeQual)-happyOut27 x = unsafeCoerce# x--{-# INLINE happyOut27 #-}--happyIn28 :: ([CAsmOperand]) -> (HappyAbsSyn)-happyIn28 x = unsafeCoerce# x--{-# INLINE happyIn28 #-}--happyOut28 :: (HappyAbsSyn) -> ([CAsmOperand])-happyOut28 x = unsafeCoerce# x--{-# INLINE happyOut28 #-}--happyIn29 :: (Reversed [CAsmOperand]) -> (HappyAbsSyn)-happyIn29 x = unsafeCoerce# x--{-# INLINE happyIn29 #-}--happyOut29 :: (HappyAbsSyn) -> (Reversed [CAsmOperand])-happyOut29 x = unsafeCoerce# x--{-# INLINE happyOut29 #-}--happyIn30 :: (CAsmOperand) -> (HappyAbsSyn)-happyIn30 x = unsafeCoerce# x--{-# INLINE happyIn30 #-}--happyOut30 :: (HappyAbsSyn) -> (CAsmOperand)-happyOut30 x = unsafeCoerce# x--{-# INLINE happyOut30 #-}--happyIn31 :: (Reversed [CStrLit]) -> (HappyAbsSyn)-happyIn31 x = unsafeCoerce# x--{-# INLINE happyIn31 #-}--happyOut31 :: (HappyAbsSyn) -> (Reversed [CStrLit])-happyOut31 x = unsafeCoerce# x--{-# INLINE happyOut31 #-}--happyIn32 :: (CDecl) -> (HappyAbsSyn)-happyIn32 x = unsafeCoerce# x--{-# INLINE happyIn32 #-}--happyOut32 :: (HappyAbsSyn) -> (CDecl)-happyOut32 x = unsafeCoerce# x--{-# INLINE happyOut32 #-}--happyIn33 :: (Reversed [CDecl]) -> (HappyAbsSyn)-happyIn33 x = unsafeCoerce# x--{-# INLINE happyIn33 #-}--happyOut33 :: (HappyAbsSyn) -> (Reversed [CDecl])-happyOut33 x = unsafeCoerce# x--{-# INLINE happyOut33 #-}--happyIn34 :: (CDecl) -> (HappyAbsSyn)-happyIn34 x = unsafeCoerce# x--{-# INLINE happyIn34 #-}--happyOut34 :: (HappyAbsSyn) -> (CDecl)-happyOut34 x = unsafeCoerce# x--{-# INLINE happyOut34 #-}--happyIn35 :: ((Maybe CStrLit, [CAttr])) -> (HappyAbsSyn)-happyIn35 x = unsafeCoerce# x--{-# INLINE happyIn35 #-}--happyOut35 :: (HappyAbsSyn) -> ((Maybe CStrLit, [CAttr]))-happyOut35 x = unsafeCoerce# x--{-# INLINE happyOut35 #-}--happyIn36 :: (CDecl) -> (HappyAbsSyn)-happyIn36 x = unsafeCoerce# x--{-# INLINE happyIn36 #-}--happyOut36 :: (HappyAbsSyn) -> (CDecl)-happyOut36 x = unsafeCoerce# x--{-# INLINE happyOut36 #-}--happyIn37 :: ([CDeclSpec]) -> (HappyAbsSyn)-happyIn37 x = unsafeCoerce# x--{-# INLINE happyIn37 #-}--happyOut37 :: (HappyAbsSyn) -> ([CDeclSpec])-happyOut37 x = unsafeCoerce# x--{-# INLINE happyOut37 #-}--happyIn38 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn)-happyIn38 x = unsafeCoerce# x--{-# INLINE happyIn38 #-}--happyOut38 :: (HappyAbsSyn) -> (Reversed [CDeclSpec])-happyOut38 x = unsafeCoerce# x--{-# INLINE happyOut38 #-}--happyIn39 :: (CDeclSpec) -> (HappyAbsSyn)-happyIn39 x = unsafeCoerce# x--{-# INLINE happyIn39 #-}--happyOut39 :: (HappyAbsSyn) -> (CDeclSpec)-happyOut39 x = unsafeCoerce# x--{-# INLINE happyOut39 #-}--happyIn40 :: (CStorageSpec) -> (HappyAbsSyn)-happyIn40 x = unsafeCoerce# x--{-# INLINE happyIn40 #-}--happyOut40 :: (HappyAbsSyn) -> (CStorageSpec)-happyOut40 x = unsafeCoerce# x--{-# INLINE happyOut40 #-}--happyIn41 :: ([CDeclSpec]) -> (HappyAbsSyn)-happyIn41 x = unsafeCoerce# x--{-# INLINE happyIn41 #-}--happyOut41 :: (HappyAbsSyn) -> ([CDeclSpec])-happyOut41 x = unsafeCoerce# x--{-# INLINE happyOut41 #-}--happyIn42 :: (CTypeSpec) -> (HappyAbsSyn)-happyIn42 x = unsafeCoerce# x--{-# INLINE happyIn42 #-}--happyOut42 :: (HappyAbsSyn) -> (CTypeSpec)-happyOut42 x = unsafeCoerce# x--{-# INLINE happyOut42 #-}--happyIn43 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn)-happyIn43 x = unsafeCoerce# x--{-# INLINE happyIn43 #-}--happyOut43 :: (HappyAbsSyn) -> (Reversed [CDeclSpec])-happyOut43 x = unsafeCoerce# x--{-# INLINE happyOut43 #-}--happyIn44 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn)-happyIn44 x = unsafeCoerce# x--{-# INLINE happyIn44 #-}--happyOut44 :: (HappyAbsSyn) -> (Reversed [CDeclSpec])-happyOut44 x = unsafeCoerce# x--{-# INLINE happyOut44 #-}--happyIn45 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn)-happyIn45 x = unsafeCoerce# x--{-# INLINE happyIn45 #-}--happyOut45 :: (HappyAbsSyn) -> (Reversed [CDeclSpec])-happyOut45 x = unsafeCoerce# x--{-# INLINE happyOut45 #-}--happyIn46 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn)-happyIn46 x = unsafeCoerce# x--{-# INLINE happyIn46 #-}--happyOut46 :: (HappyAbsSyn) -> (Reversed [CDeclSpec])-happyOut46 x = unsafeCoerce# x--{-# INLINE happyOut46 #-}--happyIn47 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn)-happyIn47 x = unsafeCoerce# x--{-# INLINE happyIn47 #-}--happyOut47 :: (HappyAbsSyn) -> (Reversed [CDeclSpec])-happyOut47 x = unsafeCoerce# x--{-# INLINE happyOut47 #-}--happyIn48 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn)-happyIn48 x = unsafeCoerce# x--{-# INLINE happyIn48 #-}--happyOut48 :: (HappyAbsSyn) -> (Reversed [CDeclSpec])-happyOut48 x = unsafeCoerce# x--{-# INLINE happyOut48 #-}--happyIn49 :: (CTypeSpec) -> (HappyAbsSyn)-happyIn49 x = unsafeCoerce# x--{-# INLINE happyIn49 #-}--happyOut49 :: (HappyAbsSyn) -> (CTypeSpec)-happyOut49 x = unsafeCoerce# x--{-# INLINE happyOut49 #-}--happyIn50 :: (CStructUnion) -> (HappyAbsSyn)-happyIn50 x = unsafeCoerce# x--{-# INLINE happyIn50 #-}--happyOut50 :: (HappyAbsSyn) -> (CStructUnion)-happyOut50 x = unsafeCoerce# x--{-# INLINE happyOut50 #-}--happyIn51 :: (Located CStructTag) -> (HappyAbsSyn)-happyIn51 x = unsafeCoerce# x--{-# INLINE happyIn51 #-}--happyOut51 :: (HappyAbsSyn) -> (Located CStructTag)-happyOut51 x = unsafeCoerce# x--{-# INLINE happyOut51 #-}--happyIn52 :: (Reversed [CDecl]) -> (HappyAbsSyn)-happyIn52 x = unsafeCoerce# x--{-# INLINE happyIn52 #-}--happyOut52 :: (HappyAbsSyn) -> (Reversed [CDecl])-happyOut52 x = unsafeCoerce# x--{-# INLINE happyOut52 #-}--happyIn53 :: (CDecl) -> (HappyAbsSyn)-happyIn53 x = unsafeCoerce# x--{-# INLINE happyIn53 #-}--happyOut53 :: (HappyAbsSyn) -> (CDecl)-happyOut53 x = unsafeCoerce# x--{-# INLINE happyOut53 #-}--happyIn54 :: (CDecl) -> (HappyAbsSyn)-happyIn54 x = unsafeCoerce# x--{-# INLINE happyIn54 #-}--happyOut54 :: (HappyAbsSyn) -> (CDecl)-happyOut54 x = unsafeCoerce# x--{-# INLINE happyOut54 #-}--happyIn55 :: (CDecl) -> (HappyAbsSyn)-happyIn55 x = unsafeCoerce# x--{-# INLINE happyIn55 #-}--happyOut55 :: (HappyAbsSyn) -> (CDecl)-happyOut55 x = unsafeCoerce# x--{-# INLINE happyOut55 #-}--happyIn56 :: ((Maybe CDeclr, Maybe CExpr)) -> (HappyAbsSyn)-happyIn56 x = unsafeCoerce# x--{-# INLINE happyIn56 #-}--happyOut56 :: (HappyAbsSyn) -> ((Maybe CDeclr, Maybe CExpr))-happyOut56 x = unsafeCoerce# x--{-# INLINE happyOut56 #-}--happyIn57 :: ((Maybe CDeclr, Maybe CExpr)) -> (HappyAbsSyn)-happyIn57 x = unsafeCoerce# x--{-# INLINE happyIn57 #-}--happyOut57 :: (HappyAbsSyn) -> ((Maybe CDeclr, Maybe CExpr))-happyOut57 x = unsafeCoerce# x--{-# INLINE happyOut57 #-}--happyIn58 :: (CEnum) -> (HappyAbsSyn)-happyIn58 x = unsafeCoerce# x--{-# INLINE happyIn58 #-}--happyOut58 :: (HappyAbsSyn) -> (CEnum)-happyOut58 x = unsafeCoerce# x--{-# INLINE happyOut58 #-}--happyIn59 :: (Reversed [(Ident, Maybe CExpr)]) -> (HappyAbsSyn)-happyIn59 x = unsafeCoerce# x--{-# INLINE happyIn59 #-}--happyOut59 :: (HappyAbsSyn) -> (Reversed [(Ident, Maybe CExpr)])-happyOut59 x = unsafeCoerce# x--{-# INLINE happyOut59 #-}--happyIn60 :: ((Ident, Maybe CExpr)) -> (HappyAbsSyn)-happyIn60 x = unsafeCoerce# x--{-# INLINE happyIn60 #-}--happyOut60 :: (HappyAbsSyn) -> ((Ident, Maybe CExpr))-happyOut60 x = unsafeCoerce# x--{-# INLINE happyOut60 #-}--happyIn61 :: (CTypeQual) -> (HappyAbsSyn)-happyIn61 x = unsafeCoerce# x--{-# INLINE happyIn61 #-}--happyOut61 :: (HappyAbsSyn) -> (CTypeQual)-happyOut61 x = unsafeCoerce# x--{-# INLINE happyOut61 #-}--happyIn62 :: (Reversed [CTypeQual]) -> (HappyAbsSyn)-happyIn62 x = unsafeCoerce# x--{-# INLINE happyIn62 #-}--happyOut62 :: (HappyAbsSyn) -> (Reversed [CTypeQual])-happyOut62 x = unsafeCoerce# x--{-# INLINE happyOut62 #-}--happyIn63 :: (CDeclrR) -> (HappyAbsSyn)-happyIn63 x = unsafeCoerce# x--{-# INLINE happyIn63 #-}--happyOut63 :: (HappyAbsSyn) -> (CDeclrR)-happyOut63 x = unsafeCoerce# x--{-# INLINE happyOut63 #-}--happyIn64 :: (Maybe CStrLit) -> (HappyAbsSyn)-happyIn64 x = unsafeCoerce# x--{-# INLINE happyIn64 #-}--happyOut64 :: (HappyAbsSyn) -> (Maybe CStrLit)-happyOut64 x = unsafeCoerce# x--{-# INLINE happyOut64 #-}--happyIn65 :: (CDeclrR) -> (HappyAbsSyn)-happyIn65 x = unsafeCoerce# x--{-# INLINE happyIn65 #-}--happyOut65 :: (HappyAbsSyn) -> (CDeclrR)-happyOut65 x = unsafeCoerce# x--{-# INLINE happyOut65 #-}--happyIn66 :: (CDeclrR) -> (HappyAbsSyn)-happyIn66 x = unsafeCoerce# x--{-# INLINE happyIn66 #-}--happyOut66 :: (HappyAbsSyn) -> (CDeclrR)-happyOut66 x = unsafeCoerce# x--{-# INLINE happyOut66 #-}--happyIn67 :: (CDeclrR) -> (HappyAbsSyn)-happyIn67 x = unsafeCoerce# x--{-# INLINE happyIn67 #-}--happyOut67 :: (HappyAbsSyn) -> (CDeclrR)-happyOut67 x = unsafeCoerce# x--{-# INLINE happyOut67 #-}--happyIn68 :: (CDeclrR) -> (HappyAbsSyn)-happyIn68 x = unsafeCoerce# x--{-# INLINE happyIn68 #-}--happyOut68 :: (HappyAbsSyn) -> (CDeclrR)-happyOut68 x = unsafeCoerce# x--{-# INLINE happyOut68 #-}--happyIn69 :: (CDeclrR) -> (HappyAbsSyn)-happyIn69 x = unsafeCoerce# x--{-# INLINE happyIn69 #-}--happyOut69 :: (HappyAbsSyn) -> (CDeclrR)-happyOut69 x = unsafeCoerce# x--{-# INLINE happyOut69 #-}--happyIn70 :: (CDeclrR) -> (HappyAbsSyn)-happyIn70 x = unsafeCoerce# x--{-# INLINE happyIn70 #-}--happyOut70 :: (HappyAbsSyn) -> (CDeclrR)-happyOut70 x = unsafeCoerce# x--{-# INLINE happyOut70 #-}--happyIn71 :: (CDeclrR) -> (HappyAbsSyn)-happyIn71 x = unsafeCoerce# x--{-# INLINE happyIn71 #-}--happyOut71 :: (HappyAbsSyn) -> (CDeclrR)-happyOut71 x = unsafeCoerce# x--{-# INLINE happyOut71 #-}--happyIn72 :: (CDeclrR) -> (HappyAbsSyn)-happyIn72 x = unsafeCoerce# x--{-# INLINE happyIn72 #-}--happyOut72 :: (HappyAbsSyn) -> (CDeclrR)-happyOut72 x = unsafeCoerce# x--{-# INLINE happyOut72 #-}--happyIn73 :: (CDeclrR) -> (HappyAbsSyn)-happyIn73 x = unsafeCoerce# x--{-# INLINE happyIn73 #-}--happyOut73 :: (HappyAbsSyn) -> (CDeclrR)-happyOut73 x = unsafeCoerce# x--{-# INLINE happyOut73 #-}--happyIn74 :: (CDeclrR) -> (HappyAbsSyn)-happyIn74 x = unsafeCoerce# x--{-# INLINE happyIn74 #-}--happyOut74 :: (HappyAbsSyn) -> (CDeclrR)-happyOut74 x = unsafeCoerce# x--{-# INLINE happyOut74 #-}--happyIn75 :: (CDeclrR) -> (HappyAbsSyn)-happyIn75 x = unsafeCoerce# x--{-# INLINE happyIn75 #-}--happyOut75 :: (HappyAbsSyn) -> (CDeclrR)-happyOut75 x = unsafeCoerce# x--{-# INLINE happyOut75 #-}--happyIn76 :: (CDeclr) -> (HappyAbsSyn)-happyIn76 x = unsafeCoerce# x--{-# INLINE happyIn76 #-}--happyOut76 :: (HappyAbsSyn) -> (CDeclr)-happyOut76 x = unsafeCoerce# x--{-# INLINE happyOut76 #-}--happyIn77 :: (CDeclrR) -> (HappyAbsSyn)-happyIn77 x = unsafeCoerce# x--{-# INLINE happyIn77 #-}--happyOut77 :: (HappyAbsSyn) -> (CDeclrR)-happyOut77 x = unsafeCoerce# x--{-# INLINE happyOut77 #-}--happyIn78 :: (CDeclrR) -> (HappyAbsSyn)-happyIn78 x = unsafeCoerce# x--{-# INLINE happyIn78 #-}--happyOut78 :: (HappyAbsSyn) -> (CDeclrR)-happyOut78 x = unsafeCoerce# x--{-# INLINE happyOut78 #-}--happyIn79 :: (([CDecl], Bool)) -> (HappyAbsSyn)-happyIn79 x = unsafeCoerce# x--{-# INLINE happyIn79 #-}--happyOut79 :: (HappyAbsSyn) -> (([CDecl], Bool))-happyOut79 x = unsafeCoerce# x--{-# INLINE happyOut79 #-}--happyIn80 :: (Reversed [CDecl]) -> (HappyAbsSyn)-happyIn80 x = unsafeCoerce# x--{-# INLINE happyIn80 #-}--happyOut80 :: (HappyAbsSyn) -> (Reversed [CDecl])-happyOut80 x = unsafeCoerce# x--{-# INLINE happyOut80 #-}--happyIn81 :: (CDecl) -> (HappyAbsSyn)-happyIn81 x = unsafeCoerce# x--{-# INLINE happyIn81 #-}--happyOut81 :: (HappyAbsSyn) -> (CDecl)-happyOut81 x = unsafeCoerce# x--{-# INLINE happyOut81 #-}--happyIn82 :: (Reversed [Ident]) -> (HappyAbsSyn)-happyIn82 x = unsafeCoerce# x--{-# INLINE happyIn82 #-}--happyOut82 :: (HappyAbsSyn) -> (Reversed [Ident])-happyOut82 x = unsafeCoerce# x--{-# INLINE happyOut82 #-}--happyIn83 :: (CDecl) -> (HappyAbsSyn)-happyIn83 x = unsafeCoerce# x--{-# INLINE happyIn83 #-}--happyOut83 :: (HappyAbsSyn) -> (CDecl)-happyOut83 x = unsafeCoerce# x--{-# INLINE happyOut83 #-}--happyIn84 :: (CDeclrR) -> (HappyAbsSyn)-happyIn84 x = unsafeCoerce# x--{-# INLINE happyIn84 #-}--happyOut84 :: (HappyAbsSyn) -> (CDeclrR)-happyOut84 x = unsafeCoerce# x--{-# INLINE happyOut84 #-}--happyIn85 :: (CDeclrR -> CDeclrR) -> (HappyAbsSyn)-happyIn85 x = unsafeCoerce# x--{-# INLINE happyIn85 #-}--happyOut85 :: (HappyAbsSyn) -> (CDeclrR -> CDeclrR)-happyOut85 x = unsafeCoerce# x--{-# INLINE happyOut85 #-}--happyIn86 :: (CDeclrR -> CDeclrR) -> (HappyAbsSyn)-happyIn86 x = unsafeCoerce# x--{-# INLINE happyIn86 #-}--happyOut86 :: (HappyAbsSyn) -> (CDeclrR -> CDeclrR)-happyOut86 x = unsafeCoerce# x--{-# INLINE happyOut86 #-}--happyIn87 :: (CDeclrR -> CDeclrR) -> (HappyAbsSyn)-happyIn87 x = unsafeCoerce# x--{-# INLINE happyIn87 #-}--happyOut87 :: (HappyAbsSyn) -> (CDeclrR -> CDeclrR)-happyOut87 x = unsafeCoerce# x--{-# INLINE happyOut87 #-}--happyIn88 :: (CDeclrR) -> (HappyAbsSyn)-happyIn88 x = unsafeCoerce# x--{-# INLINE happyIn88 #-}--happyOut88 :: (HappyAbsSyn) -> (CDeclrR)-happyOut88 x = unsafeCoerce# x--{-# INLINE happyOut88 #-}--happyIn89 :: (CDeclrR) -> (HappyAbsSyn)-happyIn89 x = unsafeCoerce# x--{-# INLINE happyIn89 #-}--happyOut89 :: (HappyAbsSyn) -> (CDeclrR)-happyOut89 x = unsafeCoerce# x--{-# INLINE happyOut89 #-}--happyIn90 :: (CInit) -> (HappyAbsSyn)-happyIn90 x = unsafeCoerce# x--{-# INLINE happyIn90 #-}--happyOut90 :: (HappyAbsSyn) -> (CInit)-happyOut90 x = unsafeCoerce# x--{-# INLINE happyOut90 #-}--happyIn91 :: (Maybe CInit) -> (HappyAbsSyn)-happyIn91 x = unsafeCoerce# x--{-# INLINE happyIn91 #-}--happyOut91 :: (HappyAbsSyn) -> (Maybe CInit)-happyOut91 x = unsafeCoerce# x--{-# INLINE happyOut91 #-}--happyIn92 :: (Reversed CInitList) -> (HappyAbsSyn)-happyIn92 x = unsafeCoerce# x--{-# INLINE happyIn92 #-}--happyOut92 :: (HappyAbsSyn) -> (Reversed CInitList)-happyOut92 x = unsafeCoerce# x--{-# INLINE happyOut92 #-}--happyIn93 :: ([CDesignator]) -> (HappyAbsSyn)-happyIn93 x = unsafeCoerce# x--{-# INLINE happyIn93 #-}--happyOut93 :: (HappyAbsSyn) -> ([CDesignator])-happyOut93 x = unsafeCoerce# x--{-# INLINE happyOut93 #-}--happyIn94 :: (Reversed [CDesignator]) -> (HappyAbsSyn)-happyIn94 x = unsafeCoerce# x--{-# INLINE happyIn94 #-}--happyOut94 :: (HappyAbsSyn) -> (Reversed [CDesignator])-happyOut94 x = unsafeCoerce# x--{-# INLINE happyOut94 #-}--happyIn95 :: (CDesignator) -> (HappyAbsSyn)-happyIn95 x = unsafeCoerce# x--{-# INLINE happyIn95 #-}--happyOut95 :: (HappyAbsSyn) -> (CDesignator)-happyOut95 x = unsafeCoerce# x--{-# INLINE happyOut95 #-}--happyIn96 :: (CDesignator) -> (HappyAbsSyn)-happyIn96 x = unsafeCoerce# x--{-# INLINE happyIn96 #-}--happyOut96 :: (HappyAbsSyn) -> (CDesignator)-happyOut96 x = unsafeCoerce# x--{-# INLINE happyOut96 #-}--happyIn97 :: (CExpr) -> (HappyAbsSyn)-happyIn97 x = unsafeCoerce# x--{-# INLINE happyIn97 #-}--happyOut97 :: (HappyAbsSyn) -> (CExpr)-happyOut97 x = unsafeCoerce# x--{-# INLINE happyOut97 #-}--happyIn98 :: (Reversed [CDesignator]) -> (HappyAbsSyn)-happyIn98 x = unsafeCoerce# x--{-# INLINE happyIn98 #-}--happyOut98 :: (HappyAbsSyn) -> (Reversed [CDesignator])-happyOut98 x = unsafeCoerce# x--{-# INLINE happyOut98 #-}--happyIn99 :: (CExpr) -> (HappyAbsSyn)-happyIn99 x = unsafeCoerce# x--{-# INLINE happyIn99 #-}--happyOut99 :: (HappyAbsSyn) -> (CExpr)-happyOut99 x = unsafeCoerce# x--{-# INLINE happyOut99 #-}--happyIn100 :: (Reversed [CExpr]) -> (HappyAbsSyn)-happyIn100 x = unsafeCoerce# x--{-# INLINE happyIn100 #-}--happyOut100 :: (HappyAbsSyn) -> (Reversed [CExpr])-happyOut100 x = unsafeCoerce# x--{-# INLINE happyOut100 #-}--happyIn101 :: (CExpr) -> (HappyAbsSyn)-happyIn101 x = unsafeCoerce# x--{-# INLINE happyIn101 #-}--happyOut101 :: (HappyAbsSyn) -> (CExpr)-happyOut101 x = unsafeCoerce# x--{-# INLINE happyOut101 #-}--happyIn102 :: (Located CUnaryOp) -> (HappyAbsSyn)-happyIn102 x = unsafeCoerce# x--{-# INLINE happyIn102 #-}--happyOut102 :: (HappyAbsSyn) -> (Located CUnaryOp)-happyOut102 x = unsafeCoerce# x--{-# INLINE happyOut102 #-}--happyIn103 :: (CExpr) -> (HappyAbsSyn)-happyIn103 x = unsafeCoerce# x--{-# INLINE happyIn103 #-}--happyOut103 :: (HappyAbsSyn) -> (CExpr)-happyOut103 x = unsafeCoerce# x--{-# INLINE happyOut103 #-}--happyIn104 :: (CExpr) -> (HappyAbsSyn)-happyIn104 x = unsafeCoerce# x--{-# INLINE happyIn104 #-}--happyOut104 :: (HappyAbsSyn) -> (CExpr)-happyOut104 x = unsafeCoerce# x--{-# INLINE happyOut104 #-}--happyIn105 :: (CExpr) -> (HappyAbsSyn)-happyIn105 x = unsafeCoerce# x--{-# INLINE happyIn105 #-}--happyOut105 :: (HappyAbsSyn) -> (CExpr)-happyOut105 x = unsafeCoerce# x--{-# INLINE happyOut105 #-}--happyIn106 :: (CExpr) -> (HappyAbsSyn)-happyIn106 x = unsafeCoerce# x--{-# INLINE happyIn106 #-}--happyOut106 :: (HappyAbsSyn) -> (CExpr)-happyOut106 x = unsafeCoerce# x--{-# INLINE happyOut106 #-}--happyIn107 :: (CExpr) -> (HappyAbsSyn)-happyIn107 x = unsafeCoerce# x--{-# INLINE happyIn107 #-}--happyOut107 :: (HappyAbsSyn) -> (CExpr)-happyOut107 x = unsafeCoerce# x--{-# INLINE happyOut107 #-}--happyIn108 :: (CExpr) -> (HappyAbsSyn)-happyIn108 x = unsafeCoerce# x--{-# INLINE happyIn108 #-}--happyOut108 :: (HappyAbsSyn) -> (CExpr)-happyOut108 x = unsafeCoerce# x--{-# INLINE happyOut108 #-}--happyIn109 :: (CExpr) -> (HappyAbsSyn)-happyIn109 x = unsafeCoerce# x--{-# INLINE happyIn109 #-}--happyOut109 :: (HappyAbsSyn) -> (CExpr)-happyOut109 x = unsafeCoerce# x--{-# INLINE happyOut109 #-}--happyIn110 :: (CExpr) -> (HappyAbsSyn)-happyIn110 x = unsafeCoerce# x--{-# INLINE happyIn110 #-}--happyOut110 :: (HappyAbsSyn) -> (CExpr)-happyOut110 x = unsafeCoerce# x--{-# INLINE happyOut110 #-}--happyIn111 :: (CExpr) -> (HappyAbsSyn)-happyIn111 x = unsafeCoerce# x--{-# INLINE happyIn111 #-}--happyOut111 :: (HappyAbsSyn) -> (CExpr)-happyOut111 x = unsafeCoerce# x--{-# INLINE happyOut111 #-}--happyIn112 :: (CExpr) -> (HappyAbsSyn)-happyIn112 x = unsafeCoerce# x--{-# INLINE happyIn112 #-}--happyOut112 :: (HappyAbsSyn) -> (CExpr)-happyOut112 x = unsafeCoerce# x--{-# INLINE happyOut112 #-}--happyIn113 :: (CExpr) -> (HappyAbsSyn)-happyIn113 x = unsafeCoerce# x--{-# INLINE happyIn113 #-}--happyOut113 :: (HappyAbsSyn) -> (CExpr)-happyOut113 x = unsafeCoerce# x--{-# INLINE happyOut113 #-}--happyIn114 :: (CExpr) -> (HappyAbsSyn)-happyIn114 x = unsafeCoerce# x--{-# INLINE happyIn114 #-}--happyOut114 :: (HappyAbsSyn) -> (CExpr)-happyOut114 x = unsafeCoerce# x--{-# INLINE happyOut114 #-}--happyIn115 :: (CExpr) -> (HappyAbsSyn)-happyIn115 x = unsafeCoerce# x--{-# INLINE happyIn115 #-}--happyOut115 :: (HappyAbsSyn) -> (CExpr)-happyOut115 x = unsafeCoerce# x--{-# INLINE happyOut115 #-}--happyIn116 :: (Located CAssignOp) -> (HappyAbsSyn)-happyIn116 x = unsafeCoerce# x--{-# INLINE happyIn116 #-}--happyOut116 :: (HappyAbsSyn) -> (Located CAssignOp)-happyOut116 x = unsafeCoerce# x--{-# INLINE happyOut116 #-}--happyIn117 :: (CExpr) -> (HappyAbsSyn)-happyIn117 x = unsafeCoerce# x--{-# INLINE happyIn117 #-}--happyOut117 :: (HappyAbsSyn) -> (CExpr)-happyOut117 x = unsafeCoerce# x--{-# INLINE happyOut117 #-}--happyIn118 :: (Reversed [CExpr]) -> (HappyAbsSyn)-happyIn118 x = unsafeCoerce# x--{-# INLINE happyIn118 #-}--happyOut118 :: (HappyAbsSyn) -> (Reversed [CExpr])-happyOut118 x = unsafeCoerce# x--{-# INLINE happyOut118 #-}--happyIn119 :: (Maybe CExpr) -> (HappyAbsSyn)-happyIn119 x = unsafeCoerce# x--{-# INLINE happyIn119 #-}--happyOut119 :: (HappyAbsSyn) -> (Maybe CExpr)-happyOut119 x = unsafeCoerce# x--{-# INLINE happyOut119 #-}--happyIn120 :: (Maybe CExpr) -> (HappyAbsSyn)-happyIn120 x = unsafeCoerce# x--{-# INLINE happyIn120 #-}--happyOut120 :: (HappyAbsSyn) -> (Maybe CExpr)-happyOut120 x = unsafeCoerce# x--{-# INLINE happyOut120 #-}--happyIn121 :: (CExpr) -> (HappyAbsSyn)-happyIn121 x = unsafeCoerce# x--{-# INLINE happyIn121 #-}--happyOut121 :: (HappyAbsSyn) -> (CExpr)-happyOut121 x = unsafeCoerce# x--{-# INLINE happyOut121 #-}--happyIn122 :: (CConst) -> (HappyAbsSyn)-happyIn122 x = unsafeCoerce# x--{-# INLINE happyIn122 #-}--happyOut122 :: (HappyAbsSyn) -> (CConst)-happyOut122 x = unsafeCoerce# x--{-# INLINE happyOut122 #-}--happyIn123 :: (CStrLit) -> (HappyAbsSyn)-happyIn123 x = unsafeCoerce# x--{-# INLINE happyIn123 #-}--happyOut123 :: (HappyAbsSyn) -> (CStrLit)-happyOut123 x = unsafeCoerce# x--{-# INLINE happyOut123 #-}--happyIn124 :: (Reversed [CString]) -> (HappyAbsSyn)-happyIn124 x = unsafeCoerce# x--{-# INLINE happyIn124 #-}--happyOut124 :: (HappyAbsSyn) -> (Reversed [CString])-happyOut124 x = unsafeCoerce# x--{-# INLINE happyOut124 #-}--happyIn125 :: (Ident) -> (HappyAbsSyn)-happyIn125 x = unsafeCoerce# x--{-# INLINE happyIn125 #-}--happyOut125 :: (HappyAbsSyn) -> (Ident)-happyOut125 x = unsafeCoerce# x--{-# INLINE happyOut125 #-}--happyIn126 :: ([CAttr]) -> (HappyAbsSyn)-happyIn126 x = unsafeCoerce# x--{-# INLINE happyIn126 #-}--happyOut126 :: (HappyAbsSyn) -> ([CAttr])-happyOut126 x = unsafeCoerce# x--{-# INLINE happyOut126 #-}--happyIn127 :: ([CAttr]) -> (HappyAbsSyn)-happyIn127 x = unsafeCoerce# x--{-# INLINE happyIn127 #-}--happyOut127 :: (HappyAbsSyn) -> ([CAttr])-happyOut127 x = unsafeCoerce# x--{-# INLINE happyOut127 #-}--happyIn128 :: ([CAttr]) -> (HappyAbsSyn)-happyIn128 x = unsafeCoerce# x--{-# INLINE happyIn128 #-}--happyOut128 :: (HappyAbsSyn) -> ([CAttr])-happyOut128 x = unsafeCoerce# x--{-# INLINE happyOut128 #-}--happyIn129 :: (Reversed [CAttr]) -> (HappyAbsSyn)-happyIn129 x = unsafeCoerce# x--{-# INLINE happyIn129 #-}--happyOut129 :: (HappyAbsSyn) -> (Reversed [CAttr])-happyOut129 x = unsafeCoerce# x--{-# INLINE happyOut129 #-}--happyIn130 :: (Maybe CAttr) -> (HappyAbsSyn)-happyIn130 x = unsafeCoerce# x--{-# INLINE happyIn130 #-}--happyOut130 :: (HappyAbsSyn) -> (Maybe CAttr)-happyOut130 x = unsafeCoerce# x--{-# INLINE happyOut130 #-}--happyIn131 :: (Reversed [CExpr]) -> (HappyAbsSyn)-happyIn131 x = unsafeCoerce# x--{-# INLINE happyIn131 #-}--happyOut131 :: (HappyAbsSyn) -> (Reversed [CExpr])-happyOut131 x = unsafeCoerce# x--{-# INLINE happyOut131 #-}--happyInTok :: CToken -> (HappyAbsSyn)-happyInTok x = unsafeCoerce# x--{-# INLINE happyInTok #-}--happyOutTok :: (HappyAbsSyn) -> CToken-happyOutTok x = unsafeCoerce# x--{-# INLINE happyOutTok #-}--happyActOffsets :: HappyAddr-happyActOffsets-  = HappyA#-      "\NUL\NUL\GS\SI\211\t1\SI\NUL\NUL\128\a\NUL\NUL\DEL\tw\SI1\SI\NUL\NUL\200\t\US\ENQ\ENQ\ENQ\DEL\ETX\240\EOTe\bT\bI\b>\b\198\EOT\NUL\NUL+\b\239\a\NUL\NUL\NUL\NUL\v\t\NUL\NUL\NUL\NUL\205\SO\205\SO\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\EOT\175\SO\150\SO\NUL\NUL\NUL\NUL\NUL\NUL\246\a\NUL\NUL2\SO\DC4\SO\DC4\SO\&H\bG\b$\b\182\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\222\a\230\a\NUL\NUL\NUL\NULJ\ENQ\210\a\251\r\208\a\214\a\211\t\245\a$\NUL\237\a\251\r\236\a\213\a\198\a\NUL\NULv\a\NUL\NUL\174\a\NUL\NUL\149\EOT\142\EOT\SOH\SOH\213\DC1\NUL\NUL\SOH\SOH\NUL\NUL\154\EM\154\EM\DC1\CAN\SOH\CAN!\b!\b\NUL\NUL\NUL\NULq\a\NUL\NUL\166\DC1\NUL\NUL\NUL\NUL\NUL\NUL\217\SOH\NUL\NUL\NUL\NUL\NUL\NULJ\ENQ\137\DC2\NUL\NUL=\SOH=\SOH\203\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULk\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\197\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\187\a\GS\SIU\a\NUL\NUL\184\ao\tz\SOHY\a[\a\179\DC2\NUL\NUL\NUL\NULK\NUL\178\a\180\t\170\aK\NUL\134\a\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NUL\NUL\NUL\167\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL8\CAN\NUL\NUL\157\a\NUL\NUL\148\CAN\255\nr\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NULw\DC1\151\a\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULg\a_\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULb\a\NUL\NULn\STXH\STX\SI\NULR\a\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NUL\NUL\NUL{\a\NUL\NULO\aS\a\NUL\NUL\ESC\a\NUL\NUL\ESC\a\NUL\NUL\NUL\NUL\251\r\251\r\NUL\NULM\a\251\rA\a\251\r\NUL\NULC\b\DC4\a\211\t\NUL\NUL\NUL\NUL\NUL\NUL\US\NUL\NUL\NULe\a\NUL\NUL.\a\244\ACK\NUL\NUL\195\SUB\195\SUB\251\r\NUL\NUL\v\t\NUL\NUL\NUL\NUL\240\ACK\NUL\NUL\NUL\NUL\v\t\NUL\NUL\v\t\NUL\NUL\NUL\NUL\NUL\NULN\a\151\ETX\231\SUB\171\EOT\171\EOTz\nL\aK\a\159\SUB\251\r\251\r\151\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\NUL\NUL\251\r\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\r\251\r6\EOT6\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULD\an\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\t\163\t\138\EOT\138\EOTO\EOTO\EOTO\EOTO\EOT\DEL\ETX\DEL\ETX\GS\EOT5\a+\a\SYN\a\f\a\251\r%\a\NUL\NUL\251\ACK\NUL\NULa\r\NUL\NUL\NUL\NUL\NUL\NUL\183\ACKW\SUB3\SUBH\DC1\NUL\SI\NUL\NUL\NUL\NUL\SI\a\SO\a\NUL\NUL\243\ACK\221\ACK\219\ACK\199\ACK\211\t\223\a\173\ACK\148\ACK|\ACK\211\t\251\r\NUL\NUL\203\ACKl\EM\171\ACK\167\ACK\NUL\NUL\196\ACK\NUL\NUL\195\ACK\193\ACK\234\NUL\216\NUL8\CAN\161\ACK]\ACK\170\ACK\NUL\NULo\t8\CAN\134\ACK\NUL\NUL\NUL\NUL\RS\EM[\v\NUL\NUL\NUL\NUL\177\SOH\147\SOH\142\ACK\136\ACK\SI\NULG\NUL\147\SOH\NUL\NUL8\CANf\ACK\NUL\NULI\ACK\NUL\NULo\t>\ACK\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NULb\ACK\NUL\NUL8\CAN=\ACK\NUL\NUL\155\n\NUL\NUL)\ACK\224\v\t\NUL\206\ENQt\STX\255\SIt\STX!\b!\b\208\SI$\ACK\251\ENQ\NUL\NUL\ESC\SOHE\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\216\NUL\EM\DC1\216\NUL\234\DLEZ\DC2o\t8\CAN\EOT\ACK\NUL\NUL\EM\ACK\158\t\DC2\NUL\DC2\NUL\SI\NUL\NUL\NUL\SI\NUL\NUL\NUL\SI\NUL\NUL\NUL\NUL\NUL\220\f\t\ACK\244\ENQ\204\ETX\ETX\ACK\254\ENQw\NUL\202\NUL\NUL\NUL\NUL\NUL\239\ENQ\NUL\NUL\NUL\NUL\205\STX\NUL\NUL\203\ENQ\204\ETX\170\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\220\fK\t\NUL\NUL\SI\NUL\NUL\NUL\253\f\NUL\NUL\200\ENQ\193\ENQ\140\ENQ\140\ENQ\187\DLE\NUL\NUL\241\NUL\201\NUL\140\ENQ\NUL\NULV\ENQf\CAN\NUL\NULS\ENQ\NUL\NUL\240\CAN\194\CAN\161\SI\222\DC2S\ENQS\ENQ\NUL\NULr\SII\aS\ENQ\NUL\NULS\ENQS\ENQ\NUL\NUL\171\EOTb\f\157\ENQ\155\ENQ\t\NUL\NUL\NUL\144\ENQF\ENQ7\n\t\NUL\NUL\NUL\NUL\NULo\t8\CANm\ENQ\NUL\NUL\143\ENQ\141\ENQ\220\ETB\NUL\NUL\NUL\NUL\NUL\NUL/\t\132\ENQ\SO\NUL\190\NUL\131\ENQ\SI\NUL\SI\NUL,\t\NUL\NUL\NUL\NUL\NUL\NUL\227\ne\NUL\NUL\NUL\NUL\NUL\129\ENQy\ENQ\DLE\ENQ\NUL\NUL\NUL\NUL\NUL\NUL5\ENQ5\ENQ\211\t\211\t\211\t\NUL\NUL\251\r\251\r\251\rB\ENQ\NUL\NUL\170\SOH\201\ETX\223\a\242\EOT\NUL\NUL#\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\216\NUL\140\DLE\216\NUL]\DLE-\ENQ\167\b\NUL\NUL{\SUB\154\ETX{\SUB\FS\ENQ\FS\ENQ\FS\ENQ0\f\NUL\NUL\162\t1\ENQ/\ENQ-\NUL3\DC2\NUL\NUL\NUL\NUL\254\v\251\r\NUL\NUL\251\r\NUL\NUL\251\r\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\179\STX\253\f\220\STX\NUL\NUL\153\SOH\NUL\NUL\212\EOT\251\r\154\ETX\254\v!\ENQ\r\ENQ\DC3\NUL\NUL\NUL\SI\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\171\EOT\t\ENQ\237\STX\NUL\NUL\249\EOT\NUL\NUL\192\EOT.\DLE\192\EOT\192\EOT\192\EOT\NUL\NUL\163\ETX\137\EOT\NUL\NUL\162\EOT*\NUL\211\t\199\EOT\156\EOT\151\EOT\DEL\EOT\NUL\NUL\NUL\NUL\136\EOT\136\EOT\161\EOT\NUL\NUL\NUL\NUL\"\t\NUL\NUL\NUL\NUL+\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\224\n\SI\NUL\NUL\NUL\175\ETB\212\STX\NUL\NUL\160\ETX\152\ETX\SI\SUB\194\DC2\NUL\NUL\NUL\NUL\190\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\159\EOT\154\EOT\139\EOT\134\EOT\t\NUL\n\EOT\NUL\NULz\EOT\NUL\NUL\NUL\NULh\EOT\251\r\NUL\NUL\NUL\NUL\NUL\NUL\180\EOT\159\NUL\EOT\DC2\NUL\NUL\NUL\NUL\220\n>\t$\n\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\US\SOH+\NUL+\NUL\SYN\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULG\STX\251\r\244\NUL\NUL\NUL\228\fd\EOTw\NUL\NUL\NUL\NUL\NUL\NUL\NUL\168\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\222\NUL\NUL\NUL+\NUL_\SOH\205\NUL>\EOT\NUL\NUL\NUL\NUL\251\r<\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\221\ETX\ESC\EOT\251\r\158\NUL\235\EM\200\ETX\NUL\NUL\200\ETX\NUL\NUL\200\ETX\ACK\EOT\251\r\NUL\NUL\NUL\NUL\205\NUL\US\t\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\211\t\251\r\251\r\245\ETX\NUL\NUL\n\SOH\239\ETX\NUL\NUL\SUB\EOTI\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\223\ETX\NUL\NUL\NUL\NUL\NUL\NUL\251\r@\ETX\NUL\NUL\NUL\NUL\NUL\NUL\SI\NUL\NUL\NUL\151\SOH\NUL\NUL\DLE\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\v\NUL\NUL\NUL\NUL\128\f\NUL\NUL\NUL\NUL\251\rc\v\NUL\NUL\NUL\NUL\NUL\NUL\ETX\EOT\NUL\NUL\SOH\EOT\225\ETX\251\r*\NUL\182\ETX*\NUL\NUL\NUL\216\ETX\211\ETX\NUL\NUL\NUL\NUL\NUL\NUL\251\r\NUL\NUL\158\NUL\212\STXj\ETX\NUL\NUL\251\r\NUL\NUL\NUL\NUL\185\ETX\NUL\NUL\NUL\NUL\NUL\NUL\251\r\NUL\NUL\NUL\NUL\NUL\NULJ\ETXJ\ETX\NUL\NUL\211\t\211\t\213\NUL\NUL\NUL\NUL\NUL\168\ETX;\ETX;\ETX\NUL\NUL\NUL\NULz\ETX\NUL\NUL\NUL\NULt\ETXr\ETX\NUL\NULF\ETX\v\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NAK\NUL\NUL\NUL\NUL\NUL\251\r\251\rl\ETX[\ETX\ETB\ETX\233\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL"#--happyGotoOffsets :: HappyAddr-happyGotoOffsets-  = HappyA#-      "6\ETXq\NUL\211\ACK\198\GS<\ETX8\NUL\NUL\NUL\NUL\NUL\197\STX5\r\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULM\ETX\NUL\NUL\NUL\NULq\r\164\v\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\184\STX\213\n\185\n\NUL\NUL\NUL\NUL\NUL\NUL\167\STX\NUL\NUL \f\190\ETX`\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\a\ETX\SUB\NUL\NUL\NULv\US\NUL\NUL\NUL\NUL\184\ACK\NUL\NUL\149\STX\NUL\NULL\FS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\ETX\NUL\NUL\NUL\NUL\NUL\NUL*\ACK\195\NUL\NUL\NUL\138\ENQ\NUL\NUL\DC4\NUL\SYN\SOHl\STX}\SOH\162\SOH\203\NUL\NUL\NUL\NUL\NUL\150\b\NUL\NUL\154\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\b\226\STX\NUL\NUL\NUL\NUL\187\STX\NAK\SOH\NUL\NUL\168\n\215\t\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\\\b\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\255\255\NUL\NUL\NUL\NUL\NUL\NUL\202\NAKq\STX]\STXj\STXw\b\NUL\NUL\NUL\NULp\STX\NUL\NUL[\b\NUL\NUL@\NUL\198\STX\NUL\NUL\NUL\NUL\NUL\NULR\STX\158\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\173\EOT\NUL\NULf\STX\NUL\NUL\168\DC3\SYN\ETB\169\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULQ\STX\144\STX\236\NUL\NUL\NUL\NUL\NUL\SUB\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\STXO\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULe\STX\154\DC3\232\SYN5\bu\STX\NUL\NUL\NUL\NUL\NUL\NULJ\STX\\\STX\NUL\NUL\NUL\NUL\NUL\NULb\STX1\STXV\STX\243\a\NUL\NUL\238\a\NUL\NUL\NUL\NUL\171\GS\144\GS\NUL\NUL\NUL\NULu\GS\NUL\NULZ\GS\NUL\NUL\152\ACK\NUL\NULN\ACK\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\235\SOH\233\a\NUL\NUL{\SYNS\SYN[\US\NUL\NUL\231\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\193\STX\NUL\NUL[\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULi\ENQ\155\NULx\NULP\NUL\137\SYN\NUL\NUL\NUL\NUL\172\ETX?\GS\199\US$\GS\226\US\b\NAK\132\NAK\253\US\241\vo\v\240\f\187\f@\f:\v\155\f\SUB\v\252\a&\a\193\v,\n\157\t\NUL\NUL@\US\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\t\GS\238\FS\219\SOH\205\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\172\US\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\a\NUL\NUL\NUL\NUL\NUL\NUL\198\SOHa\EOT\NUL\NULs\DC3\218\b\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL3\ACK5\STX3\STX\234\SOH~\SOH\CAN\ACK%\US\NUL\NUL\NUL\NUL\166\b\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NAK\ETX\145 \135\EOT\221\SOH\206\a\NUL\NUL\NUL\NUL\166\NAKL\EOT\183\SOH\NUL\NUL\NUL\NUL\218\DC3&\ETX\NUL\NUL\NUL\NULl\ENQ0\DC3\NUL\NUL\NUL\NUL\162\a6\STX\182\v\NUL\NUL&\EOT\160\SOH\NUL\NUL\NUL\NUL\167\SOHN\NAK\199\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL.\STX\176\SOH\NUL\NUL\NUL\NUL\235\ETX`\SOH\NUL\NUL\169\SYN\NUL\NUL\NUL\NUL\196\ESCj\a\DC4\SOH@ \CAN\DC4( \159\SOH\CAN\NUL,\DC4\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\166\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132 G\aw h\DC4\175\DC4*\NAK\197\ETXM\SOH\NUL\NUL\NUL\NULs\a\211\SOH\235\EOT'\a\NUL\NUL \a\NUL\NUL\NAK\a\NUL\NUL\NUL\NUL\191\ETX\NUL\NUL\NUL\NUL\185\SOH\NUL\NUL\NUL\NUL\253\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULD\EOT\NAK\a\NUL\NUL\217\ACK\NUL\NUL\169\ESC\NUL\NUL\NUL\NUL\NUL\NUL\SYN\STX\247\SOH\169\DC4\NUL\NULo\DC3\r\SO\244\SOH\NUL\NUL\NUL\NUL\n\DC4\NUL\NUL\150\ACK\NUL\NUL\NUL\EOT\NUL\NUL>\DC3`\ETBv\ACKh\ACK\NUL\NUL\ACK\DC3Y\ETB+\ACK\NUL\NUL\DLE\ACK\226\ENQ\NUL\NUL\219\NULb\ETB\NUL\NUL\NUL\NUL\223\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\224\SYN\217\ENQ\NUL\NUL\NUL\NUL\210\DC4d\ETXB\SOH\NUL\NUL\NUL\NUL\NUL\NUL1\SYN\\\SOH\NUL\NUL\NUL\NUL\255\ENQ\NUL\NUL\249\b`\a\NUL\NUL\241\ENQ\228\ENQ\225\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\146\f\CAN\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SI\SOH\NUL\NUL\NUL\NUL\NUL\NUL^\SOHW\SOH\174\ENQ\147\ENQx\ENQ\NUL\NUL1\FS\SYN\FS\211\FS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\192\SOH3\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULT\tC\SOH\196\a>\SOH\NUL\NUL6\a\NUL\NUL@\SYN\213\255\225\DC4\NUL\NUL\NUL\NUL\NUL\NUL\199\STX\NUL\NUL\138\STX\NUL\NUL\NUL\NUL\249\NUL\150\DC4\NUL\NUL\NUL\NUL\DC3\ESC\n\US\NUL\NUL\145\US\NUL\NUL\239\RS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\142\ESC\157\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\212\RS\211\NUL\241\SUB\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\180\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\206\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\SOHg\SOH6\SOH\GS\SOH\ETB\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\244\255\SO\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\128\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\ENQ\NUL\NUL\NUL\NULk\SO\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\176\t\\\ENQ\NUL\NUL1\SYNj \NUL\NUL\NUL\NUL\NUL\NUL\EOT\EOT\185\SYN\NUL\NUL\NUL\NUL\"\SYN\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\206\EOT\176\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\185\RS\NUL\NUL\NUL\NUL\NUL\NUL\SUB\ETB\250\ENQd\DC4\NUL\NUL\NUL\NUL\128\SYN\154\ACK\202\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\195\STX\170\r6\r\250\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\158\RS\217\255\NUL\NULP\ESC\NUL\NULM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\217\255\NUL\NUL\145\ACK\191\ETXZ\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\131\RS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL(\NUL\NUL\NULh\RSW\EOTa\EOTx\EOT\NUL\NUL\t\EOT\NUL\NUL\134\ETX\NUL\NULM\RS\NUL\NUL\NUL\NULZ\ENQ\171\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\243\EOT\251\ESC\224\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\185\NUL\NUL\NUL\NUL\NUL\NUL\NUL\184\FSD\NUL\NUL\NUL\NUL\NUL\NUL\NUL,\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL5\ESC\NUL\NUL\NUL\NULs\ESC\NUL\NUL\NUL\NUL2\RS5\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\157\FS\245\255\NUL\NUL\241\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETB\RS\NUL\NUL_\ETX[ \208\255\NUL\NUL\252\GS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\225\GS\NUL\NUL\NUL\NUL\NUL\NUL\236\SOH\208\255\NUL\NUL\214\EOT\158\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL2\NUL\165\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\249\255I\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\FSg\FS\NUL\NUL\NUL\NUL\NUL\NUL\145\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL"#--happyDefActions :: HappyAddr-happyDefActions-  = HappyA#-      "\250\255=\254\NUL\NUL\NUL\NUL\NUL\NUL=\254\155\254\143\254}\254\NUL\NUL{\254w\254t\254q\254l\254i\254g\254e\254c\254a\254_\254\\\254O\254\NUL\NUL\165\254\164\254=\254~\254\DEL\254\NUL\NUL\NUL\NUL\129\254\128\254\130\254\131\254\NUL\NUL\NUL\NUL\NUL\NULE\254F\254D\254C\254\166\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\228\255\227\255\226\255\225\255\224\255\223\255\222\255\NUL\NUL\NUL\NUL\199\255\215\255\181\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULK\254\NUL\NUL\NUL\NUL\166\254>\254\NUL\NUL\247\255\NUL\NUL\246\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\152\255\NUL\NULw\255\155\255\138\255\154\255\137\255\153\255\136\255l\255R\255=\254Q\255\NUL\NUL\229\255\n\255\b\255\t\255\166\255\251\254\250\254\NUL\NUL<\254;\254\NUL\NUL=\254\NUL\NUL\141\255~\255\134\255}\255\129\255=\254\143\255\130\255\132\255\131\255\140\255\133\255\128\255\142\255M\255\144\255\NUL\NUL\139\255L\255\DEL\255\135\255\254\254`\255\NUL\NUL=\254\NUL\NUL\245\255\NUL\NUL=\254\NUL\NUL<\254\NUL\NUL\NUL\NUL\a\255\249\254<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\151\255v\255k\255&\255\166\255:\254\NUL\NULZ\255+\255/\255,\255-\255.\255=\254\ETX\255\215\254\213\254\244\254I\254\NUL\NUL\150\255u\255j\255*\255&\255\166\255\NUL\NUL\NUL\NUL]\255\NUL\NULf\255T\255S\255b\255\146\255\145\255a\255o\255h\255g\255\169\255n\255m\255\170\255{\255r\255s\255q\255z\255y\255x\255\NUL\NUL&\255'\255#\255 \255\US\255$\255\SYN\255(\255\166\255\NUL\NUL=\254\"\255\NUL\NUL\148\255|\255p\255&\255\166\255\147\255\NUL\NULe\255\NUL\NUL&\255\166\255=\254\168\255=\254\167\255\243\255\NUL\NUL\NUL\NULJ\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL?\254K\254\NUL\NUL\NUL\NUL\188\255}\254G\254\NUL\NUL\187\255\NUL\NUL\180\255\213\255=\254\198\255=\254=\254\NUL\NUL\133\254=\254\134\254\140\254B\254A\254\138\254=\254\136\254=\254\132\254\141\254\142\254\NUL\NUL\222\254\138\255\137\255\136\255\NUL\NUL\NUL\NUL\NUL\NUL<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\139\254\NUL\NULZ\254V\254U\254Y\254X\254W\254R\254Q\254P\254T\254S\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\149\254\148\254\248\255\249\255\151\254\150\254\NUL\NUL\NUL\NUL\145\254\153\254[\254x\254y\254z\254u\254v\254r\254s\254m\254o\254n\254p\254j\254k\254h\254f\254d\254b\254\NUL\NUL\NUL\NUL`\254M\254N\254\163\254\NUL\NUL\219\254\216\254\218\254\217\254\NUL\NUL\220\254\244\254\200\254\221\254\162\254\NUL\NUL\NUL\NUL@\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\214\255\213\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\219\255\NUL\NUL=\254\NUL\NUL\NUL\NUL\190\255\NUL\NUL\186\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\182\254=\254\NUL\NUL\241\255=\254=\254\182\254\239\255!\255\244\254\NUL\NUL\RS\255\DC2\255<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\f\255=\254\182\254\240\255N\255K\255=\254\NUL\NUL\149\255t\255i\255)\255&\255\166\255\NUL\NULW\255=\254\182\254\238\255I\254H\254\NUL\NULI\254\130\254=\254\239\254\235\254\232\254\154\255\137\255\228\254\NUL\NUL\243\254\241\254\NUL\NUL<\254\224\254\212\254\236\255\165\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254=\254=\254\182\254\242\255\NUL\NUL\NUL\NUL\NUL\NUL=\254\246\254\253\254\STX\255\ACK\255\t\255\ENQ\255\248\254\NUL\NUL\NUL\NUL4\255\NUL\NUL\NUL\NUL\NUL\NUL6\254\NUL\NUL8\254\&4\254\&5\254_\255^\255\NUL\NUL3\255\&1\255\NUL\NUL\NUL\NUL\EOT\255\SOH\255\245\254\NUL\NUL\NUL\NUL\252\254\NUL\255\161\255\NUL\NUL\235\255\NUL\NUL\NUL\NUL&\255&\255\NUL\NUL(\255\NUL\NUL=\254&\255\247\254\NUL\NUL=\254\214\254=\254\226\254\NUL\NUL\227\254\244\254\200\254=\254=\254\231\254\244\254\200\254=\254\234\254=\254=\254\238\254=\254\NUL\NUL\NUL\NUL\NUL\NUL\130\254\211\254\NUL\NUL\NUL\NULI\254\130\254\163\255\231\255=\254=\254\182\254\237\255\NUL\NUL\NUL\NUL=\254K\255\157\255\233\255\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL\SI\255\SUB\255\NUL\NUL\GS\255\FS\255\DC1\255\NUL\NUL\NUL\NUL\164\255\232\255\NUL\NUL\NUL\NUL\NUL\NUL\159\255\158\255\234\255&\255&\255\NUL\NUL\NUL\NUL\NUL\NUL\189\255K\254K\254\NUL\NUL\NUL\NUL\220\255\NUL\NUL\NUL\NUL\214\255\NUL\NUL\211\255\NUL\NUL\212\255\210\255\208\255\209\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL`\255=\254\221\255=\254\NUL\NUL=\254\NUL\NUL\137\254\135\254=\254\198\254\196\254\NUL\NUL\NUL\NUL\NUL\NUL<\254\186\254|\254\180\254\NUL\NUL]\254\NUL\NUL\152\254\NUL\NUL\154\254\144\254^\254L\254\179\254\NUL\NUL\NUL\NUL\NUL\NUL\172\254\173\254\185\254\NUL\NUL\NUL\NUL\NUL\NUL\180\254\NUL\NUL\NUL\NUL\NUL\NUL\193\254\194\254\192\254\195\254\197\254\199\254<\254\NUL\NUL\NUL\NUL\158\254\NUL\NUL\207\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\217\255\NUL\NUL\NUL\NUL\201\255\NUL\NUL\179\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\197\255\195\255\194\255\182\254\182\254\NUL\NULd\255c\255\NUL\NUL\ESC\255\DLE\255\NUL\NUL\NAK\255\EM\255\r\255\SO\255\NUL\NUL\CAN\255\v\255=\254@\255I\255\NUL\NUL\NUL\NUL=\254<\254J\255O\255=\254\\\255[\255\162\255\230\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\254=\254\209\254\NUL\NUL\210\254\204\254\NUL\NUL\NUL\NUL\237\254\236\254\233\254=\254\196\254<\254\230\254\229\254=\254\196\254<\254\225\254\240\254\242\254\223\254\NUL\NUL\NUL\NUL\NUL\NUL&\255Y\255X\255\181\254\255\254\244\255\NUL\NUL\NUL\NUL\NUL\NUL8\255\NUL\NUL\NUL\NUL6\254\&7\254\&9\254\&1\254\NUL\NUL2\254\&2\255\&7\255\&0\255\NUL\NUL6\255\NUL\NUL<\254<\254\NUL\NUL\207\254\203\254\NUL\NUL\NUL\NUL\208\254\202\254V\255U\255F\255D\255<\255\NUL\NUL\NUL\NUL<\254=\254H\255=\254G\255=\254?\255\NUL\NULP\255\ETB\255\NUL\NUL\NUL\NUL\DC4\255%\255\156\255\160\255\NUL\NULK\254K\254\NUL\NUL\218\255\NUL\NUL\178\255\177\255\NUL\NUL\NUL\NUL\185\255\216\255\200\255\206\255\204\255\205\255\NUL\NUL\203\255\159\254\160\254\NUL\NUL\NUL\NUL\161\254\191\254\189\254\190\254\188\254\NUL\NUL\169\254\NUL\NUL\174\254\171\254\168\254\175\254\178\254\NUL\NUL\147\254\177\254\NUL\NUL\146\254\170\254\NUL\NUL\NUL\NUL\184\254\187\254\157\254\NUL\NUL\202\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\179\255\193\255\NUL\NUL\NUL\NUL\196\255\DC3\255>\255\NUL\NULB\255\NUL\NUL\NUL\NULE\255;\255\NUL\NUL9\255\201\254\NUL\NUL\206\254\&5\255\&3\254\NUL\NUL0\254\205\254:\255=\254C\255=\255\NUL\NUL\NUL\NUL\NUL\NUL\184\255\176\255\NUL\NUL\NUL\NUL\NUL\NUL\156\254\183\254\NUL\NUL\176\254\167\254\NUL\NUL\NUL\NUL\175\255\NUL\NUL\NUL\NUL\214\255\192\255A\255\191\255\NUL\NUL\172\255\183\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\171\255\182\255\173\255\174\255"#--happyCheck :: HappyAddr-happyCheck-  = HappyA#-      "\255\255\STX\NUL\ETX\NUL\EOT\NUL6\NULt\NUL\NAK\NUL\SYN\NUL\ETB\NUL\NAK\NUL\SYN\NUL\ETB\NUL\ETB\NUL\EOT\NUL5\NUL\SOH\NUL\SOH\NUL\CAN\NUL\ETX\NUL\SOH\NUL\EOT\NUL\STX\NUL\FS\NUL\STX\NUL\EM\NULt\NUL\ESC\NUL\r\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\SOH\NUL\ETX\NUL\DC4\NUL\STX\NUL[\NUL\r\NUL3\NUL9\NUL \NUL!\NUL7\NUL#\NUL\r\NUL!\NUL\STX\NUL\ETX\NUL\EOT\NUL\RS\NUL.\NUL*\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULy\NUL\SOH\NULy\NUL6\NULv\NUL\SOH\NUL.\NUL6\NULv\NUL6\NUL\EM\NUL\t\NUL\ESC\NUL\r\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULt\NUL\SOH\NUL^\NULt\NULt\NUL\\\NUL3\NUL^\NULt\NUL\\\NUL7\NUL^\NUL^\NUL\r\NUL\STX\NUL\ETX\NUL\EOT\NULw\NULx\NULy\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL\\\NUL]\NULB\NULC\NULD\NUL[\NUL6\NUL\\\NUL]\NUL^\NUL\EM\NUL^\NUL\ESC\NULy\NUL\GS\NUL\RS\NUL\US\NULy\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\EOT\NUL\SOH\NUL\SOH\NULy\NUL\ETX\NUL\\\NUL3\NUL^\NULt\NUL\\\NUL7\NUL^\NUL\STX\NUL\r\NUL\r\NUL6\NUL6\NULw\NULx\NULy\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULy\NULv\NUL!\NUL\RS\NUL#\NUL#\NUL\SOH\NUL\a\NUL\\\NUL]\NUL^\NUL*\NUL+\NUL,\NUL\EOT\NUL{\NULy\NUL\SOH\NUL\r\NUL\STX\NUL3\NUL\SOH\NUL,\NUL6\NUL6\NUL*\NUL\\\NULT\NUL6\NUL\r\NUL\STX\NULT\NUL\SOH\NUL\r\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULC\NUL \NUL!\NUL\r\NUL#\NULH\NULw\NULx\NULy\NUL\SOH\NUL!\NUL*\NUL+\NUL,\NUL\EOT\NULy\NUL\SOH\NUL\RS\NUL*\NULV\NUL3\NUL\r\NULy\NUL6\NUL\\\NUL\\\NUL]\NUL^\NUL\r\NUL\\\NUL]\NUL6\NUL\SOH\NUL6\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL-\NUL\STX\NUL!\NUL\r\NUL#\NULC\NUL6\NULx\NULy\NULy\NULH\NUL*\NUL+\NUL,\NUL\EOT\NUL\\\NUL]\NUL^\NUL\STX\NUL\a\NUL3\NUL\SOH\NUL-\NUL6\NULV\NUL\a\NUL\\\NUL]\NUL^\NUL\RS\NUL\\\NUL]\NUL^\NUL\r\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL\\\NUL]\NUL!\NUL!\NUL#\NUL#\NUL\\\NUL]\NULy\NUL\a\NUL\SOH\NUL*\NUL+\NUL,\NUL\EOT\NUL\a\NULy\NUL*\NUL\\\NUL\EOT\NUL3\NULv\NUL\r\NUL7\NUL6\NUL\\\NUL]\NUL^\NUL\\\NUL]\NULw\NULx\NULy\NUL6\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL\\\NUL]\NUL!\NUL\SOH\NUL#\NULC\NUL \NUL!\NULy\NUL#\NULH\NUL*\NUL+\NUL,\NUL\EOT\NUL\r\NUL*\NUL+\NUL,\NUL\STX\NUL3\NULy\NUL\FS\NUL6\NULV\NUL3\NULz\NUL{\NUL6\NUL\FS\NUL\\\NUL]\NUL^\NULK\NULA\NULB\NULC\NULD\NULt\NULA\NULB\NULC\NULD\NUL!\NUL-\NUL#\NULw\NULx\NULy\NULy\NULy\NUL9\NUL*\NUL+\NUL,\NUL\SOH\NUL6\NULT\NUL9\NUL*\NUL\\\NUL3\NUL^\NUL\ETX\NUL6\NUL!\NUL\ACK\NUL\r\NULT\NULC\NUL\ENQ\NUL\ACK\NUL\a\NUL,\NULH\NULA\NULB\NULC\NULD\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\SOH\NUL6\NULT\NULV\NULx\NULy\NUL\US\NUL4\NUL5\NUL\\\NULy\NUL^\NUL\r\NUL \NUL!\NUL*\NUL \NUL!\NUL-\NUL\ENQ\NUL\ACK\NUL\a\NUL\RS\NUL\t\NUL\SUB\NUL\v\NUL\f\NUL\r\NUL\a\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL-\NUL6\NUL\\\NUL]\NUL6\NUL\EM\NUL\SOH\NUL\ESC\NUL\ETX\NUL\GS\NUL\RS\NUL\US\NULy\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL4\NUL5\NUL\\\NUL]\NUL^\NULt\NUL3\NULT\NUL\n\NULy\NUL7\NULZ\NUL\SO\NUL\\\NULv\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULT\NULn\NUL\\\NUL]\NUL^\NUL\FS\NULs\NULt\NUL\FS\NULv\NULB\NULC\NULD\NULy\NUL,\NULZ\NULy\NUL\\\NUL0\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL9\NULn\NULv\NUL9\NULT\NUL\FS\NULs\NULt\NULK\NULv\NULw\NULx\NULy\NUL\ENQ\NUL\ACK\NUL\a\NUL\n\NUL\t\NULy\NUL\v\NUL\f\NUL\r\NULv\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\SOH\NUL\FS\NULx\NULy\NUL\FS\NUL\EM\NUL9\NUL\ESC\NULv\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NULw\NULx\NULy\NUL\FS\NUL9\NUL3\NUL\a\NUL9\NUL\FS\NUL7\NUL\FS\NUL\FS\NUL\SOH\NUL\SUB\NUL*\NUL<\NUL=\NUL-\NUL\SOH\NUL\SUB\NUL\ETX\NULB\NULC\NULD\NUL\r\NUL\a\NUL\"\NUL#\NUL\SUB\NUL%\NUL\r\NUL'\NUL9\NUL)\NUL*\NUL+\NUL,\NUL9\NUL\a\NUL9\NUL9\NUL \NUL!\NUL3\NULZ\NULv\NUL\\\NUL7\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL6\NULn\NUL\\\NUL]\NUL^\NULL\NULs\NULt\NUL\SUB\NULv\NULw\NULx\NULy\NULy\NUL\a\NULA\NULB\NULC\NULD\NULZ\NULP\NUL\\\NUL\SUB\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\a\NULn\NUL\\\NUL]\NUL^\NUL\a\NULs\NULt\NUL\\\NUL]\NULw\NULx\NULy\NUL\SOH\NULy\NULM\NULN\NULO\NULP\NULQ\NULR\NUL*\NULt\NUL\ETX\NUL-\NUL\r\NUL\ACK\NUL\"\NUL#\NULy\NUL%\NULv\NUL'\NULy\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL\STX\NUL\ETX\NUL6\NUL\RS\NUL\ACK\NUL3\NULX\NULY\NUL*\NUL7\NUL6\NUL-\NUL\US\NUL\SUB\NUL6\NUL;\NUL<\NUL=\NUL>\NUL?\NULy\NULA\NULB\NULC\NULD\NUL\a\NUL\"\NUL#\NULv\NUL%\NULL\NUL'\NUL\b\NUL)\NUL*\NUL+\NUL,\NULM\NULN\NULO\NULP\NULQ\NULR\NUL3\NULZ\NULu\NUL\\\NUL7\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULv\NULn\NUL\\\NUL]\NULm\NULL\NULs\NULt\NUL\NUL\NUL\SOH\NULw\NULx\NULy\NULx\NULy\NUL\SOH\NULw\NULx\NULy\NULZ\NUL+\NUL\\\NUL[\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\a\NULn\NULA\NULB\NULC\NULD\NULs\NULt\NUL6\NUL\STX\NULw\NULx\NULy\NUL;\NUL<\NUL=\NUL>\NUL?\NUL[\NULA\NULB\NULC\NULD\NUL\a\NULF\NULG\NUL\STX\NUL\"\NUL#\NUL+\NUL%\NUL\SOH\NUL'\NUL\SOH\NUL)\NUL*\NUL+\NUL,\NULN\NULO\NULP\NUL\EM\NUL\EOT\NUL\ESC\NUL3\NUL\GS\NUL\RS\NUL\US\NUL7\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL[\NUL3\NUL\SOH\NULL\NUL\ETX\NUL7\NUL\\\NUL]\NULx\NULy\NULA\NULB\NULC\NULD\NUL\r\NUL\\\NUL]\NULZ\NUL^\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULZ\NULn\NUL\\\NUL\EOT\NUL^\NUL_\NULs\NULt\NUL*\NUL+\NULw\NULx\NULy\NUL!\NUL^\NUL#\NUL*\NUL+\NUL\a\NUL*\NUL+\NUL#\NUL*\NUL+\NUL,\NULs\NULt\NUL\STX\NUL*\NUL+\NUL,\NUL3\NUL\STX\NULw\NULx\NULy\NUL\EM\NUL3\NUL\ESC\NUL+\NUL\GS\NUL\RS\NUL\US\NUL\EOT\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL*\NUL+\NUL6\NUL\\\NUL]\NUL3\NULN\NULO\NULP\NUL7\NULw\NULx\NULy\NULA\NULB\NULC\NULD\NUL\EM\NUL\EOT\NUL\ESC\NUL\EOT\NUL\GS\NUL\RS\NUL\US\NUL,\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULZ\NUL*\NUL\\\NUL\SOH\NUL^\NUL_\NUL3\NULy\NUL+\NUL!\NUL7\NUL#\NUL\RS\NULy\NUL^\NUL#\NUL\\\NUL]\NUL*\NUL+\NUL,\NUL\a\NUL*\NUL+\NUL,\NULs\NULt\NUL3\NUL\ETB\NUL\CAN\NUL6\NUL3\NULy\NUL\RS\NUL6\NUL^\NULw\NULx\NULy\NUL\EM\NUL\EOT\NUL\ESC\NUL\EOT\NUL\GS\NUL\RS\NUL\US\NUL0\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL<\NUL=\NUL>\NUL?\NUL@\NUL3\NULB\NULC\NULD\NUL7\NULF\NULG\NUL\DC1\NUL\DC2\NULw\NULx\NULy\NUL\EM\NUL\STX\NUL\ESC\NUL^\NUL\GS\NUL\RS\NUL\US\NUL\EOT\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULy\NUL6\NULw\NULx\NULy\NUL\EOT\NUL3\NULw\NULx\NULy\NUL7\NUL#\NULA\NULB\NULC\NULD\NUL2\NUL\EOT\NUL*\NUL+\NUL,\NUL\a\NUL\EOT\NULx\NULy\NUL\\\NUL]\NUL3\NUL\v\NUL\f\NUL6\NULA\NULB\NULC\NULD\NUL\STX\NULw\NULx\NULy\NUL\EM\NUL\STX\NUL\ESC\NUL\STX\NUL\GS\NUL\RS\NUL\US\NUL\US\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL\SOH\NUL-\NUL\ETX\NUL*\NUL+\NUL3\NUL<\NULx\NULy\NUL7\NUL*\NUL+\NUL\r\NUL+\NULw\NULx\NULy\NUL\EM\NUL+\NUL\ESC\NUL\STX\NUL\GS\NUL\RS\NUL\US\NUL+\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULy\NUL\ENQ\NUL\ACK\NUL\a\NUL\\\NUL]\NUL3\NUL6\NUL\FS\NUL\GS\NUL7\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL6\NUL!\NUL,\NUL#\NULC\NULw\NULx\NULy\NUL\RS\NULH\NUL*\NUL+\NUL,\NULC\NUL\ENQ\NUL\ACK\NUL\a\NUL\STX\NULH\NUL3\NULw\NULx\NULy\NULV\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\ETB\NUL\CAN\NUL^\NULV\NUL\STX\NULB\NULC\NULD\NUL\STX\NUL\\\NUL]\NUL^\NUL\ENQ\NUL\ACK\NUL\a\NUL\DC1\NUL\DC2\NULN\NULO\NULP\NULQ\NULR\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL7\NUL\STX\NULw\NULx\NULy\NULw\NULx\NULy\NUL\v\NUL\f\NULA\NULB\NULC\NULD\NULZ\NUL\STX\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULy\NULn\NULw\NULx\NULy\NUL,\NULs\NULt\NUL\RS\NULv\NULZ\NUL\\\NUL\\\NUL-\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\RS\NULn\NULw\NULx\NULy\NUL0\NULs\NULt\NULZ\NULv\NUL\\\NUL[\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\STX\NULn\NUL\ENQ\NUL\ACK\NUL\a\NUL6\NULs\NULt\NUL\STX\NULv\NUL\STX\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\US\NULC\NUL\EOT\NUL\STX\NUL6\NUL\STX\NULH\NULM\NUL\EOT\NUL;\NUL<\NUL=\NUL\ENQ\NUL\ACK\NUL\a\NULA\NULB\NULC\NULD\NUL\EOT\NULV\NUL\EOT\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL;\NUL<\NUL=\NULN\NULO\NULP\NULA\NULB\NULC\NULD\NUL^\NUL\\\NUL\ENQ\NUL\ACK\NUL\a\NULM\NULN\NULO\NULP\NULQ\NULR\NUL0\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL8\NUL\STX\NUL:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\STX\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULZ\NULy\NUL\\\NUL+\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULy\NULn\NULN\NULO\NULP\NUL\US\NULs\NULt\NULZ\NULv\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\STX\NULn\NULN\NULO\NULP\NUL\STX\NULs\NULt\NULZ\NULv\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\STX\NULn\NUL\ENQ\NUL\ACK\NUL\a\NUL,\NULs\NULt\NUL\US\NULv\NUL*\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL^\NUL\EOT\NUL\EOT\NULN\NULO\NULP\NULN\NULO\NULP\NUL;\NUL<\NUL=\NUL\ENQ\NUL\ACK\NUL\a\NULA\NULB\NULC\NULD\NULN\NULO\NULP\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NULM\NULN\NULO\NULP\NULQ\NULR\NULN\NULO\NULP\NULw\NULx\NULy\NUL\ENQ\NUL\ACK\NUL\a\NULw\NULx\NULy\NULw\NULx\NULy\NUL\US\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL8\NUL\SOH\NUL:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL,\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULZ\NULy\NUL\\\NUL,\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\US\NULn\NULw\NULx\NULy\NUL\STX\NULs\NULt\NULZ\NULv\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\b\NULn\NULw\NULx\NULy\NUL\US\NULs\NULt\NULZ\NULv\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL^\NULn\NUL\ENQ\NUL\ACK\NUL\a\NUL\US\NULs\NULt\NUL\STX\NULv\NUL\STX\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\SOH\NUL<\NUL=\NUL>\NUL?\NUL@\NUL+\NULB\NULC\NULD\NUL+\NUL[\NUL\ENQ\NUL\ACK\NUL\a\NULA\NULB\NULC\NULD\NULw\NULx\NULy\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NULM\NULN\NULO\NULP\NULQ\NULR\NULw\NULx\NULy\NUL\\\NUL*\NULZ\NULF\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL*\NULn\NUL*\NULp\NULx\NULy\NULs\NULt\NULw\NULx\NULy\NUL\STX\NUL\STX\NULZ\NULy\NUL\\\NUL^\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL*\NULn\NULN\NULO\NULP\NUL\RS\NULs\NULt\NULZ\NULv\NUL\\\NUL\SUB\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\ESC\NULn\NUL\f\NUL\r\NUL\EM\NUL\DLE\NULs\NULt\NUL\EOT\NULv\NUL\SOH\NUL[\NUL\ETX\NUL\STX\NUL\STX\NUL\EM\NUL\STX\NUL\ESC\NUL^\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULN\NULO\NULP\NUL\SOH\NUL \NUL!\NUL3\NUL#\NULW\NUL+\NUL7\NULN\NULO\NULP\NUL*\NUL+\NUL,\NULF\NULN\NULO\NULP\NUL+\NUL^\NUL3\NUL,\NUL\SOH\NUL6\NUL,\NUL6\NULZ\NUL\SOH\NUL\\\NUL0\NUL^\NUL_\NUL`\NULa\NULA\NULB\NULC\NULD\NULC\NUL\r\NUL,\NUL0\NULZ\NULH\NUL\\\NUL,\NUL^\NUL_\NUL`\NUL7\NUL\SOH\NULs\NULt\NUL;\NUL<\NUL=\NUL,\NULV\NUL\ETX\NULA\NULB\NULC\NULD\NUL\\\NUL]\NUL^\NUL\SOH\NULs\NULt\NUL+\NUL\STX\NULw\NULx\NULy\NUL0\NUL1\NUL,\NUL3\NUL\STX\NUL5\NUL[\NUL^\NUL8\NUL\SOH\NULe\NUL;\NUL\SOH\NUL=\NUL>\NUL?\NULy\NULN\NULO\NULP\NULD\NULE\NUL\SOH\NULG\NUL\EOT\NUL^\NULJ\NULK\NUL\SOH\NULM\NULN\NUL^\NULP\NULQ\NULR\NULS\NULT\NULU\NUL\SOH\NULw\NULx\NULy\NUL,\NULe\NUL\\\NUL]\NUL^\NUL_\NUL\SOH\NULw\NULx\NULy\NUL\RS\NULe\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SOH\NUL\SOH\NUL\DLE\NULN\NULO\NULP\NULZ\NUL\RS\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NUL\ESC\NUL+\NUL8\NUL+\NUL:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\RS\NULA\NULB\NULC\NULD\NUL+\NUL+\NUL,\NULs\NULt\NUL/\NUL0\NUL1\NUL2\NUL3\NUL4\NUL5\NUL6\NUL7\NUL8\NUL9\NUL:\NUL;\NULe\NUL=\NUL>\NUL?\NUL@\NULA\NULB\NULC\NULD\NULE\NUL\SOH\NULG\NULH\NULI\NULJ\NULK\NULL\NULM\NULN\NULO\NULP\NULQ\NULR\NULS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULw\NULx\NULy\NUL\SOH\NUL\SOH\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL[\NUL1\NUL\DLE\NULe\NUL*\NULZ\NUL6\NUL\\\NUL\ESC\NUL^\NUL_\NUL`\NULa\NUL\ESC\NUL>\NULw\NULx\NULy\NUL\SUB\NULC\NULw\NULx\NULy\NULG\NULH\NULw\NULx\NULy\NUL\EM\NULM\NULs\NULt\NULP\NUL/\NULR\NUL1\NUL\DLE\NUL3\NULV\NUL5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL^\NUL=\NUL>\NUL?\NULN\NULO\NULP\NULC\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NULL\NULM\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULN\NULO\NULP\NUL\255\255\&6\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULA\NULB\NULC\NULD\NUL\255\255F\NULG\NUL\EM\NUL\255\255\ESC\NUL\ESC\NUL\GS\NUL\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULw\NULx\NULy\NUL/\NUL\255\255\&1\NUL3\NUL3\NUL\255\255\&5\NUL7\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NULN\NULO\NULP\NUL\255\255D\NULE\NUL\255\255G\NULx\NULy\NULJ\NULK\NULL\NULM\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULw\NULx\NULy\NUL\255\255\&7\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255w\NULx\NULy\NUL\SOH\NUL\STX\NUL\ETX\NUL\SOH\NUL\STX\NUL\ETX\NUL\ESC\NULM\NULN\NULO\NULP\NULQ\NULR\NUL\SOH\NUL\STX\NUL\ETX\NUL\SOH\NUL\STX\NUL\ETX\NUL\255\255\255\255<\NUL=\NUL,\NUL\255\255\255\255/\NULB\NULC\NULD\NUL3\NUL\SOH\NUL5\NUL\ETX\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\r\NUL\SOH\NUL\STX\NUL\ETX\NULD\NULE\NULw\NULx\NULy\NUL\255\255J\NULK\NULL\NUL\EOT\NULN\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULx\NULy\NUL\255\255\&6\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\SOH\NULC\NUL\ETX\NUL\255\255\ENQ\NUL\ACK\NULH\NUL\255\255\t\NUL\n\NUL\ESC\NUL\255\255\&8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NULV\NULA\NULB\NULC\NULD\NUL\255\255\\\NUL\255\255^\NUL\255\255/\NUL\SOH\NUL\STX\NUL\ETX\NUL3\NUL\SOH\NUL5\NUL\ETX\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\r\NUL\r\NUL\SO\NUL\SI\NULD\NULE\NUL\SOH\NUL\STX\NUL\ETX\NUL\255\255J\NULK\NULL\NUL\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\r\NUL\SO\NUL\SI\NUL6\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255C\NUL6\NUL\255\255\255\255\255\255H\NUL;\NUL<\NUL=\NUL\ESC\NUL\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255Z\NULV\NUL\\\NUL\255\255^\NUL_\NUL`\NUL+\NUL,\NUL^\NUL\255\255/\NUL0\NUL\255\255\&2\NUL\255\255\&4\NUL\255\255\255\255\&7\NUL\255\255\&9\NUL:\NUL7\NUL\255\255s\NULt\NUL\255\255@\NULA\NULB\NUL\255\255\255\255A\NULB\NULC\NULD\NULI\NULF\NULG\NULL\NUL\255\255\255\255O\NUL\255\255\255\255\SOH\NUL\255\255\ETX\NULx\NULy\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\r\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\ESC\NUL\255\255\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255/\NUL\255\255D\NULE\NUL\255\255G\NUL\255\255\&6\NULJ\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULC\NUL\SOH\NUL\255\255\ETX\NUL\255\255H\NUL\\\NUL]\NUL^\NULL\NULM\NUL\255\255Z\NUL\r\NUL\\\NUL\255\255^\NUL_\NUL`\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255s\NULt\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\ESC\NUL=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255/\NULQ\NUL\255\255S\NULT\NULU\NULV\NUL6\NUL\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL\255\255\255\255\255\255\255\255\SOH\NULC\NUL\ETX\NUL\255\255\SOH\NUL\255\255H\NUL\SOH\NUL\255\255\255\255L\NULM\NUL\r\NULB\NULC\NULD\NUL\r\NULF\NULG\NUL\r\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\&6\NULZ\NUL\255\255\\\NUL6\NUL^\NUL_\NUL6\NUL\ESC\NUL\255\255\255\255\255\255\255\255C\NULx\NULy\NUL\255\255C\NULH\NUL\255\255C\NUL\255\255H\NUL\255\255\255\255H\NULs\NULt\NUL/\NULZ\NUL\255\255\\\NULV\NUL^\NUL_\NUL6\NULV\NUL\255\255\\\NULV\NUL^\NUL\255\255\\\NUL]\NUL^\NUL\\\NUL]\NUL^\NULC\NUL\255\255\255\255\255\255\255\255H\NULs\NULt\NUL\255\255L\NULM\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255V\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\ETX\NUL\255\255\r\NUL\ACK\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NUL\SOH\NUL\ESC\NUL\ETX\NUL\255\255\255\255\ACK\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULs\NULt\NUL,\NUL-\NUL6\NUL/\NUL\255\255Z\NUL\255\255\\\NUL\ESC\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULC\NUL\255\255\255\255\255\255\255\255H\NUL\255\255\255\255\255\255\255\255,\NUL-\NUL\255\255/\NUL\255\255s\NULt\NULL\NUL\255\255V\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULs\NULt\NUL\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\ESC\NULF\NULG\NULZ\NUL\SOH\NUL\\\NUL\ETX\NUL^\NUL_\NUL\ACK\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL/\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&6\NULs\NULt\NUL\ESC\NUL\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NUL\255\255C\NUL\255\255\255\255\255\255\255\255H\NUL\255\255,\NUL\255\255L\NUL/\NULx\NULy\NUL\255\255\SOH\NUL\255\255\ETX\NULs\NULt\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\r\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255\255\255\255\255\255\255L\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULs\NULt\NUL6\NUL\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULC\NUL\255\255\255\255\255\255\255\255H\NUL\255\255Z\NUL\255\255\\\NUL\ESC\NUL^\NUL_\NUL`\NUL\SOH\NUL\255\255\255\255\255\255\255\255V\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL^\NUL\255\255\DLE\NUL/\NUL\255\255s\NULt\NUL\255\255\255\255\255\255\&6\NUL\255\255Z\NUL\ESC\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NUL\255\255C\NUL\255\255\255\255\255\255\255\255H\NUL\255\255,\NUL\255\255L\NUL/\NUL\255\255\255\255\255\255s\NULt\NUL\255\255\255\255\255\255V\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\&6\NUL\255\255\255\255\255\255L\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\SOH\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\STX\NUL\255\255\255\255\r\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NUL\SOH\NUL\ESC\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULy\NUL\255\255\DLE\NULs\NULt\NUL\255\255\255\255\&6\NUL/\NUL\255\255Z\NUL\255\255\\\NUL\ESC\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULC\NUL\255\255\255\255\255\255\255\255H\NUL\255\255\255\255\255\255\255\255,\NUL\255\255\255\255/\NUL\255\255s\NULt\NULL\NUL\255\255V\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL\255\255^\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULs\NULt\NUL\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\255\255\ESC\NUL\SOH\NUL\STX\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL,\NUL\255\255Z\NUL/\NUL\\\NUL\255\255^\NUL_\NUL`\NUL\255\255\ESC\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULs\NULt\NUL\255\255/\NUL\255\255L\NULx\NULy\NUL\255\255\255\255\ESC\NUL\255\255\255\255\RS\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL/\NUL\255\255L\NUL\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255L\NULs\NULt\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NULX\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\SOH\NUL\ESC\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULx\NULy\NUL\DLE\NUL\255\255\255\255\255\255\255\255\255\255/\NUL\255\255\255\255\255\255\255\255\ESC\NUL\255\255\255\255\255\255\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL/\NUL7\NUL\255\255\255\255L\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\ESC\NULA\NULB\NULC\NULD\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NUL/\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255\255\255\255\255\255\255L\NUL\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\SOH\NUL\ESC\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\255\255\255\255\255\255/\NUL\255\255\255\255\255\255\255\255\ESC\NUL\255\255\255\255\255\255\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL/\NUL\255\255\255\255\255\255L\NULx\NULy\NUL\255\255\255\255\255\255\ESC\NUL\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NUL/\NUL\255\255\255\255\255\255\255\255\SOH\NUL\255\255\ETX\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\r\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255\255\255\255\255\255\255L\NUL\255\255\255\255\255\255\255\255\SOH\NUL\255\255\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\r\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\&6\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255C\NUL\255\255\255\255\255\255\255\255H\NUL\255\255\255\255\255\255\ESC\NUL0\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NULV\NUL\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255^\NUL\255\255/\NULD\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\SOH\NUL\255\255\ETX\NUL\255\255\255\255\255\255\\\NUL]\NUL^\NUL_\NULL\NUL\255\255\r\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\US\NUL \NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL\255\255\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\SOH\NUL\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\255\255\&1\NUL\255\255\&3\NUL\r\NUL5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL]\NUL^\NUL8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\SOH\NUL\255\255\\\NUL]\NUL^\NUL\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\r\NUL8\NUL\255\255\SOH\NUL;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\r\NULG\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\SOH\NUL\RS\NUL\ETX\NUL\255\255\255\255\255\255\\\NUL]\NUL^\NUL\255\255\&6\NUL\255\255\r\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\&3\NULC\NUL5\NUL\255\255\255\255\&8\NULH\NUL\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255V\NUL\255\255\255\255J\NULK\NUL\255\255\\\NULN\NUL^\NUL\255\255Q\NUL6\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NULC\NUL\255\255\255\255\RS\NUL\US\NULH\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255V\NUL\255\255\255\255\255\255\255\255\&3\NUL\\\NUL\255\255^\NUL7\NUL\255\255\255\255\255\255\255\255<\NUL=\NUL\255\255\255\255\255\255\255\255B\NULC\NULD\NUL\255\255\255\255\255\255H\NULI\NULJ\NUL\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255<\NUL=\NUL>\NUL?\NUL@\NUL3\NULB\NULC\NULD\NUL7\NULF\NULG\NUL\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NULB\NULC\NULD\NUL\255\255\255\255\255\255H\NULI\NULJ\NUL\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255x\NULy\NUL7\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\255\255w\NULx\NULy\NUL\255\255\255\255\255\255H\NULI\NULJ\NUL\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255<\NUL=\NUL>\NUL?\NUL@\NUL3\NULB\NULC\NULD\NUL7\NULF\NULG\NUL\255\255\255\255\255\255\255\255\255\255x\NULy\NUL\255\255w\NULx\NULy\NUL\255\255\255\255\255\255H\NULI\NULJ\NULK\NUL\255\255\255\255\255\255\255\255\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NULx\NULy\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NULH\NULI\NULJ\NUL\255\255\255\255\255\255\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255 \NUL!\NUL\255\255#\NUL\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255!\NUL6\NUL#\NUL\255\255w\NULx\NULy\NULJ\NUL\255\255*\NUL+\NUL,\NULA\NULB\NULC\NULD\NUL\255\255\255\255\&3\NUL\255\255\255\255\&6\NUL\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255w\NULx\NULy\NUL\255\255!\NUL\255\255#\NUL\255\255!\NUL\255\255#\NUL\255\255\255\255*\NUL+\NUL,\NULy\NUL*\NUL+\NUL,\NUL\255\255\255\255\&3\NUL\255\255\255\255\255\255\&3\NUL\255\255\255\255\&6\NUL\255\255<\NUL=\NUL\255\255\255\255x\NULy\NULB\NULC\NULD\NULA\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL!\NUL\255\255#\NUL\255\255\255\255\255\255\255\255\255\255\255\255*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL!\NUL\255\255#\NUL\255\255\255\255\255\255!\NUL\255\255#\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255*\NUL+\NUL,\NUL3\NULy\NUL\255\255\&6\NULx\NULy\NUL3\NUL\255\255N\NULO\NULP\NULQ\NULR\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255A\NULB\NULC\NULD\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\"\NUL#\NUL3\NUL%\NUL\255\255'\NUL7\NUL)\NUL*\NUL+\NUL,\NUL\255\255y\NUL\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL\255\255\255\255\255\255\255\255\255\255L\NUL\255\255\255\255\255\255y\NUL\255\255\255\255\255\255\255\255\255\255y\NUL\255\255\255\255\255\255Z\NULL\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255w\NULx\NULy\NUL\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NULL\NUL)\NUL*\NUL+\NUL,\NULs\NULt\NUL\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255Z\NUL7\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255L\NUL\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NUL\255\255\"\NUL#\NUL\255\255%\NUL\255\255'\NULL\NUL)\NUL*\NUL+\NUL,\NULs\NULt\NUL\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255Z\NUL7\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255L\NUL\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255.\NUL/\NUL0\NUL\"\NUL#\NUL3\NUL%\NUL\255\255'\NUL7\NUL)\NUL*\NUL+\NUL,\NUL\255\255.\NUL/\NUL0\NUL\"\NUL#\NUL3\NUL%\NUL\255\255'\NUL7\NUL)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\"\NUL#\NUL7\NUL%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL\255\255L\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\"\NUL#\NULL\NUL%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NULw\NULx\NULy\NUL\255\255#\NUL\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL*\NUL+\NUL,\NUL6\NULw\NULx\NULy\NUL\255\255\255\255\&3\NUL\255\255\255\255\&6\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255L\NUL\255\255\255\255w\NULx\NULy\NULM\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL#\NUL\255\255\255\255\&6\NUL\255\255\255\255\255\255*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\&2\NUL3\NUL\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\255\255w\NULx\NULy\NULA\NULB\NULC\NULD\NUL\255\255\255\255\255\255x\NULy\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL6\NUL\255\255\255\255\255\255q\NUL\255\255s\NULt\NUL\255\255\&7\NULw\NULx\NULy\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL\255\255F\NULG\NUL\255\255\255\255y\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL7\NUL\255\255\255\255\&6\NULq\NUL\255\255s\NULt\NUL;\NUL<\NUL=\NUL\255\255y\NUL\255\255A\NULB\NULC\NULD\NULw\NULx\NULy\NUL\255\255\255\255\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255q\NUL\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL7\NULw\NULx\NULy\NUL;\NUL<\NUL=\NUL7\NUL6\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255A\NULB\NULC\NULD\NUL\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255w\NULx\NULy\NUL\255\255\255\255s\NULt\NULw\NULx\NULy\NUL+\NUL\255\255-\NUL\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255+\NUL\255\255-\NUL\255\255\255\255]\NUL^\NUL_\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255+\NULQ\NUL\255\255S\NULT\NULU\NUL1\NUL\255\255\255\255\255\255\255\255\&6\NUL\255\255]\NUL^\NUL_\NUL+\NUL\255\255\255\255>\NUL\255\255\255\255\&1\NUL\255\255C\NUL\255\255\255\255\&6\NULG\NULH\NUL\255\255\255\255\255\255\255\255M\NUL>\NUL\255\255P\NUL\255\255R\NULC\NUL\255\255\255\255V\NULG\NULH\NUL\255\255\255\255\255\255\255\255M\NUL^\NUL\255\255P\NUL\255\255R\NUL,\NUL\255\255\255\255V\NUL\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255^\NUL8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255.\NUL]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL]\NUL^\NUL8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL]\NUL^\NUL8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255\255\255>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NUL\255\255\255\255P\NUL\255\255R\NUL\255\255T\NULU\NULV\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL_\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255\255\255\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255T\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255S\NUL^\NULU\NULV\NULW\NULX\NULY\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULS\NULv\NULU\NULV\NULW\NULX\NULY\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULS\NULv\NUL\255\255V\NULW\NULX\NULY\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NULv\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NUL\255\255S\NUL\255\255\255\255\255\255\255\255\255\255|\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255S\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255S\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255q\NUL\255\255s\NULt\NUL\255\255Z\NUL\255\255\\\NULy\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255o\NUL\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NUL;\NUL<\NUL=\NUL\255\255\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255s\NULt\NUL\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL;\NUL<\NUL=\NUL\255\255\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\&1\NULM\NULN\NULO\NULP\NULQ\NULR\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL1\NULA\NULB\NULC\NULD\NUL\255\255\255\255\&8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255"#--happyTable :: HappyAddr-happyTable-  = HappyA#-      "\NUL\NUL\136\NULL\NULM\NUL\162\SOH{\ETX^\ETX\DC2\ETX\DC3\ETX\DC1\ETX\DC2\ETX\DC3\ETX`\ETX=\254\230\STX%\STX\141\SOHr\ETX\170\NUL\203\SOH5\ETX%\ETX\SUB\STXz\ETXN\NULi\ETXO\NUL&\STXP\NULQ\NULR\NUL\204\SOHS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\212\STX\SYN\ETX\248\NUL{\STX\130\STX\239\NUL_\NUL\132\SOH\199\NUL\185\NUL`\NUL\200\NUL\247\SOH\188\NUL=\SOHL\NULM\NULu\SOH6\ETX{\ETXa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\156\NUL%\STXO\ETX\186\NUL\131\STX\203\SOHv\SOH\189\NUL\226\SOH\249\NULN\NULq\ETXO\NUL&\STXP\NULQ\NULR\NUL\204\SOHS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\DC4\ETX\151\SOH\134\NUL\DC4\ETX\DC4\ETX\132\NUL_\NUL\134\NULs\ETX\132\NUL`\NUL\134\NUL\134\NUL\214\NULK\NULL\NULM\NULh\NULi\NULj\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\240\NULK\NUL\200\SOHc\NUL\201\SOH*\NUL\182\NUL\132\NUL\152\SOH\134\NULN\NUL\134\NULO\NUL\201\NULP\NULQ\NULR\NUL\190\NULS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\170\NUL\203\SOH\ACK\STXO\ETX\170\NUL\132\NUL_\NUL\134\NULj\ETX\132\NUL`\NUL\134\NULU\ETX\204\SOH\a\STX\221\SOH\189\NULh\NULi\NULj\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\156\NUL9\ETX\171\NUL\251\STX\172\NUL\196\NUL%\STX;\ETX\132\NUL\152\SOH\134\NUL\173\NUL]\NUL^\NUL\215\NUL\225\STX\183\NUL\211\STX&\STX\224\STX_\NUL%\STX\157\SOH\174\NUL\197\NULV\ETX\222\SOH\n\ETX<\254\247\SOHm\ETX\v\ETX\246\SOH&\STX\175\NULb\NULc\NULd\NUL\176\NULf\NULg\NUL<\254\216\NUL\185\NUL\247\SOH\217\NUL<\254h\NULi\NULj\NUL\203\SOH\181\NUL\218\NUL]\NUL^\NUL\158\SOH\190\NUL\212\STXn\ETX\225\STX<\254_\NUL\204\SOH`\STX\186\NUL\132\NUL\132\NUL\215\NUL\134\NUL\247\SOH\240\NULK\NUL\182\NUL\213\NUL\161\NUL\219\NULb\NULc\NULd\NUL\220\NULf\NULg\NULT\ETXA\ETX\159\SOH\214\NUL\160\SOH\162\NUL\174\NUL\177\NULj\NUL\198\NUL\163\NUL\161\SOH]\NUL^\NUL\150\NUL\132\NUL\215\NUL\134\NUL\249\SOH\EM\ETX_\NUL\236\STX\232\STX\162\SOH\164\NUL\SUB\ETX\132\NUL\215\NUL\134\NULB\ETX\132\NUL\215\NUL\134\NUL\247\SOH\163\SOHb\NULc\NULd\NUL\164\SOHf\NULg\NUL\132\NUL\215\NUL\151\NUL\195\NUL\152\NUL\196\NUL\240\NULK\NUL\221\NUL\ESC\ETXl\NUL\153\NUL]\NUL^\NUL\134\STX\GS\ETX\183\NUL\250\SOH\132\NUL\137\STX_\NUL(\ETXm\NUL\f\STX\197\NUL\132\NUL\152\SOH\134\NUL\240\NULK\NUL\193\STX\128\STXj\NUL\161\NUL\154\NULb\NULc\NULd\NUL\155\NULf\NULg\NUL\132\NUL\215\NUL\171\NUL\203\SOH\172\NUL\162\NUL\216\NUL\185\NUL\156\NUL\217\NUL\163\NUL\173\NUL]\NUL^\NUL\FS\ETX\204\SOH\218\NUL]\NUL^\NULg\STX_\NUL`\STX\152\STX\174\NUL\164\NUL_\NUL\218\SOH\219\SOH\186\NUL\153\STX\132\NUL\215\NUL\134\NUL\140\STX\175\NULb\NULc\NUL\208\SOH\154\STX\219\NULb\NULc\NUL\208\SOH\159\SOH\168\STX\160\SOH\r\STX\140\NULj\NUL\156\NUL\198\NUL\132\SOH\161\SOH]\NUL^\NUL\151\SOH\161\NUL\180\STX\132\SOHh\STX\132\NUL_\NUL\134\NUL\168\254\162\SOH\188\NUL\168\254\214\NUL\236\SOH\162\NULn\ETX2\NUL3\NUL\215\SOH\163\NUL\163\SOHb\NULc\NUL\208\SOH\144\STX4\NUL5\NUL6\NUL7\NUL8\NUL%\STX\189\NUL\SYN\STX\164\NUL\135\STXj\NUL\168\254\218\STX\225\SOH\132\NUL\221\NUL\134\NUL&\STX\192\NUL\185\NUL7\ETX\184\NUL\185\NUL8\ETXF\STX2\NUL3\NUL\145\STX\141\STX\EM\STXH\STXI\STXJ\STX\ESC\STX4\NUL5\NUL6\NUL7\NUL8\NUL\RS\STX\186\NUL\240\NULK\NUL\186\NULK\STX\169\NULO\NUL\170\NULP\NULL\STXM\STX\156\NULS\NULN\STXU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\224\SOH\225\SOH\132\NUL\152\SOH\134\NULB\STX_\NUL \STXp\SOH\190\NULO\STX\ACK\NULq\SOH\a\NUL\226\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL/\STX9\NUL\132\NUL\215\NUL\134\NUL\137\SOH\CAN\NUL\EM\NUL\168\SOH:\NUL\146\NULc\NUL\233\SOH\193\NUL\229\255\ACK\NUL\187\NUL\a\NUL\134\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\132\SOH9\NUL\226\SOH\132\SOH5\STX\198\SOH\CAN\NUL\EM\NULC\STX:\NULh\NUL\195\SOHj\NULF\STX2\NUL3\NULD\STXG\STX`\STXH\STXI\STXJ\STX?\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\146\SOH\SUB\STX\149\NULj\NUL\131\SOHK\STX\132\SOHO\NUL@\SOHP\NULL\STXM\STX\214\NULS\NULN\STXU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\r\SOHp\ETX\140\NULj\NUL\137\SOH\132\SOH_\NUL\134\SOH\132\SOH\153\SOHO\STX\168\SOH\198\SOH\151\SOH\130\SOH\234\STX#\STX\207\NUL\235\STX\ACK\STX\136\SOH\170\NUL\200\SOHc\NUL\201\SOH\214\NUL\138\SOH\SO\SOHU\NUL\152\SOH\SI\SOH\a\STX\DLE\SOH\132\SOH\DC1\SOH\\\NUL]\NUL^\NUL\132\SOH\154\SOH\132\SOH\132\SOH\192\NUL\185\NUL_\NUL\ACK\NUL\155\SOH\a\NUL\DC2\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\186\NUL9\NUL\132\NUL\215\NUL\134\NULh\SOH\CAN\NUL\EM\NUL\167\SOH:\NULh\NUL\195\SOHj\NUL\156\NUL\169\SOH\207\SOHb\NULc\NUL\208\SOH\ACK\NUL\188\SOH\a\NUL\197\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\r\SOH\DC4\SOH\132\NUL\152\SOH\134\NUL\199\SOH\CAN\NUL\EM\NUL\132\NUL\215\NULh\NUL\NAK\SOHj\NUL\246\SOH\156\NUL}\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH0\ETX\212\SOHu\STX1\ETX\247\SOHv\STX\SO\SOHU\NUL\193\NUL\SI\SOH\213\SOH\DLE\SOH\156\NUL\DC1\SOH\\\NUL]\NUL^\NUL\r\SOH \ETX!\ETX\159\NUL\EOT\ETX\"\ETX_\NUL+\ETX,\ETX\221\STX\DC2\SOH\174\NUL\222\STX.\ETX\164\NUL\174\NUL+\STX\206\NUL\207\NUL,\STX\209\NUL\156\NUL\209\SOHb\NULc\NUL\208\SOH\231\NUL\SO\SOHU\NUL\237\NUL\SI\SOHi\SOH\DLE\SOH\250\NUL\DC1\SOH\\\NUL]\NUL^\NUL~\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH_\NUL\ACK\NUL\EOT\SOH\a\NUL\DC2\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\n\SOH\DC4\SOH\132\NUL\215\NUL+\SOHk\SOH\CAN\NUL\EM\NUL\135\NUL\ENQ\NULh\NUL\NAK\SOHj\NUL-\STXj\NUL\ENQ\NUL\DEL\STX\128\STXj\NUL\ACK\NUL}\ETX\a\NUL*\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\r\SOH\DC4\SOH8\STXb\NULc\NUL\208\SOH\CAN\NUL\EM\NUL\174\NUL~\ETXh\NUL\NAK\SOHj\NUL+\STX\206\NUL\207\NUL,\STX\209\NUL*\NUL\209\SOHb\NULc\NULd\NUL\181\STX\210\SOHg\NUL\DEL\ETX\SO\SOHU\NULu\ETX\SI\SOHv\ETX\DLE\SOHw\ETX\DC1\SOH\\\NUL]\NUL^\NUL8\ETX\166\NUL\167\NUL\190\SOHi\ETXO\NUL_\NULP\NUL\191\SOH\192\SOH\DC2\SOHS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NULZ\ETX \SOH!\SOH\"\SOH#\SOH*\NUL_\NULe\SOH\DC3\SOH\170\NUL\194\SOH\240\NULK\NUL-\STXj\NUL\249\STXb\NULc\NUL\208\SOHf\SOH=\ETX>\ETX\ACK\NUL\134\NUL\a\NULl\ETX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\ACK\NUL\DC4\SOH\a\NULX\ETX\NUL\SOH\t\NUL\CAN\NUL\EM\NUL\254\STX\255\STXh\NUL\NAK\SOHj\NUL\151\NUL\134\NUL\152\NUL\NUL\ETX\SOH\ETX\238\SOH\250\SOH\EM\ETX\152\NUL\153\NUL]\NUL^\NUL\CAN\NUL\EM\NUL]\ETX\153\NUL]\NUL^\NUL_\NUL^\ETXh\NUL\195\SOHj\NUL\190\SOH_\NULO\NUL`\ETXP\NUL\191\SOH\192\SOHc\ETXS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\ETB\STX\250\SOH\143\STX\162\SOH\240\NULK\NUL_\NUL&\STX\166\NUL\167\NUL\194\SOHI\ETX\140\NULj\NUL\229\SOHb\NULc\NUL\208\SOH\190\SOHd\ETXO\NULe\ETXP\NUL\191\SOH\192\SOH=\NULS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\ACK\NUL@\ETX\a\NUL?\ETX\STX\SOH\t\NUL_\NUL\156\NULC\ETX\159\SOH\194\SOH\160\SOHI\ETX\156\NUL\134\NUL\172\NUL\240\NULK\NUL\161\SOH]\NUL^\NUL!\STX\173\NUL]\NUL^\NUL\CAN\NUL\EM\NUL_\NUL\RS\SOH\US\SOH\162\SOH_\NUL\156\NULO\ETX\174\NUL\134\NULh\NUL\195\SOHj\NUL\190\SOHQ\ETXO\NULS\ETXP\NUL\191\SOH\192\SOH\134\SOHS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL0\STX\146\SOH\207\NUL\147\SOH\209\NUL\157\STX_\NUL\146\NULc\NUL\147\NUL\194\SOH\148\NULg\NUL$\SOH%\SOHh\NUL\195\SOHj\NUL\190\SOH\227\STXO\NUL\134\NULP\NUL\191\SOH\192\SOH\240\STXS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\156\NUL\174\NUL\251\STX\252\STXj\NUL\241\STX_\NULJ\ETX\140\NULj\NUL\194\SOH\160\SOH\209\SOHb\NULc\NUL\208\SOHL\ETX\244\STX\161\SOH]\NUL^\NUL6\STX\245\STX\149\SOHj\NUL\240\NULK\NUL_\NUL&\SOH'\SOH\162\SOH\249\STXb\NULc\NUL\208\SOH\246\STXh\NUL\195\SOHj\NUL\190\SOH\247\STXO\NUL\n\ETXP\NUL\191\SOH\192\SOH\238\SOHS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\189\SOH\ACK\STX\CAN\ETX\170\NUL\228\NUL\229\NUL_\NUL\r\ETX\211\SOHj\NUL\194\SOH\230\NUL\231\NUL\a\STX\SO\ETXh\NUL\195\SOHj\NUL\190\SOH\SI\ETXO\NUL\DLE\ETXP\NUL\191\SOH\192\SOH\ETB\ETXS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\156\NULo\ETX2\NUL3\NUL\240\NULK\NUL_\NUL\161\NUL\CAN\SOH\EM\SOH\194\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\161\NUL\151\NUL=\NUL\152\NUL\162\NULK\ETX\140\NULj\NUL+\ETX\163\NUL\153\NUL]\NUL^\NUL\162\NULE\ETX2\NUL3\NUL\US\ETX\163\NUL_\NULh\NUL\195\SOHj\NUL\164\NUL4\NUL5\NUL6\NUL7\NUL8\NUL\RS\SOH\US\SOH\134\NUL\164\NUL#\ETX\200\SOHc\NUL\201\SOH&\ETX\132\NUL\215\NUL\134\NUL\DLE\ETX2\NUL3\NUL$\SOH%\SOHw\STX\166\NUL\167\NULx\STXy\STX4\NUL5\NUL6\NUL7\NUL8\NUL\232\SOH'\ETXh\NUL\195\SOHj\NUL\241\STX\140\NULj\NUL&\SOH'\SOH\143\NULb\NULc\NUL\208\SOH\ACK\NUL|\STX\a\NUL}\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\156\NUL9\NUL\242\STX\140\NULj\NULc\STX\CAN\NUL\EM\NUL>\254:\NUL\ACK\NUL\188\SOH\a\NUL\140\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\146\STX9\NULh\NUL\145\NULj\NUL\134\SOH\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL*\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\156\STX9\NUL\149\STX2\NUL3\NUL\161\NUL\CAN\NUL\EM\NUL\157\STX:\NUL\165\STX\167\STX4\NUL5\NUL6\NUL7\NUL8\NUL\238\SOH\162\NUL\202\NUL\179\STX\162\SOH\180\STX\163\NUL\188\STX\189\STX\158\STX\206\NUL\207\NUL\150\STX2\NUL3\NUL\229\SOHb\NULc\NUL\208\SOH\191\STX\164\NUL\192\STX4\NUL5\NUL6\NUL7\NUL8\NUL*\STX\206\NUL\207\NUL\ENQ\ETX\166\NUL\167\NUL\207\SOHb\NULc\NUL\208\SOH\134\NUL\209\STX\151\STX2\NUL3\NULf\SOH_\SOH\166\NUL\167\NUL`\SOHa\SOH\134\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\203\NUL\214\STX\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\215\STX\210\NULb\NULc\NULd\NUL\211\NULf\NULg\NUL\ACK\NUL\156\NUL\a\NUL\218\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\156\NUL9\NUL&\STX\166\NUL\167\NUL\220\STX\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL\223\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\223\SOH9\NUL#\ETX\166\NUL\167\NUL\224\SOH\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL\229\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\236\SOH9\NULA\STX2\NUL3\NUL\228\SOH\CAN\NUL\EM\NUL\238\SOH:\NUL\251\SOH\252\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\134\NUL\DC2\STX\224\NUL&\STX\166\NUL\167\NUL\162\STX\166\NUL\167\NUL*\STX\206\NUL\207\NULR\STX2\NUL3\NUL\207\SOHb\NULc\NUL\208\SOH\163\STX\166\NUL\167\NUL4\NUL5\NUL6\NUL7\NUL8\NUL}\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH&\STX\166\NUL\167\NUL\184\STX\140\NULj\NULv\SOH2\NUL3\NUL\189\STX\140\NULj\NUL\194\STX\140\NULj\NUL\238\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\225\NUL\EM\STX\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL=\NUL\210\NULb\NULc\NULd\NUL\226\NULf\NULg\NUL\ACK\NUL\156\NUL\a\NUL \STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\238\SOH9\NUL\195\STX\140\NULj\NUL(\STX\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL)\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NULx\SOH9\NUL\196\STX\140\NULj\NUL\238\SOH\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL4\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\134\NUL9\NUL\241\NUL2\NUL3\NUL\238\SOH\CAN\NUL\EM\NUL:\STX:\NUL;\STX<\STX4\NUL5\NUL6\NUL7\NUL8\NUL@\STX\146\SOH\207\NUL\147\SOH\209\NUL\157\STX=\STX\146\NULc\NUL\233\SOH>\STX*\NUL1\NUL2\NUL3\NUL\207\SOHb\NULc\NUL\208\SOH\200\STX\140\NULj\NUL4\NUL5\NUL6\NUL7\NUL8\NUL}\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\201\STX\140\NULj\NUL\188\SOHT\STX\ACK\NULF\STX\a\NULW\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NULU\STX\234\NULV\STXy\SOH\149\SOHj\NUL\CAN\NUL\EM\NUL\205\STX\140\NULj\NULX\STXY\STX\ACK\NUL\156\NUL\a\NUL\134\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NULd\STX9\NUL\216\STX\166\NUL\167\NULf\STX\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL\ESC\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\SUB\SOH9\NUL\133\STXJ\STX\FS\SOH\GS\SOH\CAN\NUL\EM\NULi\STX:\NUL\ACK\STXk\SOH\170\NUL]\SOH^\SOHK\STXh\SOHO\NUL\134\NULP\NULL\STXM\STX\a\STXS\NULN\STXU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\165\NUL\166\NUL\167\NULt\SOH\216\NUL\185\NUL_\NUL\217\NULx\SOH|\SOHO\STX\230\SOH\166\NUL\167\NUL\218\NUL]\NUL^\NULs\SOH\231\SOH\166\NUL\167\NUL~\SOH\134\NUL_\NUL=\NUL\136\SOH\186\NUL=\NUL=\254\ACK\NULl\NUL\a\NUL\134\SOH\244\NUL\t\NUL\n\NULI\SOH\247\SOHb\NULc\NUL\208\SOH=\254m\NUL\229\255\134\SOH\ACK\NUL=\254\a\NUL=\NUL\244\NUL\t\NUL\ETX\SOH\165\STX\158\SOH\CAN\NUL\EM\NUL\142\SOH\206\NUL\207\NUL=\NUL=\254\170\NUL\143\NULb\NULc\NUL\208\SOH\132\NUL\215\NUL\134\NUL\197\SOH\CAN\NUL\EM\NUL?\SOH\205\SOHh\NUL\195\SOHj\NULn\NULo\NUL=\NULp\NUL\207\SOHq\NUL*\NUL\134\NULr\NUL\218\SOH\255\255s\NUL\138\NULt\NULu\NULv\NUL\221\NUL\165\NUL\166\NUL\167\NULw\NULx\NUL\139\NULy\NUL\136\STX\134\NULz\NUL{\NUL\142\NUL|\NUL}\NUL\134\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\233\NULh\NUL\144\SOHj\NUL=\NUL\255\255\132\NUL\133\NUL\134\NUL\135\NUL\ESC\NUL\SO\STX\140\NULj\NUL?\254\251\255\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\234\NUL\237\NUL#\NUL&\STX\166\NUL\167\NUL\ACK\NUL\243\NUL\a\NUL\241\NUL\244\NUL\t\NULa\STX$\NUL\244\NUL\203\NUL\248\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\252\NUL\210\NULb\NULc\NUL\208\SOH\253\NUL<\NUL=\NUL\CAN\NUL\EM\NUL%\NUL>\NULo\NUL?\NULp\NUL@\NULq\NUL=\254A\NULr\NULB\NULC\NULs\NUL\255\255t\NULu\NULv\NULD\NULE\NULF\NUL=\254w\NULx\NUL\254\NULy\NUL=\254G\NULz\NUL{\NUL&\NUL|\NUL}\NULH\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254I\NUL'\NUL(\NUL)\NUL*\NULJ\NULQ\STX\134\NULR\STX-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL4\STX\140\NULj\NUL\255\NUL\NUL\SOH\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\ACK\SOHo\NUL#\NUL\255\255\ETB\SOH\ACK\NUL\161\NUL\a\NUL\SUB\SOH\244\NUL\t\NUL\n\NULJ\SOH$\NULu\NULo\SOH\140\NULj\NUL\ESC\SOH\162\NUL\128\SOH\140\NULj\NULy\NUL\163\NUL\129\SOH\140\NULj\NUL\FS\SOH|\NUL\CAN\NUL\EM\NUL~\NUL%\NUL\128\NUL\215\255\GS\SOH\215\255\164\NUL\215\255\215\255\NUL\NUL\215\255\NUL\NUL\NUL\NUL\215\255\134\NUL\215\255\215\255\215\255\139\SOH\166\NUL\167\NUL\215\255\215\255\215\255\NUL\NUL\215\255\215\255\NUL\NUL\215\255\215\255&\NUL\215\255\215\255\NUL\NUL\215\255\215\255\215\255\215\255\215\255\215\255\215\255\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\215\255\215\255,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\165\NUL\166\NUL\167\NUL\NUL\NUL\174\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\209\SOHb\NULc\NULd\NUL\NUL\NUL\210\SOHg\NUL>\STX\NUL\NULO\NUL$\NULP\NUL\191\SOH\192\SOH\NUL\NULS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\139\NUL\140\NULj\NUL%\NUL\NUL\NULo\NUL_\NULp\NUL\NUL\NULq\NUL\194\SOH\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\165\NUL\166\NUL\167\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\211\SOHj\NULz\NUL{\NUL&\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\133\NUL\134\NULR\STX-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\180\NUL\140\NULj\NUL\NUL\NULY\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NULh\NUL\195\SOHj\NUL\141\SOHG\ETX\170\NUL\141\SOH\t\ETX\170\NUL$\NULZ\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\141\SOH\162\STX\170\NUL\141\SOH\168\STX\170\NUL\NUL\NUL\NUL\NUL\146\SOH\207\NUL=\NUL\NUL\NUL\NUL\NUL%\NUL\146\NULc\NUL\233\SOHp\NUL\SOH\STXq\NUL\170\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\STX\STX\141\SOH\206\SOH\170\NULw\NULx\NULh\NUL[\STXj\NUL\NUL\NULz\NUL{\NUL&\NUL\138\STX}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\133\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\149\SOHj\NUL\NUL\NUL<\254\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL8\SOH<\254\&9\SOH\NUL\NUL:\SOH;\SOH<\254\NUL\NUL<\SOH=\SOH$\NUL\NUL\NUL\225\NUL\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL<\254\210\NULb\NULc\NUL\208\SOH\NUL\NUL\132\NUL\NUL\NUL\134\NUL\NUL\NUL%\NUL\141\SOH\235\SOH\170\NULp\NULe\SOHq\NUL\170\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NULf\SOH(\SOH)\SOH*\SOHw\NULx\NUL\169\NUL\206\SOH\170\NUL\NUL\NULz\NUL{\NUL&\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\133\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL(\SOH)\SOH*\SOH<\254\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL<\254\174\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254+\STX\206\NUL\207\NUL$\NUL\NUL\NUL\NUL\NUL\209\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\ACK\NUL<\254\a\NUL\NUL\NUL\244\NUL\t\NULF\SOH<\NUL=\NUL\134\NUL\NUL\NUL%\NUL>\NUL\NUL\NUL?\NUL\NUL\NUL@\NUL\NUL\NUL\NUL\NULA\NUL\NUL\NULB\NULC\NUL\142\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NULD\NULE\NULF\NUL\NUL\NUL\NUL\NUL\143\NULb\NULc\NULd\NULG\NUL\144\NULg\NUL&\NUL\NUL\NUL\NUL\NULH\NUL\NUL\NUL\NUL\NUL\SOH\STX\NUL\NUL\170\NUL\ACK\ETXj\NULI\NUL'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\STX\STX,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\187\STX\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\145\NULj\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL%\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\161\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\162\NULe\SOH\NUL\NUL\170\NUL\NUL\NUL\163\NUL\132\NUL\159\NUL\134\NUL&\NUL<\254\NUL\NUL\ACK\NULf\SOH\a\NUL\NUL\NUL\244\NUL\t\NULG\SOH\164\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\SYN\STX\NUL\NUL\NUL\NUL#\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL$\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL%\NUL\179\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NUL\161\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\180\NUL\134\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\STX\162\NUL\170\NUL\NUL\NUL%\STX\NUL\NUL\163\NUL\161\STX\NUL\NUL\NUL\NUL&\NUL=\254\STX\STX\146\NULc\NUL\147\NUL&\STX\148\NULg\NUL\247\SOH\164\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\175\SOH\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\161\NUL\ACK\NUL\NUL\NUL\a\NUL\161\NUL\ACK\SOH\t\NUL\161\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NUL\149\NULj\NUL\NUL\NUL\162\NUL\163\NUL\NUL\NUL\162\NUL\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\163\NUL\CAN\NUL\EM\NUL%\NUL\ACK\NUL\NUL\NUL\a\NUL\164\NUL\b\SOH\t\NUL=\254\164\NUL\NUL\NUL\132\NUL\164\NUL\134\NUL\NUL\NUL\132\NUL\215\NUL\134\NUL\132\NUL\215\NUL\134\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\CAN\NUL\EM\NUL\NUL\NUL&\NUL\176\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL/\STX\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NULu\STX\NUL\NUL\214\NULv\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NULK\SOH\ESC\NUL$\NULu\STX\NUL\NUL\NUL\NULv\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\CAN\NUL\EM\NULw\STXf\ETX\161\NUL%\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL$\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULM\SOH\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\STX4\ETX\NUL\NUL%\NUL\NUL\NUL\CAN\NUL\EM\NUL&\NUL\NUL\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\215\NUL\134\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULQ\SOH'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\DC1\STX\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\146\SOH\207\NUL\147\SOH\209\NUL\"\STX\NUL\NUL\146\NULc\NUL\147\NUL$\NUL\148\NULg\NUL\ACK\NUL\ESC\NUL\a\NULu\STX\v\SOH\t\NULv\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254\CAN\NUL\EM\NUL$\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NULH\SOH\NUL\NUL<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254\NUL\NULw\STX\NUL\NUL&\NUL%\NUL\149\SOHj\NUL\NUL\NULe\SOH\NUL\NUL\170\NUL\CAN\NUL\EM\NUL<\254\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NULf\SOH\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULR\SOH'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\CAN\NUL\EM\NUL\161\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL$\NUL\244\NUL\t\NUL\ETX\SOH\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\164\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\134\NUL\NUL\NUL#\NUL%\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\161\NUL\NUL\NUL\ACK\NUL$\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULN\SOH\NUL\NUL\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULw\STX\NUL\NUL&\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\164\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\162\SOH\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\158\STX\206\NUL\207\NUL\159\STX\209\NUL\NUL\NUL\229\SOHb\NULc\NUL\208\SOH\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\203\SOH\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\230\STX\NUL\NUL\NUL\NUL\204\SOH\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NULL\SOH\ESC\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\156\NUL\NUL\NUL#\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\161\NUL%\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL$\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULO\SOH\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\STX\NUL\NUL\NUL\NUL%\NUL\NUL\NUL\CAN\NUL\EM\NUL&\NUL\NUL\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\NUL\NUL\134\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULP\SOH\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\146\SOH\207\NUL\147\SOH\209\NUL\"\STX\NUL\NUL\146\NULc\NUL\233\SOH\NUL\NUL$\NUL\ESC\NULE\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NULc\STX\NUL\NUL\ACK\NUL%\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL*\SOH\NUL\NUL$\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\CAN\NUL\EM\NUL\NUL\NUL%\NUL\NUL\NUL&\NUL\149\SOHj\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NULY\SOH\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL%\NUL\NUL\NUL&\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\f\SOH\t\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL&\NUL\CAN\NUL\EM\NUL\146\SOH\207\NUL\147\SOH\209\NUL)\STX\NUL\NUL\146\NULc\NUL\233\SOH'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STX\SOH$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\149\SOHj\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL%\NUL\209\STX\NUL\NUL\NUL\NUL&\NUL\142\SOH\206\NUL\207\NUL\143\SOH\209\NUL$\NUL\143\NULb\NULc\NUL\208\SOH\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\144\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\b\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\146\SOH\207\NUL\147\SOH\209\NUL\a\ETX\NUL\NUL\146\NULc\NUL\233\SOH\n\SOH$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STX\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\149\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULe\SOH\NUL\NUL\170\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NULf\SOH,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULl\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NULm\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL$\NULn\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL=\254\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\134\NUL\NUL\NUL%\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\ACK\STX\NUL\NUL\170\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\133\NUL\134\NUL\135\NUL&\NUL\NUL\NUL\a\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL-\SOH.\SOH/\SOH0\SOH1\SOH2\SOH3\SOH4\SOH5\SOH6\SOH7\SOH\NUL\NUL\SOH\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\STX\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\133\NUL\134\NUL\SOH\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\STX\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\133\NUL\134\NUL\SOH\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\STX\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\167\SOH\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\167\SOH\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NULe\SOHo\NUL\170\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULf\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\167\SOH\134\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NUL\ACK\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\a\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NULe\SOHo\NUL\170\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULf\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\203\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL\NUL\NULo\NUL\NUL\NULp\NUL\204\SOHq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\159\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULl\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NULm\NULr\NUL\NUL\NUL\203\SOHs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\204\SOHy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\SOH\STX\251\STX\170\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL\NUL\NUL\161\NUL\NUL\NUL\STX\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULp\NUL\162\NULq\NUL\NUL\NUL\NUL\NULr\NUL\163\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\164\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\132\NUL}\NUL\134\NUL\NUL\NUL\158\NUL=\254\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL=\254\NUL\NUL\NUL\NUL\176\SOH\177\SOH=\254S\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\132\NUL\NUL\NUL\134\NUL\181\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\146\SOH\207\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\146\NULc\NUL\233\SOH\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\\\STX\166\NUL\167\NUL]\STX^\STX\NUL\NUL\NUL\NUL\NUL\NUL\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\146\SOH\207\NUL\147\SOH\209\NUL)\STX_\NUL\146\NULc\NUL\147\NUL\181\SOH\148\NULg\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\199\STXj\NUL\146\NULc\NUL\233\SOH\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\\\STX\166\NUL\167\NUL]\STX^\STX\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\149\SOHj\NUL\181\SOH\146\SOH\207\NUL\147\SOH\209\NUL\148\SOH\NUL\NUL\146\NULc\NUL\233\SOH\NUL\NULh\NUL\204\STXj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\\\STX\166\NUL\167\NUL]\STX^\STX\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\146\SOH\207\NUL\147\SOH\209\NUL\148\SOH_\NUL\146\NULc\NUL\147\NUL\181\SOH\148\NULg\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\149\SOHj\NUL\NUL\NULh\NUL_\STXj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\185\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\181\SOH\149\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\186\SOHj\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\216\NUL\185\NUL\NUL\NUL\217\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\181\SOH\218\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\171\NUL\186\NUL\172\NUL\NUL\NULh\NUL\186\SOHj\NUL\206\STX\NUL\NUL\173\NUL]\NUL^\NUL\a\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL\NUL\NUL\b\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\252\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\253\SOH_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NULh\NUL\186\SOHj\NUL\NUL\NUL\151\NUL\NUL\NUL\152\NUL\NUL\NUL\171\NUL\NUL\NUL\172\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL\221\NUL\173\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL#\STX\207\NUL\NUL\NUL\NUL\NUL\254\SOH\255\SOH\200\SOHc\NUL\201\SOH\242\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\STX\166\NUL\167\NULx\STXy\STX\151\NUL\NUL\NUL\152\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\159\SOH\NUL\NUL\160\SOH\NUL\NUL\NUL\NUL\NUL\NUL\151\NUL\NUL\NUL\152\NUL\161\SOH]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL_\NUL\156\NUL\NUL\NUL\162\SOH\243\SOHj\NUL_\NUL\NUL\NULw\STX\166\NUL\167\NULx\STXy\STX\NUL\NUL\212\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\241\SOHb\NULc\NUL\208\SOH\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SO\SOHU\NUL_\NUL\SI\SOH\NUL\NUL\DLE\SOH\DC2\SOH\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\182\STX\NUL\NUL\NUL\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\129\STX\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\183\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NULU\SOH\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\239\SOH\DC1\SOH\\\NUL]\NUL^\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\ACK\NUL\DC2\SOH\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\240\SOH\NUL\NUL\FS\STX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\GS\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NULT\SOH\NUL\NUL\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH1\STX\DC1\SOH\\\NUL]\NUL^\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\ACK\NUL\DC2\SOH\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL2\STX\NUL\NUL\215\SOH\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\216\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\169\STXU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\247\STX\171\STX\172\STX\169\STXU\NUL_\NUL\SI\SOH\NUL\NUL\DLE\SOH\173\STX\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\170\STX\171\STX\172\STX\SO\SOHU\NUL_\NUL\SI\SOH\NUL\NUL\DLE\SOH\173\STX\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\SO\SOHU\NUL\DC2\SOH\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\NUL\NUL\132\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\174\STXj\NUL\NUL\NUL\SO\SOHU\NULm\SOH\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NULh\NUL\174\STXj\NUL\NUL\NUL\172\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\173\NUL]\NUL^\NUL\174\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL\209\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NULn\SOH\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL~\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\NUL\NUL^\SOH_\SOH\166\NUL\167\NUL`\SOHa\SOH\152\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\248\STX_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL\DEL\STX\236\STXj\NUL\249\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NULb\SOHc\SOH\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\162\SOH\NUL\NUL\NUL\NUL\NUL\NUL\DC2\STX\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\141\SOH\DC3\STX\DC4\STXj\NUL\142\SOH\206\NUL\207\NUL\143\SOH\209\NUL\NUL\NUL\143\NULb\NULc\NULd\NUL\NUL\NUL\144\NULg\NUL\NUL\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\170\SOH\NUL\NUL\NUL\NUL\174\NUL\185\STX\NUL\NUL\CAN\NUL\EM\NUL+\STX\206\NUL\207\NUL\NUL\NUL\156\NUL\NUL\NUL\209\SOHb\NULc\NUL\208\SOHh\NUL\144\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL~\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\172\SOH\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\173\SOHj\NUL\197\STX\DEL\STX\237\STXj\NUL\142\SOH\206\NUL\207\NUL\202\STX\159\NUL\NUL\NUL\143\NULb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\143\NULb\NULc\NUL\208\SOH\NUL\NULZ\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NULZ\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\192\STX\NUL\NULh\NUL\198\STXj\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NULh\NUL\203\STXj\NUL\176\STX\NUL\NUL\ENQ\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\176\STX\NUL\NUL\177\STX\NUL\NUL\NUL\NUL\133\NUL\134\NUL\178\STXp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\192\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NULo\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\161\NUL\NUL\NUL\133\NUL\134\NUL\178\STX\195\NUL\NUL\NUL\NUL\NULu\NUL\NUL\NUL\NUL\NULo\NUL\NUL\NUL\162\NUL\NUL\NUL\NUL\NUL\161\NULy\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\NULu\NUL\NUL\NUL~\NUL\NUL\NUL\128\NUL\162\NUL\NUL\NUL\NUL\NUL\164\NULy\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\NUL\134\NUL\NUL\NUL~\NUL\NUL\NUL\128\NUL=\NUL\NUL\NUL\NUL\NUL\164\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\208\STX\133\NUL\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\188\SOH\133\NUL\134\NUL;\254\NUL\NUL;\254\NUL\NUL;\254;\254\NUL\NUL;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL;\254;\254;\254\NUL\NUL\NUL\NUL\NUL\NUL;\254;\254;\254\NUL\NUL;\254;\254\NUL\NUL;\254;\254\NUL\NUL;\254;\254\NUL\NUL;\254;\254;\254;\254;\254;\254;\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL;\254;\254o\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\167\SOH\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\133\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\159\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NUL\NUL\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL\NUL\NUL\NUL\NUL~\NUL\NUL\NUL\128\NUL\NUL\NUL\130\NUL\131\NUL\164\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NUL\178\STXp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\166\SOH\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\167\SOH\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\179\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NUL;\254\NUL\NUL;\254;\254\NUL\NUL;\254\180\NUL\134\NUL;\254\NUL\NUL;\254\NUL\NUL;\254\NUL\NUL\NUL\NUL\NUL\NUL;\254;\254;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL;\254;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL;\254;\254;\254;\254p\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL;\254;\254s\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\166\SOH\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\167\SOH\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\133\NUL\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\158\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\159\NUL\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\133\NUL\134\NULs\NUL\NUL\NUL\NUL\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULl\STX\134\NUL'\ETXn\STXo\STXp\STXq\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NULl\STXs\STXm\STXn\STXo\STXp\STXq\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL1\ETXs\STX\NUL\NUL2\ETXo\STXp\STXq\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NULs\STX\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\227\STX\CAN\NUL\EM\NUL\NUL\NULg\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\228\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL.\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\215\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SI\STX\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\156\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NULC\ETX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NULD\ETX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NUL\147\STX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NUL\148\STX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NUL\235\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULw\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULx\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULa\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL:\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\146\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULA\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NULB\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULC\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULW\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULZ\SOH\NUL\NUL\NUL\NUL[\SOH\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULz\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL|\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL~\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\DEL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\ETB\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULV\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULX\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL[\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULf\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULG\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULM\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULQ\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\232\STX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\238\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL)\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULi\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULk\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL@\STX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULE\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULl\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\246\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NULj\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NULd\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NULY\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NULV\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NULS\SOH\STX\STX\206\NUL\207\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETX\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EOT\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\t\STX\206\NUL\207\NUL\NUL\NUL\NUL\NUL\NUL\NUL\n\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULY\ETX\v\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\STX\ETX\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\SOH\ETX\244\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\STX\ETX\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH\203\NUL\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH\225\NUL\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH7\STX\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL"#-happyReduceArr-  = array (4, 463)-      [(4, happyReduce_4), (5, happyReduce_5), (6, happyReduce_6),-       (7, happyReduce_7), (8, happyReduce_8), (9, happyReduce_9),-       (10, happyReduce_10), (11, happyReduce_11), (12, happyReduce_12),-       (13, happyReduce_13), (14, happyReduce_14), (15, happyReduce_15),-       (16, happyReduce_16), (17, happyReduce_17), (18, happyReduce_18),-       (19, happyReduce_19), (20, happyReduce_20), (21, happyReduce_21),-       (22, happyReduce_22), (23, happyReduce_23), (24, happyReduce_24),-       (25, happyReduce_25), (26, happyReduce_26), (27, happyReduce_27),-       (28, happyReduce_28), (29, happyReduce_29), (30, happyReduce_30),-       (31, happyReduce_31), (32, happyReduce_32), (33, happyReduce_33),-       (34, happyReduce_34), (35, happyReduce_35), (36, happyReduce_36),-       (37, happyReduce_37), (38, happyReduce_38), (39, happyReduce_39),-       (40, happyReduce_40), (41, happyReduce_41), (42, happyReduce_42),-       (43, happyReduce_43), (44, happyReduce_44), (45, happyReduce_45),-       (46, happyReduce_46), (47, happyReduce_47), (48, happyReduce_48),-       (49, happyReduce_49), (50, happyReduce_50), (51, happyReduce_51),-       (52, happyReduce_52), (53, happyReduce_53), (54, happyReduce_54),-       (55, happyReduce_55), (56, happyReduce_56), (57, happyReduce_57),-       (58, happyReduce_58), (59, happyReduce_59), (60, happyReduce_60),-       (61, happyReduce_61), (62, happyReduce_62), (63, happyReduce_63),-       (64, happyReduce_64), (65, happyReduce_65), (66, happyReduce_66),-       (67, happyReduce_67), (68, happyReduce_68), (69, happyReduce_69),-       (70, happyReduce_70), (71, happyReduce_71), (72, happyReduce_72),-       (73, happyReduce_73), (74, happyReduce_74), (75, happyReduce_75),-       (76, happyReduce_76), (77, happyReduce_77), (78, happyReduce_78),-       (79, happyReduce_79), (80, happyReduce_80), (81, happyReduce_81),-       (82, happyReduce_82), (83, happyReduce_83), (84, happyReduce_84),-       (85, happyReduce_85), (86, happyReduce_86), (87, happyReduce_87),-       (88, happyReduce_88), (89, happyReduce_89), (90, happyReduce_90),-       (91, happyReduce_91), (92, happyReduce_92), (93, happyReduce_93),-       (94, happyReduce_94), (95, happyReduce_95), (96, happyReduce_96),-       (97, happyReduce_97), (98, happyReduce_98), (99, happyReduce_99),-       (100, happyReduce_100), (101, happyReduce_101),-       (102, happyReduce_102), (103, happyReduce_103),-       (104, happyReduce_104), (105, happyReduce_105),-       (106, happyReduce_106), (107, happyReduce_107),-       (108, happyReduce_108), (109, happyReduce_109),-       (110, happyReduce_110), (111, happyReduce_111),-       (112, happyReduce_112), (113, happyReduce_113),-       (114, happyReduce_114), (115, happyReduce_115),-       (116, happyReduce_116), (117, happyReduce_117),-       (118, happyReduce_118), (119, happyReduce_119),-       (120, happyReduce_120), (121, happyReduce_121),-       (122, happyReduce_122), (123, happyReduce_123),-       (124, happyReduce_124), (125, happyReduce_125),-       (126, happyReduce_126), (127, happyReduce_127),-       (128, happyReduce_128), (129, happyReduce_129),-       (130, happyReduce_130), (131, happyReduce_131),-       (132, happyReduce_132), (133, happyReduce_133),-       (134, happyReduce_134), (135, happyReduce_135),-       (136, happyReduce_136), (137, happyReduce_137),-       (138, happyReduce_138), (139, happyReduce_139),-       (140, happyReduce_140), (141, happyReduce_141),-       (142, happyReduce_142), (143, happyReduce_143),-       (144, happyReduce_144), (145, happyReduce_145),-       (146, happyReduce_146), (147, happyReduce_147),-       (148, happyReduce_148), (149, happyReduce_149),-       (150, happyReduce_150), (151, happyReduce_151),-       (152, happyReduce_152), (153, happyReduce_153),-       (154, happyReduce_154), (155, happyReduce_155),-       (156, happyReduce_156), (157, happyReduce_157),-       (158, happyReduce_158), (159, happyReduce_159),-       (160, happyReduce_160), (161, happyReduce_161),-       (162, happyReduce_162), (163, happyReduce_163),-       (164, happyReduce_164), (165, happyReduce_165),-       (166, happyReduce_166), (167, happyReduce_167),-       (168, happyReduce_168), (169, happyReduce_169),-       (170, happyReduce_170), (171, happyReduce_171),-       (172, happyReduce_172), (173, happyReduce_173),-       (174, happyReduce_174), (175, happyReduce_175),-       (176, happyReduce_176), (177, happyReduce_177),-       (178, happyReduce_178), (179, happyReduce_179),-       (180, happyReduce_180), (181, happyReduce_181),-       (182, happyReduce_182), (183, happyReduce_183),-       (184, happyReduce_184), (185, happyReduce_185),-       (186, happyReduce_186), (187, happyReduce_187),-       (188, happyReduce_188), (189, happyReduce_189),-       (190, happyReduce_190), (191, happyReduce_191),-       (192, happyReduce_192), (193, happyReduce_193),-       (194, happyReduce_194), (195, happyReduce_195),-       (196, happyReduce_196), (197, happyReduce_197),-       (198, happyReduce_198), (199, happyReduce_199),-       (200, happyReduce_200), (201, happyReduce_201),-       (202, happyReduce_202), (203, happyReduce_203),-       (204, happyReduce_204), (205, happyReduce_205),-       (206, happyReduce_206), (207, happyReduce_207),-       (208, happyReduce_208), (209, happyReduce_209),-       (210, happyReduce_210), (211, happyReduce_211),-       (212, happyReduce_212), (213, happyReduce_213),-       (214, happyReduce_214), (215, happyReduce_215),-       (216, happyReduce_216), (217, happyReduce_217),-       (218, happyReduce_218), (219, happyReduce_219),-       (220, happyReduce_220), (221, happyReduce_221),-       (222, happyReduce_222), (223, happyReduce_223),-       (224, happyReduce_224), (225, happyReduce_225),-       (226, happyReduce_226), (227, happyReduce_227),-       (228, happyReduce_228), (229, happyReduce_229),-       (230, happyReduce_230), (231, happyReduce_231),-       (232, happyReduce_232), (233, happyReduce_233),-       (234, happyReduce_234), (235, happyReduce_235),-       (236, happyReduce_236), (237, happyReduce_237),-       (238, happyReduce_238), (239, happyReduce_239),-       (240, happyReduce_240), (241, happyReduce_241),-       (242, happyReduce_242), (243, happyReduce_243),-       (244, happyReduce_244), (245, happyReduce_245),-       (246, happyReduce_246), (247, happyReduce_247),-       (248, happyReduce_248), (249, happyReduce_249),-       (250, happyReduce_250), (251, happyReduce_251),-       (252, happyReduce_252), (253, happyReduce_253),-       (254, happyReduce_254), (255, happyReduce_255),-       (256, happyReduce_256), (257, happyReduce_257),-       (258, happyReduce_258), (259, happyReduce_259),-       (260, happyReduce_260), (261, happyReduce_261),-       (262, happyReduce_262), (263, happyReduce_263),-       (264, happyReduce_264), (265, happyReduce_265),-       (266, happyReduce_266), (267, happyReduce_267),-       (268, happyReduce_268), (269, happyReduce_269),-       (270, happyReduce_270), (271, happyReduce_271),-       (272, happyReduce_272), (273, happyReduce_273),-       (274, happyReduce_274), (275, happyReduce_275),-       (276, happyReduce_276), (277, happyReduce_277),-       (278, happyReduce_278), (279, happyReduce_279),-       (280, happyReduce_280), (281, happyReduce_281),-       (282, happyReduce_282), (283, happyReduce_283),-       (284, happyReduce_284), (285, happyReduce_285),-       (286, happyReduce_286), (287, happyReduce_287),-       (288, happyReduce_288), (289, happyReduce_289),-       (290, happyReduce_290), (291, happyReduce_291),-       (292, happyReduce_292), (293, happyReduce_293),-       (294, happyReduce_294), (295, happyReduce_295),-       (296, happyReduce_296), (297, happyReduce_297),-       (298, happyReduce_298), (299, happyReduce_299),-       (300, happyReduce_300), (301, happyReduce_301),-       (302, happyReduce_302), (303, happyReduce_303),-       (304, happyReduce_304), (305, happyReduce_305),-       (306, happyReduce_306), (307, happyReduce_307),-       (308, happyReduce_308), (309, happyReduce_309),-       (310, happyReduce_310), (311, happyReduce_311),-       (312, happyReduce_312), (313, happyReduce_313),-       (314, happyReduce_314), (315, happyReduce_315),-       (316, happyReduce_316), (317, happyReduce_317),-       (318, happyReduce_318), (319, happyReduce_319),-       (320, happyReduce_320), (321, happyReduce_321),-       (322, happyReduce_322), (323, happyReduce_323),-       (324, happyReduce_324), (325, happyReduce_325),-       (326, happyReduce_326), (327, happyReduce_327),-       (328, happyReduce_328), (329, happyReduce_329),-       (330, happyReduce_330), (331, happyReduce_331),-       (332, happyReduce_332), (333, happyReduce_333),-       (334, happyReduce_334), (335, happyReduce_335),-       (336, happyReduce_336), (337, happyReduce_337),-       (338, happyReduce_338), (339, happyReduce_339),-       (340, happyReduce_340), (341, happyReduce_341),-       (342, happyReduce_342), (343, happyReduce_343),-       (344, happyReduce_344), (345, happyReduce_345),-       (346, happyReduce_346), (347, happyReduce_347),-       (348, happyReduce_348), (349, happyReduce_349),-       (350, happyReduce_350), (351, happyReduce_351),-       (352, happyReduce_352), (353, happyReduce_353),-       (354, happyReduce_354), (355, happyReduce_355),-       (356, happyReduce_356), (357, happyReduce_357),-       (358, happyReduce_358), (359, happyReduce_359),-       (360, happyReduce_360), (361, happyReduce_361),-       (362, happyReduce_362), (363, happyReduce_363),-       (364, happyReduce_364), (365, happyReduce_365),-       (366, happyReduce_366), (367, happyReduce_367),-       (368, happyReduce_368), (369, happyReduce_369),-       (370, happyReduce_370), (371, happyReduce_371),-       (372, happyReduce_372), (373, happyReduce_373),-       (374, happyReduce_374), (375, happyReduce_375),-       (376, happyReduce_376), (377, happyReduce_377),-       (378, happyReduce_378), (379, happyReduce_379),-       (380, happyReduce_380), (381, happyReduce_381),-       (382, happyReduce_382), (383, happyReduce_383),-       (384, happyReduce_384), (385, happyReduce_385),-       (386, happyReduce_386), (387, happyReduce_387),-       (388, happyReduce_388), (389, happyReduce_389),-       (390, happyReduce_390), (391, happyReduce_391),-       (392, happyReduce_392), (393, happyReduce_393),-       (394, happyReduce_394), (395, happyReduce_395),-       (396, happyReduce_396), (397, happyReduce_397),-       (398, happyReduce_398), (399, happyReduce_399),-       (400, happyReduce_400), (401, happyReduce_401),-       (402, happyReduce_402), (403, happyReduce_403),-       (404, happyReduce_404), (405, happyReduce_405),-       (406, happyReduce_406), (407, happyReduce_407),-       (408, happyReduce_408), (409, happyReduce_409),-       (410, happyReduce_410), (411, happyReduce_411),-       (412, happyReduce_412), (413, happyReduce_413),-       (414, happyReduce_414), (415, happyReduce_415),-       (416, happyReduce_416), (417, happyReduce_417),-       (418, happyReduce_418), (419, happyReduce_419),-       (420, happyReduce_420), (421, happyReduce_421),-       (422, happyReduce_422), (423, happyReduce_423),-       (424, happyReduce_424), (425, happyReduce_425),-       (426, happyReduce_426), (427, happyReduce_427),-       (428, happyReduce_428), (429, happyReduce_429),-       (430, happyReduce_430), (431, happyReduce_431),-       (432, happyReduce_432), (433, happyReduce_433),-       (434, happyReduce_434), (435, happyReduce_435),-       (436, happyReduce_436), (437, happyReduce_437),-       (438, happyReduce_438), (439, happyReduce_439),-       (440, happyReduce_440), (441, happyReduce_441),-       (442, happyReduce_442), (443, happyReduce_443),-       (444, happyReduce_444), (445, happyReduce_445),-       (446, happyReduce_446), (447, happyReduce_447),-       (448, happyReduce_448), (449, happyReduce_449),-       (450, happyReduce_450), (451, happyReduce_451),-       (452, happyReduce_452), (453, happyReduce_453),-       (454, happyReduce_454), (455, happyReduce_455),-       (456, happyReduce_456), (457, happyReduce_457),-       (458, happyReduce_458), (459, happyReduce_459),-       (460, happyReduce_460), (461, happyReduce_461),-       (462, happyReduce_462), (463, happyReduce_463)]-happy_n_terms = 102 :: Int-happy_n_nonterms = 125 :: Int-happyReduce_4 = happyMonadReduce 1# 0# happyReduction_4-happyReduction_4 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOut8 happy_x_1 of-           happy_var_1 -> (let decls = reverse happy_var_1 in-                             case decls of-                                 [] -> do n <- getNewName-                                          p <- getCurrentPosition-                                          return $ CTranslUnit decls (mkNodeInfo' p (p, 0) n)-                                 (d : ds) -> withNodeInfo d $ CTranslUnit decls))-      (\ r -> happyReturn (happyIn7 r))-happyReduce_5 = happySpecReduce_0 1# happyReduction_5-happyReduction_5 = happyIn8 (empty)-happyReduce_6 = happySpecReduce_2 1# happyReduction_6-happyReduction_6 happy_x_2 happy_x_1-  = case happyOut8 happy_x_1 of-        happy_var_1 -> happyIn8 (happy_var_1)-happyReduce_7 = happySpecReduce_2 1# happyReduction_7-happyReduction_7 happy_x_2 happy_x_1-  = case happyOut8 happy_x_1 of-        happy_var_1 -> case happyOut9 happy_x_2 of-                           happy_var_2 -> happyIn8 (happy_var_1 `snoc` happy_var_2)-happyReduce_8 = happySpecReduce_1 2# happyReduction_8-happyReduction_8 happy_x_1-  = case happyOut10 happy_x_1 of-        happy_var_1 -> happyIn9 (CFDefExt happy_var_1)-happyReduce_9 = happySpecReduce_1 2# happyReduction_9-happyReduction_9 happy_x_1-  = case happyOut32 happy_x_1 of-        happy_var_1 -> happyIn9 (CDeclExt happy_var_1)-happyReduce_10 = happySpecReduce_2 2# happyReduction_10-happyReduction_10 happy_x_2 happy_x_1-  = case happyOut9 happy_x_2 of-        happy_var_2 -> happyIn9 (happy_var_2)-happyReduce_11 = happyMonadReduce 5# 2# happyReduction_11-happyReduction_11-  (happy_x_5 `HappyStk`-     (happy_x_4 `HappyStk`-        (happy_x_3 `HappyStk`-           (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut123 happy_x_3 of-                              happy_var_3 -> (withNodeInfo happy_var_1 $ CAsmExt happy_var_3))-      (\ r -> happyReturn (happyIn9 r))-happyReduce_12 = happyMonadReduce 2# 3# happyReduction_12-happyReduction_12-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk-  = happyThen-      (case happyOut11 happy_x_1 of-           happy_var_1 -> case happyOut14 happy_x_2 of-                              happy_var_2 -> (leaveScope >>-                                                (withNodeInfo happy_var_1 $-                                                   CFunDef [] happy_var_1 [] happy_var_2)))-      (\ r -> happyReturn (happyIn10 r))-happyReduce_13 = happyMonadReduce 3# 3# happyReduction_13-happyReduction_13-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOut127 happy_x_1 of-           happy_var_1 -> case happyOut11 happy_x_2 of-                              happy_var_2 -> case happyOut14 happy_x_3 of-                                                 happy_var_3 -> (leaveScope >>-                                                                   (withNodeInfo happy_var_1 $-                                                                      CFunDef-                                                                        (liftCAttrs happy_var_1)-                                                                        happy_var_2-                                                                        []-                                                                        happy_var_3)))-      (\ r -> happyReturn (happyIn10 r))-happyReduce_14 = happyMonadReduce 3# 3# happyReduction_14-happyReduction_14-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOut37 happy_x_1 of-           happy_var_1 -> case happyOut11 happy_x_2 of-                              happy_var_2 -> case happyOut14 happy_x_3 of-                                                 happy_var_3 -> (leaveScope >>-                                                                   (withNodeInfo happy_var_1 $-                                                                      CFunDef happy_var_1-                                                                        happy_var_2-                                                                        []-                                                                        happy_var_3)))-      (\ r -> happyReturn (happyIn10 r))-happyReduce_15 = happyMonadReduce 3# 3# happyReduction_15-happyReduction_15-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOut41 happy_x_1 of-           happy_var_1 -> case happyOut11 happy_x_2 of-                              happy_var_2 -> case happyOut14 happy_x_3 of-                                                 happy_var_3 -> (leaveScope >>-                                                                   (withNodeInfo happy_var_1 $-                                                                      CFunDef happy_var_1-                                                                        happy_var_2-                                                                        []-                                                                        happy_var_3)))-      (\ r -> happyReturn (happyIn10 r))-happyReduce_16 = happyMonadReduce 3# 3# happyReduction_16-happyReduction_16-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOut38 happy_x_1 of-           happy_var_1 -> case happyOut11 happy_x_2 of-                              happy_var_2 -> case happyOut14 happy_x_3 of-                                                 happy_var_3 -> (leaveScope >>-                                                                   (withNodeInfo happy_var_1 $-                                                                      CFunDef (reverse happy_var_1)-                                                                        happy_var_2-                                                                        []-                                                                        happy_var_3)))-      (\ r -> happyReturn (happyIn10 r))-happyReduce_17 = happyMonadReduce 3# 3# happyReduction_17-happyReduction_17-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOut62 happy_x_1 of-           happy_var_1 -> case happyOut11 happy_x_2 of-                              happy_var_2 -> case happyOut14 happy_x_3 of-                                                 happy_var_3 -> (leaveScope >>-                                                                   (withNodeInfo happy_var_1 $-                                                                      CFunDef-                                                                        (liftTypeQuals happy_var_1)-                                                                        happy_var_2-                                                                        []-                                                                        happy_var_3)))-      (\ r -> happyReturn (happyIn10 r))-happyReduce_18 = happyMonadReduce 4# 3# happyReduction_18-happyReduction_18-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  tk-  = happyThen-      (case happyOut62 happy_x_1 of-           happy_var_1 -> case happyOut127 happy_x_2 of-                              happy_var_2 -> case happyOut11 happy_x_3 of-                                                 happy_var_3 -> case happyOut14 happy_x_4 of-                                                                    happy_var_4 -> (leaveScope >>-                                                                                      (withNodeInfo-                                                                                         happy_var_1-                                                                                         $-                                                                                         CFunDef-                                                                                           (liftTypeQuals-                                                                                              happy_var_1-                                                                                              ++-                                                                                              liftCAttrs-                                                                                                happy_var_2)-                                                                                           happy_var_3-                                                                                           []-                                                                                           happy_var_4)))-      (\ r -> happyReturn (happyIn10 r))-happyReduce_19 = happyMonadReduce 3# 3# happyReduction_19-happyReduction_19-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOut76 happy_x_1 of-           happy_var_1 -> case happyOut33 happy_x_2 of-                              happy_var_2 -> case happyOut14 happy_x_3 of-                                                 happy_var_3 -> (withNodeInfo happy_var_1 $-                                                                   CFunDef [] happy_var_1-                                                                     (reverse happy_var_2)-                                                                     happy_var_3))-      (\ r -> happyReturn (happyIn10 r))-happyReduce_20 = happyMonadReduce 4# 3# happyReduction_20-happyReduction_20-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  tk-  = happyThen-      (case happyOut127 happy_x_1 of-           happy_var_1 -> case happyOut76 happy_x_2 of-                              happy_var_2 -> case happyOut33 happy_x_3 of-                                                 happy_var_3 -> case happyOut14 happy_x_4 of-                                                                    happy_var_4 -> (withNodeInfo-                                                                                      happy_var_2-                                                                                      $-                                                                                      CFunDef-                                                                                        (liftCAttrs-                                                                                           happy_var_1)-                                                                                        happy_var_2-                                                                                        (reverse-                                                                                           happy_var_3)-                                                                                        happy_var_4))-      (\ r -> happyReturn (happyIn10 r))-happyReduce_21 = happyMonadReduce 4# 3# happyReduction_21-happyReduction_21-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  tk-  = happyThen-      (case happyOut37 happy_x_1 of-           happy_var_1 -> case happyOut76 happy_x_2 of-                              happy_var_2 -> case happyOut33 happy_x_3 of-                                                 happy_var_3 -> case happyOut14 happy_x_4 of-                                                                    happy_var_4 -> (withNodeInfo-                                                                                      happy_var_1-                                                                                      $-                                                                                      CFunDef-                                                                                        happy_var_1-                                                                                        happy_var_2-                                                                                        (reverse-                                                                                           happy_var_3)-                                                                                        happy_var_4))-      (\ r -> happyReturn (happyIn10 r))-happyReduce_22 = happyMonadReduce 4# 3# happyReduction_22-happyReduction_22-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  tk-  = happyThen-      (case happyOut41 happy_x_1 of-           happy_var_1 -> case happyOut76 happy_x_2 of-                              happy_var_2 -> case happyOut33 happy_x_3 of-                                                 happy_var_3 -> case happyOut14 happy_x_4 of-                                                                    happy_var_4 -> (withNodeInfo-                                                                                      happy_var_1-                                                                                      $-                                                                                      CFunDef-                                                                                        happy_var_1-                                                                                        happy_var_2-                                                                                        (reverse-                                                                                           happy_var_3)-                                                                                        happy_var_4))-      (\ r -> happyReturn (happyIn10 r))-happyReduce_23 = happyMonadReduce 4# 3# happyReduction_23-happyReduction_23-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  tk-  = happyThen-      (case happyOut38 happy_x_1 of-           happy_var_1 -> case happyOut76 happy_x_2 of-                              happy_var_2 -> case happyOut33 happy_x_3 of-                                                 happy_var_3 -> case happyOut14 happy_x_4 of-                                                                    happy_var_4 -> (withNodeInfo-                                                                                      happy_var_1-                                                                                      $-                                                                                      CFunDef-                                                                                        (reverse-                                                                                           happy_var_1)-                                                                                        happy_var_2-                                                                                        (reverse-                                                                                           happy_var_3)-                                                                                        happy_var_4))-      (\ r -> happyReturn (happyIn10 r))-happyReduce_24 = happyMonadReduce 4# 3# happyReduction_24-happyReduction_24-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  tk-  = happyThen-      (case happyOut62 happy_x_1 of-           happy_var_1 -> case happyOut76 happy_x_2 of-                              happy_var_2 -> case happyOut33 happy_x_3 of-                                                 happy_var_3 -> case happyOut14 happy_x_4 of-                                                                    happy_var_4 -> (withNodeInfo-                                                                                      happy_var_1-                                                                                      $-                                                                                      CFunDef-                                                                                        (liftTypeQuals-                                                                                           happy_var_1)-                                                                                        happy_var_2-                                                                                        (reverse-                                                                                           happy_var_3)-                                                                                        happy_var_4))-      (\ r -> happyReturn (happyIn10 r))-happyReduce_25 = happyMonadReduce 5# 3# happyReduction_25-happyReduction_25-  (happy_x_5 `HappyStk`-     (happy_x_4 `HappyStk`-        (happy_x_3 `HappyStk`-           (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))-  tk-  = happyThen-      (case happyOut62 happy_x_1 of-           happy_var_1 -> case happyOut127 happy_x_2 of-                              happy_var_2 -> case happyOut76 happy_x_3 of-                                                 happy_var_3 -> case happyOut33 happy_x_4 of-                                                                    happy_var_4 -> case-                                                                                     happyOut14-                                                                                       happy_x_5-                                                                                     of-                                                                                       happy_var_5 -> (withNodeInfo-                                                                                                         happy_var_1-                                                                                                         $-                                                                                                         CFunDef-                                                                                                           (liftTypeQuals-                                                                                                              happy_var_1-                                                                                                              ++-                                                                                                              liftCAttrs-                                                                                                                happy_var_2)-                                                                                                           happy_var_3-                                                                                                           (reverse-                                                                                                              happy_var_4)-                                                                                                           happy_var_5))-      (\ r -> happyReturn (happyIn10 r))-happyReduce_26 = happyMonadReduce 1# 4# happyReduction_26-happyReduction_26 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOut72 happy_x_1 of-           happy_var_1 -> (let declr = reverseDeclr happy_var_1 in-                             enterScope >> doFuncParamDeclIdent declr >> return declr))-      (\ r -> happyReturn (happyIn11 r))-happyReduce_27 = happySpecReduce_1 5# happyReduction_27-happyReduction_27 happy_x_1-  = case happyOut13 happy_x_1 of-        happy_var_1 -> happyIn12 (happy_var_1)-happyReduce_28 = happySpecReduce_1 5# happyReduction_28-happyReduction_28 happy_x_1-  = case happyOut14 happy_x_1 of-        happy_var_1 -> happyIn12 (happy_var_1)-happyReduce_29 = happySpecReduce_1 5# happyReduction_29-happyReduction_29 happy_x_1-  = case happyOut22 happy_x_1 of-        happy_var_1 -> happyIn12 (happy_var_1)-happyReduce_30 = happySpecReduce_1 5# happyReduction_30-happyReduction_30 happy_x_1-  = case happyOut23 happy_x_1 of-        happy_var_1 -> happyIn12 (happy_var_1)-happyReduce_31 = happySpecReduce_1 5# happyReduction_31-happyReduction_31 happy_x_1-  = case happyOut24 happy_x_1 of-        happy_var_1 -> happyIn12 (happy_var_1)-happyReduce_32 = happySpecReduce_1 5# happyReduction_32-happyReduction_32 happy_x_1-  = case happyOut25 happy_x_1 of-        happy_var_1 -> happyIn12 (happy_var_1)-happyReduce_33 = happyMonadReduce 1# 5# happyReduction_33-happyReduction_33 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOut26 happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 (CAsm happy_var_1)))-      (\ r -> happyReturn (happyIn12 r))-happyReduce_34 = happyMonadReduce 4# 6# happyReduction_34-happyReduction_34-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  tk-  = happyThen-      (case happyOut125 happy_x_1 of-           happy_var_1 -> case happyOut126 happy_x_3 of-                              happy_var_3 -> case happyOut12 happy_x_4 of-                                                 happy_var_4 -> (withNodeInfo happy_var_1 $-                                                                   CLabel happy_var_1 happy_var_4-                                                                     happy_var_3))-      (\ r -> happyReturn (happyIn13 r))-happyReduce_35 = happyMonadReduce 4# 6# happyReduction_35-happyReduction_35-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut121 happy_x_2 of-                              happy_var_2 -> case happyOut12 happy_x_4 of-                                                 happy_var_4 -> (withNodeInfo happy_var_1 $-                                                                   CCase happy_var_2 happy_var_4))-      (\ r -> happyReturn (happyIn13 r))-happyReduce_36 = happyMonadReduce 3# 6# happyReduction_36-happyReduction_36-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut12 happy_x_3 of-                              happy_var_3 -> (withNodeInfo happy_var_1 $ CDefault happy_var_3))-      (\ r -> happyReturn (happyIn13 r))-happyReduce_37 = happyMonadReduce 6# 6# happyReduction_37-happyReduction_37-  (happy_x_6 `HappyStk`-     (happy_x_5 `HappyStk`-        (happy_x_4 `HappyStk`-           (happy_x_3 `HappyStk`-              (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut121 happy_x_2 of-                              happy_var_2 -> case happyOut121 happy_x_4 of-                                                 happy_var_4 -> case happyOut12 happy_x_6 of-                                                                    happy_var_6 -> (withNodeInfo-                                                                                      happy_var_1-                                                                                      $-                                                                                      CCases-                                                                                        happy_var_2-                                                                                        happy_var_4-                                                                                        happy_var_6))-      (\ r -> happyReturn (happyIn13 r))-happyReduce_38 = happyMonadReduce 5# 7# happyReduction_38-happyReduction_38-  (happy_x_5 `HappyStk`-     (happy_x_4 `HappyStk`-        (happy_x_3 `HappyStk`-           (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut17 happy_x_3 of-                              happy_var_3 -> (withNodeInfo happy_var_1 $-                                                CCompound [] (reverse happy_var_3)))-      (\ r -> happyReturn (happyIn14 r))-happyReduce_39 = happyMonadReduce 6# 7# happyReduction_39-happyReduction_39-  (happy_x_6 `HappyStk`-     (happy_x_5 `HappyStk`-        (happy_x_4 `HappyStk`-           (happy_x_3 `HappyStk`-              (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut21 happy_x_3 of-                              happy_var_3 -> case happyOut17 happy_x_4 of-                                                 happy_var_4 -> (withNodeInfo happy_var_1 $-                                                                   CCompound (reverse happy_var_3)-                                                                     (reverse happy_var_4)))-      (\ r -> happyReturn (happyIn14 r))-happyReduce_40 = happyMonadReduce 0# 8# happyReduction_40-happyReduction_40 (happyRest) tk-  = happyThen ((enterScope)) (\ r -> happyReturn (happyIn15 r))-happyReduce_41 = happyMonadReduce 0# 9# happyReduction_41-happyReduction_41 (happyRest) tk-  = happyThen ((leaveScope)) (\ r -> happyReturn (happyIn16 r))-happyReduce_42 = happySpecReduce_0 10# happyReduction_42-happyReduction_42 = happyIn17 (empty)-happyReduce_43 = happySpecReduce_2 10# happyReduction_43-happyReduction_43 happy_x_2 happy_x_1-  = case happyOut17 happy_x_1 of-        happy_var_1 -> case happyOut18 happy_x_2 of-                           happy_var_2 -> happyIn17 (happy_var_1 `snoc` happy_var_2)-happyReduce_44 = happySpecReduce_1 11# happyReduction_44-happyReduction_44 happy_x_1-  = case happyOut12 happy_x_1 of-        happy_var_1 -> happyIn18 (CBlockStmt happy_var_1)-happyReduce_45 = happySpecReduce_1 11# happyReduction_45-happyReduction_45 happy_x_1-  = case happyOut19 happy_x_1 of-        happy_var_1 -> happyIn18 (happy_var_1)-happyReduce_46 = happySpecReduce_1 12# happyReduction_46-happyReduction_46 happy_x_1-  = case happyOut32 happy_x_1 of-        happy_var_1 -> happyIn19 (CBlockDecl happy_var_1)-happyReduce_47 = happySpecReduce_1 12# happyReduction_47-happyReduction_47 happy_x_1-  = case happyOut20 happy_x_1 of-        happy_var_1 -> happyIn19 (CNestedFunDef happy_var_1)-happyReduce_48 = happySpecReduce_2 12# happyReduction_48-happyReduction_48 happy_x_2 happy_x_1-  = case happyOut19 happy_x_2 of-        happy_var_2 -> happyIn19 (happy_var_2)-happyReduce_49 = happyMonadReduce 3# 13# happyReduction_49-happyReduction_49-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOut37 happy_x_1 of-           happy_var_1 -> case happyOut11 happy_x_2 of-                              happy_var_2 -> case happyOut14 happy_x_3 of-                                                 happy_var_3 -> (leaveScope >>-                                                                   (withNodeInfo happy_var_1 $-                                                                      CFunDef happy_var_1-                                                                        happy_var_2-                                                                        []-                                                                        happy_var_3)))-      (\ r -> happyReturn (happyIn20 r))-happyReduce_50 = happyMonadReduce 3# 13# happyReduction_50-happyReduction_50-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOut41 happy_x_1 of-           happy_var_1 -> case happyOut11 happy_x_2 of-                              happy_var_2 -> case happyOut14 happy_x_3 of-                                                 happy_var_3 -> (leaveScope >>-                                                                   (withNodeInfo happy_var_1 $-                                                                      CFunDef happy_var_1-                                                                        happy_var_2-                                                                        []-                                                                        happy_var_3)))-      (\ r -> happyReturn (happyIn20 r))-happyReduce_51 = happyMonadReduce 3# 13# happyReduction_51-happyReduction_51-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOut38 happy_x_1 of-           happy_var_1 -> case happyOut11 happy_x_2 of-                              happy_var_2 -> case happyOut14 happy_x_3 of-                                                 happy_var_3 -> (leaveScope >>-                                                                   (withNodeInfo happy_var_1 $-                                                                      CFunDef (reverse happy_var_1)-                                                                        happy_var_2-                                                                        []-                                                                        happy_var_3)))-      (\ r -> happyReturn (happyIn20 r))-happyReduce_52 = happyMonadReduce 3# 13# happyReduction_52-happyReduction_52-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOut62 happy_x_1 of-           happy_var_1 -> case happyOut11 happy_x_2 of-                              happy_var_2 -> case happyOut14 happy_x_3 of-                                                 happy_var_3 -> (leaveScope >>-                                                                   (withNodeInfo happy_var_1 $-                                                                      CFunDef-                                                                        (liftTypeQuals happy_var_1)-                                                                        happy_var_2-                                                                        []-                                                                        happy_var_3)))-      (\ r -> happyReturn (happyIn20 r))-happyReduce_53 = happyMonadReduce 4# 13# happyReduction_53-happyReduction_53-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  tk-  = happyThen-      (case happyOut62 happy_x_1 of-           happy_var_1 -> case happyOut127 happy_x_2 of-                              happy_var_2 -> case happyOut11 happy_x_3 of-                                                 happy_var_3 -> case happyOut14 happy_x_4 of-                                                                    happy_var_4 -> (leaveScope >>-                                                                                      (withNodeInfo-                                                                                         happy_var_1-                                                                                         $-                                                                                         CFunDef-                                                                                           (liftTypeQuals-                                                                                              happy_var_1-                                                                                              ++-                                                                                              liftCAttrs-                                                                                                happy_var_2)-                                                                                           happy_var_3-                                                                                           []-                                                                                           happy_var_4)))-      (\ r -> happyReturn (happyIn20 r))-happyReduce_54 = happySpecReduce_3 14# happyReduction_54-happyReduction_54 happy_x_3 happy_x_2 happy_x_1-  = case happyOut82 happy_x_2 of-        happy_var_2 -> happyIn21 (happy_var_2)-happyReduce_55 = happyReduce 4# 14# happyReduction_55-happyReduction_55-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  = case happyOut21 happy_x_1 of-        happy_var_1 -> case happyOut82 happy_x_3 of-                           happy_var_3 -> happyIn21 (happy_var_1 `rappendr` happy_var_3)-                                            `HappyStk` happyRest-happyReduce_56 = happyMonadReduce 1# 15# happyReduction_56-happyReduction_56 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $ CExpr Nothing))-      (\ r -> happyReturn (happyIn22 r))-happyReduce_57 = happyMonadReduce 2# 15# happyReduction_57-happyReduction_57-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk-  = happyThen-      (case happyOut117 happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $-                             CExpr (Just happy_var_1)))-      (\ r -> happyReturn (happyIn22 r))-happyReduce_58 = happyMonadReduce 5# 16# happyReduction_58-happyReduction_58-  (happy_x_5 `HappyStk`-     (happy_x_4 `HappyStk`-        (happy_x_3 `HappyStk`-           (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut117 happy_x_3 of-                              happy_var_3 -> case happyOut12 happy_x_5 of-                                                 happy_var_5 -> (withNodeInfo happy_var_1 $-                                                                   CIf happy_var_3 happy_var_5-                                                                     Nothing))-      (\ r -> happyReturn (happyIn23 r))-happyReduce_59 = happyMonadReduce 7# 16# happyReduction_59-happyReduction_59-  (happy_x_7 `HappyStk`-     (happy_x_6 `HappyStk`-        (happy_x_5 `HappyStk`-           (happy_x_4 `HappyStk`-              (happy_x_3 `HappyStk`-                 (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut117 happy_x_3 of-                              happy_var_3 -> case happyOut12 happy_x_5 of-                                                 happy_var_5 -> case happyOut12 happy_x_7 of-                                                                    happy_var_7 -> (withNodeInfo-                                                                                      happy_var_1-                                                                                      $-                                                                                      CIf-                                                                                        happy_var_3-                                                                                        happy_var_5-                                                                                        (Just-                                                                                           happy_var_7)))-      (\ r -> happyReturn (happyIn23 r))-happyReduce_60 = happyMonadReduce 5# 16# happyReduction_60-happyReduction_60-  (happy_x_5 `HappyStk`-     (happy_x_4 `HappyStk`-        (happy_x_3 `HappyStk`-           (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut117 happy_x_3 of-                              happy_var_3 -> case happyOut12 happy_x_5 of-                                                 happy_var_5 -> (withNodeInfo happy_var_1 $-                                                                   CSwitch happy_var_3 happy_var_5))-      (\ r -> happyReturn (happyIn23 r))-happyReduce_61 = happyMonadReduce 5# 17# happyReduction_61-happyReduction_61-  (happy_x_5 `HappyStk`-     (happy_x_4 `HappyStk`-        (happy_x_3 `HappyStk`-           (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut117 happy_x_3 of-                              happy_var_3 -> case happyOut12 happy_x_5 of-                                                 happy_var_5 -> (withNodeInfo happy_var_1 $-                                                                   CWhile happy_var_3 happy_var_5-                                                                     False))-      (\ r -> happyReturn (happyIn24 r))-happyReduce_62 = happyMonadReduce 7# 17# happyReduction_62-happyReduction_62-  (happy_x_7 `HappyStk`-     (happy_x_6 `HappyStk`-        (happy_x_5 `HappyStk`-           (happy_x_4 `HappyStk`-              (happy_x_3 `HappyStk`-                 (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut12 happy_x_2 of-                              happy_var_2 -> case happyOut117 happy_x_5 of-                                                 happy_var_5 -> (withNodeInfo happy_var_1 $-                                                                   CWhile happy_var_5 happy_var_2-                                                                     True))-      (\ r -> happyReturn (happyIn24 r))-happyReduce_63 = happyMonadReduce 9# 17# happyReduction_63-happyReduction_63-  (happy_x_9 `HappyStk`-     (happy_x_8 `HappyStk`-        (happy_x_7 `HappyStk`-           (happy_x_6 `HappyStk`-              (happy_x_5 `HappyStk`-                 (happy_x_4 `HappyStk`-                    (happy_x_3 `HappyStk`-                       (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut119 happy_x_3 of-                              happy_var_3 -> case happyOut119 happy_x_5 of-                                                 happy_var_5 -> case happyOut119 happy_x_7 of-                                                                    happy_var_7 -> case-                                                                                     happyOut12-                                                                                       happy_x_9-                                                                                     of-                                                                                       happy_var_9 -> (withNodeInfo-                                                                                                         happy_var_1-                                                                                                         $-                                                                                                         CFor-                                                                                                           (Left-                                                                                                              happy_var_3)-                                                                                                           happy_var_5-                                                                                                           happy_var_7-                                                                                                           happy_var_9))-      (\ r -> happyReturn (happyIn24 r))-happyReduce_64 = happyMonadReduce 10# 17# happyReduction_64-happyReduction_64-  (happy_x_10 `HappyStk`-     (happy_x_9 `HappyStk`-        (happy_x_8 `HappyStk`-           (happy_x_7 `HappyStk`-              (happy_x_6 `HappyStk`-                 (happy_x_5 `HappyStk`-                    (happy_x_4 `HappyStk`-                       (happy_x_3 `HappyStk`-                          (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut32 happy_x_4 of-                              happy_var_4 -> case happyOut119 happy_x_5 of-                                                 happy_var_5 -> case happyOut119 happy_x_7 of-                                                                    happy_var_7 -> case-                                                                                     happyOut12-                                                                                       happy_x_9-                                                                                     of-                                                                                       happy_var_9 -> (withNodeInfo-                                                                                                         happy_var_1-                                                                                                         $-                                                                                                         CFor-                                                                                                           (Right-                                                                                                              happy_var_4)-                                                                                                           happy_var_5-                                                                                                           happy_var_7-                                                                                                           happy_var_9))-      (\ r -> happyReturn (happyIn24 r))-happyReduce_65 = happyMonadReduce 3# 18# happyReduction_65-happyReduction_65-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut125 happy_x_2 of-                              happy_var_2 -> (withNodeInfo happy_var_1 $ CGoto happy_var_2))-      (\ r -> happyReturn (happyIn25 r))-happyReduce_66 = happyMonadReduce 4# 18# happyReduction_66-happyReduction_66-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut117 happy_x_3 of-                              happy_var_3 -> (withNodeInfo happy_var_1 $ CGotoPtr happy_var_3))-      (\ r -> happyReturn (happyIn25 r))-happyReduce_67 = happyMonadReduce 2# 18# happyReduction_67-happyReduction_67-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $ CCont))-      (\ r -> happyReturn (happyIn25 r))-happyReduce_68 = happyMonadReduce 2# 18# happyReduction_68-happyReduction_68-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $ CBreak))-      (\ r -> happyReturn (happyIn25 r))-happyReduce_69 = happyMonadReduce 3# 18# happyReduction_69-happyReduction_69-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut119 happy_x_2 of-                              happy_var_2 -> (withNodeInfo happy_var_1 $ CReturn happy_var_2))-      (\ r -> happyReturn (happyIn25 r))-happyReduce_70 = happyMonadReduce 6# 19# happyReduction_70-happyReduction_70-  (happy_x_6 `HappyStk`-     (happy_x_5 `HappyStk`-        (happy_x_4 `HappyStk`-           (happy_x_3 `HappyStk`-              (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut27 happy_x_2 of-                              happy_var_2 -> case happyOut123 happy_x_4 of-                                                 happy_var_4 -> (withNodeInfo happy_var_1 $-                                                                   CAsmStmt happy_var_2 happy_var_4-                                                                     []-                                                                     []-                                                                     []))-      (\ r -> happyReturn (happyIn26 r))-happyReduce_71 = happyMonadReduce 8# 19# happyReduction_71-happyReduction_71-  (happy_x_8 `HappyStk`-     (happy_x_7 `HappyStk`-        (happy_x_6 `HappyStk`-           (happy_x_5 `HappyStk`-              (happy_x_4 `HappyStk`-                 (happy_x_3 `HappyStk`-                    (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut27 happy_x_2 of-                              happy_var_2 -> case happyOut123 happy_x_4 of-                                                 happy_var_4 -> case happyOut28 happy_x_6 of-                                                                    happy_var_6 -> (withNodeInfo-                                                                                      happy_var_1-                                                                                      $-                                                                                      CAsmStmt-                                                                                        happy_var_2-                                                                                        happy_var_4-                                                                                        happy_var_6-                                                                                        []-                                                                                        []))-      (\ r -> happyReturn (happyIn26 r))-happyReduce_72 = happyMonadReduce 10# 19# happyReduction_72-happyReduction_72-  (happy_x_10 `HappyStk`-     (happy_x_9 `HappyStk`-        (happy_x_8 `HappyStk`-           (happy_x_7 `HappyStk`-              (happy_x_6 `HappyStk`-                 (happy_x_5 `HappyStk`-                    (happy_x_4 `HappyStk`-                       (happy_x_3 `HappyStk`-                          (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut27 happy_x_2 of-                              happy_var_2 -> case happyOut123 happy_x_4 of-                                                 happy_var_4 -> case happyOut28 happy_x_6 of-                                                                    happy_var_6 -> case-                                                                                     happyOut28-                                                                                       happy_x_8-                                                                                     of-                                                                                       happy_var_8 -> (withNodeInfo-                                                                                                         happy_var_1-                                                                                                         $-                                                                                                         CAsmStmt-                                                                                                           happy_var_2-                                                                                                           happy_var_4-                                                                                                           happy_var_6-                                                                                                           happy_var_8-                                                                                                           []))-      (\ r -> happyReturn (happyIn26 r))-happyReduce_73 = happyMonadReduce 12# 19# happyReduction_73-happyReduction_73-  (happy_x_12 `HappyStk`-     (happy_x_11 `HappyStk`-        (happy_x_10 `HappyStk`-           (happy_x_9 `HappyStk`-              (happy_x_8 `HappyStk`-                 (happy_x_7 `HappyStk`-                    (happy_x_6 `HappyStk`-                       (happy_x_5 `HappyStk`-                          (happy_x_4 `HappyStk`-                             (happy_x_3 `HappyStk`-                                (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))))))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut27 happy_x_2 of-                              happy_var_2 -> case happyOut123 happy_x_4 of-                                                 happy_var_4 -> case happyOut28 happy_x_6 of-                                                                    happy_var_6 -> case-                                                                                     happyOut28-                                                                                       happy_x_8-                                                                                     of-                                                                                       happy_var_8 -> case-                                                                                                        happyOut31-                                                                                                          happy_x_10-                                                                                                        of-                                                                                                          happy_var_10 -> (withNodeInfo-                                                                                                                             happy_var_1-                                                                                                                             $-                                                                                                                             CAsmStmt-                                                                                                                               happy_var_2-                                                                                                                               happy_var_4-                                                                                                                               happy_var_6-                                                                                                                               happy_var_8-                                                                                                                               (reverse-                                                                                                                                  happy_var_10)))-      (\ r -> happyReturn (happyIn26 r))-happyReduce_74 = happySpecReduce_0 20# happyReduction_74-happyReduction_74 = happyIn27 (Nothing)-happyReduce_75 = happySpecReduce_1 20# happyReduction_75-happyReduction_75 happy_x_1-  = case happyOut61 happy_x_1 of-        happy_var_1 -> happyIn27 (Just happy_var_1)-happyReduce_76 = happySpecReduce_0 21# happyReduction_76-happyReduction_76 = happyIn28 ([])-happyReduce_77 = happySpecReduce_1 21# happyReduction_77-happyReduction_77 happy_x_1-  = case happyOut29 happy_x_1 of-        happy_var_1 -> happyIn28 (reverse happy_var_1)-happyReduce_78 = happySpecReduce_1 22# happyReduction_78-happyReduction_78 happy_x_1-  = case happyOut30 happy_x_1 of-        happy_var_1 -> happyIn29 (singleton happy_var_1)-happyReduce_79 = happySpecReduce_3 22# happyReduction_79-happyReduction_79 happy_x_3 happy_x_2 happy_x_1-  = case happyOut29 happy_x_1 of-        happy_var_1 -> case happyOut30 happy_x_3 of-                           happy_var_3 -> happyIn29 (happy_var_1 `snoc` happy_var_3)-happyReduce_80 = happyMonadReduce 4# 23# happyReduction_80-happyReduction_80-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  tk-  = happyThen-      (case happyOut123 happy_x_1 of-           happy_var_1 -> case happyOut117 happy_x_3 of-                              happy_var_3 -> (withNodeInfo happy_var_1 $-                                                CAsmOperand Nothing happy_var_1 happy_var_3))-      (\ r -> happyReturn (happyIn30 r))-happyReduce_81 = happyMonadReduce 7# 23# happyReduction_81-happyReduction_81-  (happy_x_7 `HappyStk`-     (happy_x_6 `HappyStk`-        (happy_x_5 `HappyStk`-           (happy_x_4 `HappyStk`-              (happy_x_3 `HappyStk`-                 (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOutTok happy_x_2 of-                              (CTokIdent _ happy_var_2) -> case happyOut123 happy_x_4 of-                                                               happy_var_4 -> case-                                                                                happyOut117-                                                                                  happy_x_6-                                                                                of-                                                                                  happy_var_6 -> (withNodeInfo-                                                                                                    happy_var_1-                                                                                                    $-                                                                                                    CAsmOperand-                                                                                                      (Just-                                                                                                         happy_var_2)-                                                                                                      happy_var_4-                                                                                                      happy_var_6))-      (\ r -> happyReturn (happyIn30 r))-happyReduce_82 = happyMonadReduce 7# 23# happyReduction_82-happyReduction_82-  (happy_x_7 `HappyStk`-     (happy_x_6 `HappyStk`-        (happy_x_5 `HappyStk`-           (happy_x_4 `HappyStk`-              (happy_x_3 `HappyStk`-                 (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOutTok happy_x_2 of-                              (CTokTyIdent _ happy_var_2) -> case happyOut123 happy_x_4 of-                                                                 happy_var_4 -> case-                                                                                  happyOut117-                                                                                    happy_x_6-                                                                                  of-                                                                                    happy_var_6 -> (withNodeInfo-                                                                                                      happy_var_1-                                                                                                      $-                                                                                                      CAsmOperand-                                                                                                        (Just-                                                                                                           happy_var_2)-                                                                                                        happy_var_4-                                                                                                        happy_var_6))-      (\ r -> happyReturn (happyIn30 r))-happyReduce_83 = happySpecReduce_1 24# happyReduction_83-happyReduction_83 happy_x_1-  = case happyOut123 happy_x_1 of-        happy_var_1 -> happyIn31 (singleton happy_var_1)-happyReduce_84 = happySpecReduce_3 24# happyReduction_84-happyReduction_84 happy_x_3 happy_x_2 happy_x_1-  = case happyOut31 happy_x_1 of-        happy_var_1 -> case happyOut123 happy_x_3 of-                           happy_var_3 -> happyIn31 (happy_var_1 `snoc` happy_var_3)-happyReduce_85 = happyMonadReduce 2# 25# happyReduction_85-happyReduction_85-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk-  = happyThen-      (case happyOut45 happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $-                             CDecl (reverse happy_var_1) []))-      (\ r -> happyReturn (happyIn32 r))-happyReduce_86 = happyMonadReduce 2# 25# happyReduction_86-happyReduction_86-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk-  = happyThen-      (case happyOut46 happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $-                             CDecl (reverse happy_var_1) []))-      (\ r -> happyReturn (happyIn32 r))-happyReduce_87 = happyMonadReduce 2# 25# happyReduction_87-happyReduction_87-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk-  = happyThen-      (case happyOut36 happy_x_1 of-           happy_var_1 -> (case happy_var_1 of-                               CDecl declspecs dies at -> withLength at-                                                            (CDecl declspecs (List.reverse dies))))-      (\ r -> happyReturn (happyIn32 r))-happyReduce_88 = happyMonadReduce 2# 25# happyReduction_88-happyReduction_88-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk-  = happyThen-      (case happyOut34 happy_x_1 of-           happy_var_1 -> (case happy_var_1 of-                               CDecl declspecs dies at -> withLength at-                                                            (CDecl declspecs (List.reverse dies))))-      (\ r -> happyReturn (happyIn32 r))-happyReduce_89 = happySpecReduce_0 26# happyReduction_89-happyReduction_89 = happyIn33 (empty)-happyReduce_90 = happySpecReduce_2 26# happyReduction_90-happyReduction_90 happy_x_2 happy_x_1-  = case happyOut33 happy_x_1 of-        happy_var_1 -> case happyOut32 happy_x_2 of-                           happy_var_2 -> happyIn33 (happy_var_1 `snoc` happy_var_2)-happyReduce_91 = happyMonadReduce 4# 27# happyReduction_91-happyReduction_91-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  tk-  = happyThen-      (case happyOut38 happy_x_1 of-           happy_var_1 -> case happyOut72 happy_x_2 of-                              happy_var_2 -> case happyOut35 happy_x_3 of-                                                 happy_var_3 -> case happyOut91 happy_x_4 of-                                                                    happy_var_4 -> (let declspecs-                                                                                          = reverse-                                                                                              happy_var_1-                                                                                      in-                                                                                      do declr <- withAsmNameAttrs-                                                                                                    happy_var_3-                                                                                                    happy_var_2-                                                                                         doDeclIdent-                                                                                           declspecs-                                                                                           declr-                                                                                         withNodeInfo-                                                                                           happy_var_1-                                                                                           $-                                                                                           CDecl-                                                                                             declspecs-                                                                                             [(Just-                                                                                                 (reverseDeclr-                                                                                                    declr),-                                                                                               happy_var_4,-                                                                                               Nothing)]))-      (\ r -> happyReturn (happyIn34 r))-happyReduce_92 = happyMonadReduce 4# 27# happyReduction_92-happyReduction_92-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  tk-  = happyThen-      (case happyOut62 happy_x_1 of-           happy_var_1 -> case happyOut72 happy_x_2 of-                              happy_var_2 -> case happyOut35 happy_x_3 of-                                                 happy_var_3 -> case happyOut91 happy_x_4 of-                                                                    happy_var_4 -> (let declspecs-                                                                                          = liftTypeQuals-                                                                                              happy_var_1-                                                                                      in-                                                                                      do declr <- withAsmNameAttrs-                                                                                                    happy_var_3-                                                                                                    happy_var_2-                                                                                         doDeclIdent-                                                                                           declspecs-                                                                                           declr-                                                                                         withNodeInfo-                                                                                           happy_var_1-                                                                                           $-                                                                                           CDecl-                                                                                             declspecs-                                                                                             [(Just-                                                                                                 (reverseDeclr-                                                                                                    declr),-                                                                                               happy_var_4,-                                                                                               Nothing)]))-      (\ r -> happyReturn (happyIn34 r))-happyReduce_93 = happyMonadReduce 5# 27# happyReduction_93-happyReduction_93-  (happy_x_5 `HappyStk`-     (happy_x_4 `HappyStk`-        (happy_x_3 `HappyStk`-           (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))-  tk-  = happyThen-      (case happyOut62 happy_x_1 of-           happy_var_1 -> case happyOut127 happy_x_2 of-                              happy_var_2 -> case happyOut72 happy_x_3 of-                                                 happy_var_3 -> case happyOut35 happy_x_4 of-                                                                    happy_var_4 -> case-                                                                                     happyOut91-                                                                                       happy_x_5-                                                                                     of-                                                                                       happy_var_5 -> (let declspecs-                                                                                                             = liftTypeQuals-                                                                                                                 happy_var_1-                                                                                                         in-                                                                                                         do declr <- withAsmNameAttrs-                                                                                                                       happy_var_4-                                                                                                                       happy_var_3-                                                                                                            doDeclIdent-                                                                                                              declspecs-                                                                                                              declr-                                                                                                            withNodeInfo-                                                                                                              happy_var_1-                                                                                                              $-                                                                                                              CDecl-                                                                                                                (declspecs-                                                                                                                   ++-                                                                                                                   liftCAttrs-                                                                                                                     happy_var_2)-                                                                                                                [(Just-                                                                                                                    (reverseDeclr-                                                                                                                       declr),-                                                                                                                  happy_var_5,-                                                                                                                  Nothing)]))-      (\ r -> happyReturn (happyIn34 r))-happyReduce_94 = happyMonadReduce 4# 27# happyReduction_94-happyReduction_94-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  tk-  = happyThen-      (case happyOut127 happy_x_1 of-           happy_var_1 -> case happyOut72 happy_x_2 of-                              happy_var_2 -> case happyOut35 happy_x_3 of-                                                 happy_var_3 -> case happyOut91 happy_x_4 of-                                                                    happy_var_4 -> (let declspecs-                                                                                          = liftCAttrs-                                                                                              happy_var_1-                                                                                      in-                                                                                      do declr <- withAsmNameAttrs-                                                                                                    happy_var_3-                                                                                                    happy_var_2-                                                                                         doDeclIdent-                                                                                           declspecs-                                                                                           declr-                                                                                         withNodeInfo-                                                                                           happy_var_1-                                                                                           $-                                                                                           CDecl-                                                                                             declspecs-                                                                                             [(Just-                                                                                                 (reverseDeclr-                                                                                                    declr),-                                                                                               happy_var_4,-                                                                                               Nothing)]))-      (\ r -> happyReturn (happyIn34 r))-happyReduce_95 = happyMonadReduce 6# 27# happyReduction_95-happyReduction_95-  (happy_x_6 `HappyStk`-     (happy_x_5 `HappyStk`-        (happy_x_4 `HappyStk`-           (happy_x_3 `HappyStk`-              (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))-  tk-  = happyThen-      (case happyOut34 happy_x_1 of-           happy_var_1 -> case happyOut126 happy_x_3 of-                              happy_var_3 -> case happyOut72 happy_x_4 of-                                                 happy_var_4 -> case happyOut35 happy_x_5 of-                                                                    happy_var_5 -> case-                                                                                     happyOut91-                                                                                       happy_x_6-                                                                                     of-                                                                                       happy_var_6 -> (case-                                                                                                         happy_var_1-                                                                                                         of-                                                                                                           CDecl-                                                                                                             declspecs-                                                                                                             dies-                                                                                                             at -> do declr <- withAsmNameAttrs-                                                                                                                                 (fst-                                                                                                                                    happy_var_5,-                                                                                                                                  snd-                                                                                                                                    happy_var_5-                                                                                                                                    ++-                                                                                                                                    happy_var_3)-                                                                                                                                 happy_var_4-                                                                                                                      doDeclIdent-                                                                                                                        declspecs-                                                                                                                        declr-                                                                                                                      withLength-                                                                                                                        at-                                                                                                                        $-                                                                                                                        CDecl-                                                                                                                          declspecs-                                                                                                                          ((Just-                                                                                                                              (reverseDeclr-                                                                                                                                 declr),-                                                                                                                            happy_var_6,-                                                                                                                            Nothing)-                                                                                                                             :-                                                                                                                             dies)))-      (\ r -> happyReturn (happyIn34 r))-happyReduce_96 = happySpecReduce_2 28# happyReduction_96-happyReduction_96 happy_x_2 happy_x_1-  = case happyOut64 happy_x_1 of-        happy_var_1 -> case happyOut126 happy_x_2 of-                           happy_var_2 -> happyIn35 ((happy_var_1, happy_var_2))-happyReduce_97 = happyMonadReduce 4# 29# happyReduction_97-happyReduction_97-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  tk-  = happyThen-      (case happyOut37 happy_x_1 of-           happy_var_1 -> case happyOut63 happy_x_2 of-                              happy_var_2 -> case happyOut35 happy_x_3 of-                                                 happy_var_3 -> case happyOut91 happy_x_4 of-                                                                    happy_var_4 -> (do declr <- withAsmNameAttrs-                                                                                                  happy_var_3-                                                                                                  happy_var_2-                                                                                       doDeclIdent-                                                                                         happy_var_1-                                                                                         declr-                                                                                       withNodeInfo-                                                                                         happy_var_1-                                                                                         $-                                                                                         CDecl-                                                                                           happy_var_1-                                                                                           [(Just-                                                                                               (reverseDeclr-                                                                                                  declr),-                                                                                             happy_var_4,-                                                                                             Nothing)]))-      (\ r -> happyReturn (happyIn36 r))-happyReduce_98 = happyMonadReduce 4# 29# happyReduction_98-happyReduction_98-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  tk-  = happyThen-      (case happyOut41 happy_x_1 of-           happy_var_1 -> case happyOut63 happy_x_2 of-                              happy_var_2 -> case happyOut35 happy_x_3 of-                                                 happy_var_3 -> case happyOut91 happy_x_4 of-                                                                    happy_var_4 -> (do declr <- withAsmNameAttrs-                                                                                                  happy_var_3-                                                                                                  happy_var_2-                                                                                       doDeclIdent-                                                                                         happy_var_1-                                                                                         declr-                                                                                       withNodeInfo-                                                                                         happy_var_1-                                                                                         $-                                                                                         CDecl-                                                                                           happy_var_1-                                                                                           [(Just-                                                                                               (reverseDeclr-                                                                                                  declr),-                                                                                             happy_var_4,-                                                                                             Nothing)]))-      (\ r -> happyReturn (happyIn36 r))-happyReduce_99 = happyMonadReduce 6# 29# happyReduction_99-happyReduction_99-  (happy_x_6 `HappyStk`-     (happy_x_5 `HappyStk`-        (happy_x_4 `HappyStk`-           (happy_x_3 `HappyStk`-              (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))-  tk-  = happyThen-      (case happyOut36 happy_x_1 of-           happy_var_1 -> case happyOut126 happy_x_3 of-                              happy_var_3 -> case happyOut63 happy_x_4 of-                                                 happy_var_4 -> case happyOut35 happy_x_5 of-                                                                    happy_var_5 -> case-                                                                                     happyOut91-                                                                                       happy_x_6-                                                                                     of-                                                                                       happy_var_6 -> (case-                                                                                                         happy_var_1-                                                                                                         of-                                                                                                           CDecl-                                                                                                             declspecs-                                                                                                             dies-                                                                                                             at -> do declr <- withAsmNameAttrs-                                                                                                                                 (fst-                                                                                                                                    happy_var_5,-                                                                                                                                  snd-                                                                                                                                    happy_var_5-                                                                                                                                    ++-                                                                                                                                    happy_var_3)-                                                                                                                                 happy_var_4-                                                                                                                      doDeclIdent-                                                                                                                        declspecs-                                                                                                                        declr-                                                                                                                      return-                                                                                                                        (CDecl-                                                                                                                           declspecs-                                                                                                                           ((Just-                                                                                                                               (reverseDeclr-                                                                                                                                  declr),-                                                                                                                             happy_var_6,-                                                                                                                             Nothing)-                                                                                                                              :-                                                                                                                              dies)-                                                                                                                           at)))-      (\ r -> happyReturn (happyIn36 r))-happyReduce_100 = happySpecReduce_1 30# happyReduction_100-happyReduction_100 happy_x_1-  = case happyOut43 happy_x_1 of-        happy_var_1 -> happyIn37 (reverse happy_var_1)-happyReduce_101 = happySpecReduce_1 30# happyReduction_101-happyReduction_101 happy_x_1-  = case happyOut45 happy_x_1 of-        happy_var_1 -> happyIn37 (reverse happy_var_1)-happyReduce_102 = happySpecReduce_1 30# happyReduction_102-happyReduction_102 happy_x_1-  = case happyOut47 happy_x_1 of-        happy_var_1 -> happyIn37 (reverse happy_var_1)-happyReduce_103 = happySpecReduce_1 31# happyReduction_103-happyReduction_103 happy_x_1-  = case happyOut40 happy_x_1 of-        happy_var_1 -> happyIn38 (singleton (CStorageSpec happy_var_1))-happyReduce_104 = happySpecReduce_2 31# happyReduction_104-happyReduction_104 happy_x_2 happy_x_1-  = case happyOut127 happy_x_1 of-        happy_var_1 -> case happyOut40 happy_x_2 of-                           happy_var_2 -> happyIn38-                                            (reverseList (liftCAttrs happy_var_1) `snoc`-                                               (CStorageSpec happy_var_2))-happyReduce_105 = happySpecReduce_2 31# happyReduction_105-happyReduction_105 happy_x_2 happy_x_1-  = case happyOut62 happy_x_1 of-        happy_var_1 -> case happyOut40 happy_x_2 of-                           happy_var_2 -> happyIn38-                                            (rmap CTypeQual happy_var_1 `snoc`-                                               CStorageSpec happy_var_2)-happyReduce_106 = happySpecReduce_3 31# happyReduction_106-happyReduction_106 happy_x_3 happy_x_2 happy_x_1-  = case happyOut62 happy_x_1 of-        happy_var_1 -> case happyOut127 happy_x_2 of-                           happy_var_2 -> case happyOut40 happy_x_3 of-                                              happy_var_3 -> happyIn38-                                                               ((rmap CTypeQual happy_var_1-                                                                   `rappend` liftCAttrs happy_var_2)-                                                                  `snoc` CStorageSpec happy_var_3)-happyReduce_107 = happySpecReduce_2 31# happyReduction_107-happyReduction_107 happy_x_2 happy_x_1-  = case happyOut38 happy_x_1 of-        happy_var_1 -> case happyOut39 happy_x_2 of-                           happy_var_2 -> happyIn38 (happy_var_1 `snoc` happy_var_2)-happyReduce_108 = happySpecReduce_2 31# happyReduction_108-happyReduction_108 happy_x_2 happy_x_1-  = case happyOut38 happy_x_1 of-        happy_var_1 -> case happyOut128 happy_x_2 of-                           happy_var_2 -> happyIn38 (addTrailingAttrs happy_var_1 happy_var_2)-happyReduce_109 = happySpecReduce_1 32# happyReduction_109-happyReduction_109 happy_x_1-  = case happyOut40 happy_x_1 of-        happy_var_1 -> happyIn39 (CStorageSpec happy_var_1)-happyReduce_110 = happySpecReduce_1 32# happyReduction_110-happyReduction_110 happy_x_1-  = case happyOut61 happy_x_1 of-        happy_var_1 -> happyIn39 (CTypeQual happy_var_1)-happyReduce_111 = happyMonadReduce 1# 33# happyReduction_111-happyReduction_111 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $ CTypedef))-      (\ r -> happyReturn (happyIn40 r))-happyReduce_112 = happyMonadReduce 1# 33# happyReduction_112-happyReduction_112 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $ CExtern))-      (\ r -> happyReturn (happyIn40 r))-happyReduce_113 = happyMonadReduce 1# 33# happyReduction_113-happyReduction_113 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $ CStatic))-      (\ r -> happyReturn (happyIn40 r))-happyReduce_114 = happyMonadReduce 1# 33# happyReduction_114-happyReduction_114 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $ CAuto))-      (\ r -> happyReturn (happyIn40 r))-happyReduce_115 = happyMonadReduce 1# 33# happyReduction_115-happyReduction_115 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $ CRegister))-      (\ r -> happyReturn (happyIn40 r))-happyReduce_116 = happyMonadReduce 1# 33# happyReduction_116-happyReduction_116 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $ CThread))-      (\ r -> happyReturn (happyIn40 r))-happyReduce_117 = happySpecReduce_1 34# happyReduction_117-happyReduction_117 happy_x_1-  = case happyOut44 happy_x_1 of-        happy_var_1 -> happyIn41 (reverse happy_var_1)-happyReduce_118 = happySpecReduce_1 34# happyReduction_118-happyReduction_118 happy_x_1-  = case happyOut46 happy_x_1 of-        happy_var_1 -> happyIn41 (reverse happy_var_1)-happyReduce_119 = happySpecReduce_1 34# happyReduction_119-happyReduction_119 happy_x_1-  = case happyOut48 happy_x_1 of-        happy_var_1 -> happyIn41 (reverse happy_var_1)-happyReduce_120 = happyMonadReduce 1# 35# happyReduction_120-happyReduction_120 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $ CVoidType))-      (\ r -> happyReturn (happyIn42 r))-happyReduce_121 = happyMonadReduce 1# 35# happyReduction_121-happyReduction_121 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $ CCharType))-      (\ r -> happyReturn (happyIn42 r))-happyReduce_122 = happyMonadReduce 1# 35# happyReduction_122-happyReduction_122 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $ CShortType))-      (\ r -> happyReturn (happyIn42 r))-happyReduce_123 = happyMonadReduce 1# 35# happyReduction_123-happyReduction_123 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $ CIntType))-      (\ r -> happyReturn (happyIn42 r))-happyReduce_124 = happyMonadReduce 1# 35# happyReduction_124-happyReduction_124 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $ CLongType))-      (\ r -> happyReturn (happyIn42 r))-happyReduce_125 = happyMonadReduce 1# 35# happyReduction_125-happyReduction_125 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $ CFloatType))-      (\ r -> happyReturn (happyIn42 r))-happyReduce_126 = happyMonadReduce 1# 35# happyReduction_126-happyReduction_126 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $ CDoubleType))-      (\ r -> happyReturn (happyIn42 r))-happyReduce_127 = happyMonadReduce 1# 35# happyReduction_127-happyReduction_127 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $ CSignedType))-      (\ r -> happyReturn (happyIn42 r))-happyReduce_128 = happyMonadReduce 1# 35# happyReduction_128-happyReduction_128 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $ CUnsigType))-      (\ r -> happyReturn (happyIn42 r))-happyReduce_129 = happyMonadReduce 1# 35# happyReduction_129-happyReduction_129 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $ CBoolType))-      (\ r -> happyReturn (happyIn42 r))-happyReduce_130 = happyMonadReduce 1# 35# happyReduction_130-happyReduction_130 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $ CComplexType))-      (\ r -> happyReturn (happyIn42 r))-happyReduce_131 = happySpecReduce_2 36# happyReduction_131-happyReduction_131 happy_x_2 happy_x_1-  = case happyOut38 happy_x_1 of-        happy_var_1 -> case happyOut42 happy_x_2 of-                           happy_var_2 -> happyIn43 (happy_var_1 `snoc` CTypeSpec happy_var_2)-happyReduce_132 = happySpecReduce_2 36# happyReduction_132-happyReduction_132 happy_x_2 happy_x_1-  = case happyOut44 happy_x_1 of-        happy_var_1 -> case happyOut40 happy_x_2 of-                           happy_var_2 -> happyIn43-                                            (happy_var_1 `snoc` CStorageSpec happy_var_2)-happyReduce_133 = happySpecReduce_2 36# happyReduction_133-happyReduction_133 happy_x_2 happy_x_1-  = case happyOut43 happy_x_1 of-        happy_var_1 -> case happyOut39 happy_x_2 of-                           happy_var_2 -> happyIn43 (happy_var_1 `snoc` happy_var_2)-happyReduce_134 = happySpecReduce_2 36# happyReduction_134-happyReduction_134 happy_x_2 happy_x_1-  = case happyOut43 happy_x_1 of-        happy_var_1 -> case happyOut42 happy_x_2 of-                           happy_var_2 -> happyIn43 (happy_var_1 `snoc` CTypeSpec happy_var_2)-happyReduce_135 = happySpecReduce_2 36# happyReduction_135-happyReduction_135 happy_x_2 happy_x_1-  = case happyOut43 happy_x_1 of-        happy_var_1 -> case happyOut128 happy_x_2 of-                           happy_var_2 -> happyIn43 (addTrailingAttrs happy_var_1 happy_var_2)-happyReduce_136 = happySpecReduce_1 37# happyReduction_136-happyReduction_136 happy_x_1-  = case happyOut42 happy_x_1 of-        happy_var_1 -> happyIn44 (singleton (CTypeSpec happy_var_1))-happyReduce_137 = happySpecReduce_2 37# happyReduction_137-happyReduction_137 happy_x_2 happy_x_1-  = case happyOut127 happy_x_1 of-        happy_var_1 -> case happyOut42 happy_x_2 of-                           happy_var_2 -> happyIn44-                                            ((reverseList $ liftCAttrs happy_var_1) `snoc`-                                               (CTypeSpec happy_var_2))-happyReduce_138 = happySpecReduce_2 37# happyReduction_138-happyReduction_138 happy_x_2 happy_x_1-  = case happyOut62 happy_x_1 of-        happy_var_1 -> case happyOut42 happy_x_2 of-                           happy_var_2 -> happyIn44-                                            (rmap CTypeQual happy_var_1 `snoc`-                                               CTypeSpec happy_var_2)-happyReduce_139 = happySpecReduce_3 37# happyReduction_139-happyReduction_139 happy_x_3 happy_x_2 happy_x_1-  = case happyOut62 happy_x_1 of-        happy_var_1 -> case happyOut127 happy_x_2 of-                           happy_var_2 -> case happyOut42 happy_x_3 of-                                              happy_var_3 -> happyIn44-                                                               (rmap CTypeQual happy_var_1 `rappend`-                                                                  (liftCAttrs happy_var_2)-                                                                  `snoc` CTypeSpec happy_var_3)-happyReduce_140 = happySpecReduce_2 37# happyReduction_140-happyReduction_140 happy_x_2 happy_x_1-  = case happyOut44 happy_x_1 of-        happy_var_1 -> case happyOut61 happy_x_2 of-                           happy_var_2 -> happyIn44 (happy_var_1 `snoc` CTypeQual happy_var_2)-happyReduce_141 = happySpecReduce_2 37# happyReduction_141-happyReduction_141 happy_x_2 happy_x_1-  = case happyOut44 happy_x_1 of-        happy_var_1 -> case happyOut42 happy_x_2 of-                           happy_var_2 -> happyIn44 (happy_var_1 `snoc` CTypeSpec happy_var_2)-happyReduce_142 = happySpecReduce_2 37# happyReduction_142-happyReduction_142 happy_x_2 happy_x_1-  = case happyOut44 happy_x_1 of-        happy_var_1 -> case happyOut128 happy_x_2 of-                           happy_var_2 -> happyIn44 (addTrailingAttrs happy_var_1 happy_var_2)-happyReduce_143 = happySpecReduce_2 38# happyReduction_143-happyReduction_143 happy_x_2 happy_x_1-  = case happyOut38 happy_x_1 of-        happy_var_1 -> case happyOut49 happy_x_2 of-                           happy_var_2 -> happyIn45 (happy_var_1 `snoc` CTypeSpec happy_var_2)-happyReduce_144 = happySpecReduce_2 38# happyReduction_144-happyReduction_144 happy_x_2 happy_x_1-  = case happyOut46 happy_x_1 of-        happy_var_1 -> case happyOut40 happy_x_2 of-                           happy_var_2 -> happyIn45-                                            (happy_var_1 `snoc` CStorageSpec happy_var_2)-happyReduce_145 = happySpecReduce_2 38# happyReduction_145-happyReduction_145 happy_x_2 happy_x_1-  = case happyOut45 happy_x_1 of-        happy_var_1 -> case happyOut39 happy_x_2 of-                           happy_var_2 -> happyIn45 (happy_var_1 `snoc` happy_var_2)-happyReduce_146 = happySpecReduce_2 38# happyReduction_146-happyReduction_146 happy_x_2 happy_x_1-  = case happyOut45 happy_x_1 of-        happy_var_1 -> case happyOut128 happy_x_2 of-                           happy_var_2 -> happyIn45 (addTrailingAttrs happy_var_1 happy_var_2)-happyReduce_147 = happySpecReduce_1 39# happyReduction_147-happyReduction_147 happy_x_1-  = case happyOut49 happy_x_1 of-        happy_var_1 -> happyIn46 (singleton (CTypeSpec happy_var_1))-happyReduce_148 = happySpecReduce_2 39# happyReduction_148-happyReduction_148 happy_x_2 happy_x_1-  = case happyOut127 happy_x_1 of-        happy_var_1 -> case happyOut49 happy_x_2 of-                           happy_var_2 -> happyIn46-                                            ((reverseList $ liftCAttrs happy_var_1) `snoc`-                                               (CTypeSpec happy_var_2))-happyReduce_149 = happySpecReduce_2 39# happyReduction_149-happyReduction_149 happy_x_2 happy_x_1-  = case happyOut62 happy_x_1 of-        happy_var_1 -> case happyOut49 happy_x_2 of-                           happy_var_2 -> happyIn46-                                            (rmap CTypeQual happy_var_1 `snoc`-                                               CTypeSpec happy_var_2)-happyReduce_150 = happySpecReduce_3 39# happyReduction_150-happyReduction_150 happy_x_3 happy_x_2 happy_x_1-  = case happyOut62 happy_x_1 of-        happy_var_1 -> case happyOut127 happy_x_2 of-                           happy_var_2 -> case happyOut49 happy_x_3 of-                                              happy_var_3 -> happyIn46-                                                               (rmap CTypeQual happy_var_1 `rappend`-                                                                  (liftCAttrs happy_var_2)-                                                                  `snoc` CTypeSpec happy_var_3)-happyReduce_151 = happySpecReduce_2 39# happyReduction_151-happyReduction_151 happy_x_2 happy_x_1-  = case happyOut46 happy_x_1 of-        happy_var_1 -> case happyOut61 happy_x_2 of-                           happy_var_2 -> happyIn46 (happy_var_1 `snoc` CTypeQual happy_var_2)-happyReduce_152 = happySpecReduce_2 39# happyReduction_152-happyReduction_152 happy_x_2 happy_x_1-  = case happyOut46 happy_x_1 of-        happy_var_1 -> case happyOut128 happy_x_2 of-                           happy_var_2 -> happyIn46 (addTrailingAttrs happy_var_1 happy_var_2)-happyReduce_153 = happySpecReduce_2 40# happyReduction_153-happyReduction_153 happy_x_2 happy_x_1-  = case happyOut48 happy_x_1 of-        happy_var_1 -> case happyOut40 happy_x_2 of-                           happy_var_2 -> happyIn47-                                            (happy_var_1 `snoc` CStorageSpec happy_var_2)-happyReduce_154 = happyMonadReduce 2# 40# happyReduction_154-happyReduction_154-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk-  = happyThen-      (case happyOut38 happy_x_1 of-           happy_var_1 -> case happyOutTok happy_x_2 of-                              (CTokTyIdent _ happy_var_2) -> (withNodeInfo happy_var_2 $-                                                                \ at ->-                                                                  happy_var_1 `snoc`-                                                                    CTypeSpec-                                                                      (CTypeDef happy_var_2 at)))-      (\ r -> happyReturn (happyIn47 r))-happyReduce_155 = happyMonadReduce 5# 40# happyReduction_155-happyReduction_155-  (happy_x_5 `HappyStk`-     (happy_x_4 `HappyStk`-        (happy_x_3 `HappyStk`-           (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))-  tk-  = happyThen-      (case happyOut38 happy_x_1 of-           happy_var_1 -> case happyOutTok happy_x_2 of-                              happy_var_2 -> case happyOut117 happy_x_4 of-                                                 happy_var_4 -> (withNodeInfo happy_var_2 $-                                                                   \ at ->-                                                                     happy_var_1 `snoc`-                                                                       CTypeSpec-                                                                         (CTypeOfExpr happy_var_4-                                                                            at)))-      (\ r -> happyReturn (happyIn47 r))-happyReduce_156 = happyMonadReduce 5# 40# happyReduction_156-happyReduction_156-  (happy_x_5 `HappyStk`-     (happy_x_4 `HappyStk`-        (happy_x_3 `HappyStk`-           (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))-  tk-  = happyThen-      (case happyOut38 happy_x_1 of-           happy_var_1 -> case happyOutTok happy_x_2 of-                              happy_var_2 -> case happyOut83 happy_x_4 of-                                                 happy_var_4 -> (withNodeInfo happy_var_2 $-                                                                   \ at ->-                                                                     happy_var_1 `snoc`-                                                                       CTypeSpec-                                                                         (CTypeOfType happy_var_4-                                                                            at)))-      (\ r -> happyReturn (happyIn47 r))-happyReduce_157 = happySpecReduce_2 40# happyReduction_157-happyReduction_157 happy_x_2 happy_x_1-  = case happyOut47 happy_x_1 of-        happy_var_1 -> case happyOut39 happy_x_2 of-                           happy_var_2 -> happyIn47 (happy_var_1 `snoc` happy_var_2)-happyReduce_158 = happySpecReduce_2 40# happyReduction_158-happyReduction_158 happy_x_2 happy_x_1-  = case happyOut47 happy_x_1 of-        happy_var_1 -> case happyOut128 happy_x_2 of-                           happy_var_2 -> happyIn47 (addTrailingAttrs happy_var_1 happy_var_2)-happyReduce_159 = happyMonadReduce 1# 41# happyReduction_159-happyReduction_159 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           (CTokTyIdent _ happy_var_1) -> (withNodeInfo happy_var_1 $-                                             \ at ->-                                               singleton (CTypeSpec (CTypeDef happy_var_1 at))))-      (\ r -> happyReturn (happyIn48 r))-happyReduce_160 = happyMonadReduce 4# 41# happyReduction_160-happyReduction_160-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut117 happy_x_3 of-                              happy_var_3 -> (withNodeInfo happy_var_1 $-                                                \ at ->-                                                  singleton-                                                    (CTypeSpec (CTypeOfExpr happy_var_3 at))))-      (\ r -> happyReturn (happyIn48 r))-happyReduce_161 = happyMonadReduce 4# 41# happyReduction_161-happyReduction_161-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut83 happy_x_3 of-                              happy_var_3 -> (withNodeInfo happy_var_1 $-                                                \ at ->-                                                  singleton-                                                    (CTypeSpec (CTypeOfType happy_var_3 at))))-      (\ r -> happyReturn (happyIn48 r))-happyReduce_162 = happyMonadReduce 2# 41# happyReduction_162-happyReduction_162-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk-  = happyThen-      (case happyOut62 happy_x_1 of-           happy_var_1 -> case happyOutTok happy_x_2 of-                              (CTokTyIdent _ happy_var_2) -> (withNodeInfo happy_var_2 $-                                                                \ at ->-                                                                  rmap CTypeQual happy_var_1 `snoc`-                                                                    CTypeSpec-                                                                      (CTypeDef happy_var_2 at)))-      (\ r -> happyReturn (happyIn48 r))-happyReduce_163 = happyMonadReduce 5# 41# happyReduction_163-happyReduction_163-  (happy_x_5 `HappyStk`-     (happy_x_4 `HappyStk`-        (happy_x_3 `HappyStk`-           (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))-  tk-  = happyThen-      (case happyOut62 happy_x_1 of-           happy_var_1 -> case happyOutTok happy_x_2 of-                              happy_var_2 -> case happyOut117 happy_x_4 of-                                                 happy_var_4 -> (withNodeInfo happy_var_2 $-                                                                   \ at ->-                                                                     rmap CTypeQual happy_var_1-                                                                       `snoc`-                                                                       CTypeSpec-                                                                         (CTypeOfExpr happy_var_4-                                                                            at)))-      (\ r -> happyReturn (happyIn48 r))-happyReduce_164 = happyMonadReduce 5# 41# happyReduction_164-happyReduction_164-  (happy_x_5 `HappyStk`-     (happy_x_4 `HappyStk`-        (happy_x_3 `HappyStk`-           (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))-  tk-  = happyThen-      (case happyOut62 happy_x_1 of-           happy_var_1 -> case happyOutTok happy_x_2 of-                              happy_var_2 -> case happyOut83 happy_x_4 of-                                                 happy_var_4 -> (withNodeInfo happy_var_2 $-                                                                   \ at ->-                                                                     rmap CTypeQual happy_var_1-                                                                       `snoc`-                                                                       CTypeSpec-                                                                         (CTypeOfType happy_var_4-                                                                            at)))-      (\ r -> happyReturn (happyIn48 r))-happyReduce_165 = happyMonadReduce 2# 41# happyReduction_165-happyReduction_165-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk-  = happyThen-      (case happyOut127 happy_x_1 of-           happy_var_1 -> case happyOutTok happy_x_2 of-                              (CTokTyIdent _ happy_var_2) -> (withNodeInfo happy_var_2 $-                                                                \ at ->-                                                                  reverseList-                                                                    (liftCAttrs happy_var_1)-                                                                    `snoc`-                                                                    (CTypeSpec-                                                                       (CTypeDef happy_var_2 at))))-      (\ r -> happyReturn (happyIn48 r))-happyReduce_166 = happyMonadReduce 5# 41# happyReduction_166-happyReduction_166-  (happy_x_5 `HappyStk`-     (happy_x_4 `HappyStk`-        (happy_x_3 `HappyStk`-           (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))-  tk-  = happyThen-      (case happyOut127 happy_x_1 of-           happy_var_1 -> case happyOut117 happy_x_4 of-                              happy_var_4 -> (withNodeInfo happy_var_1 $-                                                \ at ->-                                                  reverseList (liftCAttrs happy_var_1) `snoc`-                                                    (CTypeSpec (CTypeOfExpr happy_var_4 at))))-      (\ r -> happyReturn (happyIn48 r))-happyReduce_167 = happyMonadReduce 5# 41# happyReduction_167-happyReduction_167-  (happy_x_5 `HappyStk`-     (happy_x_4 `HappyStk`-        (happy_x_3 `HappyStk`-           (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))-  tk-  = happyThen-      (case happyOut127 happy_x_1 of-           happy_var_1 -> case happyOutTok happy_x_2 of-                              happy_var_2 -> case happyOut83 happy_x_4 of-                                                 happy_var_4 -> (withNodeInfo happy_var_2 $-                                                                   \ at ->-                                                                     reverseList-                                                                       (liftCAttrs happy_var_1)-                                                                       `snoc`-                                                                       (CTypeSpec-                                                                          (CTypeOfType happy_var_4-                                                                             at))))-      (\ r -> happyReturn (happyIn48 r))-happyReduce_168 = happyMonadReduce 3# 41# happyReduction_168-happyReduction_168-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOut62 happy_x_1 of-           happy_var_1 -> case happyOut127 happy_x_2 of-                              happy_var_2 -> case happyOutTok happy_x_3 of-                                                 (CTokTyIdent _ happy_var_3) -> (withNodeInfo-                                                                                   happy_var_3-                                                                                   $-                                                                                   \ at ->-                                                                                     rmap CTypeQual-                                                                                       happy_var_1-                                                                                       `rappend`-                                                                                       (liftCAttrs-                                                                                          happy_var_2)-                                                                                       `snoc`-                                                                                       CTypeSpec-                                                                                         (CTypeDef-                                                                                            happy_var_3-                                                                                            at)))-      (\ r -> happyReturn (happyIn48 r))-happyReduce_169 = happyMonadReduce 6# 41# happyReduction_169-happyReduction_169-  (happy_x_6 `HappyStk`-     (happy_x_5 `HappyStk`-        (happy_x_4 `HappyStk`-           (happy_x_3 `HappyStk`-              (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))-  tk-  = happyThen-      (case happyOut62 happy_x_1 of-           happy_var_1 -> case happyOut127 happy_x_2 of-                              happy_var_2 -> case happyOutTok happy_x_3 of-                                                 happy_var_3 -> case happyOut117 happy_x_5 of-                                                                    happy_var_5 -> (withNodeInfo-                                                                                      happy_var_3-                                                                                      $-                                                                                      \ at ->-                                                                                        rmap-                                                                                          CTypeQual-                                                                                          happy_var_1-                                                                                          `rappend`-                                                                                          (liftCAttrs-                                                                                             happy_var_2)-                                                                                          `snoc`-                                                                                          CTypeSpec-                                                                                            (CTypeOfExpr-                                                                                               happy_var_5-                                                                                               at)))-      (\ r -> happyReturn (happyIn48 r))-happyReduce_170 = happyMonadReduce 6# 41# happyReduction_170-happyReduction_170-  (happy_x_6 `HappyStk`-     (happy_x_5 `HappyStk`-        (happy_x_4 `HappyStk`-           (happy_x_3 `HappyStk`-              (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))-  tk-  = happyThen-      (case happyOut62 happy_x_1 of-           happy_var_1 -> case happyOut127 happy_x_2 of-                              happy_var_2 -> case happyOutTok happy_x_3 of-                                                 happy_var_3 -> case happyOut83 happy_x_5 of-                                                                    happy_var_5 -> (withNodeInfo-                                                                                      happy_var_3-                                                                                      $-                                                                                      \ at ->-                                                                                        rmap-                                                                                          CTypeQual-                                                                                          happy_var_1-                                                                                          `rappend`-                                                                                          (liftCAttrs-                                                                                             happy_var_2)-                                                                                          `snoc`-                                                                                          CTypeSpec-                                                                                            (CTypeOfType-                                                                                               happy_var_5-                                                                                               at)))-      (\ r -> happyReturn (happyIn48 r))-happyReduce_171 = happySpecReduce_2 41# happyReduction_171-happyReduction_171 happy_x_2 happy_x_1-  = case happyOut48 happy_x_1 of-        happy_var_1 -> case happyOut61 happy_x_2 of-                           happy_var_2 -> happyIn48 (happy_var_1 `snoc` CTypeQual happy_var_2)-happyReduce_172 = happySpecReduce_2 41# happyReduction_172-happyReduction_172 happy_x_2 happy_x_1-  = case happyOut48 happy_x_1 of-        happy_var_1 -> case happyOut128 happy_x_2 of-                           happy_var_2 -> happyIn48 (addTrailingAttrs happy_var_1 happy_var_2)-happyReduce_173 = happyMonadReduce 1# 42# happyReduction_173-happyReduction_173 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOut50 happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $ CSUType happy_var_1))-      (\ r -> happyReturn (happyIn49 r))-happyReduce_174 = happyMonadReduce 1# 42# happyReduction_174-happyReduction_174 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOut58 happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $ CEnumType happy_var_1))-      (\ r -> happyReturn (happyIn49 r))-happyReduce_175 = happyMonadReduce 6# 43# happyReduction_175-happyReduction_175-  (happy_x_6 `HappyStk`-     (happy_x_5 `HappyStk`-        (happy_x_4 `HappyStk`-           (happy_x_3 `HappyStk`-              (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))-  tk-  = happyThen-      (case happyOut51 happy_x_1 of-           happy_var_1 -> case happyOut126 happy_x_2 of-                              happy_var_2 -> case happyOut125 happy_x_3 of-                                                 happy_var_3 -> case happyOut52 happy_x_5 of-                                                                    happy_var_5 -> (withNodeInfo-                                                                                      happy_var_1-                                                                                      $-                                                                                      CStruct-                                                                                        (unL-                                                                                           happy_var_1)-                                                                                        (Just-                                                                                           happy_var_3)-                                                                                        (Just $-                                                                                           reverse-                                                                                             happy_var_5)-                                                                                        happy_var_2))-      (\ r -> happyReturn (happyIn50 r))-happyReduce_176 = happyMonadReduce 5# 43# happyReduction_176-happyReduction_176-  (happy_x_5 `HappyStk`-     (happy_x_4 `HappyStk`-        (happy_x_3 `HappyStk`-           (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))-  tk-  = happyThen-      (case happyOut51 happy_x_1 of-           happy_var_1 -> case happyOut126 happy_x_2 of-                              happy_var_2 -> case happyOut52 happy_x_4 of-                                                 happy_var_4 -> (withNodeInfo happy_var_1 $-                                                                   CStruct (unL happy_var_1) Nothing-                                                                     (Just $ reverse happy_var_4)-                                                                     happy_var_2))-      (\ r -> happyReturn (happyIn50 r))-happyReduce_177 = happyMonadReduce 3# 43# happyReduction_177-happyReduction_177-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOut51 happy_x_1 of-           happy_var_1 -> case happyOut126 happy_x_2 of-                              happy_var_2 -> case happyOut125 happy_x_3 of-                                                 happy_var_3 -> (withNodeInfo happy_var_1 $-                                                                   CStruct (unL happy_var_1)-                                                                     (Just happy_var_3)-                                                                     Nothing-                                                                     happy_var_2))-      (\ r -> happyReturn (happyIn50 r))-happyReduce_178 = happySpecReduce_1 44# happyReduction_178-happyReduction_178 happy_x_1-  = case happyOutTok happy_x_1 of-        happy_var_1 -> happyIn51 (L CStructTag (posOf happy_var_1))-happyReduce_179 = happySpecReduce_1 44# happyReduction_179-happyReduction_179 happy_x_1-  = case happyOutTok happy_x_1 of-        happy_var_1 -> happyIn51 (L CUnionTag (posOf happy_var_1))-happyReduce_180 = happySpecReduce_0 45# happyReduction_180-happyReduction_180 = happyIn52 (empty)-happyReduce_181 = happySpecReduce_2 45# happyReduction_181-happyReduction_181 happy_x_2 happy_x_1-  = case happyOut52 happy_x_1 of-        happy_var_1 -> happyIn52 (happy_var_1)-happyReduce_182 = happySpecReduce_2 45# happyReduction_182-happyReduction_182 happy_x_2 happy_x_1-  = case happyOut52 happy_x_1 of-        happy_var_1 -> case happyOut53 happy_x_2 of-                           happy_var_2 -> happyIn52 (happy_var_1 `snoc` happy_var_2)-happyReduce_183 = happySpecReduce_2 46# happyReduction_183-happyReduction_183 happy_x_2 happy_x_1-  = case happyOut55 happy_x_1 of-        happy_var_1 -> happyIn53-                         (case happy_var_1 of-                              CDecl declspecs dies at -> CDecl declspecs (List.reverse dies) at)-happyReduce_184 = happySpecReduce_2 46# happyReduction_184-happyReduction_184 happy_x_2 happy_x_1-  = case happyOut54 happy_x_1 of-        happy_var_1 -> happyIn53-                         (case happy_var_1 of-                              CDecl declspecs dies at -> CDecl declspecs (List.reverse dies) at)-happyReduce_185 = happySpecReduce_2 46# happyReduction_185-happyReduction_185 happy_x_2 happy_x_1-  = case happyOut53 happy_x_2 of-        happy_var_2 -> happyIn53 (happy_var_2)-happyReduce_186 = happyMonadReduce 3# 47# happyReduction_186-happyReduction_186-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOut62 happy_x_1 of-           happy_var_1 -> case happyOut126 happy_x_2 of-                              happy_var_2 -> case happyOut57 happy_x_3 of-                                                 happy_var_3 -> (withNodeInfo happy_var_1 $-                                                                   case happy_var_3 of-                                                                       (d, s) -> CDecl-                                                                                   (liftTypeQuals-                                                                                      happy_var_1-                                                                                      ++-                                                                                      liftCAttrs-                                                                                        happy_var_2)-                                                                                   [(d, Nothing,-                                                                                     s)]))-      (\ r -> happyReturn (happyIn54 r))-happyReduce_187 = happyMonadReduce 2# 47# happyReduction_187-happyReduction_187-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk-  = happyThen-      (case happyOut127 happy_x_1 of-           happy_var_1 -> case happyOut57 happy_x_2 of-                              happy_var_2 -> (withNodeInfo happy_var_1 $-                                                case happy_var_2 of-                                                    (d, s) -> CDecl (liftCAttrs happy_var_1)-                                                                [(d, Nothing, s)]))-      (\ r -> happyReturn (happyIn54 r))-happyReduce_188 = happyReduce 4# 47# happyReduction_188-happyReduction_188-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  = case happyOut54 happy_x_1 of-        happy_var_1 -> case happyOut126 happy_x_3 of-                           happy_var_3 -> case happyOut57 happy_x_4 of-                                              happy_var_4 -> happyIn54-                                                               (case happy_var_1 of-                                                                    CDecl declspecs dies at -> case-                                                                                                 happy_var_4-                                                                                                 of-                                                                                                   (Just-                                                                                                      d,-                                                                                                    s) -> CDecl-                                                                                                            declspecs-                                                                                                            ((Just-                                                                                                                $-                                                                                                                appendObjAttrs-                                                                                                                  happy_var_3-                                                                                                                  d,-                                                                                                              Nothing,-                                                                                                              s)-                                                                                                               :-                                                                                                               dies)-                                                                                                            at-                                                                                                   (Nothing,-                                                                                                    s) -> CDecl-                                                                                                            declspecs-                                                                                                            ((Nothing,-                                                                                                              Nothing,-                                                                                                              s)-                                                                                                               :-                                                                                                               dies)-                                                                                                            at)-                                                               `HappyStk` happyRest-happyReduce_189 = happyMonadReduce 3# 48# happyReduction_189-happyReduction_189-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOut41 happy_x_1 of-           happy_var_1 -> case happyOut56 happy_x_2 of-                              happy_var_2 -> case happyOut126 happy_x_3 of-                                                 happy_var_3 -> (withNodeInfo happy_var_1 $-                                                                   case happy_var_2 of-                                                                       (Just d, s) -> CDecl-                                                                                        happy_var_1-                                                                                        [(Just $!-                                                                                            appendObjAttrs-                                                                                              happy_var_3-                                                                                              d,-                                                                                          Nothing,-                                                                                          s)]-                                                                       (Nothing, s) -> CDecl-                                                                                         happy_var_1-                                                                                         [(Nothing,-                                                                                           Nothing,-                                                                                           s)]))-      (\ r -> happyReturn (happyIn55 r))-happyReduce_190 = happyReduce 5# 48# happyReduction_190-happyReduction_190-  (happy_x_5 `HappyStk`-     (happy_x_4 `HappyStk`-        (happy_x_3 `HappyStk`-           (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))-  = case happyOut55 happy_x_1 of-        happy_var_1 -> case happyOut126 happy_x_3 of-                           happy_var_3 -> case happyOut56 happy_x_4 of-                                              happy_var_4 -> case happyOut126 happy_x_5 of-                                                                 happy_var_5 -> happyIn55-                                                                                  (case happy_var_1-                                                                                     of-                                                                                       CDecl-                                                                                         declspecs-                                                                                         dies-                                                                                         attr -> case-                                                                                                   happy_var_4-                                                                                                   of-                                                                                                     (Just-                                                                                                        d,-                                                                                                      s) -> CDecl-                                                                                                              declspecs-                                                                                                              ((Just-                                                                                                                  $-                                                                                                                  appendObjAttrs-                                                                                                                    (happy_var_3-                                                                                                                       ++-                                                                                                                       happy_var_5)-                                                                                                                    d,-                                                                                                                Nothing,-                                                                                                                s)-                                                                                                                 :-                                                                                                                 dies)-                                                                                                              attr-                                                                                                     (Nothing,-                                                                                                      s) -> CDecl-                                                                                                              declspecs-                                                                                                              ((Nothing,-                                                                                                                Nothing,-                                                                                                                s)-                                                                                                                 :-                                                                                                                 dies)-                                                                                                              attr)-                                                                                  `HappyStk`-                                                                                  happyRest-happyReduce_191 = happyMonadReduce 1# 48# happyReduction_191-happyReduction_191 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOut41 happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $ CDecl happy_var_1 []))-      (\ r -> happyReturn (happyIn55 r))-happyReduce_192 = happySpecReduce_1 49# happyReduction_192-happyReduction_192 happy_x_1-  = case happyOut63 happy_x_1 of-        happy_var_1 -> happyIn56-                         ((Just (reverseDeclr happy_var_1), Nothing))-happyReduce_193 = happySpecReduce_2 49# happyReduction_193-happyReduction_193 happy_x_2 happy_x_1-  = case happyOut121 happy_x_2 of-        happy_var_2 -> happyIn56 ((Nothing, Just happy_var_2))-happyReduce_194 = happySpecReduce_3 49# happyReduction_194-happyReduction_194 happy_x_3 happy_x_2 happy_x_1-  = case happyOut63 happy_x_1 of-        happy_var_1 -> case happyOut121 happy_x_3 of-                           happy_var_3 -> happyIn56-                                            ((Just (reverseDeclr happy_var_1), Just happy_var_3))-happyReduce_195 = happySpecReduce_1 50# happyReduction_195-happyReduction_195 happy_x_1-  = case happyOut72 happy_x_1 of-        happy_var_1 -> happyIn57-                         ((Just (reverseDeclr happy_var_1), Nothing))-happyReduce_196 = happySpecReduce_2 50# happyReduction_196-happyReduction_196 happy_x_2 happy_x_1-  = case happyOut121 happy_x_2 of-        happy_var_2 -> happyIn57 ((Nothing, Just happy_var_2))-happyReduce_197 = happySpecReduce_3 50# happyReduction_197-happyReduction_197 happy_x_3 happy_x_2 happy_x_1-  = case happyOut72 happy_x_1 of-        happy_var_1 -> case happyOut121 happy_x_3 of-                           happy_var_3 -> happyIn57-                                            ((Just (reverseDeclr happy_var_1), Just happy_var_3))-happyReduce_198 = happySpecReduce_2 50# happyReduction_198-happyReduction_198 happy_x_2 happy_x_1-  = case happyOut57 happy_x_1 of-        happy_var_1 -> case happyOut128 happy_x_2 of-                           happy_var_2 -> happyIn57-                                            (case happy_var_1 of-                                                 (Nothing, expr) -> (Nothing, expr)-                                                 (Just (CDeclr name derived asmname attrs node),-                                                  bsz) -> (Just-                                                             (CDeclr name derived asmname-                                                                (attrs ++ happy_var_2)-                                                                node),-                                                           bsz))-happyReduce_199 = happyMonadReduce 5# 51# happyReduction_199-happyReduction_199-  (happy_x_5 `HappyStk`-     (happy_x_4 `HappyStk`-        (happy_x_3 `HappyStk`-           (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut126 happy_x_2 of-                              happy_var_2 -> case happyOut59 happy_x_4 of-                                                 happy_var_4 -> (withNodeInfo happy_var_1 $-                                                                   CEnum Nothing-                                                                     (Just $ reverse happy_var_4)-                                                                     happy_var_2))-      (\ r -> happyReturn (happyIn58 r))-happyReduce_200 = happyMonadReduce 6# 51# happyReduction_200-happyReduction_200-  (happy_x_6 `HappyStk`-     (happy_x_5 `HappyStk`-        (happy_x_4 `HappyStk`-           (happy_x_3 `HappyStk`-              (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut126 happy_x_2 of-                              happy_var_2 -> case happyOut59 happy_x_4 of-                                                 happy_var_4 -> (withNodeInfo happy_var_1 $-                                                                   CEnum Nothing-                                                                     (Just $ reverse happy_var_4)-                                                                     happy_var_2))-      (\ r -> happyReturn (happyIn58 r))-happyReduce_201 = happyMonadReduce 6# 51# happyReduction_201-happyReduction_201-  (happy_x_6 `HappyStk`-     (happy_x_5 `HappyStk`-        (happy_x_4 `HappyStk`-           (happy_x_3 `HappyStk`-              (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut126 happy_x_2 of-                              happy_var_2 -> case happyOut125 happy_x_3 of-                                                 happy_var_3 -> case happyOut59 happy_x_5 of-                                                                    happy_var_5 -> (withNodeInfo-                                                                                      happy_var_1-                                                                                      $-                                                                                      CEnum-                                                                                        (Just-                                                                                           happy_var_3)-                                                                                        (Just $-                                                                                           reverse-                                                                                             happy_var_5)-                                                                                        happy_var_2))-      (\ r -> happyReturn (happyIn58 r))-happyReduce_202 = happyMonadReduce 7# 51# happyReduction_202-happyReduction_202-  (happy_x_7 `HappyStk`-     (happy_x_6 `HappyStk`-        (happy_x_5 `HappyStk`-           (happy_x_4 `HappyStk`-              (happy_x_3 `HappyStk`-                 (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut126 happy_x_2 of-                              happy_var_2 -> case happyOut125 happy_x_3 of-                                                 happy_var_3 -> case happyOut59 happy_x_5 of-                                                                    happy_var_5 -> (withNodeInfo-                                                                                      happy_var_1-                                                                                      $-                                                                                      CEnum-                                                                                        (Just-                                                                                           happy_var_3)-                                                                                        (Just $-                                                                                           reverse-                                                                                             happy_var_5)-                                                                                        happy_var_2))-      (\ r -> happyReturn (happyIn58 r))-happyReduce_203 = happyMonadReduce 3# 51# happyReduction_203-happyReduction_203-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut126 happy_x_2 of-                              happy_var_2 -> case happyOut125 happy_x_3 of-                                                 happy_var_3 -> (withNodeInfo happy_var_1 $-                                                                   CEnum (Just happy_var_3) Nothing-                                                                     happy_var_2))-      (\ r -> happyReturn (happyIn58 r))-happyReduce_204 = happySpecReduce_1 52# happyReduction_204-happyReduction_204 happy_x_1-  = case happyOut60 happy_x_1 of-        happy_var_1 -> happyIn59 (singleton happy_var_1)-happyReduce_205 = happySpecReduce_3 52# happyReduction_205-happyReduction_205 happy_x_3 happy_x_2 happy_x_1-  = case happyOut59 happy_x_1 of-        happy_var_1 -> case happyOut60 happy_x_3 of-                           happy_var_3 -> happyIn59 (happy_var_1 `snoc` happy_var_3)-happyReduce_206 = happySpecReduce_1 53# happyReduction_206-happyReduction_206 happy_x_1-  = case happyOut125 happy_x_1 of-        happy_var_1 -> happyIn60 ((happy_var_1, Nothing))-happyReduce_207 = happySpecReduce_3 53# happyReduction_207-happyReduction_207 happy_x_3 happy_x_2 happy_x_1-  = case happyOut125 happy_x_1 of-        happy_var_1 -> case happyOut121 happy_x_3 of-                           happy_var_3 -> happyIn60 ((happy_var_1, Just happy_var_3))-happyReduce_208 = happyMonadReduce 1# 54# happyReduction_208-happyReduction_208 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $ CConstQual))-      (\ r -> happyReturn (happyIn61 r))-happyReduce_209 = happyMonadReduce 1# 54# happyReduction_209-happyReduction_209 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $ CVolatQual))-      (\ r -> happyReturn (happyIn61 r))-happyReduce_210 = happyMonadReduce 1# 54# happyReduction_210-happyReduction_210 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $ CRestrQual))-      (\ r -> happyReturn (happyIn61 r))-happyReduce_211 = happyMonadReduce 1# 54# happyReduction_211-happyReduction_211 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $ CInlineQual))-      (\ r -> happyReturn (happyIn61 r))-happyReduce_212 = happySpecReduce_2 55# happyReduction_212-happyReduction_212 happy_x_2 happy_x_1-  = case happyOut126 happy_x_1 of-        happy_var_1 -> case happyOut61 happy_x_2 of-                           happy_var_2 -> happyIn62-                                            (reverseList (map CAttrQual happy_var_1) `snoc`-                                               happy_var_2)-happyReduce_213 = happySpecReduce_2 55# happyReduction_213-happyReduction_213 happy_x_2 happy_x_1-  = case happyOut62 happy_x_1 of-        happy_var_1 -> case happyOut61 happy_x_2 of-                           happy_var_2 -> happyIn62 (happy_var_1 `snoc` happy_var_2)-happyReduce_214 = happySpecReduce_3 55# happyReduction_214-happyReduction_214 happy_x_3 happy_x_2 happy_x_1-  = case happyOut62 happy_x_1 of-        happy_var_1 -> case happyOut127 happy_x_2 of-                           happy_var_2 -> case happyOut61 happy_x_3 of-                                              happy_var_3 -> happyIn62-                                                               ((happy_var_1 `rappend`-                                                                   map CAttrQual happy_var_2)-                                                                  `snoc` happy_var_3)-happyReduce_215 = happySpecReduce_1 56# happyReduction_215-happyReduction_215 happy_x_1-  = case happyOut72 happy_x_1 of-        happy_var_1 -> happyIn63 (happy_var_1)-happyReduce_216 = happySpecReduce_1 56# happyReduction_216-happyReduction_216 happy_x_1-  = case happyOut65 happy_x_1 of-        happy_var_1 -> happyIn63 (happy_var_1)-happyReduce_217 = happySpecReduce_0 57# happyReduction_217-happyReduction_217 = happyIn64 (Nothing)-happyReduce_218 = happyReduce 4# 57# happyReduction_218-happyReduction_218-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  = case happyOut123 happy_x_3 of-        happy_var_3 -> happyIn64 (Just happy_var_3) `HappyStk` happyRest-happyReduce_219 = happySpecReduce_1 58# happyReduction_219-happyReduction_219 happy_x_1-  = case happyOut69 happy_x_1 of-        happy_var_1 -> happyIn65 (happy_var_1)-happyReduce_220 = happySpecReduce_1 58# happyReduction_220-happyReduction_220 happy_x_1-  = case happyOut66 happy_x_1 of-        happy_var_1 -> happyIn65 (happy_var_1)-happyReduce_221 = happyMonadReduce 1# 59# happyReduction_221-happyReduction_221 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           (CTokTyIdent _ happy_var_1) -> (withNodeInfo happy_var_1 $-                                             mkVarDeclr happy_var_1))-      (\ r -> happyReturn (happyIn66 r))-happyReduce_222 = happyMonadReduce 2# 59# happyReduction_222-happyReduction_222-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           (CTokTyIdent _ happy_var_1) -> case happyOut85 happy_x_2 of-                                              happy_var_2 -> (withNodeInfo happy_var_1 $-                                                                \ at ->-                                                                  happy_var_2-                                                                    (mkVarDeclr happy_var_1 at)))-      (\ r -> happyReturn (happyIn66 r))-happyReduce_223 = happySpecReduce_1 59# happyReduction_223-happyReduction_223 happy_x_1-  = case happyOut67 happy_x_1 of-        happy_var_1 -> happyIn66 (happy_var_1)-happyReduce_224 = happySpecReduce_1 60# happyReduction_224-happyReduction_224 happy_x_1-  = case happyOut68 happy_x_1 of-        happy_var_1 -> happyIn67 (happy_var_1)-happyReduce_225 = happyMonadReduce 2# 60# happyReduction_225-happyReduction_225-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut66 happy_x_2 of-                              happy_var_2 -> (withNodeInfo happy_var_1 $-                                                ptrDeclr happy_var_2 []))-      (\ r -> happyReturn (happyIn67 r))-happyReduce_226 = happyMonadReduce 3# 60# happyReduction_226-happyReduction_226-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut127 happy_x_2 of-                              happy_var_2 -> case happyOut66 happy_x_3 of-                                                 happy_var_3 -> (withAttribute happy_var_1-                                                                   happy_var_2-                                                                   $ ptrDeclr happy_var_3 []))-      (\ r -> happyReturn (happyIn67 r))-happyReduce_227 = happyMonadReduce 3# 60# happyReduction_227-happyReduction_227-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut62 happy_x_2 of-                              happy_var_2 -> case happyOut66 happy_x_3 of-                                                 happy_var_3 -> (withNodeInfo happy_var_1 $-                                                                   ptrDeclr happy_var_3-                                                                     (reverse happy_var_2)))-      (\ r -> happyReturn (happyIn67 r))-happyReduce_228 = happyMonadReduce 4# 60# happyReduction_228-happyReduction_228-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut62 happy_x_2 of-                              happy_var_2 -> case happyOut127 happy_x_3 of-                                                 happy_var_3 -> case happyOut66 happy_x_4 of-                                                                    happy_var_4 -> (withAttribute-                                                                                      happy_var_1-                                                                                      happy_var_3-                                                                                      $-                                                                                      ptrDeclr-                                                                                        happy_var_4-                                                                                        (reverse-                                                                                           happy_var_2)))-      (\ r -> happyReturn (happyIn67 r))-happyReduce_229 = happySpecReduce_3 61# happyReduction_229-happyReduction_229 happy_x_3 happy_x_2 happy_x_1-  = case happyOut67 happy_x_2 of-        happy_var_2 -> happyIn68 (happy_var_2)-happyReduce_230 = happyReduce 4# 61# happyReduction_230-happyReduction_230-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  = case happyOut67 happy_x_2 of-        happy_var_2 -> case happyOut85 happy_x_4 of-                           happy_var_4 -> happyIn68 (happy_var_4 happy_var_2) `HappyStk`-                                            happyRest-happyReduce_231 = happyReduce 4# 61# happyReduction_231-happyReduction_231-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  = case happyOut127 happy_x_2 of-        happy_var_2 -> case happyOut67 happy_x_3 of-                           happy_var_3 -> happyIn68 (appendDeclrAttrs happy_var_2 happy_var_3)-                                            `HappyStk` happyRest-happyReduce_232 = happyReduce 5# 61# happyReduction_232-happyReduction_232-  (happy_x_5 `HappyStk`-     (happy_x_4 `HappyStk`-        (happy_x_3 `HappyStk`-           (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))-  = case happyOut127 happy_x_2 of-        happy_var_2 -> case happyOut67 happy_x_3 of-                           happy_var_3 -> case happyOut85 happy_x_5 of-                                              happy_var_5 -> happyIn68-                                                               (appendDeclrAttrs happy_var_2-                                                                  (happy_var_5 happy_var_3))-                                                               `HappyStk` happyRest-happyReduce_233 = happySpecReduce_1 62# happyReduction_233-happyReduction_233 happy_x_1-  = case happyOut70 happy_x_1 of-        happy_var_1 -> happyIn69 (happy_var_1)-happyReduce_234 = happyMonadReduce 4# 62# happyReduction_234-happyReduction_234-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut71 happy_x_3 of-                              happy_var_3 -> (withNodeInfo happy_var_1 $-                                                ptrDeclr happy_var_3 []))-      (\ r -> happyReturn (happyIn69 r))-happyReduce_235 = happyMonadReduce 5# 62# happyReduction_235-happyReduction_235-  (happy_x_5 `HappyStk`-     (happy_x_4 `HappyStk`-        (happy_x_3 `HappyStk`-           (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut62 happy_x_2 of-                              happy_var_2 -> case happyOut71 happy_x_4 of-                                                 happy_var_4 -> (withNodeInfo happy_var_1 $-                                                                   ptrDeclr happy_var_4-                                                                     (reverse happy_var_2)))-      (\ r -> happyReturn (happyIn69 r))-happyReduce_236 = happyMonadReduce 6# 62# happyReduction_236-happyReduction_236-  (happy_x_6 `HappyStk`-     (happy_x_5 `HappyStk`-        (happy_x_4 `HappyStk`-           (happy_x_3 `HappyStk`-              (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut62 happy_x_2 of-                              happy_var_2 -> case happyOut127 happy_x_3 of-                                                 happy_var_3 -> case happyOut71 happy_x_5 of-                                                                    happy_var_5 -> (withAttribute-                                                                                      happy_var_1-                                                                                      happy_var_3-                                                                                      $-                                                                                      ptrDeclr-                                                                                        happy_var_5-                                                                                        (reverse-                                                                                           happy_var_2)))-      (\ r -> happyReturn (happyIn69 r))-happyReduce_237 = happyMonadReduce 2# 62# happyReduction_237-happyReduction_237-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut69 happy_x_2 of-                              happy_var_2 -> (withNodeInfo happy_var_1 $-                                                ptrDeclr happy_var_2 []))-      (\ r -> happyReturn (happyIn69 r))-happyReduce_238 = happyMonadReduce 3# 62# happyReduction_238-happyReduction_238-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut62 happy_x_2 of-                              happy_var_2 -> case happyOut69 happy_x_3 of-                                                 happy_var_3 -> (withNodeInfo happy_var_1 $-                                                                   ptrDeclr happy_var_3-                                                                     (reverse happy_var_2)))-      (\ r -> happyReturn (happyIn69 r))-happyReduce_239 = happyMonadReduce 4# 62# happyReduction_239-happyReduction_239-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut62 happy_x_2 of-                              happy_var_2 -> case happyOut127 happy_x_3 of-                                                 happy_var_3 -> case happyOut69 happy_x_4 of-                                                                    happy_var_4 -> (withAttribute-                                                                                      happy_var_1-                                                                                      happy_var_3-                                                                                      $-                                                                                      ptrDeclr-                                                                                        happy_var_4-                                                                                        (reverse-                                                                                           happy_var_2)))-      (\ r -> happyReturn (happyIn69 r))-happyReduce_240 = happySpecReduce_3 63# happyReduction_240-happyReduction_240 happy_x_3 happy_x_2 happy_x_1-  = case happyOut69 happy_x_2 of-        happy_var_2 -> happyIn70 (happy_var_2)-happyReduce_241 = happyReduce 4# 63# happyReduction_241-happyReduction_241-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  = case happyOut71 happy_x_2 of-        happy_var_2 -> case happyOut85 happy_x_3 of-                           happy_var_3 -> happyIn70 (happy_var_3 happy_var_2) `HappyStk`-                                            happyRest-happyReduce_242 = happyReduce 4# 63# happyReduction_242-happyReduction_242-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  = case happyOut69 happy_x_2 of-        happy_var_2 -> case happyOut85 happy_x_4 of-                           happy_var_4 -> happyIn70 (happy_var_4 happy_var_2) `HappyStk`-                                            happyRest-happyReduce_243 = happyMonadReduce 1# 64# happyReduction_243-happyReduction_243 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           (CTokTyIdent _ happy_var_1) -> (withNodeInfo happy_var_1 $-                                             mkVarDeclr happy_var_1))-      (\ r -> happyReturn (happyIn71 r))-happyReduce_244 = happySpecReduce_3 64# happyReduction_244-happyReduction_244 happy_x_3 happy_x_2 happy_x_1-  = case happyOut71 happy_x_2 of-        happy_var_2 -> happyIn71 (happy_var_2)-happyReduce_245 = happySpecReduce_1 65# happyReduction_245-happyReduction_245 happy_x_1-  = case happyOut73 happy_x_1 of-        happy_var_1 -> happyIn72 (happy_var_1)-happyReduce_246 = happySpecReduce_1 65# happyReduction_246-happyReduction_246 happy_x_1-  = case happyOut75 happy_x_1 of-        happy_var_1 -> happyIn72 (happy_var_1)-happyReduce_247 = happySpecReduce_1 66# happyReduction_247-happyReduction_247 happy_x_1-  = case happyOut74 happy_x_1 of-        happy_var_1 -> happyIn73 (happy_var_1)-happyReduce_248 = happyMonadReduce 2# 66# happyReduction_248-happyReduction_248-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut72 happy_x_2 of-                              happy_var_2 -> (withNodeInfo happy_var_1 $-                                                ptrDeclr happy_var_2 []))-      (\ r -> happyReturn (happyIn73 r))-happyReduce_249 = happyMonadReduce 3# 66# happyReduction_249-happyReduction_249-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut127 happy_x_2 of-                              happy_var_2 -> case happyOut72 happy_x_3 of-                                                 happy_var_3 -> (withAttribute happy_var_1-                                                                   happy_var_2-                                                                   $ ptrDeclr happy_var_3 []))-      (\ r -> happyReturn (happyIn73 r))-happyReduce_250 = happyMonadReduce 3# 66# happyReduction_250-happyReduction_250-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut62 happy_x_2 of-                              happy_var_2 -> case happyOut72 happy_x_3 of-                                                 happy_var_3 -> (withNodeInfo happy_var_1 $-                                                                   ptrDeclr happy_var_3-                                                                     (reverse happy_var_2)))-      (\ r -> happyReturn (happyIn73 r))-happyReduce_251 = happyMonadReduce 4# 66# happyReduction_251-happyReduction_251-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut62 happy_x_2 of-                              happy_var_2 -> case happyOut127 happy_x_3 of-                                                 happy_var_3 -> case happyOut72 happy_x_4 of-                                                                    happy_var_4 -> (withAttribute-                                                                                      happy_var_1-                                                                                      happy_var_3-                                                                                      $-                                                                                      ptrDeclr-                                                                                        happy_var_4-                                                                                        (reverse-                                                                                           happy_var_2)))-      (\ r -> happyReturn (happyIn73 r))-happyReduce_252 = happySpecReduce_2 67# happyReduction_252-happyReduction_252 happy_x_2 happy_x_1-  = case happyOut75 happy_x_1 of-        happy_var_1 -> case happyOut85 happy_x_2 of-                           happy_var_2 -> happyIn74 (happy_var_2 happy_var_1)-happyReduce_253 = happySpecReduce_3 67# happyReduction_253-happyReduction_253 happy_x_3 happy_x_2 happy_x_1-  = case happyOut73 happy_x_2 of-        happy_var_2 -> happyIn74 (happy_var_2)-happyReduce_254 = happyReduce 4# 67# happyReduction_254-happyReduction_254-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  = case happyOut73 happy_x_2 of-        happy_var_2 -> case happyOut85 happy_x_4 of-                           happy_var_4 -> happyIn74 (happy_var_4 happy_var_2) `HappyStk`-                                            happyRest-happyReduce_255 = happyReduce 4# 67# happyReduction_255-happyReduction_255-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  = case happyOut127 happy_x_2 of-        happy_var_2 -> case happyOut73 happy_x_3 of-                           happy_var_3 -> happyIn74 (appendDeclrAttrs happy_var_2 happy_var_3)-                                            `HappyStk` happyRest-happyReduce_256 = happyReduce 5# 67# happyReduction_256-happyReduction_256-  (happy_x_5 `HappyStk`-     (happy_x_4 `HappyStk`-        (happy_x_3 `HappyStk`-           (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))-  = case happyOut127 happy_x_2 of-        happy_var_2 -> case happyOut73 happy_x_3 of-                           happy_var_3 -> case happyOut85 happy_x_5 of-                                              happy_var_5 -> happyIn74-                                                               (appendDeclrAttrs happy_var_2-                                                                  (happy_var_5 happy_var_3))-                                                               `HappyStk` happyRest-happyReduce_257 = happyMonadReduce 1# 68# happyReduction_257-happyReduction_257 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           (CTokIdent _ happy_var_1) -> (withNodeInfo happy_var_1 $-                                           mkVarDeclr happy_var_1))-      (\ r -> happyReturn (happyIn75 r))-happyReduce_258 = happySpecReduce_3 68# happyReduction_258-happyReduction_258 happy_x_3 happy_x_2 happy_x_1-  = case happyOut75 happy_x_2 of-        happy_var_2 -> happyIn75 (happy_var_2)-happyReduce_259 = happyReduce 4# 68# happyReduction_259-happyReduction_259-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  = case happyOut127 happy_x_2 of-        happy_var_2 -> case happyOut75 happy_x_3 of-                           happy_var_3 -> happyIn75 (appendDeclrAttrs happy_var_2 happy_var_3)-                                            `HappyStk` happyRest-happyReduce_260 = happySpecReduce_1 69# happyReduction_260-happyReduction_260 happy_x_1-  = case happyOut77 happy_x_1 of-        happy_var_1 -> happyIn76 (reverseDeclr happy_var_1)-happyReduce_261 = happySpecReduce_1 70# happyReduction_261-happyReduction_261 happy_x_1-  = case happyOut78 happy_x_1 of-        happy_var_1 -> happyIn77 (happy_var_1)-happyReduce_262 = happyMonadReduce 2# 70# happyReduction_262-happyReduction_262-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut77 happy_x_2 of-                              happy_var_2 -> (withNodeInfo happy_var_1 $-                                                ptrDeclr happy_var_2 []))-      (\ r -> happyReturn (happyIn77 r))-happyReduce_263 = happyMonadReduce 3# 70# happyReduction_263-happyReduction_263-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut62 happy_x_2 of-                              happy_var_2 -> case happyOut77 happy_x_3 of-                                                 happy_var_3 -> (withNodeInfo happy_var_1 $-                                                                   ptrDeclr happy_var_3-                                                                     (reverse happy_var_2)))-      (\ r -> happyReturn (happyIn77 r))-happyReduce_264 = happyMonadReduce 4# 71# happyReduction_264-happyReduction_264-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  tk-  = happyThen-      (case happyOut75 happy_x_1 of-           happy_var_1 -> case happyOut82 happy_x_3 of-                              happy_var_3 -> (withNodeInfo happy_var_1 $-                                                funDeclr happy_var_1 (Left $ reverse happy_var_3)-                                                  []))-      (\ r -> happyReturn (happyIn78 r))-happyReduce_265 = happySpecReduce_3 71# happyReduction_265-happyReduction_265 happy_x_3 happy_x_2 happy_x_1-  = case happyOut77 happy_x_2 of-        happy_var_2 -> happyIn78 (happy_var_2)-happyReduce_266 = happyReduce 4# 71# happyReduction_266-happyReduction_266-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  = case happyOut77 happy_x_2 of-        happy_var_2 -> case happyOut85 happy_x_4 of-                           happy_var_4 -> happyIn78 (happy_var_4 happy_var_2) `HappyStk`-                                            happyRest-happyReduce_267 = happySpecReduce_0 72# happyReduction_267-happyReduction_267 = happyIn79 (([], False))-happyReduce_268 = happySpecReduce_1 72# happyReduction_268-happyReduction_268 happy_x_1-  = case happyOut80 happy_x_1 of-        happy_var_1 -> happyIn79 ((reverse happy_var_1, False))-happyReduce_269 = happySpecReduce_3 72# happyReduction_269-happyReduction_269 happy_x_3 happy_x_2 happy_x_1-  = case happyOut80 happy_x_1 of-        happy_var_1 -> happyIn79 ((reverse happy_var_1, True))-happyReduce_270 = happySpecReduce_1 73# happyReduction_270-happyReduction_270 happy_x_1-  = case happyOut81 happy_x_1 of-        happy_var_1 -> happyIn80 (singleton happy_var_1)-happyReduce_271 = happySpecReduce_3 73# happyReduction_271-happyReduction_271 happy_x_3 happy_x_2 happy_x_1-  = case happyOut80 happy_x_1 of-        happy_var_1 -> case happyOut81 happy_x_3 of-                           happy_var_3 -> happyIn80 (happy_var_1 `snoc` happy_var_3)-happyReduce_272 = happyMonadReduce 1# 74# happyReduction_272-happyReduction_272 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOut37 happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $ CDecl happy_var_1 []))-      (\ r -> happyReturn (happyIn81 r))-happyReduce_273 = happyMonadReduce 2# 74# happyReduction_273-happyReduction_273-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk-  = happyThen-      (case happyOut37 happy_x_1 of-           happy_var_1 -> case happyOut84 happy_x_2 of-                              happy_var_2 -> (withNodeInfo happy_var_1 $-                                                CDecl happy_var_1-                                                  [(Just (reverseDeclr happy_var_2), Nothing,-                                                    Nothing)]))-      (\ r -> happyReturn (happyIn81 r))-happyReduce_274 = happyMonadReduce 3# 74# happyReduction_274-happyReduction_274-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOut37 happy_x_1 of-           happy_var_1 -> case happyOut72 happy_x_2 of-                              happy_var_2 -> case happyOut126 happy_x_3 of-                                                 happy_var_3 -> (withNodeInfo happy_var_1 $-                                                                   CDecl happy_var_1-                                                                     [(Just-                                                                         (reverseDeclr $!-                                                                            appendDeclrAttrs-                                                                              happy_var_3-                                                                              happy_var_2),-                                                                       Nothing, Nothing)]))-      (\ r -> happyReturn (happyIn81 r))-happyReduce_275 = happyMonadReduce 3# 74# happyReduction_275-happyReduction_275-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOut37 happy_x_1 of-           happy_var_1 -> case happyOut66 happy_x_2 of-                              happy_var_2 -> case happyOut126 happy_x_3 of-                                                 happy_var_3 -> (withNodeInfo happy_var_1 $-                                                                   CDecl happy_var_1-                                                                     [(Just-                                                                         (reverseDeclr $!-                                                                            appendDeclrAttrs-                                                                              happy_var_3-                                                                              happy_var_2),-                                                                       Nothing, Nothing)]))-      (\ r -> happyReturn (happyIn81 r))-happyReduce_276 = happyMonadReduce 1# 74# happyReduction_276-happyReduction_276 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOut38 happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $-                             CDecl (reverse happy_var_1) []))-      (\ r -> happyReturn (happyIn81 r))-happyReduce_277 = happyMonadReduce 2# 74# happyReduction_277-happyReduction_277-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk-  = happyThen-      (case happyOut38 happy_x_1 of-           happy_var_1 -> case happyOut84 happy_x_2 of-                              happy_var_2 -> (withNodeInfo happy_var_1 $-                                                CDecl (reverse happy_var_1)-                                                  [(Just (reverseDeclr happy_var_2), Nothing,-                                                    Nothing)]))-      (\ r -> happyReturn (happyIn81 r))-happyReduce_278 = happyMonadReduce 3# 74# happyReduction_278-happyReduction_278-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOut38 happy_x_1 of-           happy_var_1 -> case happyOut72 happy_x_2 of-                              happy_var_2 -> case happyOut126 happy_x_3 of-                                                 happy_var_3 -> (withNodeInfo happy_var_1 $-                                                                   CDecl (reverse happy_var_1)-                                                                     [(Just-                                                                         (reverseDeclr $!-                                                                            appendDeclrAttrs-                                                                              happy_var_3-                                                                              happy_var_2),-                                                                       Nothing, Nothing)]))-      (\ r -> happyReturn (happyIn81 r))-happyReduce_279 = happyMonadReduce 1# 74# happyReduction_279-happyReduction_279 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOut41 happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $ CDecl happy_var_1 []))-      (\ r -> happyReturn (happyIn81 r))-happyReduce_280 = happyMonadReduce 2# 74# happyReduction_280-happyReduction_280-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk-  = happyThen-      (case happyOut41 happy_x_1 of-           happy_var_1 -> case happyOut84 happy_x_2 of-                              happy_var_2 -> (withNodeInfo happy_var_1 $-                                                CDecl happy_var_1-                                                  [(Just (reverseDeclr happy_var_2), Nothing,-                                                    Nothing)]))-      (\ r -> happyReturn (happyIn81 r))-happyReduce_281 = happyMonadReduce 3# 74# happyReduction_281-happyReduction_281-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOut41 happy_x_1 of-           happy_var_1 -> case happyOut72 happy_x_2 of-                              happy_var_2 -> case happyOut126 happy_x_3 of-                                                 happy_var_3 -> (withNodeInfo happy_var_1 $-                                                                   CDecl happy_var_1-                                                                     [(Just-                                                                         (reverseDeclr $!-                                                                            appendDeclrAttrs-                                                                              happy_var_3-                                                                              happy_var_2),-                                                                       Nothing, Nothing)]))-      (\ r -> happyReturn (happyIn81 r))-happyReduce_282 = happyMonadReduce 3# 74# happyReduction_282-happyReduction_282-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOut41 happy_x_1 of-           happy_var_1 -> case happyOut66 happy_x_2 of-                              happy_var_2 -> case happyOut126 happy_x_3 of-                                                 happy_var_3 -> (withNodeInfo happy_var_1 $-                                                                   CDecl happy_var_1-                                                                     [(Just-                                                                         (reverseDeclr $!-                                                                            appendDeclrAttrs-                                                                              happy_var_3-                                                                              happy_var_2),-                                                                       Nothing, Nothing)]))-      (\ r -> happyReturn (happyIn81 r))-happyReduce_283 = happyMonadReduce 1# 74# happyReduction_283-happyReduction_283 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOut62 happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $-                             CDecl (liftTypeQuals happy_var_1) []))-      (\ r -> happyReturn (happyIn81 r))-happyReduce_284 = happyMonadReduce 2# 74# happyReduction_284-happyReduction_284-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk-  = happyThen-      (case happyOut62 happy_x_1 of-           happy_var_1 -> case happyOut128 happy_x_2 of-                              happy_var_2 -> (withNodeInfo happy_var_1 $-                                                CDecl-                                                  (liftTypeQuals happy_var_1 ++-                                                     liftCAttrs happy_var_2)-                                                  []))-      (\ r -> happyReturn (happyIn81 r))-happyReduce_285 = happyMonadReduce 2# 74# happyReduction_285-happyReduction_285-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk-  = happyThen-      (case happyOut62 happy_x_1 of-           happy_var_1 -> case happyOut84 happy_x_2 of-                              happy_var_2 -> (withNodeInfo happy_var_1 $-                                                CDecl (liftTypeQuals happy_var_1)-                                                  [(Just (reverseDeclr happy_var_2), Nothing,-                                                    Nothing)]))-      (\ r -> happyReturn (happyIn81 r))-happyReduce_286 = happyMonadReduce 3# 74# happyReduction_286-happyReduction_286-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOut62 happy_x_1 of-           happy_var_1 -> case happyOut72 happy_x_2 of-                              happy_var_2 -> case happyOut126 happy_x_3 of-                                                 happy_var_3 -> (withNodeInfo happy_var_1 $-                                                                   CDecl (liftTypeQuals happy_var_1)-                                                                     [(Just-                                                                         (reverseDeclr $-                                                                            appendDeclrAttrs-                                                                              happy_var_3-                                                                              happy_var_2),-                                                                       Nothing, Nothing)]))-      (\ r -> happyReturn (happyIn81 r))-happyReduce_287 = happySpecReduce_1 75# happyReduction_287-happyReduction_287 happy_x_1-  = case happyOutTok happy_x_1 of-        (CTokIdent _ happy_var_1) -> happyIn82 (singleton happy_var_1)-happyReduce_288 = happySpecReduce_3 75# happyReduction_288-happyReduction_288 happy_x_3 happy_x_2 happy_x_1-  = case happyOut82 happy_x_1 of-        happy_var_1 -> case happyOutTok happy_x_3 of-                           (CTokIdent _ happy_var_3) -> happyIn82-                                                          (happy_var_1 `snoc` happy_var_3)-happyReduce_289 = happyMonadReduce 1# 76# happyReduction_289-happyReduction_289 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOut41 happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $ CDecl happy_var_1 []))-      (\ r -> happyReturn (happyIn83 r))-happyReduce_290 = happyMonadReduce 2# 76# happyReduction_290-happyReduction_290-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk-  = happyThen-      (case happyOut41 happy_x_1 of-           happy_var_1 -> case happyOut84 happy_x_2 of-                              happy_var_2 -> (withNodeInfo happy_var_1 $-                                                CDecl happy_var_1-                                                  [(Just (reverseDeclr happy_var_2), Nothing,-                                                    Nothing)]))-      (\ r -> happyReturn (happyIn83 r))-happyReduce_291 = happyMonadReduce 2# 76# happyReduction_291-happyReduction_291-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk-  = happyThen-      (case happyOut62 happy_x_1 of-           happy_var_1 -> case happyOut128 happy_x_2 of-                              happy_var_2 -> (withNodeInfo happy_var_1 $-                                                CDecl-                                                  (liftTypeQuals happy_var_1 ++-                                                     liftCAttrs happy_var_2)-                                                  []))-      (\ r -> happyReturn (happyIn83 r))-happyReduce_292 = happyMonadReduce 2# 76# happyReduction_292-happyReduction_292-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk-  = happyThen-      (case happyOut62 happy_x_1 of-           happy_var_1 -> case happyOut84 happy_x_2 of-                              happy_var_2 -> (withNodeInfo happy_var_1 $-                                                CDecl (liftTypeQuals happy_var_1)-                                                  [(Just (reverseDeclr happy_var_2), Nothing,-                                                    Nothing)]))-      (\ r -> happyReturn (happyIn83 r))-happyReduce_293 = happySpecReduce_1 77# happyReduction_293-happyReduction_293 happy_x_1-  = case happyOut88 happy_x_1 of-        happy_var_1 -> happyIn84 (happy_var_1)-happyReduce_294 = happySpecReduce_1 77# happyReduction_294-happyReduction_294 happy_x_1-  = case happyOut89 happy_x_1 of-        happy_var_1 -> happyIn84 (happy_var_1)-happyReduce_295 = happySpecReduce_1 77# happyReduction_295-happyReduction_295 happy_x_1-  = case happyOut85 happy_x_1 of-        happy_var_1 -> happyIn84 (happy_var_1 emptyDeclr)-happyReduce_296 = happySpecReduce_1 78# happyReduction_296-happyReduction_296 happy_x_1-  = case happyOut86 happy_x_1 of-        happy_var_1 -> happyIn85 (happy_var_1)-happyReduce_297 = happyMonadReduce 3# 78# happyReduction_297-happyReduction_297-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut79 happy_x_2 of-                              happy_var_2 -> (withNodeInfo happy_var_1 $-                                                \ at declr ->-                                                  case happy_var_2 of-                                                      (params, variadic) -> funDeclr declr-                                                                              (Right-                                                                                 (params, variadic))-                                                                              []-                                                                              at))-      (\ r -> happyReturn (happyIn85 r))-happyReduce_298 = happySpecReduce_1 79# happyReduction_298-happyReduction_298 happy_x_1-  = case happyOut87 happy_x_1 of-        happy_var_1 -> happyIn86 (happy_var_1)-happyReduce_299 = happySpecReduce_2 79# happyReduction_299-happyReduction_299 happy_x_2 happy_x_1-  = case happyOut86 happy_x_1 of-        happy_var_1 -> case happyOut87 happy_x_2 of-                           happy_var_2 -> happyIn86 (\ decl -> happy_var_2 (happy_var_1 decl))-happyReduce_300 = happyMonadReduce 3# 80# happyReduction_300-happyReduction_300-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut120 happy_x_2 of-                              happy_var_2 -> (withNodeInfo happy_var_1 $-                                                \ at declr ->-                                                  arrDeclr declr [] False False happy_var_2 at))-      (\ r -> happyReturn (happyIn87 r))-happyReduce_301 = happyMonadReduce 4# 80# happyReduction_301-happyReduction_301-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut127 happy_x_2 of-                              happy_var_2 -> case happyOut120 happy_x_3 of-                                                 happy_var_3 -> (withAttributePF happy_var_1-                                                                   happy_var_2-                                                                   $-                                                                   \ at declr ->-                                                                     arrDeclr declr [] False False-                                                                       happy_var_3-                                                                       at))-      (\ r -> happyReturn (happyIn87 r))-happyReduce_302 = happyMonadReduce 4# 80# happyReduction_302-happyReduction_302-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut62 happy_x_2 of-                              happy_var_2 -> case happyOut120 happy_x_3 of-                                                 happy_var_3 -> (withNodeInfo happy_var_1 $-                                                                   \ at declr ->-                                                                     arrDeclr declr-                                                                       (reverse happy_var_2)-                                                                       False-                                                                       False-                                                                       happy_var_3-                                                                       at))-      (\ r -> happyReturn (happyIn87 r))-happyReduce_303 = happyMonadReduce 5# 80# happyReduction_303-happyReduction_303-  (happy_x_5 `HappyStk`-     (happy_x_4 `HappyStk`-        (happy_x_3 `HappyStk`-           (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut62 happy_x_2 of-                              happy_var_2 -> case happyOut127 happy_x_3 of-                                                 happy_var_3 -> case happyOut120 happy_x_4 of-                                                                    happy_var_4 -> (withAttributePF-                                                                                      happy_var_1-                                                                                      happy_var_3-                                                                                      $-                                                                                      \ at declr ->-                                                                                        arrDeclr-                                                                                          declr-                                                                                          (reverse-                                                                                             happy_var_2)-                                                                                          False-                                                                                          False-                                                                                          happy_var_4-                                                                                          at))-      (\ r -> happyReturn (happyIn87 r))-happyReduce_304 = happyMonadReduce 5# 80# happyReduction_304-happyReduction_304-  (happy_x_5 `HappyStk`-     (happy_x_4 `HappyStk`-        (happy_x_3 `HappyStk`-           (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut126 happy_x_3 of-                              happy_var_3 -> case happyOut115 happy_x_4 of-                                                 happy_var_4 -> (withAttributePF happy_var_1-                                                                   happy_var_3-                                                                   $-                                                                   \ at declr ->-                                                                     arrDeclr declr [] False True-                                                                       (Just happy_var_4)-                                                                       at))-      (\ r -> happyReturn (happyIn87 r))-happyReduce_305 = happyMonadReduce 6# 80# happyReduction_305-happyReduction_305-  (happy_x_6 `HappyStk`-     (happy_x_5 `HappyStk`-        (happy_x_4 `HappyStk`-           (happy_x_3 `HappyStk`-              (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut62 happy_x_3 of-                              happy_var_3 -> case happyOut126 happy_x_4 of-                                                 happy_var_4 -> case happyOut115 happy_x_5 of-                                                                    happy_var_5 -> (withAttributePF-                                                                                      happy_var_1-                                                                                      happy_var_4-                                                                                      $-                                                                                      \ at declr ->-                                                                                        arrDeclr-                                                                                          declr-                                                                                          (reverse-                                                                                             happy_var_3)-                                                                                          False-                                                                                          True-                                                                                          (Just-                                                                                             happy_var_5)-                                                                                          at))-      (\ r -> happyReturn (happyIn87 r))-happyReduce_306 = happyMonadReduce 7# 80# happyReduction_306-happyReduction_306-  (happy_x_7 `HappyStk`-     (happy_x_6 `HappyStk`-        (happy_x_5 `HappyStk`-           (happy_x_4 `HappyStk`-              (happy_x_3 `HappyStk`-                 (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut62 happy_x_2 of-                              happy_var_2 -> case happyOut126 happy_x_3 of-                                                 happy_var_3 -> case happyOut126 happy_x_5 of-                                                                    happy_var_5 -> case-                                                                                     happyOut115-                                                                                       happy_x_6-                                                                                     of-                                                                                       happy_var_6 -> (withAttributePF-                                                                                                         happy_var_1-                                                                                                         (happy_var_3-                                                                                                            ++-                                                                                                            happy_var_5)-                                                                                                         $-                                                                                                         \ at-                                                                                                           declr-                                                                                                           ->-                                                                                                           arrDeclr-                                                                                                             declr-                                                                                                             (reverse-                                                                                                                happy_var_2)-                                                                                                             False-                                                                                                             True-                                                                                                             (Just-                                                                                                                happy_var_6)-                                                                                                             at))-      (\ r -> happyReturn (happyIn87 r))-happyReduce_307 = happyMonadReduce 4# 80# happyReduction_307-happyReduction_307-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut126 happy_x_3 of-                              happy_var_3 -> (withAttributePF happy_var_1 happy_var_3 $-                                                \ at declr ->-                                                  arrDeclr declr [] True False Nothing at))-      (\ r -> happyReturn (happyIn87 r))-happyReduce_308 = happyMonadReduce 5# 80# happyReduction_308-happyReduction_308-  (happy_x_5 `HappyStk`-     (happy_x_4 `HappyStk`-        (happy_x_3 `HappyStk`-           (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut127 happy_x_2 of-                              happy_var_2 -> case happyOut126 happy_x_4 of-                                                 happy_var_4 -> (withAttributePF happy_var_1-                                                                   (happy_var_2 ++ happy_var_4)-                                                                   $-                                                                   \ at declr ->-                                                                     arrDeclr declr [] True False-                                                                       Nothing-                                                                       at))-      (\ r -> happyReturn (happyIn87 r))-happyReduce_309 = happyMonadReduce 5# 80# happyReduction_309-happyReduction_309-  (happy_x_5 `HappyStk`-     (happy_x_4 `HappyStk`-        (happy_x_3 `HappyStk`-           (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut62 happy_x_2 of-                              happy_var_2 -> case happyOut126 happy_x_4 of-                                                 happy_var_4 -> (withAttributePF happy_var_1-                                                                   happy_var_4-                                                                   $-                                                                   \ at declr ->-                                                                     arrDeclr declr-                                                                       (reverse happy_var_2)-                                                                       True-                                                                       False-                                                                       Nothing-                                                                       at))-      (\ r -> happyReturn (happyIn87 r))-happyReduce_310 = happyMonadReduce 6# 80# happyReduction_310-happyReduction_310-  (happy_x_6 `HappyStk`-     (happy_x_5 `HappyStk`-        (happy_x_4 `HappyStk`-           (happy_x_3 `HappyStk`-              (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut62 happy_x_2 of-                              happy_var_2 -> case happyOut127 happy_x_3 of-                                                 happy_var_3 -> case happyOut126 happy_x_5 of-                                                                    happy_var_5 -> (withAttributePF-                                                                                      happy_var_1-                                                                                      (happy_var_3-                                                                                         ++-                                                                                         happy_var_5)-                                                                                      $-                                                                                      \ at declr ->-                                                                                        arrDeclr-                                                                                          declr-                                                                                          (reverse-                                                                                             happy_var_2)-                                                                                          True-                                                                                          False-                                                                                          Nothing-                                                                                          at))-      (\ r -> happyReturn (happyIn87 r))-happyReduce_311 = happyMonadReduce 1# 81# happyReduction_311-happyReduction_311 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $ ptrDeclr emptyDeclr []))-      (\ r -> happyReturn (happyIn88 r))-happyReduce_312 = happyMonadReduce 3# 81# happyReduction_312-happyReduction_312-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut62 happy_x_2 of-                              happy_var_2 -> case happyOut126 happy_x_3 of-                                                 happy_var_3 -> (withAttribute happy_var_1-                                                                   happy_var_3-                                                                   $-                                                                   ptrDeclr emptyDeclr-                                                                     (reverse happy_var_2)))-      (\ r -> happyReturn (happyIn88 r))-happyReduce_313 = happyMonadReduce 2# 81# happyReduction_313-happyReduction_313-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut84 happy_x_2 of-                              happy_var_2 -> (withNodeInfo happy_var_1 $-                                                ptrDeclr happy_var_2 []))-      (\ r -> happyReturn (happyIn88 r))-happyReduce_314 = happyMonadReduce 3# 81# happyReduction_314-happyReduction_314-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut62 happy_x_2 of-                              happy_var_2 -> case happyOut84 happy_x_3 of-                                                 happy_var_3 -> (withNodeInfo happy_var_1 $-                                                                   ptrDeclr happy_var_3-                                                                     (reverse happy_var_2)))-      (\ r -> happyReturn (happyIn88 r))-happyReduce_315 = happyMonadReduce 2# 81# happyReduction_315-happyReduction_315-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut127 happy_x_2 of-                              happy_var_2 -> (withAttribute happy_var_1 happy_var_2 $-                                                ptrDeclr emptyDeclr []))-      (\ r -> happyReturn (happyIn88 r))-happyReduce_316 = happyMonadReduce 3# 81# happyReduction_316-happyReduction_316-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut127 happy_x_2 of-                              happy_var_2 -> case happyOut84 happy_x_3 of-                                                 happy_var_3 -> (withAttribute happy_var_1-                                                                   happy_var_2-                                                                   $ ptrDeclr happy_var_3 []))-      (\ r -> happyReturn (happyIn88 r))-happyReduce_317 = happySpecReduce_3 82# happyReduction_317-happyReduction_317 happy_x_3 happy_x_2 happy_x_1-  = case happyOut88 happy_x_2 of-        happy_var_2 -> happyIn89 (happy_var_2)-happyReduce_318 = happySpecReduce_3 82# happyReduction_318-happyReduction_318 happy_x_3 happy_x_2 happy_x_1-  = case happyOut89 happy_x_2 of-        happy_var_2 -> happyIn89 (happy_var_2)-happyReduce_319 = happySpecReduce_3 82# happyReduction_319-happyReduction_319 happy_x_3 happy_x_2 happy_x_1-  = case happyOut85 happy_x_2 of-        happy_var_2 -> happyIn89 (happy_var_2 emptyDeclr)-happyReduce_320 = happyReduce 4# 82# happyReduction_320-happyReduction_320-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  = case happyOut88 happy_x_2 of-        happy_var_2 -> case happyOut85 happy_x_4 of-                           happy_var_4 -> happyIn89 (happy_var_4 happy_var_2) `HappyStk`-                                            happyRest-happyReduce_321 = happyReduce 4# 82# happyReduction_321-happyReduction_321-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  = case happyOut127 happy_x_2 of-        happy_var_2 -> case happyOut88 happy_x_3 of-                           happy_var_3 -> happyIn89 (appendDeclrAttrs happy_var_2 happy_var_3)-                                            `HappyStk` happyRest-happyReduce_322 = happyReduce 4# 82# happyReduction_322-happyReduction_322-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  = case happyOut127 happy_x_2 of-        happy_var_2 -> case happyOut89 happy_x_3 of-                           happy_var_3 -> happyIn89 (appendDeclrAttrs happy_var_2 happy_var_3)-                                            `HappyStk` happyRest-happyReduce_323 = happyReduce 4# 82# happyReduction_323-happyReduction_323-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  = case happyOut127 happy_x_2 of-        happy_var_2 -> case happyOut85 happy_x_3 of-                           happy_var_3 -> happyIn89-                                            (appendDeclrAttrs happy_var_2 (happy_var_3 emptyDeclr))-                                            `HappyStk` happyRest-happyReduce_324 = happyReduce 5# 82# happyReduction_324-happyReduction_324-  (happy_x_5 `HappyStk`-     (happy_x_4 `HappyStk`-        (happy_x_3 `HappyStk`-           (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))-  = case happyOut127 happy_x_2 of-        happy_var_2 -> case happyOut88 happy_x_3 of-                           happy_var_3 -> case happyOut85 happy_x_5 of-                                              happy_var_5 -> happyIn89-                                                               (appendDeclrAttrs happy_var_2-                                                                  (happy_var_5 happy_var_3))-                                                               `HappyStk` happyRest-happyReduce_325 = happySpecReduce_2 82# happyReduction_325-happyReduction_325 happy_x_2 happy_x_1-  = case happyOut89 happy_x_1 of-        happy_var_1 -> case happyOut128 happy_x_2 of-                           happy_var_2 -> happyIn89 (appendDeclrAttrs happy_var_2 happy_var_1)-happyReduce_326 = happyMonadReduce 1# 83# happyReduction_326-happyReduction_326 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOut115 happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $ CInitExpr happy_var_1))-      (\ r -> happyReturn (happyIn90 r))-happyReduce_327 = happyMonadReduce 3# 83# happyReduction_327-happyReduction_327-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut92 happy_x_2 of-                              happy_var_2 -> (withNodeInfo happy_var_1 $-                                                CInitList (reverse happy_var_2)))-      (\ r -> happyReturn (happyIn90 r))-happyReduce_328 = happyMonadReduce 4# 83# happyReduction_328-happyReduction_328-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut92 happy_x_2 of-                              happy_var_2 -> (withNodeInfo happy_var_1 $-                                                CInitList (reverse happy_var_2)))-      (\ r -> happyReturn (happyIn90 r))-happyReduce_329 = happySpecReduce_0 84# happyReduction_329-happyReduction_329 = happyIn91 (Nothing)-happyReduce_330 = happySpecReduce_2 84# happyReduction_330-happyReduction_330 happy_x_2 happy_x_1-  = case happyOut90 happy_x_2 of-        happy_var_2 -> happyIn91 (Just happy_var_2)-happyReduce_331 = happySpecReduce_0 85# happyReduction_331-happyReduction_331 = happyIn92 (empty)-happyReduce_332 = happySpecReduce_1 85# happyReduction_332-happyReduction_332 happy_x_1-  = case happyOut90 happy_x_1 of-        happy_var_1 -> happyIn92 (singleton ([], happy_var_1))-happyReduce_333 = happySpecReduce_2 85# happyReduction_333-happyReduction_333 happy_x_2 happy_x_1-  = case happyOut93 happy_x_1 of-        happy_var_1 -> case happyOut90 happy_x_2 of-                           happy_var_2 -> happyIn92 (singleton (happy_var_1, happy_var_2))-happyReduce_334 = happySpecReduce_3 85# happyReduction_334-happyReduction_334 happy_x_3 happy_x_2 happy_x_1-  = case happyOut92 happy_x_1 of-        happy_var_1 -> case happyOut90 happy_x_3 of-                           happy_var_3 -> happyIn92 (happy_var_1 `snoc` ([], happy_var_3))-happyReduce_335 = happyReduce 4# 85# happyReduction_335-happyReduction_335-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  = case happyOut92 happy_x_1 of-        happy_var_1 -> case happyOut93 happy_x_3 of-                           happy_var_3 -> case happyOut90 happy_x_4 of-                                              happy_var_4 -> happyIn92-                                                               (happy_var_1 `snoc`-                                                                  (happy_var_3, happy_var_4))-                                                               `HappyStk` happyRest-happyReduce_336 = happySpecReduce_2 86# happyReduction_336-happyReduction_336 happy_x_2 happy_x_1-  = case happyOut94 happy_x_1 of-        happy_var_1 -> happyIn93 (reverse happy_var_1)-happyReduce_337 = happyMonadReduce 2# 86# happyReduction_337-happyReduction_337-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk-  = happyThen-      (case happyOut125 happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $-                             \ at -> [CMemberDesig happy_var_1 at]))-      (\ r -> happyReturn (happyIn93 r))-happyReduce_338 = happySpecReduce_1 86# happyReduction_338-happyReduction_338 happy_x_1-  = case happyOut96 happy_x_1 of-        happy_var_1 -> happyIn93 ([happy_var_1])-happyReduce_339 = happySpecReduce_1 87# happyReduction_339-happyReduction_339 happy_x_1-  = case happyOut95 happy_x_1 of-        happy_var_1 -> happyIn94 (singleton happy_var_1)-happyReduce_340 = happySpecReduce_2 87# happyReduction_340-happyReduction_340 happy_x_2 happy_x_1-  = case happyOut94 happy_x_1 of-        happy_var_1 -> case happyOut95 happy_x_2 of-                           happy_var_2 -> happyIn94 (happy_var_1 `snoc` happy_var_2)-happyReduce_341 = happyMonadReduce 3# 88# happyReduction_341-happyReduction_341-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut121 happy_x_2 of-                              happy_var_2 -> (withNodeInfo happy_var_1 $ CArrDesig happy_var_2))-      (\ r -> happyReturn (happyIn95 r))-happyReduce_342 = happyMonadReduce 2# 88# happyReduction_342-happyReduction_342-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut125 happy_x_2 of-                              happy_var_2 -> (withNodeInfo happy_var_1 $-                                                CMemberDesig happy_var_2))-      (\ r -> happyReturn (happyIn95 r))-happyReduce_343 = happySpecReduce_1 88# happyReduction_343-happyReduction_343 happy_x_1-  = case happyOut96 happy_x_1 of-        happy_var_1 -> happyIn95 (happy_var_1)-happyReduce_344 = happyMonadReduce 5# 89# happyReduction_344-happyReduction_344-  (happy_x_5 `HappyStk`-     (happy_x_4 `HappyStk`-        (happy_x_3 `HappyStk`-           (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut121 happy_x_2 of-                              happy_var_2 -> case happyOut121 happy_x_4 of-                                                 happy_var_4 -> (withNodeInfo happy_var_1 $-                                                                   CRangeDesig happy_var_2-                                                                     happy_var_4))-      (\ r -> happyReturn (happyIn96 r))-happyReduce_345 = happyMonadReduce 1# 90# happyReduction_345-happyReduction_345 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           (CTokIdent _ happy_var_1) -> (withNodeInfo happy_var_1 $-                                           CVar happy_var_1))-      (\ r -> happyReturn (happyIn97 r))-happyReduce_346 = happySpecReduce_1 90# happyReduction_346-happyReduction_346 happy_x_1-  = case happyOut122 happy_x_1 of-        happy_var_1 -> happyIn97 (CConst happy_var_1)-happyReduce_347 = happySpecReduce_1 90# happyReduction_347-happyReduction_347 happy_x_1-  = case happyOut123 happy_x_1 of-        happy_var_1 -> happyIn97 (CConst (liftStrLit happy_var_1))-happyReduce_348 = happySpecReduce_3 90# happyReduction_348-happyReduction_348 happy_x_3 happy_x_2 happy_x_1-  = case happyOut117 happy_x_2 of-        happy_var_2 -> happyIn97 (happy_var_2)-happyReduce_349 = happyMonadReduce 3# 90# happyReduction_349-happyReduction_349-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut14 happy_x_2 of-                              happy_var_2 -> (withNodeInfo happy_var_1 $ CStatExpr happy_var_2))-      (\ r -> happyReturn (happyIn97 r))-happyReduce_350 = happyMonadReduce 6# 90# happyReduction_350-happyReduction_350-  (happy_x_6 `HappyStk`-     (happy_x_5 `HappyStk`-        (happy_x_4 `HappyStk`-           (happy_x_3 `HappyStk`-              (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut115 happy_x_3 of-                              happy_var_3 -> case happyOut83 happy_x_5 of-                                                 happy_var_5 -> (withNodeInfo happy_var_1 $-                                                                   CBuiltinExpr .-                                                                     CBuiltinVaArg happy_var_3-                                                                       happy_var_5))-      (\ r -> happyReturn (happyIn97 r))-happyReduce_351 = happyMonadReduce 6# 90# happyReduction_351-happyReduction_351-  (happy_x_6 `HappyStk`-     (happy_x_5 `HappyStk`-        (happy_x_4 `HappyStk`-           (happy_x_3 `HappyStk`-              (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut83 happy_x_3 of-                              happy_var_3 -> case happyOut98 happy_x_5 of-                                                 happy_var_5 -> (withNodeInfo happy_var_1 $-                                                                   CBuiltinExpr .-                                                                     CBuiltinOffsetOf happy_var_3-                                                                       (reverse happy_var_5)))-      (\ r -> happyReturn (happyIn97 r))-happyReduce_352 = happyMonadReduce 6# 90# happyReduction_352-happyReduction_352-  (happy_x_6 `HappyStk`-     (happy_x_5 `HappyStk`-        (happy_x_4 `HappyStk`-           (happy_x_3 `HappyStk`-              (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut83 happy_x_3 of-                              happy_var_3 -> case happyOut83 happy_x_5 of-                                                 happy_var_5 -> (withNodeInfo happy_var_1 $-                                                                   CBuiltinExpr .-                                                                     CBuiltinTypesCompatible-                                                                       happy_var_3-                                                                       happy_var_5))-      (\ r -> happyReturn (happyIn97 r))-happyReduce_353 = happyMonadReduce 1# 91# happyReduction_353-happyReduction_353 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOut125 happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $-                             singleton . CMemberDesig happy_var_1))-      (\ r -> happyReturn (happyIn98 r))-happyReduce_354 = happyMonadReduce 3# 91# happyReduction_354-happyReduction_354-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOut98 happy_x_1 of-           happy_var_1 -> case happyOut125 happy_x_3 of-                              happy_var_3 -> (withNodeInfo happy_var_3 $-                                                (happy_var_1 `snoc`) . CMemberDesig happy_var_3))-      (\ r -> happyReturn (happyIn98 r))-happyReduce_355 = happyMonadReduce 4# 91# happyReduction_355-happyReduction_355-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  tk-  = happyThen-      (case happyOut98 happy_x_1 of-           happy_var_1 -> case happyOut117 happy_x_3 of-                              happy_var_3 -> (withNodeInfo happy_var_3 $-                                                (happy_var_1 `snoc`) . CArrDesig happy_var_3))-      (\ r -> happyReturn (happyIn98 r))-happyReduce_356 = happySpecReduce_1 92# happyReduction_356-happyReduction_356 happy_x_1-  = case happyOut97 happy_x_1 of-        happy_var_1 -> happyIn99 (happy_var_1)-happyReduce_357 = happyMonadReduce 4# 92# happyReduction_357-happyReduction_357-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  tk-  = happyThen-      (case happyOut99 happy_x_1 of-           happy_var_1 -> case happyOut117 happy_x_3 of-                              happy_var_3 -> (withNodeInfo happy_var_1 $-                                                CIndex happy_var_1 happy_var_3))-      (\ r -> happyReturn (happyIn99 r))-happyReduce_358 = happyMonadReduce 3# 92# happyReduction_358-happyReduction_358-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOut99 happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $ CCall happy_var_1 []))-      (\ r -> happyReturn (happyIn99 r))-happyReduce_359 = happyMonadReduce 4# 92# happyReduction_359-happyReduction_359-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  tk-  = happyThen-      (case happyOut99 happy_x_1 of-           happy_var_1 -> case happyOut100 happy_x_3 of-                              happy_var_3 -> (withNodeInfo happy_var_1 $-                                                CCall happy_var_1 (reverse happy_var_3)))-      (\ r -> happyReturn (happyIn99 r))-happyReduce_360 = happyMonadReduce 3# 92# happyReduction_360-happyReduction_360-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOut99 happy_x_1 of-           happy_var_1 -> case happyOut125 happy_x_3 of-                              happy_var_3 -> (withNodeInfo happy_var_1 $-                                                CMember happy_var_1 happy_var_3 False))-      (\ r -> happyReturn (happyIn99 r))-happyReduce_361 = happyMonadReduce 3# 92# happyReduction_361-happyReduction_361-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOut99 happy_x_1 of-           happy_var_1 -> case happyOut125 happy_x_3 of-                              happy_var_3 -> (withNodeInfo happy_var_1 $-                                                CMember happy_var_1 happy_var_3 True))-      (\ r -> happyReturn (happyIn99 r))-happyReduce_362 = happyMonadReduce 2# 92# happyReduction_362-happyReduction_362-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk-  = happyThen-      (case happyOut99 happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $-                             CUnary CPostIncOp happy_var_1))-      (\ r -> happyReturn (happyIn99 r))-happyReduce_363 = happyMonadReduce 2# 92# happyReduction_363-happyReduction_363-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk-  = happyThen-      (case happyOut99 happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $-                             CUnary CPostDecOp happy_var_1))-      (\ r -> happyReturn (happyIn99 r))-happyReduce_364 = happyMonadReduce 6# 92# happyReduction_364-happyReduction_364-  (happy_x_6 `HappyStk`-     (happy_x_5 `HappyStk`-        (happy_x_4 `HappyStk`-           (happy_x_3 `HappyStk`-              (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut83 happy_x_2 of-                              happy_var_2 -> case happyOut92 happy_x_5 of-                                                 happy_var_5 -> (withNodeInfo happy_var_1 $-                                                                   CCompoundLit happy_var_2-                                                                     (reverse happy_var_5)))-      (\ r -> happyReturn (happyIn99 r))-happyReduce_365 = happyMonadReduce 7# 92# happyReduction_365-happyReduction_365-  (happy_x_7 `HappyStk`-     (happy_x_6 `HappyStk`-        (happy_x_5 `HappyStk`-           (happy_x_4 `HappyStk`-              (happy_x_3 `HappyStk`-                 (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut83 happy_x_2 of-                              happy_var_2 -> case happyOut92 happy_x_5 of-                                                 happy_var_5 -> (withNodeInfo happy_var_1 $-                                                                   CCompoundLit happy_var_2-                                                                     (reverse happy_var_5)))-      (\ r -> happyReturn (happyIn99 r))-happyReduce_366 = happySpecReduce_1 93# happyReduction_366-happyReduction_366 happy_x_1-  = case happyOut115 happy_x_1 of-        happy_var_1 -> happyIn100 (singleton happy_var_1)-happyReduce_367 = happySpecReduce_3 93# happyReduction_367-happyReduction_367 happy_x_3 happy_x_2 happy_x_1-  = case happyOut100 happy_x_1 of-        happy_var_1 -> case happyOut115 happy_x_3 of-                           happy_var_3 -> happyIn100 (happy_var_1 `snoc` happy_var_3)-happyReduce_368 = happySpecReduce_1 94# happyReduction_368-happyReduction_368 happy_x_1-  = case happyOut99 happy_x_1 of-        happy_var_1 -> happyIn101 (happy_var_1)-happyReduce_369 = happyMonadReduce 2# 94# happyReduction_369-happyReduction_369-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut101 happy_x_2 of-                              happy_var_2 -> (withNodeInfo happy_var_1 $-                                                CUnary CPreIncOp happy_var_2))-      (\ r -> happyReturn (happyIn101 r))-happyReduce_370 = happyMonadReduce 2# 94# happyReduction_370-happyReduction_370-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut101 happy_x_2 of-                              happy_var_2 -> (withNodeInfo happy_var_1 $-                                                CUnary CPreDecOp happy_var_2))-      (\ r -> happyReturn (happyIn101 r))-happyReduce_371 = happySpecReduce_2 94# happyReduction_371-happyReduction_371 happy_x_2 happy_x_1-  = case happyOut103 happy_x_2 of-        happy_var_2 -> happyIn101 (happy_var_2)-happyReduce_372 = happyMonadReduce 2# 94# happyReduction_372-happyReduction_372-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk-  = happyThen-      (case happyOut102 happy_x_1 of-           happy_var_1 -> case happyOut103 happy_x_2 of-                              happy_var_2 -> (withNodeInfo happy_var_1 $-                                                CUnary (unL happy_var_1) happy_var_2))-      (\ r -> happyReturn (happyIn101 r))-happyReduce_373 = happyMonadReduce 2# 94# happyReduction_373-happyReduction_373-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut101 happy_x_2 of-                              happy_var_2 -> (withNodeInfo happy_var_1 $-                                                CSizeofExpr happy_var_2))-      (\ r -> happyReturn (happyIn101 r))-happyReduce_374 = happyMonadReduce 4# 94# happyReduction_374-happyReduction_374-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut83 happy_x_3 of-                              happy_var_3 -> (withNodeInfo happy_var_1 $-                                                CSizeofType happy_var_3))-      (\ r -> happyReturn (happyIn101 r))-happyReduce_375 = happyMonadReduce 2# 94# happyReduction_375-happyReduction_375-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut101 happy_x_2 of-                              happy_var_2 -> (withNodeInfo happy_var_1 $-                                                CAlignofExpr happy_var_2))-      (\ r -> happyReturn (happyIn101 r))-happyReduce_376 = happyMonadReduce 4# 94# happyReduction_376-happyReduction_376-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut83 happy_x_3 of-                              happy_var_3 -> (withNodeInfo happy_var_1 $-                                                CAlignofType happy_var_3))-      (\ r -> happyReturn (happyIn101 r))-happyReduce_377 = happyMonadReduce 2# 94# happyReduction_377-happyReduction_377-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut101 happy_x_2 of-                              happy_var_2 -> (withNodeInfo happy_var_1 $-                                                CComplexReal happy_var_2))-      (\ r -> happyReturn (happyIn101 r))-happyReduce_378 = happyMonadReduce 2# 94# happyReduction_378-happyReduction_378-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut101 happy_x_2 of-                              happy_var_2 -> (withNodeInfo happy_var_1 $-                                                CComplexImag happy_var_2))-      (\ r -> happyReturn (happyIn101 r))-happyReduce_379 = happyMonadReduce 2# 94# happyReduction_379-happyReduction_379-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut125 happy_x_2 of-                              happy_var_2 -> (withNodeInfo happy_var_1 $-                                                CLabAddrExpr happy_var_2))-      (\ r -> happyReturn (happyIn101 r))-happyReduce_380 = happySpecReduce_1 95# happyReduction_380-happyReduction_380 happy_x_1-  = case happyOutTok happy_x_1 of-        happy_var_1 -> happyIn102 (L CAdrOp (posOf happy_var_1))-happyReduce_381 = happySpecReduce_1 95# happyReduction_381-happyReduction_381 happy_x_1-  = case happyOutTok happy_x_1 of-        happy_var_1 -> happyIn102 (L CIndOp (posOf happy_var_1))-happyReduce_382 = happySpecReduce_1 95# happyReduction_382-happyReduction_382 happy_x_1-  = case happyOutTok happy_x_1 of-        happy_var_1 -> happyIn102 (L CPlusOp (posOf happy_var_1))-happyReduce_383 = happySpecReduce_1 95# happyReduction_383-happyReduction_383 happy_x_1-  = case happyOutTok happy_x_1 of-        happy_var_1 -> happyIn102 (L CMinOp (posOf happy_var_1))-happyReduce_384 = happySpecReduce_1 95# happyReduction_384-happyReduction_384 happy_x_1-  = case happyOutTok happy_x_1 of-        happy_var_1 -> happyIn102 (L CCompOp (posOf happy_var_1))-happyReduce_385 = happySpecReduce_1 95# happyReduction_385-happyReduction_385 happy_x_1-  = case happyOutTok happy_x_1 of-        happy_var_1 -> happyIn102 (L CNegOp (posOf happy_var_1))-happyReduce_386 = happySpecReduce_1 96# happyReduction_386-happyReduction_386 happy_x_1-  = case happyOut101 happy_x_1 of-        happy_var_1 -> happyIn103 (happy_var_1)-happyReduce_387 = happyMonadReduce 4# 96# happyReduction_387-happyReduction_387-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut83 happy_x_2 of-                              happy_var_2 -> case happyOut103 happy_x_4 of-                                                 happy_var_4 -> (withNodeInfo happy_var_1 $-                                                                   CCast happy_var_2 happy_var_4))-      (\ r -> happyReturn (happyIn103 r))-happyReduce_388 = happySpecReduce_1 97# happyReduction_388-happyReduction_388 happy_x_1-  = case happyOut103 happy_x_1 of-        happy_var_1 -> happyIn104 (happy_var_1)-happyReduce_389 = happyMonadReduce 3# 97# happyReduction_389-happyReduction_389-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOut104 happy_x_1 of-           happy_var_1 -> case happyOut103 happy_x_3 of-                              happy_var_3 -> (withNodeInfo happy_var_1 $-                                                CBinary CMulOp happy_var_1 happy_var_3))-      (\ r -> happyReturn (happyIn104 r))-happyReduce_390 = happyMonadReduce 3# 97# happyReduction_390-happyReduction_390-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOut104 happy_x_1 of-           happy_var_1 -> case happyOut103 happy_x_3 of-                              happy_var_3 -> (withNodeInfo happy_var_1 $-                                                CBinary CDivOp happy_var_1 happy_var_3))-      (\ r -> happyReturn (happyIn104 r))-happyReduce_391 = happyMonadReduce 3# 97# happyReduction_391-happyReduction_391-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOut104 happy_x_1 of-           happy_var_1 -> case happyOut103 happy_x_3 of-                              happy_var_3 -> (withNodeInfo happy_var_1 $-                                                CBinary CRmdOp happy_var_1 happy_var_3))-      (\ r -> happyReturn (happyIn104 r))-happyReduce_392 = happySpecReduce_1 98# happyReduction_392-happyReduction_392 happy_x_1-  = case happyOut104 happy_x_1 of-        happy_var_1 -> happyIn105 (happy_var_1)-happyReduce_393 = happyMonadReduce 3# 98# happyReduction_393-happyReduction_393-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOut105 happy_x_1 of-           happy_var_1 -> case happyOut104 happy_x_3 of-                              happy_var_3 -> (withNodeInfo happy_var_1 $-                                                CBinary CAddOp happy_var_1 happy_var_3))-      (\ r -> happyReturn (happyIn105 r))-happyReduce_394 = happyMonadReduce 3# 98# happyReduction_394-happyReduction_394-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOut105 happy_x_1 of-           happy_var_1 -> case happyOut104 happy_x_3 of-                              happy_var_3 -> (withNodeInfo happy_var_1 $-                                                CBinary CSubOp happy_var_1 happy_var_3))-      (\ r -> happyReturn (happyIn105 r))-happyReduce_395 = happySpecReduce_1 99# happyReduction_395-happyReduction_395 happy_x_1-  = case happyOut105 happy_x_1 of-        happy_var_1 -> happyIn106 (happy_var_1)-happyReduce_396 = happyMonadReduce 3# 99# happyReduction_396-happyReduction_396-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOut106 happy_x_1 of-           happy_var_1 -> case happyOut105 happy_x_3 of-                              happy_var_3 -> (withNodeInfo happy_var_1 $-                                                CBinary CShlOp happy_var_1 happy_var_3))-      (\ r -> happyReturn (happyIn106 r))-happyReduce_397 = happyMonadReduce 3# 99# happyReduction_397-happyReduction_397-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOut106 happy_x_1 of-           happy_var_1 -> case happyOut105 happy_x_3 of-                              happy_var_3 -> (withNodeInfo happy_var_1 $-                                                CBinary CShrOp happy_var_1 happy_var_3))-      (\ r -> happyReturn (happyIn106 r))-happyReduce_398 = happySpecReduce_1 100# happyReduction_398-happyReduction_398 happy_x_1-  = case happyOut106 happy_x_1 of-        happy_var_1 -> happyIn107 (happy_var_1)-happyReduce_399 = happyMonadReduce 3# 100# happyReduction_399-happyReduction_399-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOut107 happy_x_1 of-           happy_var_1 -> case happyOut106 happy_x_3 of-                              happy_var_3 -> (withNodeInfo happy_var_1 $-                                                CBinary CLeOp happy_var_1 happy_var_3))-      (\ r -> happyReturn (happyIn107 r))-happyReduce_400 = happyMonadReduce 3# 100# happyReduction_400-happyReduction_400-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOut107 happy_x_1 of-           happy_var_1 -> case happyOut106 happy_x_3 of-                              happy_var_3 -> (withNodeInfo happy_var_1 $-                                                CBinary CGrOp happy_var_1 happy_var_3))-      (\ r -> happyReturn (happyIn107 r))-happyReduce_401 = happyMonadReduce 3# 100# happyReduction_401-happyReduction_401-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOut107 happy_x_1 of-           happy_var_1 -> case happyOut106 happy_x_3 of-                              happy_var_3 -> (withNodeInfo happy_var_1 $-                                                CBinary CLeqOp happy_var_1 happy_var_3))-      (\ r -> happyReturn (happyIn107 r))-happyReduce_402 = happyMonadReduce 3# 100# happyReduction_402-happyReduction_402-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOut107 happy_x_1 of-           happy_var_1 -> case happyOut106 happy_x_3 of-                              happy_var_3 -> (withNodeInfo happy_var_1 $-                                                CBinary CGeqOp happy_var_1 happy_var_3))-      (\ r -> happyReturn (happyIn107 r))-happyReduce_403 = happySpecReduce_1 101# happyReduction_403-happyReduction_403 happy_x_1-  = case happyOut107 happy_x_1 of-        happy_var_1 -> happyIn108 (happy_var_1)-happyReduce_404 = happyMonadReduce 3# 101# happyReduction_404-happyReduction_404-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOut108 happy_x_1 of-           happy_var_1 -> case happyOut107 happy_x_3 of-                              happy_var_3 -> (withNodeInfo happy_var_1 $-                                                CBinary CEqOp happy_var_1 happy_var_3))-      (\ r -> happyReturn (happyIn108 r))-happyReduce_405 = happyMonadReduce 3# 101# happyReduction_405-happyReduction_405-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOut108 happy_x_1 of-           happy_var_1 -> case happyOut107 happy_x_3 of-                              happy_var_3 -> (withNodeInfo happy_var_1 $-                                                CBinary CNeqOp happy_var_1 happy_var_3))-      (\ r -> happyReturn (happyIn108 r))-happyReduce_406 = happySpecReduce_1 102# happyReduction_406-happyReduction_406 happy_x_1-  = case happyOut108 happy_x_1 of-        happy_var_1 -> happyIn109 (happy_var_1)-happyReduce_407 = happyMonadReduce 3# 102# happyReduction_407-happyReduction_407-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOut109 happy_x_1 of-           happy_var_1 -> case happyOut108 happy_x_3 of-                              happy_var_3 -> (withNodeInfo happy_var_1 $-                                                CBinary CAndOp happy_var_1 happy_var_3))-      (\ r -> happyReturn (happyIn109 r))-happyReduce_408 = happySpecReduce_1 103# happyReduction_408-happyReduction_408 happy_x_1-  = case happyOut109 happy_x_1 of-        happy_var_1 -> happyIn110 (happy_var_1)-happyReduce_409 = happyMonadReduce 3# 103# happyReduction_409-happyReduction_409-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOut110 happy_x_1 of-           happy_var_1 -> case happyOut109 happy_x_3 of-                              happy_var_3 -> (withNodeInfo happy_var_1 $-                                                CBinary CXorOp happy_var_1 happy_var_3))-      (\ r -> happyReturn (happyIn110 r))-happyReduce_410 = happySpecReduce_1 104# happyReduction_410-happyReduction_410 happy_x_1-  = case happyOut110 happy_x_1 of-        happy_var_1 -> happyIn111 (happy_var_1)-happyReduce_411 = happyMonadReduce 3# 104# happyReduction_411-happyReduction_411-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOut111 happy_x_1 of-           happy_var_1 -> case happyOut110 happy_x_3 of-                              happy_var_3 -> (withNodeInfo happy_var_1 $-                                                CBinary COrOp happy_var_1 happy_var_3))-      (\ r -> happyReturn (happyIn111 r))-happyReduce_412 = happySpecReduce_1 105# happyReduction_412-happyReduction_412 happy_x_1-  = case happyOut111 happy_x_1 of-        happy_var_1 -> happyIn112 (happy_var_1)-happyReduce_413 = happyMonadReduce 3# 105# happyReduction_413-happyReduction_413-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOut112 happy_x_1 of-           happy_var_1 -> case happyOut111 happy_x_3 of-                              happy_var_3 -> (withNodeInfo happy_var_1 $-                                                CBinary CLndOp happy_var_1 happy_var_3))-      (\ r -> happyReturn (happyIn112 r))-happyReduce_414 = happySpecReduce_1 106# happyReduction_414-happyReduction_414 happy_x_1-  = case happyOut112 happy_x_1 of-        happy_var_1 -> happyIn113 (happy_var_1)-happyReduce_415 = happyMonadReduce 3# 106# happyReduction_415-happyReduction_415-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOut113 happy_x_1 of-           happy_var_1 -> case happyOut112 happy_x_3 of-                              happy_var_3 -> (withNodeInfo happy_var_1 $-                                                CBinary CLorOp happy_var_1 happy_var_3))-      (\ r -> happyReturn (happyIn113 r))-happyReduce_416 = happySpecReduce_1 107# happyReduction_416-happyReduction_416 happy_x_1-  = case happyOut113 happy_x_1 of-        happy_var_1 -> happyIn114 (happy_var_1)-happyReduce_417 = happyMonadReduce 5# 107# happyReduction_417-happyReduction_417-  (happy_x_5 `HappyStk`-     (happy_x_4 `HappyStk`-        (happy_x_3 `HappyStk`-           (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))-  tk-  = happyThen-      (case happyOut113 happy_x_1 of-           happy_var_1 -> case happyOut117 happy_x_3 of-                              happy_var_3 -> case happyOut114 happy_x_5 of-                                                 happy_var_5 -> (withNodeInfo happy_var_1 $-                                                                   CCond happy_var_1-                                                                     (Just happy_var_3)-                                                                     happy_var_5))-      (\ r -> happyReturn (happyIn114 r))-happyReduce_418 = happyMonadReduce 4# 107# happyReduction_418-happyReduction_418-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  tk-  = happyThen-      (case happyOut113 happy_x_1 of-           happy_var_1 -> case happyOut114 happy_x_4 of-                              happy_var_4 -> (withNodeInfo happy_var_1 $-                                                CCond happy_var_1 Nothing happy_var_4))-      (\ r -> happyReturn (happyIn114 r))-happyReduce_419 = happySpecReduce_1 108# happyReduction_419-happyReduction_419 happy_x_1-  = case happyOut114 happy_x_1 of-        happy_var_1 -> happyIn115 (happy_var_1)-happyReduce_420 = happyMonadReduce 3# 108# happyReduction_420-happyReduction_420-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOut101 happy_x_1 of-           happy_var_1 -> case happyOut116 happy_x_2 of-                              happy_var_2 -> case happyOut115 happy_x_3 of-                                                 happy_var_3 -> (withNodeInfo happy_var_1 $-                                                                   CAssign (unL happy_var_2)-                                                                     happy_var_1-                                                                     happy_var_3))-      (\ r -> happyReturn (happyIn115 r))-happyReduce_421 = happySpecReduce_1 109# happyReduction_421-happyReduction_421 happy_x_1-  = case happyOutTok happy_x_1 of-        happy_var_1 -> happyIn116 (L CAssignOp (posOf happy_var_1))-happyReduce_422 = happySpecReduce_1 109# happyReduction_422-happyReduction_422 happy_x_1-  = case happyOutTok happy_x_1 of-        happy_var_1 -> happyIn116 (L CMulAssOp (posOf happy_var_1))-happyReduce_423 = happySpecReduce_1 109# happyReduction_423-happyReduction_423 happy_x_1-  = case happyOutTok happy_x_1 of-        happy_var_1 -> happyIn116 (L CDivAssOp (posOf happy_var_1))-happyReduce_424 = happySpecReduce_1 109# happyReduction_424-happyReduction_424 happy_x_1-  = case happyOutTok happy_x_1 of-        happy_var_1 -> happyIn116 (L CRmdAssOp (posOf happy_var_1))-happyReduce_425 = happySpecReduce_1 109# happyReduction_425-happyReduction_425 happy_x_1-  = case happyOutTok happy_x_1 of-        happy_var_1 -> happyIn116 (L CAddAssOp (posOf happy_var_1))-happyReduce_426 = happySpecReduce_1 109# happyReduction_426-happyReduction_426 happy_x_1-  = case happyOutTok happy_x_1 of-        happy_var_1 -> happyIn116 (L CSubAssOp (posOf happy_var_1))-happyReduce_427 = happySpecReduce_1 109# happyReduction_427-happyReduction_427 happy_x_1-  = case happyOutTok happy_x_1 of-        happy_var_1 -> happyIn116 (L CShlAssOp (posOf happy_var_1))-happyReduce_428 = happySpecReduce_1 109# happyReduction_428-happyReduction_428 happy_x_1-  = case happyOutTok happy_x_1 of-        happy_var_1 -> happyIn116 (L CShrAssOp (posOf happy_var_1))-happyReduce_429 = happySpecReduce_1 109# happyReduction_429-happyReduction_429 happy_x_1-  = case happyOutTok happy_x_1 of-        happy_var_1 -> happyIn116 (L CAndAssOp (posOf happy_var_1))-happyReduce_430 = happySpecReduce_1 109# happyReduction_430-happyReduction_430 happy_x_1-  = case happyOutTok happy_x_1 of-        happy_var_1 -> happyIn116 (L CXorAssOp (posOf happy_var_1))-happyReduce_431 = happySpecReduce_1 109# happyReduction_431-happyReduction_431 happy_x_1-  = case happyOutTok happy_x_1 of-        happy_var_1 -> happyIn116 (L COrAssOp (posOf happy_var_1))-happyReduce_432 = happySpecReduce_1 110# happyReduction_432-happyReduction_432 happy_x_1-  = case happyOut115 happy_x_1 of-        happy_var_1 -> happyIn117 (happy_var_1)-happyReduce_433 = happyMonadReduce 3# 110# happyReduction_433-happyReduction_433-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOut115 happy_x_1 of-           happy_var_1 -> case happyOut118 happy_x_3 of-                              happy_var_3 -> (let es = reverse happy_var_3 in-                                                withNodeInfo es $ CComma (happy_var_1 : es)))-      (\ r -> happyReturn (happyIn117 r))-happyReduce_434 = happySpecReduce_1 111# happyReduction_434-happyReduction_434 happy_x_1-  = case happyOut115 happy_x_1 of-        happy_var_1 -> happyIn118 (singleton happy_var_1)-happyReduce_435 = happySpecReduce_3 111# happyReduction_435-happyReduction_435 happy_x_3 happy_x_2 happy_x_1-  = case happyOut118 happy_x_1 of-        happy_var_1 -> case happyOut115 happy_x_3 of-                           happy_var_3 -> happyIn118 (happy_var_1 `snoc` happy_var_3)-happyReduce_436 = happySpecReduce_0 112# happyReduction_436-happyReduction_436 = happyIn119 (Nothing)-happyReduce_437 = happySpecReduce_1 112# happyReduction_437-happyReduction_437 happy_x_1-  = case happyOut117 happy_x_1 of-        happy_var_1 -> happyIn119 (Just happy_var_1)-happyReduce_438 = happySpecReduce_0 113# happyReduction_438-happyReduction_438 = happyIn120 (Nothing)-happyReduce_439 = happySpecReduce_1 113# happyReduction_439-happyReduction_439 happy_x_1-  = case happyOut115 happy_x_1 of-        happy_var_1 -> happyIn120 (Just happy_var_1)-happyReduce_440 = happySpecReduce_1 114# happyReduction_440-happyReduction_440 happy_x_1-  = case happyOut114 happy_x_1 of-        happy_var_1 -> happyIn121 (happy_var_1)-happyReduce_441 = happyMonadReduce 1# 115# happyReduction_441-happyReduction_441 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $-                             case happy_var_1 of-                                 CTokILit _ i -> CIntConst i))-      (\ r -> happyReturn (happyIn122 r))-happyReduce_442 = happyMonadReduce 1# 115# happyReduction_442-happyReduction_442 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $-                             case happy_var_1 of-                                 CTokCLit _ c -> CCharConst c))-      (\ r -> happyReturn (happyIn122 r))-happyReduce_443 = happyMonadReduce 1# 115# happyReduction_443-happyReduction_443 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $-                             case happy_var_1 of-                                 CTokFLit _ f -> CFloatConst f))-      (\ r -> happyReturn (happyIn122 r))-happyReduce_444 = happyMonadReduce 1# 116# happyReduction_444-happyReduction_444 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $-                             case happy_var_1 of-                                 CTokSLit _ s -> CStrLit s))-      (\ r -> happyReturn (happyIn123 r))-happyReduce_445 = happyMonadReduce 2# 116# happyReduction_445-happyReduction_445-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> case happyOut124 happy_x_2 of-                              happy_var_2 -> (withNodeInfo happy_var_1 $-                                                case happy_var_1 of-                                                    CTokSLit _ s -> CStrLit-                                                                      (concatCStrings-                                                                         (s :-                                                                            reverse happy_var_2))))-      (\ r -> happyReturn (happyIn123 r))-happyReduce_446 = happySpecReduce_1 117# happyReduction_446-happyReduction_446 happy_x_1-  = case happyOutTok happy_x_1 of-        happy_var_1 -> happyIn124-                         (case happy_var_1 of-                              CTokSLit _ s -> singleton s)-happyReduce_447 = happySpecReduce_2 117# happyReduction_447-happyReduction_447 happy_x_2 happy_x_1-  = case happyOut124 happy_x_1 of-        happy_var_1 -> case happyOutTok happy_x_2 of-                           happy_var_2 -> happyIn124-                                            (case happy_var_2 of-                                                 CTokSLit _ s -> happy_var_1 `snoc` s)-happyReduce_448 = happySpecReduce_1 118# happyReduction_448-happyReduction_448 happy_x_1-  = case happyOutTok happy_x_1 of-        (CTokIdent _ happy_var_1) -> happyIn125 (happy_var_1)-happyReduce_449 = happySpecReduce_1 118# happyReduction_449-happyReduction_449 happy_x_1-  = case happyOutTok happy_x_1 of-        (CTokTyIdent _ happy_var_1) -> happyIn125 (happy_var_1)-happyReduce_450 = happySpecReduce_0 119# happyReduction_450-happyReduction_450 = happyIn126 ([])-happyReduce_451 = happySpecReduce_1 119# happyReduction_451-happyReduction_451 happy_x_1-  = case happyOut127 happy_x_1 of-        happy_var_1 -> happyIn126 (happy_var_1)-happyReduce_452 = happySpecReduce_1 120# happyReduction_452-happyReduction_452 happy_x_1-  = case happyOut128 happy_x_1 of-        happy_var_1 -> happyIn127 (happy_var_1)-happyReduce_453 = happySpecReduce_2 120# happyReduction_453-happyReduction_453 happy_x_2 happy_x_1-  = case happyOut127 happy_x_1 of-        happy_var_1 -> case happyOut128 happy_x_2 of-                           happy_var_2 -> happyIn127 (happy_var_1 ++ happy_var_2)-happyReduce_454 = happyReduce 6# 121# happyReduction_454-happyReduction_454-  (happy_x_6 `HappyStk`-     (happy_x_5 `HappyStk`-        (happy_x_4 `HappyStk`-           (happy_x_3 `HappyStk`-              (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))-  = case happyOut129 happy_x_4 of-        happy_var_4 -> happyIn128 (reverse happy_var_4) `HappyStk`-                         happyRest-happyReduce_455 = happySpecReduce_1 122# happyReduction_455-happyReduction_455 happy_x_1-  = case happyOut130 happy_x_1 of-        happy_var_1 -> happyIn129-                         (case happy_var_1 of-                              Nothing -> empty-                              Just attr -> singleton attr)-happyReduce_456 = happySpecReduce_3 122# happyReduction_456-happyReduction_456 happy_x_3 happy_x_2 happy_x_1-  = case happyOut129 happy_x_1 of-        happy_var_1 -> case happyOut130 happy_x_3 of-                           happy_var_3 -> happyIn129-                                            ((maybe id (flip snoc) happy_var_3) happy_var_1)-happyReduce_457 = happySpecReduce_0 123# happyReduction_457-happyReduction_457 = happyIn130 (Nothing)-happyReduce_458 = happyMonadReduce 1# 123# happyReduction_458-happyReduction_458 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           (CTokIdent _ happy_var_1) -> (withNodeInfo happy_var_1 $-                                           Just . CAttr happy_var_1 []))-      (\ r -> happyReturn (happyIn130 r))-happyReduce_459 = happyMonadReduce 1# 123# happyReduction_459-happyReduction_459 (happy_x_1 `HappyStk` happyRest) tk-  = happyThen-      (case happyOutTok happy_x_1 of-           happy_var_1 -> (withNodeInfo happy_var_1 $-                             Just . CAttr (internalIdent "const") []))-      (\ r -> happyReturn (happyIn130 r))-happyReduce_460 = happyMonadReduce 4# 123# happyReduction_460-happyReduction_460-  (happy_x_4 `HappyStk`-     (happy_x_3 `HappyStk`-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           (CTokIdent _ happy_var_1) -> case happyOut131 happy_x_3 of-                                            happy_var_3 -> (withNodeInfo happy_var_1 $-                                                              Just .-                                                                CAttr happy_var_1-                                                                  (reverse happy_var_3)))-      (\ r -> happyReturn (happyIn130 r))-happyReduce_461 = happyMonadReduce 3# 123# happyReduction_461-happyReduction_461-  (happy_x_3 `HappyStk`-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))-  tk-  = happyThen-      (case happyOutTok happy_x_1 of-           (CTokIdent _ happy_var_1) -> (withNodeInfo happy_var_1 $-                                           Just . CAttr happy_var_1 []))-      (\ r -> happyReturn (happyIn130 r))-happyReduce_462 = happySpecReduce_1 124# happyReduction_462-happyReduction_462 happy_x_1-  = case happyOut121 happy_x_1 of-        happy_var_1 -> happyIn131 (singleton happy_var_1)-happyReduce_463 = happySpecReduce_3 124# happyReduction_463-happyReduction_463 happy_x_3 happy_x_2 happy_x_1-  = case happyOut131 happy_x_1 of-        happy_var_1 -> case happyOut121 happy_x_3 of-                           happy_var_3 -> happyIn131 (happy_var_1 `snoc` happy_var_3)-happyNewToken action sts stk-  = lexC-      (\ tk ->-         let cont i = happyDoAction i tk action sts stk in-           case tk of-               CTokEof -> happyDoAction 101# tk action sts stk-               CTokLParen _ -> cont 1#-               CTokRParen _ -> cont 2#-               CTokLBracket _ -> cont 3#-               CTokRBracket _ -> cont 4#-               CTokArrow _ -> cont 5#-               CTokDot _ -> cont 6#-               CTokExclam _ -> cont 7#-               CTokTilde _ -> cont 8#-               CTokInc _ -> cont 9#-               CTokDec _ -> cont 10#-               CTokPlus _ -> cont 11#-               CTokMinus _ -> cont 12#-               CTokStar _ -> cont 13#-               CTokSlash _ -> cont 14#-               CTokPercent _ -> cont 15#-               CTokAmper _ -> cont 16#-               CTokShiftL _ -> cont 17#-               CTokShiftR _ -> cont 18#-               CTokLess _ -> cont 19#-               CTokLessEq _ -> cont 20#-               CTokHigh _ -> cont 21#-               CTokHighEq _ -> cont 22#-               CTokEqual _ -> cont 23#-               CTokUnequal _ -> cont 24#-               CTokHat _ -> cont 25#-               CTokBar _ -> cont 26#-               CTokAnd _ -> cont 27#-               CTokOr _ -> cont 28#-               CTokQuest _ -> cont 29#-               CTokColon _ -> cont 30#-               CTokAssign _ -> cont 31#-               CTokPlusAss _ -> cont 32#-               CTokMinusAss _ -> cont 33#-               CTokStarAss _ -> cont 34#-               CTokSlashAss _ -> cont 35#-               CTokPercAss _ -> cont 36#-               CTokAmpAss _ -> cont 37#-               CTokHatAss _ -> cont 38#-               CTokBarAss _ -> cont 39#-               CTokSLAss _ -> cont 40#-               CTokSRAss _ -> cont 41#-               CTokComma _ -> cont 42#-               CTokSemic _ -> cont 43#-               CTokLBrace _ -> cont 44#-               CTokRBrace _ -> cont 45#-               CTokEllipsis _ -> cont 46#-               CTokAlignof _ -> cont 47#-               CTokAsm _ -> cont 48#-               CTokAuto _ -> cont 49#-               CTokBreak _ -> cont 50#-               CTokBool _ -> cont 51#-               CTokCase _ -> cont 52#-               CTokChar _ -> cont 53#-               CTokConst _ -> cont 54#-               CTokContinue _ -> cont 55#-               CTokComplex _ -> cont 56#-               CTokDefault _ -> cont 57#-               CTokDo _ -> cont 58#-               CTokDouble _ -> cont 59#-               CTokElse _ -> cont 60#-               CTokEnum _ -> cont 61#-               CTokExtern _ -> cont 62#-               CTokFloat _ -> cont 63#-               CTokFor _ -> cont 64#-               CTokGoto _ -> cont 65#-               CTokIf _ -> cont 66#-               CTokInline _ -> cont 67#-               CTokInt _ -> cont 68#-               CTokLong _ -> cont 69#-               CTokLabel _ -> cont 70#-               CTokRegister _ -> cont 71#-               CTokRestrict _ -> cont 72#-               CTokReturn _ -> cont 73#-               CTokShort _ -> cont 74#-               CTokSigned _ -> cont 75#-               CTokSizeof _ -> cont 76#-               CTokStatic _ -> cont 77#-               CTokStruct _ -> cont 78#-               CTokSwitch _ -> cont 79#-               CTokTypedef _ -> cont 80#-               CTokTypeof _ -> cont 81#-               CTokThread _ -> cont 82#-               CTokUnion _ -> cont 83#-               CTokUnsigned _ -> cont 84#-               CTokVoid _ -> cont 85#-               CTokVolatile _ -> cont 86#-               CTokWhile _ -> cont 87#-               CTokCLit _ _ -> cont 88#-               CTokILit _ _ -> cont 89#-               CTokFLit _ _ -> cont 90#-               CTokSLit _ _ -> cont 91#-               CTokIdent _ happy_dollar_dollar -> cont 92#-               CTokTyIdent _ happy_dollar_dollar -> cont 93#-               CTokGnuC GnuCAttrTok _ -> cont 94#-               CTokGnuC GnuCExtTok _ -> cont 95#-               CTokGnuC GnuCComplexReal _ -> cont 96#-               CTokGnuC GnuCComplexImag _ -> cont 97#-               CTokGnuC GnuCVaArg _ -> cont 98#-               CTokGnuC GnuCOffsetof _ -> cont 99#-               CTokGnuC GnuCTyCompat _ -> cont 100#-               _ -> happyError' tk)-happyError_ tk = happyError' tk--happyThen :: P a -> (a -> P b) -> P b-happyThen = (>>=)--happyReturn :: a -> P a-happyReturn = (return)-happyThen1 = happyThen--happyReturn1 :: a -> P a-happyReturn1 = happyReturn--happyError' :: CToken -> P a-happyError' tk = (\ token -> happyError) tk-translation_unit = happySomeParser-  where happySomeParser-          = happyThen (happyParse 0#) (\ x -> happyReturn (happyOut7 x))-external_declaration = happySomeParser-  where happySomeParser-          = happyThen (happyParse 1#) (\ x -> happyReturn (happyOut9 x))-statement = happySomeParser-  where happySomeParser-          = happyThen (happyParse 2#) (\ x -> happyReturn (happyOut12 x))-expression = happySomeParser-  where happySomeParser-          = happyThen (happyParse 3#) (\ x -> happyReturn (happyOut117 x))-happySeq = happyDontSeq--reverseList :: [a] -> Reversed [a]-reverseList = Reversed . List.reverse--data Located a = L !a !Position--unL :: Located a -> a-unL (L a pos) = a--instance Pos (Located a) where-        posOf (L _ pos) = pos--{-# INLINE withNodeInfo #-}--withNodeInfo :: Pos node => node -> (NodeInfo -> a) -> P a-withNodeInfo node mkAttrNode-  = do name <- getNewName-       lastTok <- getSavedToken-       let firstPos = posOf node-       let attrs = mkNodeInfo' firstPos (posLenOfTok $! lastTok) name-       attrs `seq` return (mkAttrNode attrs)--{-# INLINE withLength #-}--withLength :: NodeInfo -> (NodeInfo -> a) -> P a-withLength nodeinfo mkAttrNode-  = do lastTok <- getSavedToken-       let firstPos = posOfNode nodeinfo-       let attrs-             = mkNodeInfo' firstPos (posLenOfTok $! lastTok)-                 (maybe (error "nameOfNode") id (nameOfNode nodeinfo))-       attrs `seq` return (mkAttrNode attrs)--data CDeclrR = CDeclrR (Maybe Ident) (Reversed [CDerivedDeclr])-                       (Maybe CStrLit) [CAttr] NodeInfo--reverseDeclr :: CDeclrR -> CDeclr-reverseDeclr (CDeclrR ide reversedDDs asmname cattrs at)-  = CDeclr ide (reverse reversedDDs) asmname cattrs at--instance CNode (CDeclrR) where-        nodeInfo (CDeclrR _ _ _ _ n) = n--instance Pos (CDeclrR) where-        posOf (CDeclrR _ _ _ _ n) = posOf n--{-# INLINE withAttribute #-}--withAttribute ::-                Pos node => node -> [CAttr] -> (NodeInfo -> CDeclrR) -> P CDeclrR-withAttribute node cattrs mkDeclrNode-  = do name <- getNewName-       let attrs = mkNodeInfo (posOf node) name-       let newDeclr = appendDeclrAttrs cattrs $ mkDeclrNode attrs-       attrs `seq` newDeclr `seq` return newDeclr--{-# INLINE withAttributePF #-}--withAttributePF ::-                  Pos node =>-                  node ->-                    [CAttr] ->-                      (NodeInfo -> CDeclrR -> CDeclrR) -> P (CDeclrR -> CDeclrR)-withAttributePF node cattrs mkDeclrCtor-  = do name <- getNewName-       let attrs = mkNodeInfo (posOf node) name-       let newDeclr = appendDeclrAttrs cattrs . mkDeclrCtor attrs-       attrs `seq` newDeclr `seq` return newDeclr--appendObjAttrs :: [CAttr] -> CDeclr -> CDeclr-appendObjAttrs newAttrs-  (CDeclr ident indirections asmname cAttrs at)-  = CDeclr ident indirections asmname (cAttrs ++ newAttrs) at--appendObjAttrsR :: [CAttr] -> CDeclrR -> CDeclrR-appendObjAttrsR newAttrs-  (CDeclrR ident indirections asmname cAttrs at)-  = CDeclrR ident indirections asmname (cAttrs ++ newAttrs) at--setAsmName :: Maybe CStrLit -> CDeclrR -> P CDeclrR-setAsmName mAsmName (CDeclrR ident indirections oldName cattrs at)-  = case combineName mAsmName oldName of-        Left (n1, n2) -> failP (posOf n2)-                           ["Duplicate assembler name: ", showName n1, showName n2]-        Right newName -> return $-                           CDeclrR ident indirections newName cattrs at-  where combineName Nothing Nothing = Right Nothing-        combineName Nothing oldname@(Just _) = Right oldname-        combineName newname@(Just _) Nothing = Right newname-        combineName (Just n1) (Just n2) = Left (n1, n2)-        showName (CStrLit cstr _) = show cstr--withAsmNameAttrs ::-                 (Maybe CStrLit, [CAttr]) -> CDeclrR -> P CDeclrR-withAsmNameAttrs (mAsmName, newAttrs) declr-  = setAsmName mAsmName (appendObjAttrsR newAttrs declr)--appendDeclrAttrs :: [CAttr] -> CDeclrR -> CDeclrR-appendDeclrAttrs newAttrs-  (CDeclrR ident (Reversed []) asmname cattrs at)-  = CDeclrR ident empty asmname (cattrs ++ newAttrs) at-appendDeclrAttrs newAttrs-  (CDeclrR ident (Reversed (x : xs)) asmname cattrs at)-  = CDeclrR ident (Reversed (appendAttrs x : xs)) asmname cattrs at-  where appendAttrs (CPtrDeclr typeQuals at)-          = CPtrDeclr (typeQuals ++ map CAttrQual newAttrs) at-        appendAttrs (CArrDeclr typeQuals arraySize at)-          = CArrDeclr (typeQuals ++ map CAttrQual newAttrs) arraySize at-        appendAttrs (CFunDeclr parameters cattrs at)-          = CFunDeclr parameters (cattrs ++ newAttrs) at--ptrDeclr :: CDeclrR -> [CTypeQual] -> NodeInfo -> CDeclrR-ptrDeclr (CDeclrR ident derivedDeclrs asmname cattrs dat) tyquals-  at-  = CDeclrR ident (derivedDeclrs `snoc` CPtrDeclr tyquals at) asmname-      cattrs-      dat--funDeclr ::-         CDeclrR ->-           (Either [Ident] ([CDecl], Bool)) -> [CAttr] -> NodeInfo -> CDeclrR-funDeclr (CDeclrR ident derivedDeclrs asmname dcattrs dat) params-  cattrs at-  = CDeclrR ident (derivedDeclrs `snoc` CFunDeclr params cattrs at)-      asmname-      dcattrs-      dat--arrDeclr ::-         CDeclrR ->-           [CTypeQual] -> Bool -> Bool -> Maybe CExpr -> NodeInfo -> CDeclrR-arrDeclr (CDeclrR ident derivedDeclrs asmname cattrs dat) tyquals-  var_sized static_size size_expr_opt at-  = arr_sz `seq`-      (CDeclrR ident (derivedDeclrs `snoc` CArrDeclr tyquals arr_sz at)-         asmname-         cattrs-         dat)-  where arr_sz-          = case size_expr_opt of-                Just e -> CArrSize static_size e-                Nothing -> CNoArrSize var_sized--liftTypeQuals :: Reversed [CTypeQual] -> [CDeclSpec]-liftTypeQuals = map CTypeQual . reverse--liftCAttrs :: [CAttr] -> [CDeclSpec]-liftCAttrs = map (CTypeQual . CAttrQual)--addTrailingAttrs ::-                 Reversed [CDeclSpec] -> [CAttr] -> Reversed [CDeclSpec]-addTrailingAttrs declspecs new_attrs-  = case viewr declspecs of-        (specs_init,-         CTypeSpec-           (CSUType (CStruct tag name (Just def) def_attrs su_node)-              node)) -> (specs_init `snoc`-                           CTypeSpec-                             (CSUType-                                (CStruct tag name (Just def) (def_attrs ++ new_attrs) su_node)-                                node))-        (specs_init,-         CTypeSpec-           (CEnumType (CEnum name (Just def) def_attrs e_node)-              node)) -> (specs_init `snoc`-                           CTypeSpec-                             (CEnumType (CEnum name (Just def) (def_attrs ++ new_attrs) e_node)-                                node))-        _ -> declspecs `rappend` (liftCAttrs new_attrs)--instance Pos a => Pos [a] where-        posOf (x : _) = posOf x--instance Pos a => Pos (Reversed a) where-        posOf (Reversed x) = posOf x--emptyDeclr :: CDeclrR-emptyDeclr = CDeclrR Nothing empty Nothing [] undefNode--mkVarDeclr :: Ident -> NodeInfo -> CDeclrR-mkVarDeclr ident = CDeclrR (Just ident) empty Nothing []--doDeclIdent :: [CDeclSpec] -> CDeclrR -> P ()-doDeclIdent declspecs (CDeclrR mIdent _ _ _ _)-  = case mIdent of-        Nothing -> return ()-        Just ident | any iypedef declspecs -> addTypedef ident-                   | otherwise -> shadowTypedef ident-  where iypedef (CStorageSpec (CTypedef _)) = True-        iypedef _ = False--doFuncParamDeclIdent :: CDeclr -> P ()-doFuncParamDeclIdent (CDeclr _ (CFunDeclr params _ _ : _) _ _ _)-  = sequence_-      [case getCDeclrIdent declr of-           Nothing -> return ()-           Just ident -> shadowTypedef ident-       | CDecl _ dle _ <- either (const []) fst params,-       (Just declr, _, _) <- dle]-doFuncParamDeclIdent _ = return ()--getCDeclrIdent :: CDeclr -> Maybe Ident-getCDeclrIdent (CDeclr mIdent _ _ _ _) = mIdent--happyError :: P a-happyError = parseError--parseC :: InputStream -> Position -> Either ParseError CTranslUnit-parseC input initialPosition-  = fmap fst $-      execParser translUnitP input initialPosition builtinTypeNames-        (namesStartingFrom 0)--translUnitP :: P CTranslUnit-translUnitP = translation_unit--extDeclP :: P CExtDecl-extDeclP = external_declaration--statementP :: P CStat-statementP = statement--expressionP :: P CExpr-expressionP = expression--data Happy_IntList = HappyCons Int# Happy_IntList--infixr 9 `HappyStk`--data HappyStk a = HappyStk a (HappyStk a)-happyParse start_state-  = happyNewToken start_state notHappyAtAll notHappyAtAll-happyAccept 0# tk st sts (_ `HappyStk` (ans `HappyStk` _))-  = happyReturn1 ans-happyAccept j tk st sts (HappyStk ans _)-  = (happyTcHack j (happyTcHack st)) (happyReturn1 ans)-happyDoAction i tk st-  = case action of-        0# -> happyFail i tk st-        -1# -> happyAccept i tk st-        n | (n <# (0# :: Int#)) -> (happyReduceArr ! rule) i tk st-          where rule = (I# ((negateInt# ((n +# (1# :: Int#))))))-        n -> happyShift new_state i tk st-          where new_state = (n -# (1# :: Int#))-  where off = indexShortOffAddr happyActOffsets st-        off_i = (off +# i)-        check-          = if (off_i >=# (0# :: Int#)) then-              (indexShortOffAddr happyCheck off_i ==# i) else False-        action-          | check = indexShortOffAddr happyTable off_i-          | otherwise = indexShortOffAddr happyDefActions st-indexShortOffAddr (HappyA# arr) off-  = narrow16Int# i intToInt16# i (i `iShiftL#` 16#) `iShiftRA#` 16#-  where i = word2Int# ((high `uncheckedShiftL#` 8#) `or#` low)-        i = word2Int# ((high `shiftL#` 8#) `or#` low)-        high = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))-        low = int2Word# (ord# (indexCharOffAddr# arr off'))-        off' = off *# 2#--data HappyAddr = HappyA# Addr#-happyShift new_state 0# tk st sts stk@(x `HappyStk` _)-  = let i = (case unsafeCoerce# x of-                 (I# (i)) -> i)-      in happyDoAction i tk new_state (HappyCons (st) (sts)) (stk)-happyShift new_state i tk st sts stk-  = happyNewToken new_state (HappyCons (st) (sts))-      ((happyInTok (tk)) `HappyStk` stk)-happySpecReduce_0 i fn 0# tk st sts stk-  = happyFail 0# tk st sts stk-happySpecReduce_0 nt fn j tk st@((action)) sts stk-  = happyGoto nt j tk st (HappyCons (st) (sts)) (fn `HappyStk` stk)-happySpecReduce_1 i fn 0# tk st sts stk-  = happyFail 0# tk st sts stk-happySpecReduce_1 nt fn j tk _ sts@((HappyCons (st@(action)) (_)))-  (v1 `HappyStk` stk')-  = let r = fn v1 in-      happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))-happySpecReduce_2 i fn 0# tk st sts stk-  = happyFail 0# tk st sts stk-happySpecReduce_2 nt fn j tk _-  (HappyCons (_) (sts@((HappyCons (st@(action)) (_)))))-  (v1 `HappyStk` (v2 `HappyStk` stk'))-  = let r = fn v1 v2 in-      happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))-happySpecReduce_3 i fn 0# tk st sts stk-  = happyFail 0# tk st sts stk-happySpecReduce_3 nt fn j tk _-  (HappyCons (_)-     ((HappyCons (_) (sts@((HappyCons (st@(action)) (_)))))))-  (v1 `HappyStk` (v2 `HappyStk` (v3 `HappyStk` stk')))-  = let r = fn v1 v2 v3 in-      happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))-happyReduce k i fn 0# tk st sts stk = happyFail 0# tk st sts stk-happyReduce k nt fn j tk st sts stk-  = case happyDrop (k -# (1# :: Int#)) sts of-        sts1@((HappyCons (st1@(action)) (_))) -> let r = fn stk in-                                                   happyDoSeq r (happyGoto nt j tk st1 sts1 r)-happyMonadReduce k nt fn 0# tk st sts stk-  = happyFail 0# tk st sts stk-happyMonadReduce k nt fn j tk st sts stk-  = happyThen1 (fn stk tk)-      (\ r -> happyGoto nt j tk st1 sts1 (r `HappyStk` drop_stk))-  where sts1@((HappyCons (st1@(action)) (_)))-          = happyDrop k (HappyCons (st) (sts))-        drop_stk = happyDropStk k stk-happyMonad2Reduce k nt fn 0# tk st sts stk-  = happyFail 0# tk st sts stk-happyMonad2Reduce k nt fn j tk st sts stk-  = happyThen1 (fn stk tk)-      (\ r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk))-  where sts1@((HappyCons (st1@(action)) (_)))-          = happyDrop k (HappyCons (st) (sts))-        drop_stk = happyDropStk k stk-        off = indexShortOffAddr happyGotoOffsets st1-        off_i = (off +# nt)-        new_state = indexShortOffAddr happyTable off_i-happyDrop 0# l = l-happyDrop n (HappyCons (_) (t)) = happyDrop (n -# (1# :: Int#)) t-happyDropStk 0# l = l-happyDropStk n (x `HappyStk` xs)-  = happyDropStk (n -# (1# :: Int#)) xs-happyGoto nt j tk st = happyDoAction j tk new_state-  where off = indexShortOffAddr happyGotoOffsets st-        off_i = (off +# nt)-        new_state = indexShortOffAddr happyTable off_i-happyFail 0# tk old_st _ stk = happyError_ tk-happyFail i tk (action) sts stk-  = happyDoAction 0# tk action sts-      ((unsafeCoerce# (I# (i))) `HappyStk` stk)-notHappyAtAll = error "Internal Happy error\n"--happyTcHack :: Int# -> a -> a-happyTcHack x y = y--{-# INLINE happyTcHack #-}--happyDoSeq, happyDontSeq :: a -> b -> b-happyDoSeq a b = a `seq` b-happyDontSeq a b = b--{-# NOINLINE happyDoAction #-}--{-# NOINLINE happyTable #-}--{-# NOINLINE happyCheck #-}--{-# NOINLINE happyActOffsets #-}--{-# NOINLINE happyGotoOffsets #-}--{-# NOINLINE happyDefActions #-}--{-# NOINLINE happyShift #-}--{-# NOINLINE happySpecReduce_0 #-}--{-# NOINLINE happySpecReduce_1 #-}--{-# NOINLINE happySpecReduce_2 #-}--{-# NOINLINE happySpecReduce_3 #-}--{-# NOINLINE happyReduce #-}--{-# NOINLINE happyMonadReduce #-}--{-# NOINLINE happyGoto #-}--{-# NOINLINE happyFail #-}
tests/examples/ClassContext.hs.parser.golden view
@@ -40,67 +40,80 @@                      , srcInfoPoints =                          [ SrcSpan "tests/examples/ClassContext.hs" 1 18 1 20 ]                      }-                   (ClassA+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 6 1 20                         , srcInfoPoints =                             [ SrcSpan "tests/examples/ClassContext.hs" 1 18 1 20 ]                         }-                      (UnQual+                      (TyApp                          SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 6 1 9-                           , srcInfoPoints = []+                           { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 6 1 20+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/ClassContext.hs" 1 18 1 20 ]                            }-                         (Ident+                         (TyCon                             SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 6 1 9-                              , srcInfoPoints = []+                              { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 6 1 20+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/ClassContext.hs" 1 18 1 20 ]                               }-                            "Ord"))-                      [ TyParen-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 10 1 17-                            , srcInfoPoints =-                                [ SrcSpan "tests/examples/ClassContext.hs" 1 10 1 11-                                , SrcSpan "tests/examples/ClassContext.hs" 1 16 1 17-                                ]-                            }-                          (TyApp-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 11 1 16-                               , srcInfoPoints = []-                               }-                             (TyVar-                                SrcSpanInfo-                                  { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 11 1 12-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/ClassContext.hs" 1 11 1 12-                                     , srcInfoPoints = []-                                     }-                                   "i"))-                             (TyCon-                                SrcSpanInfo-                                  { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 13 1 16-                                  , srcInfoPoints = []-                                  }-                                (UnQual-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/ClassContext.hs" 1 13 1 16-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/ClassContext.hs" 1 13 1 16-                                        , srcInfoPoints = []-                                        }-                                      "Int"))))-                      ])))+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 6 1 9+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 6 1 9+                                    , srcInfoPoints = []+                                    }+                                  "Ord")))+                         (TyParen+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 10 1 17+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/ClassContext.hs" 1 10 1 11+                                  , SrcSpan "tests/examples/ClassContext.hs" 1 16 1 17+                                  ]+                              }+                            (TyApp+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 11 1 16+                                 , srcInfoPoints = []+                                 }+                               (TyVar+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/ClassContext.hs" 1 11 1 12+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/ClassContext.hs" 1 11 1 12+                                       , srcInfoPoints = []+                                       }+                                     "i"))+                               (TyCon+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/ClassContext.hs" 1 13 1 16+                                    , srcInfoPoints = []+                                    }+                                  (UnQual+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/ClassContext.hs" 1 13 1 16+                                       , srcInfoPoints = []+                                       }+                                     (Ident+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/ClassContext.hs" 1 13 1 16+                                          , srcInfoPoints = []+                                          }+                                        "Int")))))))))              (TyFun                 SrcSpanInfo                   { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 21 1 35
tests/examples/ClassContext.hs.prettyprinter.golden view
@@ -1,4 +1,2 @@-module Main (main) where- f :: Ord (i Int) => i Int -> i Int f = undefined
tests/examples/ClassDeclSrcSpan.hs.prettyprinter.golden view
@@ -1,5 +1,3 @@-module Main (main) where- class C1 a where         toString :: a -> String 
tests/examples/ClosedTypeFamily.hs.parser.golden view
@@ -120,6 +120,7 @@                      }                    "y")))           Nothing+          Nothing           [ TypeEqn               SrcSpanInfo                 { srcInfoSpan =
+ tests/examples/Completesig03A.hs view
@@ -0,0 +1,6 @@+module Completesig03A where++data A = A | B++{-# COMPLETE A #-}+
+ tests/examples/Completesig03A.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Completesig03A.hs.parser.golden view
@@ -0,0 +1,123 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan = SrcSpan "tests/examples/Completesig03A.hs" 1 1 7 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/Completesig03A.hs" 1 1 1 1+            , SrcSpan "tests/examples/Completesig03A.hs" 1 1 1 1+            , SrcSpan "tests/examples/Completesig03A.hs" 3 1 3 1+            , SrcSpan "tests/examples/Completesig03A.hs" 5 1 5 1+            , SrcSpan "tests/examples/Completesig03A.hs" 7 1 7 1+            , SrcSpan "tests/examples/Completesig03A.hs" 7 1 7 1+            ]+        }+      (Just+         (ModuleHead+            SrcSpanInfo+              { srcInfoSpan = SrcSpan "tests/examples/Completesig03A.hs" 1 1 1 28+              , srcInfoPoints =+                  [ SrcSpan "tests/examples/Completesig03A.hs" 1 1 1 7+                  , SrcSpan "tests/examples/Completesig03A.hs" 1 23 1 28+                  ]+              }+            (ModuleName+               SrcSpanInfo+                 { srcInfoSpan = SrcSpan "tests/examples/Completesig03A.hs" 1 8 1 22+                 , srcInfoPoints = []+                 }+               "Completesig03A")+            Nothing+            Nothing))+      []+      []+      [ DataDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Completesig03A.hs" 3 1 3 15+            , srcInfoPoints =+                [ SrcSpan "tests/examples/Completesig03A.hs" 3 8 3 9+                , SrcSpan "tests/examples/Completesig03A.hs" 3 12 3 13+                ]+            }+          (DataType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Completesig03A.hs" 3 1 3 5+               , srcInfoPoints = []+               })+          Nothing+          (DHead+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Completesig03A.hs" 3 6 3 7+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Completesig03A.hs" 3 6 3 7+                  , srcInfoPoints = []+                  }+                "A"))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/Completesig03A.hs" 3 10 3 11+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/Completesig03A.hs" 3 10 3 11+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/Completesig03A.hs" 3 10 3 11+                      , srcInfoPoints = []+                      }+                    "A")+                 [])+          , QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/Completesig03A.hs" 3 14 3 15+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/Completesig03A.hs" 3 14 3 15+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/Completesig03A.hs" 3 14 3 15+                      , srcInfoPoints = []+                      }+                    "B")+                 [])+          ]+          []+      , CompletePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Completesig03A.hs" 5 1 5 19+            , srcInfoPoints =+                [ SrcSpan "tests/examples/Completesig03A.hs" 5 1 5 13+                , SrcSpan "tests/examples/Completesig03A.hs" 5 16 5 19+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/Completesig03A.hs" 5 14 5 15+                , srcInfoPoints = []+                }+              "A"+          ]+          Nothing+      ]+  , []+  )
+ tests/examples/Completesig03A.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Completesig03A.hs.prettyprinter.golden view
@@ -0,0 +1,6 @@+module Completesig03A where++data A = A+       | B++{-# COMPLETE A #-}
tests/examples/ConstraintKinds.hs.parser.golden view
@@ -160,7 +160,7 @@                      }                    "a")))           []-          Nothing+          []       , TypeDecl           SrcSpanInfo             { srcInfoSpan =@@ -342,53 +342,73 @@                      , srcInfoPoints =                          [ SrcSpan "tests/examples/ConstraintKinds.hs" 9 20 9 22 ]                      }-                   (ClassA+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan =                             SrcSpan "tests/examples/ConstraintKinds.hs" 9 8 9 22                         , srcInfoPoints =                             [ SrcSpan "tests/examples/ConstraintKinds.hs" 9 20 9 22 ]                         }-                      (UnQual+                      (TyApp                          SrcSpanInfo                            { srcInfoSpan =-                               SrcSpan "tests/examples/ConstraintKinds.hs" 9 8 9 15-                           , srcInfoPoints = []+                               SrcSpan "tests/examples/ConstraintKinds.hs" 9 8 9 22+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/ConstraintKinds.hs" 9 20 9 22 ]                            }-                         (Ident+                         (TyApp                             SrcSpanInfo                               { srcInfoSpan =-                                  SrcSpan "tests/examples/ConstraintKinds.hs" 9 8 9 15+                                  SrcSpan "tests/examples/ConstraintKinds.hs" 9 8 9 22+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/ConstraintKinds.hs" 9 20 9 22 ]+                              }+                            (TyCon+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/ConstraintKinds.hs" 9 8 9 22+                                 , srcInfoPoints =+                                     [ SrcSpan "tests/examples/ConstraintKinds.hs" 9 20 9 22 ]+                                 }+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/ConstraintKinds.hs" 9 8 9 15+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/ConstraintKinds.hs" 9 8 9 15+                                       , srcInfoPoints = []+                                       }+                                     "Bazable")))+                            (TyVar+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/ConstraintKinds.hs" 9 16 9 17+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/ConstraintKinds.hs" 9 16 9 17+                                    , srcInfoPoints = []+                                    }+                                  "a")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/ConstraintKinds.hs" 9 18 9 19                               , srcInfoPoints = []                               }-                            "Bazable"))-                      [ TyVar-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/ConstraintKinds.hs" 9 16 9 17-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/ConstraintKinds.hs" 9 16 9 17-                               , srcInfoPoints = []-                               }-                             "a")-                      , TyVar-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/ConstraintKinds.hs" 9 18 9 19-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/ConstraintKinds.hs" 9 18 9 19-                               , srcInfoPoints = []-                               }-                             "b")-                      ])))+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/ConstraintKinds.hs" 9 18 9 19+                                 , srcInfoPoints = []+                                 }+                               "b"))))))              (TyFun                 SrcSpanInfo                   { srcInfoSpan =
tests/examples/ConstraintKinds.hs.prettyprinter.golden view
@@ -1,9 +1,8 @@ {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ConstraintKinds #-} {-# LANGUAGE MultiParamTypeClasses #-}-module Main (main) where -class Foo a+class Foo a where  data Bar a 
tests/examples/ConstraintKinds2.hs.parser.golden view
@@ -133,6 +133,8 @@                    }                  "Dict")               Nothing+              Nothing+              Nothing               (TyForall                  SrcSpanInfo                    { srcInfoSpan =@@ -148,21 +150,27 @@                          , srcInfoPoints =                              [ SrcSpan "tests/examples/ConstraintKinds2.hs" 6 15 6 17 ]                          }-                       (AppA+                       (TypeA                           SrcSpanInfo                             { srcInfoSpan =                                 SrcSpan "tests/examples/ConstraintKinds2.hs" 6 13 6 17                             , srcInfoPoints =                                 [ SrcSpan "tests/examples/ConstraintKinds2.hs" 6 15 6 17 ]                             }-                          (Ident+                          (TyVar                              SrcSpanInfo                                { srcInfoSpan =-                                   SrcSpan "tests/examples/ConstraintKinds2.hs" 6 13 6 14-                               , srcInfoPoints = []+                                   SrcSpan "tests/examples/ConstraintKinds2.hs" 6 13 6 17+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/ConstraintKinds2.hs" 6 15 6 17 ]                                }-                             "p")-                          [])))+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/ConstraintKinds2.hs" 6 13 6 14+                                  , srcInfoPoints = []+                                  }+                                "p")))))                  (TyApp                     SrcSpanInfo                       { srcInfoSpan =@@ -202,7 +210,7 @@                             }                           "p"))))           ]-          Nothing+          []       ]   , []   )
tests/examples/ConstraintKinds2.hs.prettyprinter.golden view
@@ -1,7 +1,6 @@ {-# LANGUAGE ConstraintKinds #-} {-# LANGUAGE GADTs #-} {-# LANGUAGE RankNTypes #-}-module Main (main) where  data Dict p where         Dict :: p => Dict p
tests/examples/ConstraintKinds3.hs.parser.golden view
@@ -165,34 +165,48 @@                                       , SrcSpan "tests/examples/ConstraintKinds3.hs" 6 16 6 18                                       ]                                   }-                                (AppA+                                (TypeA                                    SrcSpanInfo                                      { srcInfoSpan =                                          SrcSpan "tests/examples/ConstraintKinds3.hs" 6 11 6 14                                      , srcInfoPoints = []                                      }-                                   (Ident+                                   (TyApp                                       SrcSpanInfo                                         { srcInfoSpan =-                                            SrcSpan "tests/examples/ConstraintKinds3.hs" 6 11 6 12+                                            SrcSpan "tests/examples/ConstraintKinds3.hs" 6 11 6 14                                         , srcInfoPoints = []                                         }-                                      "c")-                                   [ TyVar-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/ConstraintKinds3.hs" 6 13 6 14-                                         , srcInfoPoints = []-                                         }-                                       (Ident-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan-                                                  "tests/examples/ConstraintKinds3.hs" 6 13 6 14-                                            , srcInfoPoints = []-                                            }-                                          "a")-                                   ]))))+                                      (TyVar+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan+                                                 "tests/examples/ConstraintKinds3.hs" 6 11 6 14+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/ConstraintKinds3.hs" 6 11 6 12+                                              , srcInfoPoints = []+                                              }+                                            "c"))+                                      (TyVar+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan+                                                 "tests/examples/ConstraintKinds3.hs" 6 13 6 14+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/ConstraintKinds3.hs" 6 13 6 14+                                              , srcInfoPoints = []+                                              }+                                            "a")))))))                        (TyFun                           SrcSpanInfo                             { srcInfoSpan =
tests/examples/ConstraintKinds3.hs.prettyprinter.golden view
@@ -1,6 +1,5 @@ {-# LANGUAGE ConstraintKinds #-} {-# LANGUAGE MultiParamTypeClasses #-}-module Main (main) where  class Foo c a where         bar :: (c a) => a -> a
tests/examples/ConstructorAndClassOperators.hs.parser.golden view
@@ -76,7 +76,7 @@                              "tests/examples/ConstructorAndClassOperators.hs" 3 18 3 20                          ]                      }-                   (ClassA+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan =                             SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 8 3 20@@ -85,53 +85,97 @@                                 "tests/examples/ConstructorAndClassOperators.hs" 3 18 3 20                             ]                         }-                      (UnQual+                      (TyApp                          SrcSpanInfo                            { srcInfoSpan =-                               SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 8 3 13+                               SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 8 3 20                            , srcInfoPoints =-                               [ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 8 3 9-                               , SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 9 3 12-                               , SrcSpan-                                   "tests/examples/ConstructorAndClassOperators.hs" 3 12 3 13+                               [ SrcSpan+                                   "tests/examples/ConstructorAndClassOperators.hs" 3 18 3 20                                ]                            }-                         (Symbol+                         (TyApp                             SrcSpanInfo                               { srcInfoSpan =-                                  SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 9 3 12+                                  SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 8 3 20+                              , srcInfoPoints =+                                  [ SrcSpan+                                      "tests/examples/ConstructorAndClassOperators.hs" 3 18 3 20+                                  ]+                              }+                            (TyCon+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan+                                       "tests/examples/ConstructorAndClassOperators.hs" 3 8 3 20+                                 , srcInfoPoints =+                                     [ SrcSpan+                                         "tests/examples/ConstructorAndClassOperators.hs" 3 18 3 20+                                     ]+                                 }+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan+                                          "tests/examples/ConstructorAndClassOperators.hs" 3 8 3 13+                                    , srcInfoPoints =+                                        [ SrcSpan+                                            "tests/examples/ConstructorAndClassOperators.hs" 3 8 3 9+                                        , SrcSpan+                                            "tests/examples/ConstructorAndClassOperators.hs"+                                            3+                                            9+                                            3+                                            12+                                        , SrcSpan+                                            "tests/examples/ConstructorAndClassOperators.hs"+                                            3+                                            12+                                            3+                                            13+                                        ]+                                    }+                                  (Symbol+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan+                                             "tests/examples/ConstructorAndClassOperators.hs"+                                             3+                                             9+                                             3+                                             12+                                       , srcInfoPoints = []+                                       }+                                     ":=>")))+                            (TyVar+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan+                                       "tests/examples/ConstructorAndClassOperators.hs" 3 14 3 15+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan+                                          "tests/examples/ConstructorAndClassOperators.hs" 3 14 3 15+                                    , srcInfoPoints = []+                                    }+                                  "b")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 16 3 17                               , srcInfoPoints = []                               }-                            ":=>"))-                      [ TyVar-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 14 3 15-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan-                                     "tests/examples/ConstructorAndClassOperators.hs" 3 14 3 15-                               , srcInfoPoints = []-                               }-                             "b")-                      , TyVar-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 16 3 17-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan-                                     "tests/examples/ConstructorAndClassOperators.hs" 3 16 3 17-                               , srcInfoPoints = []-                               }-                             "h")-                      ])))+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan+                                       "tests/examples/ConstructorAndClassOperators.hs" 3 16 3 17+                                 , srcInfoPoints = []+                                 }+                               "h"))))))              (TyInfix                 SrcSpanInfo                   { srcInfoSpan =@@ -151,19 +195,25 @@                         , srcInfoPoints = []                         }                       "b"))-                (UnQual+                (UnpromotedName                    SrcSpanInfo                      { srcInfoSpan =                          SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 23 3 25                      , srcInfoPoints = []                      }-                   (Symbol+                   (UnQual                       SrcSpanInfo                         { srcInfoSpan =                             SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 23 3 25                         , srcInfoPoints = []                         }-                      ":-"))+                      (Symbol+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 23 3 25+                           , srcInfoPoints = []+                           }+                         ":-")))                 (TyVar                    SrcSpanInfo                      { srcInfoSpan =@@ -298,7 +348,7 @@                         "b")                  ])           ]-          Nothing+          []       ]   , []   )
tests/examples/ConstructorAndClassOperators.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE TypeOperators, MultiParamTypeClasses #-}-module Main (main) where  ins :: (:=>) b h => b :- h 
+ tests/examples/ContextOrdering.hs view
@@ -0,0 +1,5 @@+{-# LANGUAGE ConstraintKinds #-}+module ContextOrdering where++foo :: (x m a) => Int+foo = 5
+ tests/examples/ContextOrdering.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ContextOrdering.hs.parser.golden view
@@ -0,0 +1,208 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan = SrcSpan "tests/examples/ContextOrdering.hs" 1 1 6 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/ContextOrdering.hs" 1 1 1 1+            , SrcSpan "tests/examples/ContextOrdering.hs" 2 1 2 1+            , SrcSpan "tests/examples/ContextOrdering.hs" 2 1 2 1+            , SrcSpan "tests/examples/ContextOrdering.hs" 4 1 4 1+            , SrcSpan "tests/examples/ContextOrdering.hs" 5 1 5 1+            , SrcSpan "tests/examples/ContextOrdering.hs" 6 1 6 1+            , SrcSpan "tests/examples/ContextOrdering.hs" 6 1 6 1+            ]+        }+      (Just+         (ModuleHead+            SrcSpanInfo+              { srcInfoSpan =+                  SrcSpan "tests/examples/ContextOrdering.hs" 2 1 2 29+              , srcInfoPoints =+                  [ SrcSpan "tests/examples/ContextOrdering.hs" 2 1 2 7+                  , SrcSpan "tests/examples/ContextOrdering.hs" 2 24 2 29+                  ]+              }+            (ModuleName+               SrcSpanInfo+                 { srcInfoSpan =+                     SrcSpan "tests/examples/ContextOrdering.hs" 2 8 2 23+                 , srcInfoPoints = []+                 }+               "ContextOrdering")+            Nothing+            Nothing))+      [ LanguagePragma+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/ContextOrdering.hs" 1 1 1 33+            , srcInfoPoints =+                [ SrcSpan "tests/examples/ContextOrdering.hs" 1 1 1 13+                , SrcSpan "tests/examples/ContextOrdering.hs" 1 30 1 33+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/ContextOrdering.hs" 1 14 1 29+                , srcInfoPoints = []+                }+              "ConstraintKinds"+          ]+      ]+      []+      [ TypeSig+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/ContextOrdering.hs" 4 1 4 22+            , srcInfoPoints =+                [ SrcSpan "tests/examples/ContextOrdering.hs" 4 5 4 7 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/ContextOrdering.hs" 4 1 4 4+                , srcInfoPoints = []+                }+              "foo"+          ]+          (TyForall+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/ContextOrdering.hs" 4 8 4 22+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxSingle+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/ContextOrdering.hs" 4 8 4 18+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/ContextOrdering.hs" 4 8 4 9+                         , SrcSpan "tests/examples/ContextOrdering.hs" 4 14 4 15+                         , SrcSpan "tests/examples/ContextOrdering.hs" 4 16 4 18+                         ]+                     }+                   (ParenA+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/ContextOrdering.hs" 4 8 4 18+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/ContextOrdering.hs" 4 8 4 9+                            , SrcSpan "tests/examples/ContextOrdering.hs" 4 14 4 15+                            , SrcSpan "tests/examples/ContextOrdering.hs" 4 16 4 18+                            ]+                        }+                      (TypeA+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/ContextOrdering.hs" 4 9 4 14+                           , srcInfoPoints = []+                           }+                         (TyApp+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/ContextOrdering.hs" 4 9 4 14+                              , srcInfoPoints = []+                              }+                            (TyApp+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/ContextOrdering.hs" 4 9 4 14+                                 , srcInfoPoints = []+                                 }+                               (TyVar+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/ContextOrdering.hs" 4 9 4 14+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/ContextOrdering.hs" 4 9 4 10+                                       , srcInfoPoints = []+                                       }+                                     "x"))+                               (TyVar+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/ContextOrdering.hs" 4 11 4 12+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/ContextOrdering.hs" 4 11 4 12+                                       , srcInfoPoints = []+                                       }+                                     "m")))+                            (TyVar+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/ContextOrdering.hs" 4 13 4 14+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/ContextOrdering.hs" 4 13 4 14+                                    , srcInfoPoints = []+                                    }+                                  "a")))))))+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/ContextOrdering.hs" 4 19 4 22+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/ContextOrdering.hs" 4 19 4 22+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/ContextOrdering.hs" 4 19 4 22+                        , srcInfoPoints = []+                        }+                      "Int"))))+      , PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/ContextOrdering.hs" 5 1 5 8+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/ContextOrdering.hs" 5 1 5 4+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/ContextOrdering.hs" 5 1 5 4+                  , srcInfoPoints = []+                  }+                "foo"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/ContextOrdering.hs" 5 5 5 8+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/ContextOrdering.hs" 5 5 5 6 ]+               }+             (Lit+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/ContextOrdering.hs" 5 7 5 8+                  , srcInfoPoints = []+                  }+                (Int+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/ContextOrdering.hs" 5 7 5 8+                     , srcInfoPoints = []+                     }+                   5+                   "5")))+          Nothing+      ]+  , []+  )
+ tests/examples/ContextOrdering.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ContextOrdering.hs.prettyprinter.golden view
@@ -0,0 +1,5 @@+{-# LANGUAGE ConstraintKinds #-}+module ContextOrdering where++foo :: (x m a) => Int+foo = 5
tests/examples/CxtWhitespace.hs.parser.golden view
@@ -46,35 +46,46 @@                             , SrcSpan "tests/examples/CxtWhitespace.hs" 2 18 2 20                             ]                         }-                      (ClassA+                      (TypeA                          SrcSpanInfo                            { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 12 2 16                            , srcInfoPoints = []                            }-                         (UnQual+                         (TyApp                             SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 12 2 14+                              { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 12 2 16                               , srcInfoPoints = []                               }-                            (Ident+                            (TyCon                                SrcSpanInfo-                                 { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 12 2 14+                                 { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 12 2 16                                  , srcInfoPoints = []                                  }-                               "Eq"))-                         [ TyVar-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 15 2 16-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/CxtWhitespace.hs" 2 15 2 16-                                  , srcInfoPoints = []-                                  }-                                "h")-                         ]))))+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/CxtWhitespace.hs" 2 12 2 14+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/CxtWhitespace.hs" 2 12 2 14+                                       , srcInfoPoints = []+                                       }+                                     "Eq")))+                            (TyVar+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 15 2 16+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/CxtWhitespace.hs" 2 15 2 16+                                    , srcInfoPoints = []+                                    }+                                  "h")))))))              (IHApp                 SrcSpanInfo                   { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 21 2 25@@ -132,62 +143,86 @@                          , SrcSpan "tests/examples/CxtWhitespace.hs" 5 24 5 26                          ]                      }-                   [ ClassA+                   [ TypeA                        SrcSpanInfo                          { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 12 5 16                          , srcInfoPoints = []                          }-                       (UnQual+                       (TyApp                           SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 12 5 14+                            { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 12 5 16                             , srcInfoPoints = []                             }-                          (Ident+                          (TyCon                              SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 12 5 14+                               { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 12 5 16                                , srcInfoPoints = []                                }-                             "Eq"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 15 5 16-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 15 5 16-                                , srcInfoPoints = []-                                }-                              "h")-                       ]-                   , ClassA+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/CxtWhitespace.hs" 5 12 5 14+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/CxtWhitespace.hs" 5 12 5 14+                                     , srcInfoPoints = []+                                     }+                                   "Eq")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 15 5 16+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/CxtWhitespace.hs" 5 15 5 16+                                  , srcInfoPoints = []+                                  }+                                "h")))+                   , TypeA                        SrcSpanInfo                          { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 18 5 22                          , srcInfoPoints = []                          }-                       (UnQual+                       (TyApp                           SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 18 5 20+                            { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 18 5 22                             , srcInfoPoints = []                             }-                          (Ident+                          (TyCon                              SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 18 5 20+                               { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 18 5 22                                , srcInfoPoints = []                                }-                             "Eq"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 21 5 22-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 21 5 22-                                , srcInfoPoints = []-                                }-                              "h")-                       ]+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/CxtWhitespace.hs" 5 18 5 20+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/CxtWhitespace.hs" 5 18 5 20+                                     , srcInfoPoints = []+                                     }+                                   "Eq")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 21 5 22+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/CxtWhitespace.hs" 5 21 5 22+                                  , srcInfoPoints = []+                                  }+                                "h")))                    ]))              (IHApp                 SrcSpanInfo
tests/examples/CxtWhitespace.hs.prettyprinter.golden view
@@ -1,5 +1,3 @@-module Main (main) where- instance (Eq h) => Eq h  instance (Eq h, Eq h) => Eq h
tests/examples/DataHeadParen.hs.parser.golden view
@@ -123,7 +123,7 @@                     "Foo")                  [])           ]-          Nothing+          []       ]   , []   )
tests/examples/DataHeadParen.hs.prettyprinter.golden view
@@ -1,4 +1,4 @@ {-# LANGUAGE TypeOperators #-} module DataHeadParen where -data (:<) a1 a2 = Foo+data (a1 :< a2) = Foo
tests/examples/DataKinds.hs.parser.golden view
@@ -118,7 +118,7 @@                      , srcInfoPoints = []                      }                    "a")-                (KindVar+                (TyCon                    SrcSpanInfo                      { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 5 16 5 20                      , srcInfoPoints = []@@ -240,7 +240,7 @@                      , srcInfoPoints = []                      }                    "a")-                (KindList+                (TyList                    SrcSpanInfo                      { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 8 16 8 21                      , srcInfoPoints =@@ -248,7 +248,7 @@                          , SrcSpan "tests/examples/DataKinds.hs" 8 20 8 21                          ]                      }-                   (KindStar+                   (TyStar                       SrcSpanInfo                         { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 8 18 8 19                         , srcInfoPoints = []@@ -298,7 +298,7 @@                     "Baz")                  [])           ]-          Nothing+          []       , DataDecl           SrcSpanInfo             { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 11 1 11 15@@ -342,7 +342,7 @@                     "Foo")                  [])           ]-          Nothing+          []       , ClassDecl           SrcSpanInfo             { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 13 1 13 29@@ -381,7 +381,7 @@                      , srcInfoPoints = []                      }                    "a")-                (KindList+                (TyList                    SrcSpanInfo                      { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 13 16 13 28                      , srcInfoPoints =@@ -389,7 +389,7 @@                          , SrcSpan "tests/examples/DataKinds.hs" 13 27 13 28                          ]                      }-                   (KindTuple+                   (TyTuple                       SrcSpanInfo                         { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 13 17 13 27                         , srcInfoPoints =@@ -398,7 +398,8 @@                             , SrcSpan "tests/examples/DataKinds.hs" 13 26 13 27                             ]                         }-                      [ KindVar+                      Boxed+                      [ TyCon                           SrcSpanInfo                             { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 13 18 13 21                             , srcInfoPoints = []@@ -414,7 +415,7 @@                                   , srcInfoPoints = []                                   }                                 "Baz"))-                      , KindVar+                      , TyCon                           SrcSpanInfo                             { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 13 23 13 26                             , srcInfoPoints = []@@ -471,7 +472,7 @@                      , srcInfoPoints = []                      }                    "a")-                (KindParen+                (TyParen                    SrcSpanInfo                      { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 15 16 15 21                      , srcInfoPoints =@@ -479,7 +480,7 @@                          , SrcSpan "tests/examples/DataKinds.hs" 15 20 15 21                          ]                      }-                   (KindStar+                   (TyStar                       SrcSpanInfo                         { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 15 18 15 19                         , srcInfoPoints = []@@ -524,17 +525,17 @@                      , srcInfoPoints = []                      }                    "a")-                (KindApp+                (TyApp                    SrcSpanInfo                      { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 18 16 18 27                      , srcInfoPoints = []                      }-                   (KindApp+                   (TyApp                       SrcSpanInfo                         { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 18 16 18 23                         , srcInfoPoints = []                         }-                      (KindVar+                      (TyCon                          SrcSpanInfo                            { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 18 16 18 19                            , srcInfoPoints = []@@ -550,38 +551,28 @@                                  , srcInfoPoints = []                                  }                                "App")))-                      (KindVar+                      (TyVar                          SrcSpanInfo                            { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 18 20 18 23                            , srcInfoPoints = []                            }-                         (UnQual+                         (Ident                             SrcSpanInfo                               { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 18 20 18 23                               , srcInfoPoints = []                               }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 18 20 18 23-                                 , srcInfoPoints = []-                                 }-                               "foo"))))-                   (KindVar+                            "foo")))+                   (TyVar                       SrcSpanInfo                         { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 18 24 18 27                         , srcInfoPoints = []                         }-                      (UnQual+                      (Ident                          SrcSpanInfo                            { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 18 24 18 27                            , srcInfoPoints = []                            }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 18 24 18 27-                              , srcInfoPoints = []-                              }-                            "baz"))))))+                         "baz")))))           []           Nothing       , ClassDecl@@ -622,7 +613,7 @@                      , srcInfoPoints = []                      }                    "a")-                (KindParen+                (TyParen                    SrcSpanInfo                      { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 20 16 20 24                      , srcInfoPoints =@@ -630,22 +621,17 @@                          , SrcSpan "tests/examples/DataKinds.hs" 20 23 20 24                          ]                      }-                   (KindVar+                   (TyVar                       SrcSpanInfo                         { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 20 17 20 23                         , srcInfoPoints = []                         }-                      (UnQual+                      (Ident                          SrcSpanInfo                            { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 20 17 20 23                            , srcInfoPoints = []                            }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 20 17 20 23-                              , srcInfoPoints = []-                              }-                            "parens"))))))+                         "parens")))))           []           Nothing       , DataDecl@@ -690,7 +676,7 @@                      , srcInfoPoints = []                      }                    "a")-                (KindList+                (TyList                    SrcSpanInfo                      { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 22 14 22 17                      , srcInfoPoints =@@ -698,13 +684,13 @@                          , SrcSpan "tests/examples/DataKinds.hs" 22 16 22 17                          ]                      }-                   (KindStar+                   (TyStar                       SrcSpanInfo                         { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 22 15 22 16                         , srcInfoPoints = []                         }))))           []-          Nothing+          []       , PatBind           SrcSpanInfo             { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 24 1 24 27@@ -968,7 +954,7 @@                      , srcInfoPoints = []                      }                    "a")-                (KindTuple+                (TyTuple                    SrcSpanInfo                      { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 27 14 27 23                      , srcInfoPoints =@@ -977,12 +963,13 @@                          , SrcSpan "tests/examples/DataKinds.hs" 27 22 27 23                          ]                      }-                   [ KindStar+                   Boxed+                   [ TyStar                        SrcSpanInfo                          { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 27 15 27 16                          , srcInfoPoints = []                          }-                   , KindVar+                   , TyCon                        SrcSpanInfo                          { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 27 18 27 22                          , srcInfoPoints = []@@ -1000,7 +987,7 @@                              "Bool"))                    ])))           []-          Nothing+          []       , PatBind           SrcSpanInfo             { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 29 1 29 36
tests/examples/DataKinds.hs.prettyprinter.golden view
@@ -1,7 +1,6 @@ {-# LANGUAGE KindSignatures #-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE PolyKinds #-}-module Main (main) where  class C1 (a :: Bool) where         c :: proxy a -> Int
tests/examples/DataKinds2.hs.parser.golden view
@@ -91,7 +91,7 @@                     "Foo")                  [])           ]-          Nothing+          []       , TypeDecl           SrcSpanInfo             { srcInfoSpan = SrcSpan "tests/examples/DataKinds2.hs" 5 1 5 20
tests/examples/DataKinds2.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE DataKinds #-}-module Main (main) where  data Foo a = Foo @@ -7,4 +6,4 @@  type FooC = Foo 1 -instance Show (Foo "bar")+instance Show (Foo "bar") where
tests/examples/DefaultSignatures.hs.parser.golden view
@@ -205,39 +205,53 @@                                    , SrcSpan "tests/examples/DefaultSignatures.hs" 4 25 4 27                                    ]                                }-                             (ClassA+                             (TypeA                                 SrcSpanInfo                                   { srcInfoSpan =                                       SrcSpan "tests/examples/DefaultSignatures.hs" 4 19 4 23                                   , srcInfoPoints = []                                   }-                                (UnQual+                                (TyApp                                    SrcSpanInfo                                      { srcInfoSpan =-                                         SrcSpan "tests/examples/DefaultSignatures.hs" 4 19 4 21+                                         SrcSpan "tests/examples/DefaultSignatures.hs" 4 19 4 23                                      , srcInfoPoints = []                                      }-                                   (Ident+                                   (TyCon                                       SrcSpanInfo                                         { srcInfoSpan =-                                            SrcSpan "tests/examples/DefaultSignatures.hs" 4 19 4 21+                                            SrcSpan "tests/examples/DefaultSignatures.hs" 4 19 4 23                                         , srcInfoPoints = []                                         }-                                      "Eq"))-                                [ TyVar-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/DefaultSignatures.hs" 4 22 4 23-                                      , srcInfoPoints = []-                                      }-                                    (Ident-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/DefaultSignatures.hs" 4 22 4 23-                                         , srcInfoPoints = []-                                         }-                                       "a")-                                ]))))+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan+                                                 "tests/examples/DefaultSignatures.hs" 4 19 4 21+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DefaultSignatures.hs" 4 19 4 21+                                              , srcInfoPoints = []+                                              }+                                            "Eq")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DefaultSignatures.hs" 4 22 4 23+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan+                                                 "tests/examples/DefaultSignatures.hs" 4 22 4 23+                                           , srcInfoPoints = []+                                           }+                                         "a")))))))                     (TyFun                        SrcSpanInfo                          { srcInfoSpan =
tests/examples/DefaultSignatures.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE DefaultSignatures #-}-module Main (main) where  class C a where         f :: a -> a -> Bool
tests/examples/DeriveGeneric.hs.parser.golden view
@@ -202,37 +202,38 @@                     "Leaf")                  [])           ]-          (Just-             (Deriving-                SrcSpanInfo-                  { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 4 3 4 19-                  , srcInfoPoints =-                      [ SrcSpan "tests/examples/DeriveGeneric.hs" 4 3 4 11 ]-                  }-                [ IRule-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 4 12 4 19-                      , srcInfoPoints = []-                      }-                    Nothing-                    Nothing-                    (IHCon-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 4 12 4 19-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 4 12 4 19-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 4 12 4 19-                               , srcInfoPoints = []-                               }-                             "Generic")))-                ]))+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 4 3 4 19+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DeriveGeneric.hs" 4 3 4 11 ]+                }+              Nothing+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 4 12 4 19+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 4 12 4 19+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 4 12 4 19+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 4 12 4 19+                             , srcInfoPoints = []+                             }+                           "Generic")))+              ]+          ]       ]   , []   )
tests/examples/DeriveGeneric.hs.prettyprinter.golden view
@@ -1,6 +1,5 @@ {-# LANGUAGE DeriveGeneric #-}-module Main (main) where  data UserTree a = Node a (UserTree a) (UserTree a)                 | Leaf-                deriving Generic+                    deriving Generic
tests/examples/DerivingParen.hs.parser.golden view
@@ -57,37 +57,38 @@                     "X")                  [])           ]-          (Just-             (Deriving-                SrcSpanInfo-                  { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 1 12 1 25-                  , srcInfoPoints =-                      [ SrcSpan "tests/examples/DerivingParen.hs" 1 12 1 20 ]-                  }-                [ IRule-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 1 21 1 25-                      , srcInfoPoints = []-                      }-                    Nothing-                    Nothing-                    (IHCon-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 1 21 1 25-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 1 21 1 25-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 1 21 1 25-                               , srcInfoPoints = []-                               }-                             "Show")))-                ]))+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 1 12 1 25+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingParen.hs" 1 12 1 20 ]+                }+              Nothing+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 1 21 1 25+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 1 21 1 25+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 1 21 1 25+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 1 21 1 25+                             , srcInfoPoints = []+                             }+                           "Show")))+              ]+          ]       , DataDecl           SrcSpanInfo             { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 2 1 2 27@@ -131,46 +132,46 @@                     "X")                  [])           ]-          (Just-             (Deriving-                SrcSpanInfo-                  { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 2 12 2 27-                  , srcInfoPoints =-                      [ SrcSpan "tests/examples/DerivingParen.hs" 2 12 2 20 ]-                  }-                [ IParen-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 2 21 2 27-                      , srcInfoPoints =-                          [ SrcSpan "tests/examples/DerivingParen.hs" 2 21 2 22-                          , SrcSpan "tests/examples/DerivingParen.hs" 2 26 2 27-                          ]-                      }-                    (IRule-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 2 22 2 26-                         , srcInfoPoints = []-                         }-                       Nothing-                       Nothing-                       (IHCon-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 2 22 2 26-                            , srcInfoPoints = []-                            }-                          (UnQual-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 2 22 2 26-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/DerivingParen.hs" 2 22 2 26-                                  , srcInfoPoints = []-                                  }-                                "Show"))))-                ]))+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 2 12 2 27+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingParen.hs" 2 12 2 20 ]+                }+              Nothing+              [ IParen+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 2 21 2 27+                    , srcInfoPoints =+                        [ SrcSpan "tests/examples/DerivingParen.hs" 2 21 2 22+                        , SrcSpan "tests/examples/DerivingParen.hs" 2 26 2 27+                        ]+                    }+                  (IRule+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 2 22 2 26+                       , srcInfoPoints = []+                       }+                     Nothing+                     Nothing+                     (IHCon+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 2 22 2 26+                          , srcInfoPoints = []+                          }+                        (UnQual+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 2 22 2 26+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 2 22 2 26+                                , srcInfoPoints = []+                                }+                              "Show"))))+              ]+          ]       ]   , []   )
tests/examples/DerivingParen.hs.prettyprinter.golden view
@@ -1,7 +1,3 @@-module Main (main) where--data X = X-       deriving Show+data X = X deriving Show -data X = X-       deriving Show+data X = X deriving (Show)
+ tests/examples/DerivingStrategies.hs view
@@ -0,0 +1,18 @@+{-# LANGUAGE DeriveAnyClass #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE StandaloneDeriving #-}+module DerivingStrategies where++class C a+class D a++newtype Foo a = MkFoo a+  deriving ()+  deriving stock (Eq, Ord)+  deriving newtype Show+  deriving anyclass C++deriving stock instance Read a => Read (Foo a)+deriving newtype instance Num a => Num (Foo a)+deriving anyclass instance D (Foo a)
+ tests/examples/DerivingStrategies.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/DerivingStrategies.hs.parser.golden view
@@ -0,0 +1,849 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan =+            SrcSpan "tests/examples/DerivingStrategies.hs" 1 1 19 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/DerivingStrategies.hs" 1 1 1 1+            , SrcSpan "tests/examples/DerivingStrategies.hs" 2 1 2 1+            , SrcSpan "tests/examples/DerivingStrategies.hs" 3 1 3 1+            , SrcSpan "tests/examples/DerivingStrategies.hs" 4 1 4 1+            , SrcSpan "tests/examples/DerivingStrategies.hs" 5 1 5 1+            , SrcSpan "tests/examples/DerivingStrategies.hs" 5 1 5 1+            , SrcSpan "tests/examples/DerivingStrategies.hs" 7 1 7 1+            , SrcSpan "tests/examples/DerivingStrategies.hs" 8 1 8 1+            , SrcSpan "tests/examples/DerivingStrategies.hs" 10 1 10 1+            , SrcSpan "tests/examples/DerivingStrategies.hs" 16 1 16 1+            , SrcSpan "tests/examples/DerivingStrategies.hs" 17 1 17 1+            , SrcSpan "tests/examples/DerivingStrategies.hs" 18 1 18 1+            , SrcSpan "tests/examples/DerivingStrategies.hs" 19 1 19 1+            , SrcSpan "tests/examples/DerivingStrategies.hs" 19 1 19 1+            ]+        }+      (Just+         (ModuleHead+            SrcSpanInfo+              { srcInfoSpan =+                  SrcSpan "tests/examples/DerivingStrategies.hs" 5 1 5 32+              , srcInfoPoints =+                  [ SrcSpan "tests/examples/DerivingStrategies.hs" 5 1 5 7+                  , SrcSpan "tests/examples/DerivingStrategies.hs" 5 27 5 32+                  ]+              }+            (ModuleName+               SrcSpanInfo+                 { srcInfoSpan =+                     SrcSpan "tests/examples/DerivingStrategies.hs" 5 8 5 26+                 , srcInfoPoints = []+                 }+               "DerivingStrategies")+            Nothing+            Nothing))+      [ LanguagePragma+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingStrategies.hs" 1 1 1 32+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingStrategies.hs" 1 1 1 13+                , SrcSpan "tests/examples/DerivingStrategies.hs" 1 29 1 32+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingStrategies.hs" 1 14 1 28+                , srcInfoPoints = []+                }+              "DeriveAnyClass"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingStrategies.hs" 2 1 2 36+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingStrategies.hs" 2 1 2 13+                , SrcSpan "tests/examples/DerivingStrategies.hs" 2 33 2 36+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingStrategies.hs" 2 14 2 32+                , srcInfoPoints = []+                }+              "DerivingStrategies"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingStrategies.hs" 3 1 3 44+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingStrategies.hs" 3 1 3 13+                , SrcSpan "tests/examples/DerivingStrategies.hs" 3 41 3 44+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingStrategies.hs" 3 14 3 40+                , srcInfoPoints = []+                }+              "GeneralizedNewtypeDeriving"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingStrategies.hs" 4 1 4 36+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingStrategies.hs" 4 1 4 13+                , SrcSpan "tests/examples/DerivingStrategies.hs" 4 33 4 36+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingStrategies.hs" 4 14 4 32+                , srcInfoPoints = []+                }+              "StandaloneDeriving"+          ]+      ]+      []+      [ ClassDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingStrategies.hs" 7 1 7 10+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingStrategies.hs" 7 1 7 6 ]+            }+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingStrategies.hs" 7 7 7 10+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingStrategies.hs" 7 7 7 8+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingStrategies.hs" 7 7 7 8+                     , srcInfoPoints = []+                     }+                   "C"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingStrategies.hs" 7 9 7 10+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingStrategies.hs" 7 9 7 10+                     , srcInfoPoints = []+                     }+                   "a")))+          []+          Nothing+      , ClassDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingStrategies.hs" 8 1 8 10+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingStrategies.hs" 8 1 8 6 ]+            }+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingStrategies.hs" 8 7 8 10+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingStrategies.hs" 8 7 8 8+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingStrategies.hs" 8 7 8 8+                     , srcInfoPoints = []+                     }+                   "D"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingStrategies.hs" 8 9 8 10+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingStrategies.hs" 8 9 8 10+                     , srcInfoPoints = []+                     }+                   "a")))+          []+          Nothing+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingStrategies.hs" 10 1 14 22+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingStrategies.hs" 10 15 10 16 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingStrategies.hs" 10 1 10 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingStrategies.hs" 10 9 10 14+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingStrategies.hs" 10 9 10 12+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingStrategies.hs" 10 9 10 12+                     , srcInfoPoints = []+                     }+                   "Foo"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingStrategies.hs" 10 13 10 14+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingStrategies.hs" 10 13 10 14+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingStrategies.hs" 10 17 10 24+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingStrategies.hs" 10 17 10 24+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingStrategies.hs" 10 17 10 22+                      , srcInfoPoints = []+                      }+                    "MkFoo")+                 [ TyVar+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingStrategies.hs" 10 23 10 24+                       , srcInfoPoints = []+                       }+                     (Ident+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingStrategies.hs" 10 23 10 24+                          , srcInfoPoints = []+                          }+                        "a")+                 ])+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingStrategies.hs" 11 3 11 14+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingStrategies.hs" 11 3 11 11+                    , SrcSpan "tests/examples/DerivingStrategies.hs" 11 12 11 13+                    , SrcSpan "tests/examples/DerivingStrategies.hs" 11 13 11 14+                    ]+                }+              Nothing+              []+          , Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingStrategies.hs" 12 3 12 27+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingStrategies.hs" 12 3 12 11+                    , SrcSpan "tests/examples/DerivingStrategies.hs" 12 18 12 19+                    , SrcSpan "tests/examples/DerivingStrategies.hs" 12 21 12 22+                    , SrcSpan "tests/examples/DerivingStrategies.hs" 12 26 12 27+                    ]+                }+              (Just+                 (DerivStock+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingStrategies.hs" 12 12 12 17+                      , srcInfoPoints = []+                      }))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingStrategies.hs" 12 19 12 21+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingStrategies.hs" 12 19 12 21+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingStrategies.hs" 12 19 12 21+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingStrategies.hs" 12 19 12 21+                             , srcInfoPoints = []+                             }+                           "Eq")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingStrategies.hs" 12 23 12 26+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingStrategies.hs" 12 23 12 26+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingStrategies.hs" 12 23 12 26+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingStrategies.hs" 12 23 12 26+                             , srcInfoPoints = []+                             }+                           "Ord")))+              ]+          , Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingStrategies.hs" 13 3 13 24+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingStrategies.hs" 13 3 13 11 ]+                }+              (Just+                 (DerivNewtype+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingStrategies.hs" 13 12 13 19+                      , srcInfoPoints = []+                      }))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingStrategies.hs" 13 20 13 24+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingStrategies.hs" 13 20 13 24+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingStrategies.hs" 13 20 13 24+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingStrategies.hs" 13 20 13 24+                             , srcInfoPoints = []+                             }+                           "Show")))+              ]+          , Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingStrategies.hs" 14 3 14 22+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingStrategies.hs" 14 3 14 11 ]+                }+              (Just+                 (DerivAnyclass+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingStrategies.hs" 14 12 14 20+                      , srcInfoPoints = []+                      }))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingStrategies.hs" 14 21 14 22+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingStrategies.hs" 14 21 14 22+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingStrategies.hs" 14 21 14 22+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingStrategies.hs" 14 21 14 22+                             , srcInfoPoints = []+                             }+                           "C")))+              ]+          ]+      , DerivDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingStrategies.hs" 16 1 16 47+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingStrategies.hs" 16 1 16 9+                , SrcSpan "tests/examples/DerivingStrategies.hs" 16 16 16 24+                ]+            }+          (Just+             (DerivStock+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingStrategies.hs" 16 10 16 15+                  , srcInfoPoints = []+                  }))+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingStrategies.hs" 16 25 16 47+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxSingle+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingStrategies.hs" 16 25 16 34+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingStrategies.hs" 16 32 16 34 ]+                     }+                   (TypeA+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingStrategies.hs" 16 25 16 34+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DerivingStrategies.hs" 16 32 16 34 ]+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingStrategies.hs" 16 25 16 34+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingStrategies.hs" 16 32 16 34 ]+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingStrategies.hs" 16 25 16 34+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/DerivingStrategies.hs" 16 32 16 34 ]+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingStrategies.hs" 16 25 16 29+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingStrategies.hs" 16 25 16 29+                                    , srcInfoPoints = []+                                    }+                                  "Read")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingStrategies.hs" 16 30 16 31+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingStrategies.hs" 16 30 16 31+                                 , srcInfoPoints = []+                                 }+                               "a"))))))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingStrategies.hs" 16 35 16 47+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingStrategies.hs" 16 35 16 39+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingStrategies.hs" 16 35 16 39+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingStrategies.hs" 16 35 16 39+                           , srcInfoPoints = []+                           }+                         "Read")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingStrategies.hs" 16 40 16 47+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingStrategies.hs" 16 40 16 41+                         , SrcSpan "tests/examples/DerivingStrategies.hs" 16 46 16 47+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingStrategies.hs" 16 41 16 46+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingStrategies.hs" 16 41 16 44+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingStrategies.hs" 16 41 16 44+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingStrategies.hs" 16 41 16 44+                                 , srcInfoPoints = []+                                 }+                               "Foo")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingStrategies.hs" 16 45 16 46+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingStrategies.hs" 16 45 16 46+                              , srcInfoPoints = []+                              }+                            "a"))))))+      , DerivDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingStrategies.hs" 17 1 17 47+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingStrategies.hs" 17 1 17 9+                , SrcSpan "tests/examples/DerivingStrategies.hs" 17 18 17 26+                ]+            }+          (Just+             (DerivNewtype+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingStrategies.hs" 17 10 17 17+                  , srcInfoPoints = []+                  }))+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingStrategies.hs" 17 27 17 47+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxSingle+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingStrategies.hs" 17 27 17 35+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingStrategies.hs" 17 33 17 35 ]+                     }+                   (TypeA+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingStrategies.hs" 17 27 17 35+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DerivingStrategies.hs" 17 33 17 35 ]+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingStrategies.hs" 17 27 17 35+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingStrategies.hs" 17 33 17 35 ]+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingStrategies.hs" 17 27 17 35+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/DerivingStrategies.hs" 17 33 17 35 ]+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingStrategies.hs" 17 27 17 30+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingStrategies.hs" 17 27 17 30+                                    , srcInfoPoints = []+                                    }+                                  "Num")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingStrategies.hs" 17 31 17 32+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingStrategies.hs" 17 31 17 32+                                 , srcInfoPoints = []+                                 }+                               "a"))))))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingStrategies.hs" 17 36 17 47+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingStrategies.hs" 17 36 17 39+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingStrategies.hs" 17 36 17 39+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingStrategies.hs" 17 36 17 39+                           , srcInfoPoints = []+                           }+                         "Num")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingStrategies.hs" 17 40 17 47+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingStrategies.hs" 17 40 17 41+                         , SrcSpan "tests/examples/DerivingStrategies.hs" 17 46 17 47+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingStrategies.hs" 17 41 17 46+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingStrategies.hs" 17 41 17 44+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingStrategies.hs" 17 41 17 44+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingStrategies.hs" 17 41 17 44+                                 , srcInfoPoints = []+                                 }+                               "Foo")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingStrategies.hs" 17 45 17 46+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingStrategies.hs" 17 45 17 46+                              , srcInfoPoints = []+                              }+                            "a"))))))+      , DerivDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingStrategies.hs" 18 1 18 37+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingStrategies.hs" 18 1 18 9+                , SrcSpan "tests/examples/DerivingStrategies.hs" 18 19 18 27+                ]+            }+          (Just+             (DerivAnyclass+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingStrategies.hs" 18 10 18 18+                  , srcInfoPoints = []+                  }))+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingStrategies.hs" 18 28 18 37+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingStrategies.hs" 18 28 18 37+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingStrategies.hs" 18 28 18 29+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingStrategies.hs" 18 28 18 29+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingStrategies.hs" 18 28 18 29+                           , srcInfoPoints = []+                           }+                         "D")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingStrategies.hs" 18 30 18 37+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingStrategies.hs" 18 30 18 31+                         , SrcSpan "tests/examples/DerivingStrategies.hs" 18 36 18 37+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingStrategies.hs" 18 31 18 36+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingStrategies.hs" 18 31 18 34+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingStrategies.hs" 18 31 18 34+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingStrategies.hs" 18 31 18 34+                                 , srcInfoPoints = []+                                 }+                               "Foo")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingStrategies.hs" 18 35 18 36+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingStrategies.hs" 18 35 18 36+                              , srcInfoPoints = []+                              }+                            "a"))))))+      ]+  , []+  )
+ tests/examples/DerivingStrategies.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/DerivingStrategies.hs.prettyprinter.golden view
@@ -0,0 +1,21 @@+{-# LANGUAGE DeriveAnyClass #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE StandaloneDeriving #-}+module DerivingStrategies where++class C a++class D a++newtype Foo a = MkFoo a+                  deriving ()+                  deriving stock (Eq, Ord)+                  deriving newtype Show+                  deriving anyclass C++deriving stock instance Read a => Read (Foo a)++deriving newtype instance Num a => Num (Foo a)++deriving anyclass instance D (Foo a)
+ tests/examples/DerivingVia.hs view
@@ -0,0 +1,459 @@+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DerivingVia #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE InstanceSigs #-}+{-# LANGUAGE TypeInType #-}+{-# LANGUAGE GADTs #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE MultiWayIf #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE UndecidableInstances #-}+module DerivingVia where++import Data.Void+import Data.Complex+import Data.Functor.Const+import Data.Functor.Identity+import Data.Ratio+import Control.Monad.Reader+import Control.Monad.State+import Control.Monad.Writer+import Control.Applicative hiding (WrappedMonad(..))++import Data.Bifunctor+import Data.Monoid+import Data.Kind++type f ~> g = forall xx. f xx -> g xx++-----+-- Simple example+-----++data Foo a = MkFoo a a+  deriving Show+       via (Identity (Foo a))++-----+-- Eta reduction at work+-----++newtype Flip p a b = Flip { runFlip :: p b a }++instance Bifunctor p => Bifunctor (Flip p) where+  bimap f g = Flip . bimap g f . runFlip++instance Bifunctor p => Functor (Flip p a) where+  fmap f = Flip . first f . runFlip++newtype Bar a = MkBar (Either a Int)+  deriving Functor+       via (Flip Either Int)++-----+-- Monad transformers+-----++type MTrans = (Type -> Type) -> (Type -> Type)++-- From `constraints'+data Dict c where+  Dict :: c => Dict c++newtype a :- b = Sub (a => Dict b)++infixl 1 \\+(\\) :: a => (b => r) -> (a :- b) -> r+r \\ Sub Dict = r++-- With `-XQuantifiedConstraints' this just becomes+--+--    type Lifting cls  trans = forall mm. cls mm => cls (trans mm)+--+--    type LiftingMonad trans = Lifting Monad trans+--+class LiftingMonad (trans :: MTrans) where+  proof :: Monad m :- Monad (trans m)++instance LiftingMonad (StateT s :: MTrans) where+  proof :: Monad m :- Monad (StateT s m)+  proof = Sub Dict++instance Monoid w => LiftingMonad (WriterT w :: MTrans) where+  proof :: Monad m :- Monad (WriterT w m)+  proof = Sub Dict++instance (LiftingMonad trans, LiftingMonad trans') => LiftingMonad (ComposeT trans trans' :: MTrans) where+  proof :: forall m. Monad m :- Monad (ComposeT trans trans' m)+  proof = Sub (Dict \\ proof @trans @(trans' m) \\ proof @trans' @m)++newtype Stack :: MTrans where+  Stack :: ReaderT Int (StateT Bool (WriterT String m)) a -> Stack m a+  deriving newtype+    ( Functor+    , Applicative+    , Monad+    , MonadReader Int+    , MonadState Bool+    , MonadWriter String+    )+  deriving (MonadTrans, MFunctor)+       via (ReaderT Int `ComposeT` StateT Bool `ComposeT` WriterT String)++class MFunctor (trans :: MTrans) where+  hoist :: Monad m => (m ~> m') -> (trans m ~> trans m')++instance MFunctor (ReaderT r :: MTrans) where+  hoist :: Monad m => (m ~> m') -> (ReaderT r m ~> ReaderT r m')+  hoist nat = ReaderT . fmap nat . runReaderT++instance MFunctor (StateT s :: MTrans) where+  hoist :: Monad m => (m ~> m') -> (StateT s m ~> StateT s m')+  hoist nat = StateT . fmap nat . runStateT++instance MFunctor (WriterT w :: MTrans) where+  hoist :: Monad m => (m ~> m') -> (WriterT w m ~> WriterT w m')+  hoist nat = WriterT . nat . runWriterT++infixr 9 `ComposeT`+newtype ComposeT :: MTrans -> MTrans -> MTrans where+  ComposeT :: { getComposeT :: f (g m) a } -> ComposeT f g m a+  deriving newtype (Functor, Applicative, Monad)++instance (MonadTrans f, MonadTrans g, LiftingMonad g) => MonadTrans (ComposeT f g) where+  lift :: forall m. Monad m => m ~> ComposeT f g m+  lift = ComposeT . lift . lift+    \\ proof @g @m++instance (MFunctor f, MFunctor g, LiftingMonad g) => MFunctor (ComposeT f g) where+  hoist :: forall m m'. Monad m => (m ~> m') -> (ComposeT f g m ~> ComposeT f g m')+  hoist f = ComposeT . hoist (hoist f) . getComposeT+    \\ proof @g @m++-----+-- Using tuples in a `via` type+-----++newtype X a = X (a, a)+  deriving (Semigroup, Monoid)+       via (Product a, Sum a)++  deriving (Show, Eq)+       via (a, a)++-----+-- Abstract data types+-----++class C f where+  c :: f a -> Int++newtype X2 f a = X2 (f a)++instance C (X2 f) where+  c = const 0++deriving via (X2 IO) instance C IO++----+-- Testing parser+----++newtype P0 a = P0 a             deriving Show via a+newtype P1 a = P1 [a]           deriving Show via [a]+newtype P2 a = P2 (a, a)        deriving Show via (a, a)+newtype P3 a = P3 (Maybe a)     deriving Show via (First a)+newtype P4 a = P4 (Maybe a)     deriving Show via (First $ a)+newtype P5 a = P5 a             deriving Show via (Identity $ a)+newtype P6 a = P6 [a]           deriving Show via ([] $ a)+newtype P7 a = P7 (a, a)        deriving Show via (Identity $ (a, a))+newtype P8 a = P8 (Either () a) deriving Functor via (($) (Either ()))++newtype f $ a = APP (f a) deriving newtype Show deriving newtype Functor++----+-- From Baldur's notes+----++----+-- 1+----+newtype WrapApplicative f a = WrappedApplicative (f a)+  deriving (Functor, Applicative)++instance (Applicative f, Num a) => Num (WrapApplicative f a) where+  (+)         = liftA2 (+)+  (*)         = liftA2 (*)+  negate      = fmap negate+  fromInteger = pure . fromInteger+  abs         = fmap abs+  signum      = fmap signum++instance (Applicative f, Fractional a) => Fractional (WrapApplicative f a) where+  recip        = fmap recip+  fromRational = pure . fromRational++instance (Applicative f, Floating a) => Floating (WrapApplicative f a) where+  pi    = pure pi+  sqrt  = fmap sqrt+  exp   = fmap exp+  log   = fmap log+  sin   = fmap sin+  cos   = fmap cos+  asin  = fmap asin+  atan  = fmap atan+  acos  = fmap acos+  sinh  = fmap sinh+  cosh  = fmap cosh+  asinh = fmap asinh+  atanh = fmap atanh+  acosh = fmap acosh++instance (Applicative f, Semigroup s) => Semigroup (WrapApplicative f s) where+  (<>) = liftA2 (<>)++instance (Applicative f, Monoid m) => Monoid (WrapApplicative f m) where+  mempty = pure mempty++----+-- 2+----+class Pointed p where+  pointed :: a -> p a++newtype WrapMonad f a = WrappedMonad (f a)+  deriving newtype (Pointed, Monad)++instance (Monad m, Pointed m) => Functor (WrapMonad m) where+  fmap = liftM++instance (Monad m, Pointed m) => Applicative (WrapMonad m) where+  pure  = pointed+  (<*>) = ap++-- data+data Sorted a = Sorted a a a+  deriving (Functor, Applicative)+    via (WrapMonad Sorted)+  deriving (Num, Fractional, Floating, Semigroup, Monoid)+    via (WrapApplicative Sorted a)+++instance Monad Sorted where+  (>>=) :: Sorted a -> (a -> Sorted b) -> Sorted b+  Sorted a b c >>= f = Sorted a' b' c' where+    Sorted a' _  _  = f a+    Sorted _  b' _  = f b+    Sorted _  _  c' = f c++instance Pointed Sorted where+  pointed :: a -> Sorted a+  pointed a = Sorted a a a++----+-- 3+----+class IsZero a where+  isZero :: a -> Bool++newtype WrappedNumEq  a = WrappedNumEq a+newtype WrappedShow   a = WrappedShow  a+newtype WrappedNumEq2 a = WrappedNumEq2 a++instance (Num a, Eq a) => IsZero (WrappedNumEq a) where+  isZero :: WrappedNumEq a -> Bool+  isZero (WrappedNumEq a) = 0 == a++instance Show a => IsZero (WrappedShow a) where+  isZero :: WrappedShow a -> Bool+  isZero (WrappedShow a) = "0" == show a++instance (Num a, Eq a) => IsZero (WrappedNumEq2 a) where+  isZero :: WrappedNumEq2 a -> Bool+  isZero (WrappedNumEq2 a) = a + a == a++newtype INT = INT Int+  deriving newtype Show+  deriving IsZero via (WrappedNumEq Int)++newtype VOID = VOID Void deriving IsZero via (WrappedShow Void)++----+-- 4+----+class Bifunctor p => Biapplicative p where+  bipure :: a -> b -> p a b++  biliftA2+    :: (a  -> b  -> c)+    -> (a' -> b' -> c')+    -> p a a'+    -> p b b'+    -> p c c'++instance Biapplicative (,) where+  bipure = (,)++  biliftA2 f f' (a, a') (b, b') =+    (f a b, f' a' b')++newtype WrapBiapp p a b = WrapBiap (p a b)+  deriving newtype (Bifunctor, Biapplicative, Eq)++instance (Biapplicative p, Num a, Num b) => Num (WrapBiapp p a b) where+  (+) = biliftA2 (+) (+)+  (-) = biliftA2 (*) (*)+  (*) = biliftA2 (*) (*)+  negate = bimap negate negate+  abs = bimap abs abs+  signum = bimap signum signum+  fromInteger n = fromInteger n `bipure` fromInteger n++newtype INT2 = INT2 (Int, Int)+  deriving IsZero via (WrappedNumEq2 (WrapBiapp (,) Int Int))++----+-- 5+----+class Monoid a => MonoidNull a where+  null :: a -> Bool++newtype WrpMonNull a = WRM a deriving (Eq, Semigroup, Monoid)++instance (Eq a, Monoid a) => MonoidNull (WrpMonNull a) where+  null :: WrpMonNull a -> Bool+  null = (== mempty)++deriving via (WrpMonNull Any) instance MonoidNull Any+deriving via ()               instance MonoidNull ()+deriving via Ordering         instance MonoidNull Ordering++----+-- 6+----+-- https://github.com/mikeizbicki/subhask/blob/f53fd8f465747681c88276c7dabe3646fbdf7d50/src/SubHask/Algebra.hs#L635++class Lattice a where+  sup   :: a -> a -> a+  (.>=) :: a -> a -> Bool+  (.>)  :: a -> a -> Bool++newtype WrapOrd a = WrappedOrd a+  deriving newtype (Eq, Ord)++instance Ord a => Lattice (WrapOrd a) where+  sup   = max+  (.>=) = (>=)+  (.>)  = (>)++deriving via [a]    instance Ord a          => Lattice [a]+deriving via (a, b) instance (Ord a, Ord b) => Lattice (a, b)+--mkLattice_(Bool)+deriving via Bool instance Lattice Bool+--mkLattice_(Char)+deriving via Char instance Lattice Char+--mkLattice_(Int)+deriving via Int instance Lattice Int+--mkLattice_(Integer)+deriving via Integer instance Lattice Integer+--mkLattice_(Float)+deriving via Float instance Lattice Float+--mkLattice_(Double)+deriving via Double instance Lattice Double+--mkLattice_(Rational)+deriving via Rational instance Lattice Rational++----+-- 7+----+-- https://hackage.haskell.org/package/linear-1.20.7/docs/src/Linear-Affine.html++class Functor f => Additive f where+  zero :: Num a => f a+  (^+^) :: Num a => f a -> f a -> f a+  (^+^) = liftU2 (+)+  (^-^) :: Num a => f a -> f a -> f a+  x ^-^ y = x ^+^ fmap negate y+  liftU2 :: (a -> a -> a) -> f a -> f a -> f a++instance Additive [] where+  zero = []+  liftU2 f = go where+    go (x:xs) (y:ys) = f x y : go xs ys+    go [] ys = ys+    go xs [] = xs++instance Additive Maybe where+  zero = Nothing+  liftU2 f (Just a) (Just b) = Just (f a b)+  liftU2 _ Nothing ys = ys+  liftU2 _ xs Nothing = xs++instance Applicative f => Additive (WrapApplicative f) where+  zero   = pure 0+  liftU2 = liftA2++deriving via (WrapApplicative ((->) a)) instance Additive ((->) a)+deriving via (WrapApplicative Complex)  instance Additive Complex+deriving via (WrapApplicative Identity) instance Additive Identity++instance Additive ZipList where+  zero = ZipList []+  liftU2 f (ZipList xs) (ZipList ys) = ZipList (liftU2 f xs ys)++class Additive (Diff p) => Affine p where+  type Diff p :: Type -> Type++  (.-.) :: Num a => p a -> p a -> Diff p a+  (.+^) :: Num a => p a -> Diff p a -> p a+  (.-^) :: Num a => p a -> Diff p a -> p a+  p .-^ v = p .+^ fmap negate v++-- #define ADDITIVEC(CTX,T) instance CTX => Affine T where type Diff T = T ; \+--   (.-.) = (^-^) ; {-# INLINE (.-.) #-} ; (.+^) = (^+^) ; {-# INLINE (.+^) #-} ; \+--   (.-^) = (^-^) ; {-# INLINE (.-^) #-}+-- #define ADDITIVE(T) ADDITIVEC((), T)+newtype WrapAdditive f a = WrappedAdditive (f a)++instance Additive f => Affine (WrapAdditive f) where+  type Diff (WrapAdditive f) = f++  WrappedAdditive a .-. WrappedAdditive b = a ^-^ b+  WrappedAdditive a .+^ b = WrappedAdditive (a ^+^ b)+  WrappedAdditive a .-^ b = WrappedAdditive (a ^-^ b)++-- ADDITIVE(((->) a))+deriving via (WrapAdditive ((->) a)) instance Affine ((->) a)+-- ADDITIVE([])+deriving via (WrapAdditive [])       instance Affine []+-- ADDITIVE(Complex)+deriving via (WrapAdditive Complex)  instance Affine Complex+-- ADDITIVE(Maybe)+deriving via (WrapAdditive Maybe)    instance Affine Maybe+-- ADDITIVE(ZipList)+deriving via (WrapAdditive ZipList)  instance Affine ZipList+-- ADDITIVE(Identity)+deriving via (WrapAdditive Identity) instance Affine Identity++----+-- 8+----++class C2 a b c where+  c2 :: a -> b -> c++instance C2 a b (Const a b) where+  c2 x _ = Const x++newtype Fweemp a = Fweemp a+  deriving (C2 a b)+       via (Const a (b :: Type))
+ tests/examples/DerivingVia.hs.exactprinter.golden view
@@ -0,0 +1,460 @@+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DerivingVia #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE InstanceSigs #-}+{-# LANGUAGE TypeInType #-}+{-# LANGUAGE GADTs #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE MultiWayIf #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE UndecidableInstances #-}+module DerivingVia where++import Data.Void+import Data.Complex+import Data.Functor.Const+import Data.Functor.Identity+import Data.Ratio+import Control.Monad.Reader+import Control.Monad.State+import Control.Monad.Writer+import Control.Applicative hiding (WrappedMonad(..))++import Data.Bifunctor+import Data.Monoid+import Data.Kind++type f ~> g = forall xx. f xx -> g xx++-----+-- Simple example+-----++data Foo a = MkFoo a a+  deriving+       via( Identity (Foo a))Show++-----+-- Eta reduction at work+-----++newtype Flip p a b = Flip { runFlip :: p b a }++instance Bifunctor p => Bifunctor (Flip p) where+  bimap f g = Flip . bimap g f . runFlip++instance Bifunctor p => Functor (Flip p a) where+  fmap f = Flip . first f . runFlip++newtype Bar a = MkBar (Either a Int)+  deriving+       via( Flip Either Int)Functor++-----+-- Monad transformers+-----++type MTrans = (Type -> Type) -> (Type -> Type)++-- From `constraints'+data Dict c where+  Dict :: c => Dict c++newtype a :- b = Sub (a => Dict b)++infixl 1 \\+(\\) :: a => (b => r) -> (a :- b) -> r+r \\ Sub Dict = r++-- With `-XQuantifiedConstraints' this just becomes+--+--    type Lifting cls  trans = forall mm. cls mm => cls (trans mm)+--+--    type LiftingMonad trans = Lifting Monad trans+--+class LiftingMonad (trans :: MTrans) where+  proof :: Monad m :- Monad (trans m)++instance LiftingMonad (StateT s :: MTrans) where+  proof :: Monad m :- Monad (StateT s m)+  proof = Sub Dict++instance Monoid w => LiftingMonad (WriterT w :: MTrans) where+  proof :: Monad m :- Monad (WriterT w m)+  proof = Sub Dict++instance (LiftingMonad trans, LiftingMonad trans') => LiftingMonad (ComposeT trans trans' :: MTrans) where+  proof :: forall m. Monad m :- Monad (ComposeT trans trans' m)+  proof = Sub (Dict \\ proof @trans @(trans' m) \\ proof @trans' @m)++newtype Stack :: MTrans where+  Stack :: ReaderT Int (StateT Bool (WriterT String m)) a -> Stack m a+  deriving newtype+    ( Functor+    , Applicative+    , Monad+    , MonadReader Int+    , MonadState Bool+    , MonadWriter String+    )+  deriving+       via( ReaderT Int `ComposeT` StateT Bool `ComposeT` WriterT String)(MonadTrans,MFunctor)++class MFunctor (trans :: MTrans) where+  hoist :: Monad m => (m ~> m') -> (trans m ~> trans m')++instance MFunctor (ReaderT r :: MTrans) where+  hoist :: Monad m => (m ~> m') -> (ReaderT r m ~> ReaderT r m')+  hoist nat = ReaderT . fmap nat . runReaderT++instance MFunctor (StateT s :: MTrans) where+  hoist :: Monad m => (m ~> m') -> (StateT s m ~> StateT s m')+  hoist nat = StateT . fmap nat . runStateT++instance MFunctor (WriterT w :: MTrans) where+  hoist :: Monad m => (m ~> m') -> (WriterT w m ~> WriterT w m')+  hoist nat = WriterT . nat . runWriterT++infixr 9 `ComposeT`+newtype ComposeT :: MTrans -> MTrans -> MTrans where+  ComposeT :: { getComposeT :: f (g m) a } -> ComposeT f g m a+  deriving newtype (Functor, Applicative, Monad)++instance (MonadTrans f, MonadTrans g, LiftingMonad g) => MonadTrans (ComposeT f g) where+  lift :: forall m. Monad m => m ~> ComposeT f g m+  lift = ComposeT . lift . lift+    \\ proof @g @m++instance (MFunctor f, MFunctor g, LiftingMonad g) => MFunctor (ComposeT f g) where+  hoist :: forall m m'. Monad m => (m ~> m') -> (ComposeT f g m ~> ComposeT f g m')+  hoist f = ComposeT . hoist (hoist f) . getComposeT+    \\ proof @g @m++-----+-- Using tuples in a `via` type+-----++newtype X a = X (a, a)+  deriving+       via (Product a, Sum a)(Semigroup,Monoid)++  deriving+       via (a, a)(Show,Eq)++-----+-- Abstract data types+-----++class C f where+  c :: f a -> Int++newtype X2 f a = X2 (f a)++instance C (X2 f) where+  c = const 0++deriving via( X2 IO) instance C IO++----+-- Testing parser+----++newtype P0 a = P0 a             deriving      viaaShow+newtype P1 a = P1 [a]           deriving      via[ a]Show+newtype P2 a = P2 (a, a)        deriving      via (a, a)Show+newtype P3 a = P3 (Maybe a)     deriving      via( First a)Show+newtype P4 a = P4 (Maybe a)     deriving      via( First $ a)Show+newtype P5 a = P5 a             deriving      via( Identity $ a)Show+newtype P6 a = P6 [a]           deriving      via( [] $ a)Show+newtype P7 a = P7 (a, a)        deriving      via( Identity $ (a, a))Show+newtype P8 a = P8 (Either () a) deriving         via( ($) (Either ()))Functor++newtype f $ a = APP (f a) deriving newtype Show deriving newtype Functor++----+-- From Baldur's notes+----++----+-- 1+----+newtype WrapApplicative f a = WrappedApplicative (f a)+  deriving (Functor, Applicative)++instance (Applicative f, Num a) => Num (WrapApplicative f a) where+  (+)         = liftA2 (+)+  (*)         = liftA2 (*)+  negate      = fmap negate+  fromInteger = pure . fromInteger+  abs         = fmap abs+  signum      = fmap signum++instance (Applicative f, Fractional a) => Fractional (WrapApplicative f a) where+  recip        = fmap recip+  fromRational = pure . fromRational++instance (Applicative f, Floating a) => Floating (WrapApplicative f a) where+  pi    = pure pi+  sqrt  = fmap sqrt+  exp   = fmap exp+  log   = fmap log+  sin   = fmap sin+  cos   = fmap cos+  asin  = fmap asin+  atan  = fmap atan+  acos  = fmap acos+  sinh  = fmap sinh+  cosh  = fmap cosh+  asinh = fmap asinh+  atanh = fmap atanh+  acosh = fmap acosh++instance (Applicative f, Semigroup s) => Semigroup (WrapApplicative f s) where+  (<>) = liftA2 (<>)++instance (Applicative f, Monoid m) => Monoid (WrapApplicative f m) where+  mempty = pure mempty++----+-- 2+----+class Pointed p where+  pointed :: a -> p a++newtype WrapMonad f a = WrappedMonad (f a)+  deriving newtype (Pointed, Monad)++instance (Monad m, Pointed m) => Functor (WrapMonad m) where+  fmap = liftM++instance (Monad m, Pointed m) => Applicative (WrapMonad m) where+  pure  = pointed+  (<*>) = ap++-- data+data Sorted a = Sorted a a a+  deriving+    via( WrapMonad Sorted)(Functor,Applicative)+  deriving+    via( WrapApplicative Sorted a)(Num,Fractional,Floating,Semigroup,Monoid)+++instance Monad Sorted where+  (>>=) :: Sorted a -> (a -> Sorted b) -> Sorted b+  Sorted a b c >>= f = Sorted a' b' c' where+    Sorted a' _  _  = f a+    Sorted _  b' _  = f b+    Sorted _  _  c' = f c++instance Pointed Sorted where+  pointed :: a -> Sorted a+  pointed a = Sorted a a a++----+-- 3+----+class IsZero a where+  isZero :: a -> Bool++newtype WrappedNumEq  a = WrappedNumEq a+newtype WrappedShow   a = WrappedShow  a+newtype WrappedNumEq2 a = WrappedNumEq2 a++instance (Num a, Eq a) => IsZero (WrappedNumEq a) where+  isZero :: WrappedNumEq a -> Bool+  isZero (WrappedNumEq a) = 0 == a++instance Show a => IsZero (WrappedShow a) where+  isZero :: WrappedShow a -> Bool+  isZero (WrappedShow a) = "0" == show a++instance (Num a, Eq a) => IsZero (WrappedNumEq2 a) where+  isZero :: WrappedNumEq2 a -> Bool+  isZero (WrappedNumEq2 a) = a + a == a++newtype INT = INT Int+  deriving newtype Show+  deriving        via( WrappedNumEq Int)IsZero++newtype VOID = VOID Void deriving        via( WrappedShow Void)IsZero++----+-- 4+----+class Bifunctor p => Biapplicative p where+  bipure :: a -> b -> p a b++  biliftA2+    :: (a  -> b  -> c)+    -> (a' -> b' -> c')+    -> p a a'+    -> p b b'+    -> p c c'++instance Biapplicative (,) where+  bipure = (,)++  biliftA2 f f' (a, a') (b, b') =+    (f a b, f' a' b')++newtype WrapBiapp p a b = WrapBiap (p a b)+  deriving newtype (Bifunctor, Biapplicative, Eq)++instance (Biapplicative p, Num a, Num b) => Num (WrapBiapp p a b) where+  (+) = biliftA2 (+) (+)+  (-) = biliftA2 (*) (*)+  (*) = biliftA2 (*) (*)+  negate = bimap negate negate+  abs = bimap abs abs+  signum = bimap signum signum+  fromInteger n = fromInteger n `bipure` fromInteger n++newtype INT2 = INT2 (Int, Int)+  deriving        via( WrappedNumEq2 (WrapBiapp (,) Int Int))IsZero++----+-- 5+----+class Monoid a => MonoidNull a where+  null :: a -> Bool++newtype WrpMonNull a = WRM a deriving (Eq, Semigroup, Monoid)++instance (Eq a, Monoid a) => MonoidNull (WrpMonNull a) where+  null :: WrpMonNull a -> Bool+  null = (== mempty)++deriving via( WrpMonNull Any) instance MonoidNull Any+deriving via ()               instance MonoidNull ()+deriving viaOrdering          instance MonoidNull Ordering++----+-- 6+----+-- https://github.com/mikeizbicki/subhask/blob/f53fd8f465747681c88276c7dabe3646fbdf7d50/src/SubHask/Algebra.hs#L635++class Lattice a where+  sup   :: a -> a -> a+  (.>=) :: a -> a -> Bool+  (.>)  :: a -> a -> Bool++newtype WrapOrd a = WrappedOrd a+  deriving newtype (Eq, Ord)++instance Ord a => Lattice (WrapOrd a) where+  sup   = max+  (.>=) = (>=)+  (.>)  = (>)++deriving via[ a]    instance Ord a          => Lattice [a]+deriving via (a, b) instance (Ord a, Ord b) => Lattice (a, b)+--mkLattice_(Bool)+deriving viaBool  instance Lattice Bool+--mkLattice_(Char)+deriving viaChar  instance Lattice Char+--mkLattice_(Int)+deriving viaInt  instance Lattice Int+--mkLattice_(Integer)+deriving viaInteger  instance Lattice Integer+--mkLattice_(Float)+deriving viaFloat  instance Lattice Float+--mkLattice_(Double)+deriving viaDouble  instance Lattice Double+--mkLattice_(Rational)+deriving viaRational  instance Lattice Rational++----+-- 7+----+-- https://hackage.haskell.org/package/linear-1.20.7/docs/src/Linear-Affine.html++class Functor f => Additive f where+  zero :: Num a => f a+  (^+^) :: Num a => f a -> f a -> f a+  (^+^) = liftU2 (+)+  (^-^) :: Num a => f a -> f a -> f a+  x ^-^ y = x ^+^ fmap negate y+  liftU2 :: (a -> a -> a) -> f a -> f a -> f a++instance Additive [] where+  zero = []+  liftU2 f = go where+    go (x:xs) (y:ys) = f x y : go xs ys+    go [] ys = ys+    go xs [] = xs++instance Additive Maybe where+  zero = Nothing+  liftU2 f (Just a) (Just b) = Just (f a b)+  liftU2 _ Nothing ys = ys+  liftU2 _ xs Nothing = xs++instance Applicative f => Additive (WrapApplicative f) where+  zero   = pure 0+  liftU2 = liftA2++deriving via( WrapApplicative ((->) a)) instance Additive ((->) a)+deriving via( WrapApplicative Complex)  instance Additive Complex+deriving via( WrapApplicative Identity) instance Additive Identity++instance Additive ZipList where+  zero = ZipList []+  liftU2 f (ZipList xs) (ZipList ys) = ZipList (liftU2 f xs ys)++class Additive (Diff p) => Affine p where+  type Diff p :: Type -> Type++  (.-.) :: Num a => p a -> p a -> Diff p a+  (.+^) :: Num a => p a -> Diff p a -> p a+  (.-^) :: Num a => p a -> Diff p a -> p a+  p .-^ v = p .+^ fmap negate v++-- #define ADDITIVEC(CTX,T) instance CTX => Affine T where type Diff T = T ; \+--   (.-.) = (^-^) ; {-# INLINE (.-.) #-} ; (.+^) = (^+^) ; {-# INLINE (.+^) #-} ; \+--   (.-^) = (^-^) ; {-# INLINE (.-^) #-}+-- #define ADDITIVE(T) ADDITIVEC((), T)+newtype WrapAdditive f a = WrappedAdditive (f a)++instance Additive f => Affine (WrapAdditive f) where+  type Diff (WrapAdditive f) = f++  WrappedAdditive a .-. WrappedAdditive b = a ^-^ b+  WrappedAdditive a .+^ b = WrappedAdditive (a ^+^ b)+  WrappedAdditive a .-^ b = WrappedAdditive (a ^-^ b)++-- ADDITIVE(((->) a))+deriving via( WrapAdditive ((->) a)) instance Affine ((->) a)+-- ADDITIVE([])+deriving via( WrapAdditive [])       instance Affine []+-- ADDITIVE(Complex)+deriving via( WrapAdditive Complex)  instance Affine Complex+-- ADDITIVE(Maybe)+deriving via( WrapAdditive Maybe)    instance Affine Maybe+-- ADDITIVE(ZipList)+deriving via( WrapAdditive ZipList)  instance Affine ZipList+-- ADDITIVE(Identity)+deriving via( WrapAdditive Identity) instance Affine Identity++----+-- 8+----++class C2 a b c where+  c2 :: a -> b -> c++instance C2 a b (Const a b) where+  c2 x _ = Const x++newtype Fweemp a = Fweemp a+  deriving+       via( Const a (b :: Type))(C2ab)+
+ tests/examples/DerivingVia.hs.parser.golden view
@@ -0,0 +1,32882 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 1 1 460 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/DerivingVia.hs" 1 1 1 1+            , SrcSpan "tests/examples/DerivingVia.hs" 2 1 2 1+            , SrcSpan "tests/examples/DerivingVia.hs" 3 1 3 1+            , SrcSpan "tests/examples/DerivingVia.hs" 4 1 4 1+            , SrcSpan "tests/examples/DerivingVia.hs" 5 1 5 1+            , SrcSpan "tests/examples/DerivingVia.hs" 6 1 6 1+            , SrcSpan "tests/examples/DerivingVia.hs" 7 1 7 1+            , SrcSpan "tests/examples/DerivingVia.hs" 8 1 8 1+            , SrcSpan "tests/examples/DerivingVia.hs" 9 1 9 1+            , SrcSpan "tests/examples/DerivingVia.hs" 10 1 10 1+            , SrcSpan "tests/examples/DerivingVia.hs" 11 1 11 1+            , SrcSpan "tests/examples/DerivingVia.hs" 12 1 12 1+            , SrcSpan "tests/examples/DerivingVia.hs" 13 1 13 1+            , SrcSpan "tests/examples/DerivingVia.hs" 14 1 14 1+            , SrcSpan "tests/examples/DerivingVia.hs" 15 1 15 1+            , SrcSpan "tests/examples/DerivingVia.hs" 16 1 16 1+            , SrcSpan "tests/examples/DerivingVia.hs" 17 1 17 1+            , SrcSpan "tests/examples/DerivingVia.hs" 18 1 18 1+            , SrcSpan "tests/examples/DerivingVia.hs" 19 1 19 1+            , SrcSpan "tests/examples/DerivingVia.hs" 20 1 20 1+            , SrcSpan "tests/examples/DerivingVia.hs" 20 1 20 1+            , SrcSpan "tests/examples/DerivingVia.hs" 22 1 22 1+            , SrcSpan "tests/examples/DerivingVia.hs" 23 1 23 1+            , SrcSpan "tests/examples/DerivingVia.hs" 24 1 24 1+            , SrcSpan "tests/examples/DerivingVia.hs" 25 1 25 1+            , SrcSpan "tests/examples/DerivingVia.hs" 26 1 26 1+            , SrcSpan "tests/examples/DerivingVia.hs" 27 1 27 1+            , SrcSpan "tests/examples/DerivingVia.hs" 28 1 28 1+            , SrcSpan "tests/examples/DerivingVia.hs" 29 1 29 1+            , SrcSpan "tests/examples/DerivingVia.hs" 30 1 30 1+            , SrcSpan "tests/examples/DerivingVia.hs" 32 1 32 1+            , SrcSpan "tests/examples/DerivingVia.hs" 33 1 33 1+            , SrcSpan "tests/examples/DerivingVia.hs" 34 1 34 1+            , SrcSpan "tests/examples/DerivingVia.hs" 36 1 36 1+            , SrcSpan "tests/examples/DerivingVia.hs" 42 1 42 1+            , SrcSpan "tests/examples/DerivingVia.hs" 50 1 50 1+            , SrcSpan "tests/examples/DerivingVia.hs" 52 1 52 1+            , SrcSpan "tests/examples/DerivingVia.hs" 55 1 55 1+            , SrcSpan "tests/examples/DerivingVia.hs" 58 1 58 1+            , SrcSpan "tests/examples/DerivingVia.hs" 66 1 66 1+            , SrcSpan "tests/examples/DerivingVia.hs" 69 1 69 1+            , SrcSpan "tests/examples/DerivingVia.hs" 72 1 72 1+            , SrcSpan "tests/examples/DerivingVia.hs" 74 1 74 1+            , SrcSpan "tests/examples/DerivingVia.hs" 75 1 75 1+            , SrcSpan "tests/examples/DerivingVia.hs" 76 1 76 1+            , SrcSpan "tests/examples/DerivingVia.hs" 84 1 84 1+            , SrcSpan "tests/examples/DerivingVia.hs" 87 1 87 1+            , SrcSpan "tests/examples/DerivingVia.hs" 91 1 91 1+            , SrcSpan "tests/examples/DerivingVia.hs" 95 1 95 1+            , SrcSpan "tests/examples/DerivingVia.hs" 99 1 99 1+            , SrcSpan "tests/examples/DerivingVia.hs" 112 1 112 1+            , SrcSpan "tests/examples/DerivingVia.hs" 115 1 115 1+            , SrcSpan "tests/examples/DerivingVia.hs" 119 1 119 1+            , SrcSpan "tests/examples/DerivingVia.hs" 123 1 123 1+            , SrcSpan "tests/examples/DerivingVia.hs" 127 1 127 1+            , SrcSpan "tests/examples/DerivingVia.hs" 128 1 128 1+            , SrcSpan "tests/examples/DerivingVia.hs" 132 1 132 1+            , SrcSpan "tests/examples/DerivingVia.hs" 137 1 137 1+            , SrcSpan "tests/examples/DerivingVia.hs" 146 1 146 1+            , SrcSpan "tests/examples/DerivingVia.hs" 157 1 157 1+            , SrcSpan "tests/examples/DerivingVia.hs" 160 1 160 1+            , SrcSpan "tests/examples/DerivingVia.hs" 162 1 162 1+            , SrcSpan "tests/examples/DerivingVia.hs" 165 1 165 1+            , SrcSpan "tests/examples/DerivingVia.hs" 171 1 171 1+            , SrcSpan "tests/examples/DerivingVia.hs" 172 1 172 1+            , SrcSpan "tests/examples/DerivingVia.hs" 173 1 173 1+            , SrcSpan "tests/examples/DerivingVia.hs" 174 1 174 1+            , SrcSpan "tests/examples/DerivingVia.hs" 175 1 175 1+            , SrcSpan "tests/examples/DerivingVia.hs" 176 1 176 1+            , SrcSpan "tests/examples/DerivingVia.hs" 177 1 177 1+            , SrcSpan "tests/examples/DerivingVia.hs" 178 1 178 1+            , SrcSpan "tests/examples/DerivingVia.hs" 179 1 179 1+            , SrcSpan "tests/examples/DerivingVia.hs" 181 1 181 1+            , SrcSpan "tests/examples/DerivingVia.hs" 190 1 190 1+            , SrcSpan "tests/examples/DerivingVia.hs" 193 1 193 1+            , SrcSpan "tests/examples/DerivingVia.hs" 201 1 201 1+            , SrcSpan "tests/examples/DerivingVia.hs" 205 1 205 1+            , SrcSpan "tests/examples/DerivingVia.hs" 221 1 221 1+            , SrcSpan "tests/examples/DerivingVia.hs" 224 1 224 1+            , SrcSpan "tests/examples/DerivingVia.hs" 230 1 230 1+            , SrcSpan "tests/examples/DerivingVia.hs" 233 1 233 1+            , SrcSpan "tests/examples/DerivingVia.hs" 236 1 236 1+            , SrcSpan "tests/examples/DerivingVia.hs" 239 1 239 1+            , SrcSpan "tests/examples/DerivingVia.hs" 244 1 244 1+            , SrcSpan "tests/examples/DerivingVia.hs" 251 1 251 1+            , SrcSpan "tests/examples/DerivingVia.hs" 258 1 258 1+            , SrcSpan "tests/examples/DerivingVia.hs" 265 1 265 1+            , SrcSpan "tests/examples/DerivingVia.hs" 268 1 268 1+            , SrcSpan "tests/examples/DerivingVia.hs" 269 1 269 1+            , SrcSpan "tests/examples/DerivingVia.hs" 270 1 270 1+            , SrcSpan "tests/examples/DerivingVia.hs" 272 1 272 1+            , SrcSpan "tests/examples/DerivingVia.hs" 276 1 276 1+            , SrcSpan "tests/examples/DerivingVia.hs" 280 1 280 1+            , SrcSpan "tests/examples/DerivingVia.hs" 284 1 284 1+            , SrcSpan "tests/examples/DerivingVia.hs" 288 1 288 1+            , SrcSpan "tests/examples/DerivingVia.hs" 293 1 293 1+            , SrcSpan "tests/examples/DerivingVia.hs" 303 1 303 1+            , SrcSpan "tests/examples/DerivingVia.hs" 309 1 309 1+            , SrcSpan "tests/examples/DerivingVia.hs" 312 1 312 1+            , SrcSpan "tests/examples/DerivingVia.hs" 321 1 321 1+            , SrcSpan "tests/examples/DerivingVia.hs" 327 1 327 1+            , SrcSpan "tests/examples/DerivingVia.hs" 330 1 330 1+            , SrcSpan "tests/examples/DerivingVia.hs" 332 1 332 1+            , SrcSpan "tests/examples/DerivingVia.hs" 336 1 336 1+            , SrcSpan "tests/examples/DerivingVia.hs" 337 1 337 1+            , SrcSpan "tests/examples/DerivingVia.hs" 338 1 338 1+            , SrcSpan "tests/examples/DerivingVia.hs" 345 1 345 1+            , SrcSpan "tests/examples/DerivingVia.hs" 350 1 350 1+            , SrcSpan "tests/examples/DerivingVia.hs" 353 1 353 1+            , SrcSpan "tests/examples/DerivingVia.hs" 358 1 358 1+            , SrcSpan "tests/examples/DerivingVia.hs" 359 1 359 1+            , SrcSpan "tests/examples/DerivingVia.hs" 361 1 361 1+            , SrcSpan "tests/examples/DerivingVia.hs" 363 1 363 1+            , SrcSpan "tests/examples/DerivingVia.hs" 365 1 365 1+            , SrcSpan "tests/examples/DerivingVia.hs" 367 1 367 1+            , SrcSpan "tests/examples/DerivingVia.hs" 369 1 369 1+            , SrcSpan "tests/examples/DerivingVia.hs" 371 1 371 1+            , SrcSpan "tests/examples/DerivingVia.hs" 373 1 373 1+            , SrcSpan "tests/examples/DerivingVia.hs" 380 1 380 1+            , SrcSpan "tests/examples/DerivingVia.hs" 388 1 388 1+            , SrcSpan "tests/examples/DerivingVia.hs" 395 1 395 1+            , SrcSpan "tests/examples/DerivingVia.hs" 401 1 401 1+            , SrcSpan "tests/examples/DerivingVia.hs" 405 1 405 1+            , SrcSpan "tests/examples/DerivingVia.hs" 406 1 406 1+            , SrcSpan "tests/examples/DerivingVia.hs" 407 1 407 1+            , SrcSpan "tests/examples/DerivingVia.hs" 409 1 409 1+            , SrcSpan "tests/examples/DerivingVia.hs" 413 1 413 1+            , SrcSpan "tests/examples/DerivingVia.hs" 425 1 425 1+            , SrcSpan "tests/examples/DerivingVia.hs" 427 1 427 1+            , SrcSpan "tests/examples/DerivingVia.hs" 435 1 435 1+            , SrcSpan "tests/examples/DerivingVia.hs" 437 1 437 1+            , SrcSpan "tests/examples/DerivingVia.hs" 439 1 439 1+            , SrcSpan "tests/examples/DerivingVia.hs" 441 1 441 1+            , SrcSpan "tests/examples/DerivingVia.hs" 443 1 443 1+            , SrcSpan "tests/examples/DerivingVia.hs" 445 1 445 1+            , SrcSpan "tests/examples/DerivingVia.hs" 451 1 451 1+            , SrcSpan "tests/examples/DerivingVia.hs" 454 1 454 1+            , SrcSpan "tests/examples/DerivingVia.hs" 457 1 457 1+            , SrcSpan "tests/examples/DerivingVia.hs" 460 1 460 1+            , SrcSpan "tests/examples/DerivingVia.hs" 460 1 460 1+            ]+        }+      (Just+         (ModuleHead+            SrcSpanInfo+              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 20 1 20 25+              , srcInfoPoints =+                  [ SrcSpan "tests/examples/DerivingVia.hs" 20 1 20 7+                  , SrcSpan "tests/examples/DerivingVia.hs" 20 20 20 25+                  ]+              }+            (ModuleName+               SrcSpanInfo+                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 20 8 20 19+                 , srcInfoPoints = []+                 }+               "DerivingVia")+            Nothing+            Nothing))+      [ LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 1 1 1 36+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 1 1 1 13+                , SrcSpan "tests/examples/DerivingVia.hs" 1 33 1 36+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 1 14 1 32+                , srcInfoPoints = []+                }+              "DerivingStrategies"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 2 1 2 29+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 2 1 2 13+                , SrcSpan "tests/examples/DerivingVia.hs" 2 26 2 29+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 2 14 2 25+                , srcInfoPoints = []+                }+              "DerivingVia"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 3 1 3 44+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 3 1 3 13+                , SrcSpan "tests/examples/DerivingVia.hs" 3 41 3 44+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 3 14 3 40+                , srcInfoPoints = []+                }+              "GeneralizedNewtypeDeriving"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 4 1 4 32+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 4 1 4 13+                , SrcSpan "tests/examples/DerivingVia.hs" 4 29 4 32+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 4 14 4 28+                , srcInfoPoints = []+                }+              "KindSignatures"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 5 1 5 28+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 5 1 5 13+                , SrcSpan "tests/examples/DerivingVia.hs" 5 25 5 28+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 5 14 5 24+                , srcInfoPoints = []+                }+              "RankNTypes"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 6 1 6 36+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 6 1 6 13+                , SrcSpan "tests/examples/DerivingVia.hs" 6 33 6 36+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 6 14 6 32+                , srcInfoPoints = []+                }+              "StandaloneDeriving"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 7 1 7 30+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 7 1 7 13+                , SrcSpan "tests/examples/DerivingVia.hs" 7 27 7 30+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 7 14 7 26+                , srcInfoPoints = []+                }+              "InstanceSigs"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 8 1 8 28+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 8 1 8 13+                , SrcSpan "tests/examples/DerivingVia.hs" 8 25 8 28+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 8 14 8 24+                , srcInfoPoints = []+                }+              "TypeInType"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 9 1 9 23+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 9 1 9 13+                , SrcSpan "tests/examples/DerivingVia.hs" 9 20 9 23+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 9 14 9 19+                , srcInfoPoints = []+                }+              "GADTs"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 10 1 10 34+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 10 1 10 13+                , SrcSpan "tests/examples/DerivingVia.hs" 10 31 10 34+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 10 14 10 30+                , srcInfoPoints = []+                }+              "TypeApplications"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 11 1 11 33+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 11 1 11 13+                , SrcSpan "tests/examples/DerivingVia.hs" 11 30 11 33+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 11 14 11 29+                , srcInfoPoints = []+                }+              "ConstraintKinds"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 12 1 12 39+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 12 1 12 13+                , SrcSpan "tests/examples/DerivingVia.hs" 12 36 12 39+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 12 14 12 35+                , srcInfoPoints = []+                }+              "MultiParamTypeClasses"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 13 1 13 28+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 13 1 13 13+                , SrcSpan "tests/examples/DerivingVia.hs" 13 25 13 28+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 13 14 13 24+                , srcInfoPoints = []+                }+              "MultiWayIf"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 14 1 14 31+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 14 1 14 13+                , SrcSpan "tests/examples/DerivingVia.hs" 14 28 14 31+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 14 14 14 27+                , srcInfoPoints = []+                }+              "TypeOperators"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 15 1 15 37+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 15 1 15 13+                , SrcSpan "tests/examples/DerivingVia.hs" 15 34 15 37+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 15 14 15 33+                , srcInfoPoints = []+                }+              "ScopedTypeVariables"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 16 1 16 35+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 16 1 16 13+                , SrcSpan "tests/examples/DerivingVia.hs" 16 32 16 35+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 16 14 16 31+                , srcInfoPoints = []+                }+              "FlexibleInstances"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 17 1 17 30+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 17 1 17 13+                , SrcSpan "tests/examples/DerivingVia.hs" 17 27 17 30+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 17 14 17 26+                , srcInfoPoints = []+                }+              "TypeFamilies"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 18 1 18 34+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 18 1 18 13+                , SrcSpan "tests/examples/DerivingVia.hs" 18 31 18 34+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 18 14 18 30+                , srcInfoPoints = []+                }+              "FlexibleContexts"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 19 1 19 38+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 19 1 19 13+                , SrcSpan "tests/examples/DerivingVia.hs" 19 35 19 38+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 19 14 19 34+                , srcInfoPoints = []+                }+              "UndecidableInstances"+          ]+      ]+      [ ImportDecl+          { importAnn =+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 22 1 22 17+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 22 1 22 7 ]+                }+          , importModule =+              ModuleName+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 22 8 22 17+                  , srcInfoPoints = []+                  }+                "Data.Void"+          , importQualified = False+          , importSrc = False+          , importSafe = False+          , importPkg = Nothing+          , importAs = Nothing+          , importSpecs = Nothing+          }+      , ImportDecl+          { importAnn =+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 23 1 23 20+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 23 1 23 7 ]+                }+          , importModule =+              ModuleName+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 23 8 23 20+                  , srcInfoPoints = []+                  }+                "Data.Complex"+          , importQualified = False+          , importSrc = False+          , importSafe = False+          , importPkg = Nothing+          , importAs = Nothing+          , importSpecs = Nothing+          }+      , ImportDecl+          { importAnn =+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 24 1 24 26+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 24 1 24 7 ]+                }+          , importModule =+              ModuleName+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 24 8 24 26+                  , srcInfoPoints = []+                  }+                "Data.Functor.Const"+          , importQualified = False+          , importSrc = False+          , importSafe = False+          , importPkg = Nothing+          , importAs = Nothing+          , importSpecs = Nothing+          }+      , ImportDecl+          { importAnn =+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 25 1 25 29+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 25 1 25 7 ]+                }+          , importModule =+              ModuleName+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 25 8 25 29+                  , srcInfoPoints = []+                  }+                "Data.Functor.Identity"+          , importQualified = False+          , importSrc = False+          , importSafe = False+          , importPkg = Nothing+          , importAs = Nothing+          , importSpecs = Nothing+          }+      , ImportDecl+          { importAnn =+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 26 1 26 18+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 26 1 26 7 ]+                }+          , importModule =+              ModuleName+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 26 8 26 18+                  , srcInfoPoints = []+                  }+                "Data.Ratio"+          , importQualified = False+          , importSrc = False+          , importSafe = False+          , importPkg = Nothing+          , importAs = Nothing+          , importSpecs = Nothing+          }+      , ImportDecl+          { importAnn =+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 27 1 27 28+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 27 1 27 7 ]+                }+          , importModule =+              ModuleName+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 27 8 27 28+                  , srcInfoPoints = []+                  }+                "Control.Monad.Reader"+          , importQualified = False+          , importSrc = False+          , importSafe = False+          , importPkg = Nothing+          , importAs = Nothing+          , importSpecs = Nothing+          }+      , ImportDecl+          { importAnn =+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 28 1 28 27+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 28 1 28 7 ]+                }+          , importModule =+              ModuleName+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 28 8 28 27+                  , srcInfoPoints = []+                  }+                "Control.Monad.State"+          , importQualified = False+          , importSrc = False+          , importSafe = False+          , importPkg = Nothing+          , importAs = Nothing+          , importSpecs = Nothing+          }+      , ImportDecl+          { importAnn =+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 29 1 29 28+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 29 1 29 7 ]+                }+          , importModule =+              ModuleName+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 29 8 29 28+                  , srcInfoPoints = []+                  }+                "Control.Monad.Writer"+          , importQualified = False+          , importSrc = False+          , importSafe = False+          , importPkg = Nothing+          , importAs = Nothing+          , importSpecs = Nothing+          }+      , ImportDecl+          { importAnn =+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 30 1 30 53+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 30 1 30 7 ]+                }+          , importModule =+              ModuleName+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 30 8 30 27+                  , srcInfoPoints = []+                  }+                "Control.Applicative"+          , importQualified = False+          , importSrc = False+          , importSafe = False+          , importPkg = Nothing+          , importAs = Nothing+          , importSpecs =+              Just+                (ImportSpecList+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 30 28 30 53+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 30 28 30 34+                         , SrcSpan "tests/examples/DerivingVia.hs" 30 35 30 36+                         , SrcSpan "tests/examples/DerivingVia.hs" 30 52 30 53+                         ]+                     }+                   True+                   [ IThingAll+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 30 36 30 52+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 30 48 30 49+                             , SrcSpan "tests/examples/DerivingVia.hs" 30 49 30 51+                             , SrcSpan "tests/examples/DerivingVia.hs" 30 51 30 52+                             ]+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 30 36 30 48+                            , srcInfoPoints = []+                            }+                          "WrappedMonad")+                   ])+          }+      , ImportDecl+          { importAnn =+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 32 1 32 22+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 32 1 32 7 ]+                }+          , importModule =+              ModuleName+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 32 8 32 22+                  , srcInfoPoints = []+                  }+                "Data.Bifunctor"+          , importQualified = False+          , importSrc = False+          , importSafe = False+          , importPkg = Nothing+          , importAs = Nothing+          , importSpecs = Nothing+          }+      , ImportDecl+          { importAnn =+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 33 1 33 19+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 33 1 33 7 ]+                }+          , importModule =+              ModuleName+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 33 8 33 19+                  , srcInfoPoints = []+                  }+                "Data.Monoid"+          , importQualified = False+          , importSrc = False+          , importSafe = False+          , importPkg = Nothing+          , importAs = Nothing+          , importSpecs = Nothing+          }+      , ImportDecl+          { importAnn =+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 34 1 34 17+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 34 1 34 7 ]+                }+          , importModule =+              ModuleName+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 34 8 34 17+                  , srcInfoPoints = []+                  }+                "Data.Kind"+          , importQualified = False+          , importSrc = False+          , importSafe = False+          , importPkg = Nothing+          , importAs = Nothing+          , importSpecs = Nothing+          }+      ]+      [ TypeDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 1 36 38+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 36 1 36 5+                , SrcSpan "tests/examples/DerivingVia.hs" 36 13 36 14+                ]+            }+          (DHApp+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 6 36 12+               , srcInfoPoints = []+               }+             (DHInfix+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 6 36 12+                  , srcInfoPoints = []+                  }+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 6 36 7+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 6 36 7+                        , srcInfoPoints = []+                        }+                      "f"))+                (Symbol+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 8 36 10+                     , srcInfoPoints = []+                     }+                   "~>"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 11 36 12+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 11 36 12+                     , srcInfoPoints = []+                     }+                   "g")))+          (TyForall+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 15 36 38+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/DerivingVia.hs" 36 15 36 21+                   , SrcSpan "tests/examples/DerivingVia.hs" 36 24 36 25+                   ]+               }+             (Just+                [ UnkindedVar+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 22 36 24+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 22 36 24+                         , srcInfoPoints = []+                         }+                       "xx")+                ])+             Nothing+             (TyFun+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 26 36 38+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/DerivingVia.hs" 36 31 36 33 ]+                  }+                (TyApp+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 26 36 30+                     , srcInfoPoints = []+                     }+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 26 36 27+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 26 36 27+                           , srcInfoPoints = []+                           }+                         "f"))+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 28 36 30+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 28 36 30+                           , srcInfoPoints = []+                           }+                         "xx")))+                (TyApp+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 34 36 38+                     , srcInfoPoints = []+                     }+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 34 36 35+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 34 36 35+                           , srcInfoPoints = []+                           }+                         "g"))+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 36 36 38+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 36 36 38+                           , srcInfoPoints = []+                           }+                         "xx")))))+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 1 43 16+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 42 12 42 13 ]+            }+          (DataType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 1 42 5+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 6 42 11+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 6 42 9+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 6 42 9+                     , srcInfoPoints = []+                     }+                   "Foo"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 10 42 11+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 10 42 11+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 14 42 23+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 14 42 23+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 14 42 19+                      , srcInfoPoints = []+                      }+                    "MkFoo")+                 [ TyVar+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 20 42 21+                       , srcInfoPoints = []+                       }+                     (Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 20 42 21+                          , srcInfoPoints = []+                          }+                        "a")+                 , TyVar+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 22 42 23+                       , srcInfoPoints = []+                       }+                     (Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 22 42 23+                          , srcInfoPoints = []+                          }+                        "a")+                 ])+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 43 3 43 16+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 43 3 43 11 ]+                }+              (Just+                 (DerivVia+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 44 8 44 11+                      , srcInfoPoints = []+                      }+                    (TyParen+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 44 12 44 30+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 44 12 44 13+                             , SrcSpan "tests/examples/DerivingVia.hs" 44 29 44 30+                             ]+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 44 13 44 29+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 44 13 44 21+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 44 13 44 21+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 44 13 44 21+                                     , srcInfoPoints = []+                                     }+                                   "Identity")))+                          (TyParen+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 44 22 44 29+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 44 22 44 23+                                   , SrcSpan "tests/examples/DerivingVia.hs" 44 28 44 29+                                   ]+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 44 23 44 28+                                  , srcInfoPoints = []+                                  }+                                (TyCon+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 44 23 44 26+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 44 23 44 26+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 44 23 44 26+                                           , srcInfoPoints = []+                                           }+                                         "Foo")))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 44 27 44 28+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 44 27 44 28+                                        , srcInfoPoints = []+                                        }+                                      "a"))))))))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 43 12 43 16+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 43 12 43 16+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 43 12 43 16+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 43 12 43 16+                             , srcInfoPoints = []+                             }+                           "Show")))+              ]+          ]+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 1 50 47+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 50 20 50 21 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 1 50 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 9 50 19+               , srcInfoPoints = []+               }+             (DHApp+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 9 50 17+                  , srcInfoPoints = []+                  }+                (DHApp+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 9 50 15+                     , srcInfoPoints = []+                     }+                   (DHead+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 9 50 13+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 9 50 13+                           , srcInfoPoints = []+                           }+                         "Flip"))+                   (UnkindedVar+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 14 50 15+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 14 50 15+                           , srcInfoPoints = []+                           }+                         "p")))+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 16 50 17+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 16 50 17+                        , srcInfoPoints = []+                        }+                      "a")))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 18 50 19+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 18 50 19+                     , srcInfoPoints = []+                     }+                   "b")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 22 50 47+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 50 27 50 28+                    , SrcSpan "tests/examples/DerivingVia.hs" 50 46 50 47+                    ]+                }+              Nothing+              Nothing+              (RecDecl+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 22 50 47+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 50 27 50 28+                       , SrcSpan "tests/examples/DerivingVia.hs" 50 46 50 47+                       ]+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 22 50 26+                      , srcInfoPoints = []+                      }+                    "Flip")+                 [ FieldDecl+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 29 50 45+                       , srcInfoPoints =+                           [ SrcSpan "tests/examples/DerivingVia.hs" 50 37 50 39 ]+                       }+                     [ Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 29 50 36+                           , srcInfoPoints = []+                           }+                         "runFlip"+                     ]+                     (TyApp+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 40 50 45+                          , srcInfoPoints = []+                          }+                        (TyApp+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 40 50 43+                             , srcInfoPoints = []+                             }+                           (TyVar+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 40 50 41+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 50 40 50 41+                                   , srcInfoPoints = []+                                   }+                                 "p"))+                           (TyVar+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 42 50 43+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 50 42 50 43+                                   , srcInfoPoints = []+                                   }+                                 "b")))+                        (TyVar+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 44 50 45+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 44 50 45+                                , srcInfoPoints = []+                                }+                              "a")))+                 ])+          ]+          []+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 1 55 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 52 1 52 9+                , SrcSpan "tests/examples/DerivingVia.hs" 52 44 52 49+                , SrcSpan "tests/examples/DerivingVia.hs" 53 3 53 3+                , SrcSpan "tests/examples/DerivingVia.hs" 55 1 55 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 10 52 43+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxSingle+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 10 52 24+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 52 22 52 24 ]+                     }+                   (TypeA+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 10 52 24+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DerivingVia.hs" 52 22 52 24 ]+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 10 52 24+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingVia.hs" 52 22 52 24 ]+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 10 52 24+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/DerivingVia.hs" 52 22 52 24 ]+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 10 52 19+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 52 10 52 19+                                    , srcInfoPoints = []+                                    }+                                  "Bifunctor")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 20 52 21+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 20 52 21+                                 , srcInfoPoints = []+                                 }+                               "p"))))))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 25 52 43+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 25 52 34+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 25 52 34+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 25 52 34+                           , srcInfoPoints = []+                           }+                         "Bifunctor")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 35 52 43+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 52 35 52 36+                         , SrcSpan "tests/examples/DerivingVia.hs" 52 42 52 43+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 36 52 42+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 36 52 40+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 36 52 40+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 36 52 40+                                 , srcInfoPoints = []+                                 }+                               "Flip")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 41 52 42+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 41 52 42+                              , srcInfoPoints = []+                              }+                            "p"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 3 53 41+                   , srcInfoPoints = []+                   }+                 (FunBind+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 3 53 41+                      , srcInfoPoints = []+                      }+                    [ Match+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 3 53 41+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 3 53 8+                             , srcInfoPoints = []+                             }+                           "bimap")+                        [ PVar+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 9 53 10+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 9 53 10+                                 , srcInfoPoints = []+                                 }+                               "f")+                        , PVar+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 11 53 12+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 11 53 12+                                 , srcInfoPoints = []+                                 }+                               "g")+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 13 53 41+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/DerivingVia.hs" 53 13 53 14 ]+                             }+                           (InfixApp+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 15 53 41+                                , srcInfoPoints = []+                                }+                              (Con+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 53 15 53 19+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 53 15 53 19+                                      , srcInfoPoints = []+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 53 15 53 19+                                         , srcInfoPoints = []+                                         }+                                       "Flip")))+                              (QVarOp+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 53 20 53 21+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 53 20 53 21+                                      , srcInfoPoints = []+                                      }+                                    (Symbol+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 53 20 53 21+                                         , srcInfoPoints = []+                                         }+                                       ".")))+                              (InfixApp+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 53 22 53 41+                                   , srcInfoPoints = []+                                   }+                                 (App+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 53 22 53 31+                                      , srcInfoPoints = []+                                      }+                                    (App+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 53 22 53 29+                                         , srcInfoPoints = []+                                         }+                                       (Var+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/DerivingVia.hs" 53 22 53 27+                                            , srcInfoPoints = []+                                            }+                                          (UnQual+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 53 22 53 27+                                               , srcInfoPoints = []+                                               }+                                             (Ident+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DerivingVia.hs" 53 22 53 27+                                                  , srcInfoPoints = []+                                                  }+                                                "bimap")))+                                       (Var+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/DerivingVia.hs" 53 28 53 29+                                            , srcInfoPoints = []+                                            }+                                          (UnQual+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 53 28 53 29+                                               , srcInfoPoints = []+                                               }+                                             (Ident+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DerivingVia.hs" 53 28 53 29+                                                  , srcInfoPoints = []+                                                  }+                                                "g"))))+                                    (Var+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 53 30 53 31+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/DerivingVia.hs" 53 30 53 31+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 53 30 53 31+                                               , srcInfoPoints = []+                                               }+                                             "f"))))+                                 (QVarOp+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 53 32 53 33+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 53 32 53 33+                                         , srcInfoPoints = []+                                         }+                                       (Symbol+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/DerivingVia.hs" 53 32 53 33+                                            , srcInfoPoints = []+                                            }+                                          ".")))+                                 (Var+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 53 34 53 41+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 53 34 53 41+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/DerivingVia.hs" 53 34 53 41+                                            , srcInfoPoints = []+                                            }+                                          "runFlip"))))))+                        Nothing+                    ])+             ])+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 1 58 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 55 1 55 9+                , SrcSpan "tests/examples/DerivingVia.hs" 55 44 55 49+                , SrcSpan "tests/examples/DerivingVia.hs" 56 3 56 3+                , SrcSpan "tests/examples/DerivingVia.hs" 58 1 58 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 43+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxSingle+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 24+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 55 22 55 24 ]+                     }+                   (TypeA+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 24+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DerivingVia.hs" 55 22 55 24 ]+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 24+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingVia.hs" 55 22 55 24 ]+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 24+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/DerivingVia.hs" 55 22 55 24 ]+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 19+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 19+                                    , srcInfoPoints = []+                                    }+                                  "Bifunctor")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 20 55 21+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 20 55 21+                                 , srcInfoPoints = []+                                 }+                               "p"))))))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 25 55 43+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 25 55 32+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 25 55 32+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 25 55 32+                           , srcInfoPoints = []+                           }+                         "Functor")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 33 55 43+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 55 33 55 34+                         , SrcSpan "tests/examples/DerivingVia.hs" 55 42 55 43+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 34 55 42+                        , srcInfoPoints = []+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 34 55 40+                           , srcInfoPoints = []+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 34 55 38+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 34 55 38+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 55 34 55 38+                                    , srcInfoPoints = []+                                    }+                                  "Flip")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 39 55 40+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 39 55 40+                                 , srcInfoPoints = []+                                 }+                               "p")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 41 55 42+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 41 55 42+                              , srcInfoPoints = []+                              }+                            "a"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 3 56 36+                   , srcInfoPoints = []+                   }+                 (FunBind+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 3 56 36+                      , srcInfoPoints = []+                      }+                    [ Match+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 3 56 36+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 3 56 7+                             , srcInfoPoints = []+                             }+                           "fmap")+                        [ PVar+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 8 56 9+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 8 56 9+                                 , srcInfoPoints = []+                                 }+                               "f")+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 10 56 36+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/DerivingVia.hs" 56 10 56 11 ]+                             }+                           (InfixApp+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 12 56 36+                                , srcInfoPoints = []+                                }+                              (Con+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 56 12 56 16+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 56 12 56 16+                                      , srcInfoPoints = []+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 56 12 56 16+                                         , srcInfoPoints = []+                                         }+                                       "Flip")))+                              (QVarOp+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 56 17 56 18+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 56 17 56 18+                                      , srcInfoPoints = []+                                      }+                                    (Symbol+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 56 17 56 18+                                         , srcInfoPoints = []+                                         }+                                       ".")))+                              (InfixApp+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 56 19 56 36+                                   , srcInfoPoints = []+                                   }+                                 (App+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 56 19 56 26+                                      , srcInfoPoints = []+                                      }+                                    (Var+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 56 19 56 24+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/DerivingVia.hs" 56 19 56 24+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 56 19 56 24+                                               , srcInfoPoints = []+                                               }+                                             "first")))+                                    (Var+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 56 25 56 26+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/DerivingVia.hs" 56 25 56 26+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 56 25 56 26+                                               , srcInfoPoints = []+                                               }+                                             "f"))))+                                 (QVarOp+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 56 27 56 28+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 56 27 56 28+                                         , srcInfoPoints = []+                                         }+                                       (Symbol+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/DerivingVia.hs" 56 27 56 28+                                            , srcInfoPoints = []+                                            }+                                          ".")))+                                 (Var+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 56 29 56 36+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 56 29 56 36+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/DerivingVia.hs" 56 29 56 36+                                            , srcInfoPoints = []+                                            }+                                          "runFlip"))))))+                        Nothing+                    ])+             ])+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 1 59 19+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 58 15 58 16 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 1 58 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 9 58 14+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 9 58 12+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 9 58 12+                     , srcInfoPoints = []+                     }+                   "Bar"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 13 58 14+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 13 58 14+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 17 58 37+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 17 58 37+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 17 58 22+                      , srcInfoPoints = []+                      }+                    "MkBar")+                 [ TyParen+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 23 58 37+                       , srcInfoPoints =+                           [ SrcSpan "tests/examples/DerivingVia.hs" 58 23 58 24+                           , SrcSpan "tests/examples/DerivingVia.hs" 58 36 58 37+                           ]+                       }+                     (TyApp+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 24 58 36+                          , srcInfoPoints = []+                          }+                        (TyApp+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 24 58 32+                             , srcInfoPoints = []+                             }+                           (TyCon+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 24 58 30+                                , srcInfoPoints = []+                                }+                              (UnQual+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 58 24 58 30+                                   , srcInfoPoints = []+                                   }+                                 (Ident+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 58 24 58 30+                                      , srcInfoPoints = []+                                      }+                                    "Either")))+                           (TyVar+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 31 58 32+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 58 31 58 32+                                   , srcInfoPoints = []+                                   }+                                 "a")))+                        (TyCon+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 33 58 36+                             , srcInfoPoints = []+                             }+                           (UnQual+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 33 58 36+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 58 33 58 36+                                   , srcInfoPoints = []+                                   }+                                 "Int"))))+                 ])+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 59 3 59 19+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 59 3 59 11 ]+                }+              (Just+                 (DerivVia+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 60 8 60 11+                      , srcInfoPoints = []+                      }+                    (TyParen+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 60 12 60 29+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 60 12 60 13+                             , SrcSpan "tests/examples/DerivingVia.hs" 60 28 60 29+                             ]+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 60 13 60 28+                            , srcInfoPoints = []+                            }+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 60 13 60 24+                               , srcInfoPoints = []+                               }+                             (TyCon+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 60 13 60 17+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 60 13 60 17+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 60 13 60 17+                                        , srcInfoPoints = []+                                        }+                                      "Flip")))+                             (TyCon+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 60 18 60 24+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 60 18 60 24+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 60 18 60 24+                                        , srcInfoPoints = []+                                        }+                                      "Either"))))+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 60 25 60 28+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 60 25 60 28+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 60 25 60 28+                                     , srcInfoPoints = []+                                     }+                                   "Int")))))))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 59 12 59 19+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 59 12 59 19+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 59 12 59 19+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 59 12 59 19+                             , srcInfoPoints = []+                             }+                           "Functor")))+              ]+          ]+      , TypeDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 1 66 47+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 66 1 66 5+                , SrcSpan "tests/examples/DerivingVia.hs" 66 13 66 14+                ]+            }+          (DHead+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 6 66 12+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 6 66 12+                  , srcInfoPoints = []+                  }+                "MTrans"))+          (TyFun+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 15 66 47+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/DerivingVia.hs" 66 30 66 32 ]+               }+             (TyParen+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 15 66 29+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/DerivingVia.hs" 66 15 66 16+                      , SrcSpan "tests/examples/DerivingVia.hs" 66 28 66 29+                      ]+                  }+                (TyFun+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 16 66 28+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 66 21 66 23 ]+                     }+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 16 66 20+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 16 66 20+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 16 66 20+                              , srcInfoPoints = []+                              }+                            "Type")))+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 24 66 28+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 24 66 28+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 24 66 28+                              , srcInfoPoints = []+                              }+                            "Type")))))+             (TyParen+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 33 66 47+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/DerivingVia.hs" 66 33 66 34+                      , SrcSpan "tests/examples/DerivingVia.hs" 66 46 66 47+                      ]+                  }+                (TyFun+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 34 66 46+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 66 39 66 41 ]+                     }+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 34 66 38+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 34 66 38+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 34 66 38+                              , srcInfoPoints = []+                              }+                            "Type")))+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 42 66 46+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 42 66 46+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 42 66 46+                              , srcInfoPoints = []+                              }+                            "Type"))))))+      , GDataDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 1 72 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 69 13 69 18+                , SrcSpan "tests/examples/DerivingVia.hs" 70 3 70 3+                , SrcSpan "tests/examples/DerivingVia.hs" 72 1 72 0+                ]+            }+          (DataType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 1 69 5+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 6 69 12+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 6 69 10+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 6 69 10+                     , srcInfoPoints = []+                     }+                   "Dict"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 11 69 12+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 11 69 12+                     , srcInfoPoints = []+                     }+                   "c")))+          Nothing+          [ GadtDecl+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 3 70 22+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 70 8 70 10 ]+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 3 70 7+                   , srcInfoPoints = []+                   }+                 "Dict")+              Nothing+              Nothing+              Nothing+              (TyForall+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 11 70 22+                   , srcInfoPoints = []+                   }+                 Nothing+                 (Just+                    (CxSingle+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 11 70 15+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 70 13 70 15 ]+                         }+                       (TypeA+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 11 70 15+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 70 13 70 15 ]+                            }+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 11 70 15+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 70 13 70 15 ]+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 70 11 70 12+                                  , srcInfoPoints = []+                                  }+                                "c")))))+                 (TyApp+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 16 70 22+                      , srcInfoPoints = []+                      }+                    (TyCon+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 16 70 20+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 16 70 20+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 16 70 20+                               , srcInfoPoints = []+                               }+                             "Dict")))+                    (TyVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 21 70 22+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 21 70 22+                            , srcInfoPoints = []+                            }+                          "c"))))+          ]+          []+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 1 72 35+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 72 16 72 17 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 1 72 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 9 72 15+               , srcInfoPoints = []+               }+             (DHInfix+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 9 72 15+                  , srcInfoPoints = []+                  }+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 9 72 10+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 9 72 10+                        , srcInfoPoints = []+                        }+                      "a"))+                (Symbol+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 11 72 13+                     , srcInfoPoints = []+                     }+                   ":-"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 14 72 15+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 14 72 15+                     , srcInfoPoints = []+                     }+                   "b")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 18 72 35+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 18 72 35+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 18 72 21+                      , srcInfoPoints = []+                      }+                    "Sub")+                 [ TyParen+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 22 72 35+                       , srcInfoPoints =+                           [ SrcSpan "tests/examples/DerivingVia.hs" 72 22 72 23+                           , SrcSpan "tests/examples/DerivingVia.hs" 72 34 72 35+                           ]+                       }+                     (TyForall+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 23 72 34+                          , srcInfoPoints = []+                          }+                        Nothing+                        (Just+                           (CxSingle+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 23 72 27+                                , srcInfoPoints =+                                    [ SrcSpan "tests/examples/DerivingVia.hs" 72 25 72 27 ]+                                }+                              (TypeA+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 72 23 72 27+                                   , srcInfoPoints =+                                       [ SrcSpan "tests/examples/DerivingVia.hs" 72 25 72 27 ]+                                   }+                                 (TyVar+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 72 23 72 27+                                      , srcInfoPoints =+                                          [ SrcSpan "tests/examples/DerivingVia.hs" 72 25 72 27 ]+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 72 23 72 24+                                         , srcInfoPoints = []+                                         }+                                       "a")))))+                        (TyApp+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 28 72 34+                             , srcInfoPoints = []+                             }+                           (TyCon+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 28 72 32+                                , srcInfoPoints = []+                                }+                              (UnQual+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 72 28 72 32+                                   , srcInfoPoints = []+                                   }+                                 (Ident+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 72 28 72 32+                                      , srcInfoPoints = []+                                      }+                                    "Dict")))+                           (TyVar+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 33 72 34+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 72 33 72 34+                                   , srcInfoPoints = []+                                   }+                                 "b"))))+                 ])+          ]+          []+      , InfixDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 74 1 74 12+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 74 8 74 9 ]+            }+          (AssocLeft+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 74 1 74 7+               , srcInfoPoints = []+               })+          (Just 1)+          [ VarOp+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 74 10 74 12+                , srcInfoPoints = []+                }+              (Symbol+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 74 10 74 12+                   , srcInfoPoints = []+                   }+                 "\\\\")+          ]+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 1 75 39+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 75 6 75 8 ]+            }+          [ Symbol+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 1 75 5+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 75 1 75 2+                    , SrcSpan "tests/examples/DerivingVia.hs" 75 2 75 4+                    , SrcSpan "tests/examples/DerivingVia.hs" 75 4 75 5+                    ]+                }+              "\\\\"+          ]+          (TyForall+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 9 75 39+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxSingle+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 9 75 13+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 75 11 75 13 ]+                     }+                   (TypeA+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 9 75 13+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DerivingVia.hs" 75 11 75 13 ]+                        }+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 9 75 13+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingVia.hs" 75 11 75 13 ]+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 9 75 10+                              , srcInfoPoints = []+                              }+                            "a")))))+             (TyFun+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 14 75 39+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/DerivingVia.hs" 75 23 75 25 ]+                  }+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 14 75 22+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 75 14 75 15+                         , SrcSpan "tests/examples/DerivingVia.hs" 75 21 75 22+                         ]+                     }+                   (TyForall+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 15 75 21+                        , srcInfoPoints = []+                        }+                      Nothing+                      (Just+                         (CxSingle+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 15 75 19+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/DerivingVia.hs" 75 17 75 19 ]+                              }+                            (TypeA+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 15 75 19+                                 , srcInfoPoints =+                                     [ SrcSpan "tests/examples/DerivingVia.hs" 75 17 75 19 ]+                                 }+                               (TyVar+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 75 15 75 19+                                    , srcInfoPoints =+                                        [ SrcSpan "tests/examples/DerivingVia.hs" 75 17 75 19 ]+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia.hs" 75 15 75 16+                                       , srcInfoPoints = []+                                       }+                                     "b")))))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 20 75 21+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 20 75 21+                              , srcInfoPoints = []+                              }+                            "r"))))+                (TyFun+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 26 75 39+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 75 35 75 37 ]+                     }+                   (TyParen+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 26 75 34+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DerivingVia.hs" 75 26 75 27+                            , SrcSpan "tests/examples/DerivingVia.hs" 75 33 75 34+                            ]+                        }+                      (TyInfix+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 27 75 33+                           , srcInfoPoints = []+                           }+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 27 75 28+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 27 75 28+                                 , srcInfoPoints = []+                                 }+                               "a"))+                         (UnpromotedName+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 29 75 31+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 29 75 31+                                 , srcInfoPoints = []+                                 }+                               (Symbol+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 75 29 75 31+                                    , srcInfoPoints = []+                                    }+                                  ":-")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 32 75 33+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 32 75 33+                                 , srcInfoPoints = []+                                 }+                               "b"))))+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 38 75 39+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 38 75 39+                           , srcInfoPoints = []+                           }+                         "r")))))+      , FunBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 1 76 18+            , srcInfoPoints = []+            }+          [ InfixMatch+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 1 76 18+                , srcInfoPoints = []+                }+              (PVar+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 1 76 2+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 1 76 2+                      , srcInfoPoints = []+                      }+                    "r"))+              (Symbol+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 3 76 5+                   , srcInfoPoints = []+                   }+                 "\\\\")+              [ PApp+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 6 76 14+                    , srcInfoPoints = []+                    }+                  (UnQual+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 6 76 9+                       , srcInfoPoints = []+                       }+                     (Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 6 76 9+                          , srcInfoPoints = []+                          }+                        "Sub"))+                  [ PApp+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 10 76 14+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 10 76 14+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 10 76 14+                              , srcInfoPoints = []+                              }+                            "Dict"))+                      []+                  ]+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 15 76 18+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 76 15 76 16 ]+                   }+                 (Var+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 17 76 18+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 17 76 18+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 17 76 18+                            , srcInfoPoints = []+                            }+                          "r"))))+              Nothing+          ]+      , ClassDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 1 85 38+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 84 1 84 6+                , SrcSpan "tests/examples/DerivingVia.hs" 84 38 84 43+                , SrcSpan "tests/examples/DerivingVia.hs" 85 3 85 3+                , SrcSpan "tests/examples/DerivingVia.hs" 87 1 87 0+                ]+            }+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 7 84 37+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 7 84 19+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 7 84 19+                     , srcInfoPoints = []+                     }+                   "LiftingMonad"))+             (KindedVar+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 20 84 37+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/DerivingVia.hs" 84 20 84 21+                      , SrcSpan "tests/examples/DerivingVia.hs" 84 27 84 29+                      , SrcSpan "tests/examples/DerivingVia.hs" 84 36 84 37+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 21 84 26+                     , srcInfoPoints = []+                     }+                   "trans")+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 30 84 36+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 30 84 36+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 30 84 36+                           , srcInfoPoints = []+                           }+                         "MTrans")))))+          []+          (Just+             [ ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 3 85 38+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 85 9 85 11 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 3 85 38+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 85 9 85 11 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 3 85 8+                          , srcInfoPoints = []+                          }+                        "proof"+                    ]+                    (TyInfix+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 12 85 38+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 12 85 19+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 12 85 17+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 85 12 85 17+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 85 12 85 17+                                     , srcInfoPoints = []+                                     }+                                   "Monad")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 18 85 19+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 85 18 85 19+                                  , srcInfoPoints = []+                                  }+                                "m")))+                       (UnpromotedName+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 20 85 22+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 20 85 22+                               , srcInfoPoints = []+                               }+                             (Symbol+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 85 20 85 22+                                  , srcInfoPoints = []+                                  }+                                ":-")))+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 23 85 38+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 23 85 28+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 85 23 85 28+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 85 23 85 28+                                     , srcInfoPoints = []+                                     }+                                   "Monad")))+                          (TyParen+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 29 85 38+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 85 29 85 30+                                   , SrcSpan "tests/examples/DerivingVia.hs" 85 37 85 38+                                   ]+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 85 30 85 37+                                  , srcInfoPoints = []+                                  }+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 85 30 85 35+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 85 30 85 35+                                        , srcInfoPoints = []+                                        }+                                      "trans"))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 85 36 85 37+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 85 36 85 37+                                        , srcInfoPoints = []+                                        }+                                      "m")))))))+             ])+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 1 91 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 87 1 87 9+                , SrcSpan "tests/examples/DerivingVia.hs" 87 44 87 49+                , SrcSpan "tests/examples/DerivingVia.hs" 88 3 88 3+                , SrcSpan "tests/examples/DerivingVia.hs" 89 3 89 3+                , SrcSpan "tests/examples/DerivingVia.hs" 91 1 91 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 10 87 43+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 10 87 43+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 10 87 22+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 10 87 22+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 10 87 22+                           , srcInfoPoints = []+                           }+                         "LiftingMonad")))+                (TyKind+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 23 87 43+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 87 23 87 24+                         , SrcSpan "tests/examples/DerivingVia.hs" 87 33 87 35+                         , SrcSpan "tests/examples/DerivingVia.hs" 87 42 87 43+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 24 87 32+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 24 87 30+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 24 87 30+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 24 87 30+                                 , srcInfoPoints = []+                                 }+                               "StateT")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 31 87 32+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 31 87 32+                              , srcInfoPoints = []+                              }+                            "s")))+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 36 87 42+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 36 87 42+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 36 87 42+                              , srcInfoPoints = []+                              }+                            "MTrans"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 3 88 41+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 88 9 88 11 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 3 88 41+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 88 9 88 11 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 3 88 8+                          , srcInfoPoints = []+                          }+                        "proof"+                    ]+                    (TyInfix+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 12 88 41+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 12 88 19+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 12 88 17+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 88 12 88 17+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 88 12 88 17+                                     , srcInfoPoints = []+                                     }+                                   "Monad")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 18 88 19+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 88 18 88 19+                                  , srcInfoPoints = []+                                  }+                                "m")))+                       (UnpromotedName+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 20 88 22+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 20 88 22+                               , srcInfoPoints = []+                               }+                             (Symbol+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 88 20 88 22+                                  , srcInfoPoints = []+                                  }+                                ":-")))+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 23 88 41+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 23 88 28+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 88 23 88 28+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 88 23 88 28+                                     , srcInfoPoints = []+                                     }+                                   "Monad")))+                          (TyParen+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 29 88 41+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 88 29 88 30+                                   , SrcSpan "tests/examples/DerivingVia.hs" 88 40 88 41+                                   ]+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 88 30 88 40+                                  , srcInfoPoints = []+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 88 30 88 38+                                     , srcInfoPoints = []+                                     }+                                   (TyCon+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 88 30 88 36+                                        , srcInfoPoints = []+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 88 30 88 36+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 88 30 88 36+                                              , srcInfoPoints = []+                                              }+                                            "StateT")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 88 37 88 38+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 88 37 88 38+                                           , srcInfoPoints = []+                                           }+                                         "s")))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 88 39 88 40+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 88 39 88 40+                                        , srcInfoPoints = []+                                        }+                                      "m")))))))+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 3 89 19+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 3 89 19+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 3 89 8+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 3 89 8+                            , srcInfoPoints = []+                            }+                          "proof"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 9 89 19+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 89 9 89 10 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 11 89 19+                            , srcInfoPoints = []+                            }+                          (Con+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 11 89 14+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 89 11 89 14+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 89 11 89 14+                                     , srcInfoPoints = []+                                     }+                                   "Sub")))+                          (Con+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 15 89 19+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 89 15 89 19+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 89 15 89 19+                                     , srcInfoPoints = []+                                     }+                                   "Dict")))))+                    Nothing)+             ])+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 1 95 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 91 1 91 9+                , SrcSpan "tests/examples/DerivingVia.hs" 91 57 91 62+                , SrcSpan "tests/examples/DerivingVia.hs" 92 3 92 3+                , SrcSpan "tests/examples/DerivingVia.hs" 93 3 93 3+                , SrcSpan "tests/examples/DerivingVia.hs" 95 1 95 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 56+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxSingle+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 21+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 91 19 91 21 ]+                     }+                   (TypeA+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 21+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DerivingVia.hs" 91 19 91 21 ]+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 21+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingVia.hs" 91 19 91 21 ]+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 21+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/DerivingVia.hs" 91 19 91 21 ]+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 16+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 16+                                    , srcInfoPoints = []+                                    }+                                  "Monoid")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 17 91 18+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 17 91 18+                                 , srcInfoPoints = []+                                 }+                               "w"))))))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 22 91 56+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 22 91 34+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 22 91 34+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 22 91 34+                           , srcInfoPoints = []+                           }+                         "LiftingMonad")))+                (TyKind+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 35 91 56+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 91 35 91 36+                         , SrcSpan "tests/examples/DerivingVia.hs" 91 46 91 48+                         , SrcSpan "tests/examples/DerivingVia.hs" 91 55 91 56+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 36 91 45+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 36 91 43+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 36 91 43+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 36 91 43+                                 , srcInfoPoints = []+                                 }+                               "WriterT")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 44 91 45+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 44 91 45+                              , srcInfoPoints = []+                              }+                            "w")))+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 49 91 55+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 49 91 55+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 49 91 55+                              , srcInfoPoints = []+                              }+                            "MTrans"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 3 92 42+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 92 9 92 11 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 3 92 42+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 92 9 92 11 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 3 92 8+                          , srcInfoPoints = []+                          }+                        "proof"+                    ]+                    (TyInfix+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 12 92 42+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 12 92 19+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 12 92 17+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 92 12 92 17+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 92 12 92 17+                                     , srcInfoPoints = []+                                     }+                                   "Monad")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 18 92 19+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 92 18 92 19+                                  , srcInfoPoints = []+                                  }+                                "m")))+                       (UnpromotedName+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 20 92 22+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 20 92 22+                               , srcInfoPoints = []+                               }+                             (Symbol+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 92 20 92 22+                                  , srcInfoPoints = []+                                  }+                                ":-")))+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 23 92 42+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 23 92 28+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 92 23 92 28+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 92 23 92 28+                                     , srcInfoPoints = []+                                     }+                                   "Monad")))+                          (TyParen+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 29 92 42+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 92 29 92 30+                                   , SrcSpan "tests/examples/DerivingVia.hs" 92 41 92 42+                                   ]+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 92 30 92 41+                                  , srcInfoPoints = []+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 92 30 92 39+                                     , srcInfoPoints = []+                                     }+                                   (TyCon+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 92 30 92 37+                                        , srcInfoPoints = []+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 92 30 92 37+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 92 30 92 37+                                              , srcInfoPoints = []+                                              }+                                            "WriterT")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 92 38 92 39+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 92 38 92 39+                                           , srcInfoPoints = []+                                           }+                                         "w")))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 92 40 92 41+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 92 40 92 41+                                        , srcInfoPoints = []+                                        }+                                      "m")))))))+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 3 93 19+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 3 93 19+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 3 93 8+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 3 93 8+                            , srcInfoPoints = []+                            }+                          "proof"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 9 93 19+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 93 9 93 10 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 11 93 19+                            , srcInfoPoints = []+                            }+                          (Con+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 11 93 14+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 93 11 93 14+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 93 11 93 14+                                     , srcInfoPoints = []+                                     }+                                   "Sub")))+                          (Con+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 15 93 19+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 93 15 93 19+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 93 15 93 19+                                     , srcInfoPoints = []+                                     }+                                   "Dict")))))+                    Nothing)+             ])+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 1 99 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 95 1 95 9+                , SrcSpan "tests/examples/DerivingVia.hs" 95 102 95 107+                , SrcSpan "tests/examples/DerivingVia.hs" 96 3 96 3+                , SrcSpan "tests/examples/DerivingVia.hs" 97 3 97 3+                , SrcSpan "tests/examples/DerivingVia.hs" 99 1 99 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 95 10 95 101+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxTuple+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 10 95 54+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 95 10 95 11+                         , SrcSpan "tests/examples/DerivingVia.hs" 95 29 95 30+                         , SrcSpan "tests/examples/DerivingVia.hs" 95 50 95 51+                         , SrcSpan "tests/examples/DerivingVia.hs" 95 52 95 54+                         ]+                     }+                   [ TypeA+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 11 95 29+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 11 95 29+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 11 95 29+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 95 11 95 23+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 95 11 95 23+                                     , srcInfoPoints = []+                                     }+                                   "LiftingMonad")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 24 95 29+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 95 24 95 29+                                  , srcInfoPoints = []+                                  }+                                "trans")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 31 95 50+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 31 95 50+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 31 95 50+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 95 31 95 43+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 95 31 95 43+                                     , srcInfoPoints = []+                                     }+                                   "LiftingMonad")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 44 95 50+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 95 44 95 50+                                  , srcInfoPoints = []+                                  }+                                "trans'")))+                   ]))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 95 55 95 101+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 55 95 67+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 55 95 67+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 55 95 67+                           , srcInfoPoints = []+                           }+                         "LiftingMonad")))+                (TyKind+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 95 68 95 101+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 95 68 95 69+                         , SrcSpan "tests/examples/DerivingVia.hs" 95 91 95 93+                         , SrcSpan "tests/examples/DerivingVia.hs" 95 100 95 101+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 69 95 90+                        , srcInfoPoints = []+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 69 95 83+                           , srcInfoPoints = []+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 69 95 77+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 69 95 77+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 95 69 95 77+                                    , srcInfoPoints = []+                                    }+                                  "ComposeT")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 78 95 83+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 78 95 83+                                 , srcInfoPoints = []+                                 }+                               "trans")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 84 95 90+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 84 95 90+                              , srcInfoPoints = []+                              }+                            "trans'")))+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 95 94 95 100+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 95 94 95 100+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 95 94 95 100+                              , srcInfoPoints = []+                              }+                            "MTrans"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 3 96 64+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 96 9 96 11 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 3 96 64+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 96 9 96 11 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 3 96 8+                          , srcInfoPoints = []+                          }+                        "proof"+                    ]+                    (TyForall+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 12 96 64+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 96 12 96 18+                             , SrcSpan "tests/examples/DerivingVia.hs" 96 20 96 21+                             ]+                         }+                       (Just+                          [ UnkindedVar+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 19 96 20+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 96 19 96 20+                                   , srcInfoPoints = []+                                   }+                                 "m")+                          ])+                       Nothing+                       (TyInfix+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 22 96 64+                            , srcInfoPoints = []+                            }+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 22 96 29+                               , srcInfoPoints = []+                               }+                             (TyCon+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 96 22 96 27+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 96 22 96 27+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 96 22 96 27+                                        , srcInfoPoints = []+                                        }+                                      "Monad")))+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 96 28 96 29+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 96 28 96 29+                                     , srcInfoPoints = []+                                     }+                                   "m")))+                          (UnpromotedName+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 30 96 32+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 96 30 96 32+                                  , srcInfoPoints = []+                                  }+                                (Symbol+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 96 30 96 32+                                     , srcInfoPoints = []+                                     }+                                   ":-")))+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 33 96 64+                               , srcInfoPoints = []+                               }+                             (TyCon+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 96 33 96 38+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 96 33 96 38+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 96 33 96 38+                                        , srcInfoPoints = []+                                        }+                                      "Monad")))+                             (TyParen+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 96 39 96 64+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 96 39 96 40+                                      , SrcSpan "tests/examples/DerivingVia.hs" 96 63 96 64+                                      ]+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 96 40 96 63+                                     , srcInfoPoints = []+                                     }+                                   (TyApp+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 96 40 96 61+                                        , srcInfoPoints = []+                                        }+                                      (TyApp+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 96 40 96 54+                                           , srcInfoPoints = []+                                           }+                                         (TyCon+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 96 40 96 48+                                              , srcInfoPoints = []+                                              }+                                            (UnQual+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 96 40 96 48+                                                 , srcInfoPoints = []+                                                 }+                                               (Ident+                                                  SrcSpanInfo+                                                    { srcInfoSpan =+                                                        SrcSpan+                                                          "tests/examples/DerivingVia.hs"+                                                          96+                                                          40+                                                          96+                                                          48+                                                    , srcInfoPoints = []+                                                    }+                                                  "ComposeT")))+                                         (TyVar+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 96 49 96 54+                                              , srcInfoPoints = []+                                              }+                                            (Ident+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 96 49 96 54+                                                 , srcInfoPoints = []+                                                 }+                                               "trans")))+                                      (TyVar+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 96 55 96 61+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 96 55 96 61+                                              , srcInfoPoints = []+                                              }+                                            "trans'")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 96 62 96 63+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 96 62 96 63+                                           , srcInfoPoints = []+                                           }+                                         "m"))))))))+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 3 97 69+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 3 97 69+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 3 97 8+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 3 97 8+                            , srcInfoPoints = []+                            }+                          "proof"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 9 97 69+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 97 9 97 10 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 11 97 69+                            , srcInfoPoints = []+                            }+                          (Con+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 11 97 14+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 97 11 97 14+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 97 11 97 14+                                     , srcInfoPoints = []+                                     }+                                   "Sub")))+                          (Paren+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 15 97 69+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 97 15 97 16+                                   , SrcSpan "tests/examples/DerivingVia.hs" 97 68 97 69+                                   ]+                               }+                             (InfixApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 97 16 97 68+                                  , srcInfoPoints = []+                                  }+                                (InfixApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 97 16 97 48+                                     , srcInfoPoints = []+                                     }+                                   (Con+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 97 16 97 20+                                        , srcInfoPoints = []+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 97 16 97 20+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 97 16 97 20+                                              , srcInfoPoints = []+                                              }+                                            "Dict")))+                                   (QVarOp+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 97 21 97 23+                                        , srcInfoPoints = []+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 97 21 97 23+                                           , srcInfoPoints = []+                                           }+                                         (Symbol+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 97 21 97 23+                                              , srcInfoPoints = []+                                              }+                                            "\\\\")))+                                   (App+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 97 24 97 48+                                        , srcInfoPoints = []+                                        }+                                      (App+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 97 24 97 36+                                           , srcInfoPoints = []+                                           }+                                         (Var+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 97 24 97 29+                                              , srcInfoPoints = []+                                              }+                                            (UnQual+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 97 24 97 29+                                                 , srcInfoPoints = []+                                                 }+                                               (Ident+                                                  SrcSpanInfo+                                                    { srcInfoSpan =+                                                        SrcSpan+                                                          "tests/examples/DerivingVia.hs"+                                                          97+                                                          24+                                                          97+                                                          29+                                                    , srcInfoPoints = []+                                                    }+                                                  "proof")))+                                         (TypeApp+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 97 30 97 36+                                              , srcInfoPoints =+                                                  [ SrcSpan+                                                      "tests/examples/DerivingVia.hs" 97 30 97 31+                                                  ]+                                              }+                                            (TyVar+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 97 31 97 36+                                                 , srcInfoPoints = []+                                                 }+                                               (Ident+                                                  SrcSpanInfo+                                                    { srcInfoSpan =+                                                        SrcSpan+                                                          "tests/examples/DerivingVia.hs"+                                                          97+                                                          31+                                                          97+                                                          36+                                                    , srcInfoPoints = []+                                                    }+                                                  "trans"))))+                                      (TypeApp+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 97 37 97 48+                                           , srcInfoPoints =+                                               [ SrcSpan "tests/examples/DerivingVia.hs" 97 37 97 38+                                               ]+                                           }+                                         (TyParen+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 97 38 97 48+                                              , srcInfoPoints =+                                                  [ SrcSpan+                                                      "tests/examples/DerivingVia.hs" 97 38 97 39+                                                  , SrcSpan+                                                      "tests/examples/DerivingVia.hs" 97 47 97 48+                                                  ]+                                              }+                                            (TyApp+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 97 39 97 47+                                                 , srcInfoPoints = []+                                                 }+                                               (TyVar+                                                  SrcSpanInfo+                                                    { srcInfoSpan =+                                                        SrcSpan+                                                          "tests/examples/DerivingVia.hs"+                                                          97+                                                          39+                                                          97+                                                          45+                                                    , srcInfoPoints = []+                                                    }+                                                  (Ident+                                                     SrcSpanInfo+                                                       { srcInfoSpan =+                                                           SrcSpan+                                                             "tests/examples/DerivingVia.hs"+                                                             97+                                                             39+                                                             97+                                                             45+                                                       , srcInfoPoints = []+                                                       }+                                                     "trans'"))+                                               (TyVar+                                                  SrcSpanInfo+                                                    { srcInfoSpan =+                                                        SrcSpan+                                                          "tests/examples/DerivingVia.hs"+                                                          97+                                                          46+                                                          97+                                                          47+                                                    , srcInfoPoints = []+                                                    }+                                                  (Ident+                                                     SrcSpanInfo+                                                       { srcInfoSpan =+                                                           SrcSpan+                                                             "tests/examples/DerivingVia.hs"+                                                             97+                                                             46+                                                             97+                                                             47+                                                       , srcInfoPoints = []+                                                       }+                                                     "m")))))))+                                (QVarOp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 97 49 97 51+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 97 49 97 51+                                        , srcInfoPoints = []+                                        }+                                      (Symbol+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 97 49 97 51+                                           , srcInfoPoints = []+                                           }+                                         "\\\\")))+                                (App+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 97 52 97 68+                                     , srcInfoPoints = []+                                     }+                                   (App+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 97 52 97 65+                                        , srcInfoPoints = []+                                        }+                                      (Var+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 97 52 97 57+                                           , srcInfoPoints = []+                                           }+                                         (UnQual+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 97 52 97 57+                                              , srcInfoPoints = []+                                              }+                                            (Ident+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 97 52 97 57+                                                 , srcInfoPoints = []+                                                 }+                                               "proof")))+                                      (TypeApp+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 97 58 97 65+                                           , srcInfoPoints =+                                               [ SrcSpan "tests/examples/DerivingVia.hs" 97 58 97 59+                                               ]+                                           }+                                         (TyVar+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 97 59 97 65+                                              , srcInfoPoints = []+                                              }+                                            (Ident+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 97 59 97 65+                                                 , srcInfoPoints = []+                                                 }+                                               "trans'"))))+                                   (TypeApp+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 97 66 97 68+                                        , srcInfoPoints =+                                            [ SrcSpan "tests/examples/DerivingVia.hs" 97 66 97 67 ]+                                        }+                                      (TyVar+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 97 67 97 68+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 97 67 97 68+                                              , srcInfoPoints = []+                                              }+                                            "m"))))))))+                    Nothing)+             ])+      , GDataDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 1 109 34+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 99 15 99 17+                , SrcSpan "tests/examples/DerivingVia.hs" 99 25 99 30+                , SrcSpan "tests/examples/DerivingVia.hs" 100 3 100 3+                , SrcSpan "tests/examples/DerivingVia.hs" 101 3 101 3+                , SrcSpan "tests/examples/DerivingVia.hs" 101 3 101 3+                ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 1 99 8+               , srcInfoPoints = []+               })+          Nothing+          (DHead+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 9 99 14+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 9 99 14+                  , srcInfoPoints = []+                  }+                "Stack"))+          (Just+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 18 99 24+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 18 99 24+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 18 99 24+                        , srcInfoPoints = []+                        }+                      "MTrans"))))+          [ GadtDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 100 3 100 71+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 100 9 100 11 ]+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 100 3 100 8+                   , srcInfoPoints = []+                   }+                 "Stack")+              Nothing+              Nothing+              Nothing+              (TyFun+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 71+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 100 59 100 61 ]+                   }+                 (TyApp+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 58+                      , srcInfoPoints = []+                      }+                    (TyApp+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 56+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 23+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 19+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 19+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 19+                                     , srcInfoPoints = []+                                     }+                                   "ReaderT")))+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 100 20 100 23+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 100 20 100 23+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 100 20 100 23+                                     , srcInfoPoints = []+                                     }+                                   "Int"))))+                       (TyParen+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 100 24 100 56+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 100 24 100 25+                                , SrcSpan "tests/examples/DerivingVia.hs" 100 55 100 56+                                ]+                            }+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 100 25 100 55+                               , srcInfoPoints = []+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 100 25 100 36+                                  , srcInfoPoints = []+                                  }+                                (TyCon+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 100 25 100 31+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 100 25 100 31+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 100 25 100 31+                                           , srcInfoPoints = []+                                           }+                                         "StateT")))+                                (TyCon+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 100 32 100 36+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 100 32 100 36+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 100 32 100 36+                                           , srcInfoPoints = []+                                           }+                                         "Bool"))))+                             (TyParen+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 100 37 100 55+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 100 37 100 38+                                      , SrcSpan "tests/examples/DerivingVia.hs" 100 54 100 55+                                      ]+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 100 38 100 54+                                     , srcInfoPoints = []+                                     }+                                   (TyApp+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 100 38 100 52+                                        , srcInfoPoints = []+                                        }+                                      (TyCon+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 100 38 100 45+                                           , srcInfoPoints = []+                                           }+                                         (UnQual+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 100 38 100 45+                                              , srcInfoPoints = []+                                              }+                                            (Ident+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 100 38 100 45+                                                 , srcInfoPoints = []+                                                 }+                                               "WriterT")))+                                      (TyCon+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 100 46 100 52+                                           , srcInfoPoints = []+                                           }+                                         (UnQual+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 100 46 100 52+                                              , srcInfoPoints = []+                                              }+                                            (Ident+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 100 46 100 52+                                                 , srcInfoPoints = []+                                                 }+                                               "String"))))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 100 53 100 54+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 100 53 100 54+                                           , srcInfoPoints = []+                                           }+                                         "m")))))))+                    (TyVar+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 100 57 100 58+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 100 57 100 58+                            , srcInfoPoints = []+                            }+                          "a")))+                 (TyApp+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 100 62 100 71+                      , srcInfoPoints = []+                      }+                    (TyApp+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 100 62 100 69+                         , srcInfoPoints = []+                         }+                       (TyCon+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 100 62 100 67+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 100 62 100 67+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 100 62 100 67+                                  , srcInfoPoints = []+                                  }+                                "Stack")))+                       (TyVar+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 100 68 100 69+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 100 68 100 69+                               , srcInfoPoints = []+                               }+                             "m")))+                    (TyVar+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 100 70 100 71+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 100 70 100 71+                            , srcInfoPoints = []+                            }+                          "a"))))+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 101 3 108 6+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 101 3 101 11+                    , SrcSpan "tests/examples/DerivingVia.hs" 102 5 102 6+                    , SrcSpan "tests/examples/DerivingVia.hs" 103 5 103 6+                    , SrcSpan "tests/examples/DerivingVia.hs" 104 5 104 6+                    , SrcSpan "tests/examples/DerivingVia.hs" 105 5 105 6+                    , SrcSpan "tests/examples/DerivingVia.hs" 106 5 106 6+                    , SrcSpan "tests/examples/DerivingVia.hs" 107 5 107 6+                    , SrcSpan "tests/examples/DerivingVia.hs" 108 5 108 6+                    ]+                }+              (Just+                 (DerivNewtype+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 101 12 101 19+                      , srcInfoPoints = []+                      }))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 102 7 102 14+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 102 7 102 14+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 102 7 102 14+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 102 7 102 14+                             , srcInfoPoints = []+                             }+                           "Functor")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 103 7 103 18+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 103 7 103 18+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 103 7 103 18+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 103 7 103 18+                             , srcInfoPoints = []+                             }+                           "Applicative")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 104 7 104 12+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 104 7 104 12+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 104 7 104 12+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 104 7 104 12+                             , srcInfoPoints = []+                             }+                           "Monad")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 105 7 105 22+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHApp+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 105 7 105 22+                       , srcInfoPoints = []+                       }+                     (IHCon+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 105 7 105 18+                          , srcInfoPoints = []+                          }+                        (UnQual+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 105 7 105 18+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 105 7 105 18+                                , srcInfoPoints = []+                                }+                              "MonadReader")))+                     (TyCon+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 105 19 105 22+                          , srcInfoPoints = []+                          }+                        (UnQual+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 105 19 105 22+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 105 19 105 22+                                , srcInfoPoints = []+                                }+                              "Int"))))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 106 7 106 22+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHApp+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 106 7 106 22+                       , srcInfoPoints = []+                       }+                     (IHCon+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 106 7 106 17+                          , srcInfoPoints = []+                          }+                        (UnQual+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 106 7 106 17+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 106 7 106 17+                                , srcInfoPoints = []+                                }+                              "MonadState")))+                     (TyCon+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 106 18 106 22+                          , srcInfoPoints = []+                          }+                        (UnQual+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 106 18 106 22+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 106 18 106 22+                                , srcInfoPoints = []+                                }+                              "Bool"))))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 107 7 107 25+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHApp+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 107 7 107 25+                       , srcInfoPoints = []+                       }+                     (IHCon+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 107 7 107 18+                          , srcInfoPoints = []+                          }+                        (UnQual+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 107 7 107 18+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 107 7 107 18+                                , srcInfoPoints = []+                                }+                              "MonadWriter")))+                     (TyCon+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 107 19 107 25+                          , srcInfoPoints = []+                          }+                        (UnQual+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 107 19 107 25+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 107 19 107 25+                                , srcInfoPoints = []+                                }+                              "String"))))+              ]+          , Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 109 3 109 34+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 109 3 109 11+                    , SrcSpan "tests/examples/DerivingVia.hs" 109 12 109 13+                    , SrcSpan "tests/examples/DerivingVia.hs" 109 23 109 24+                    , SrcSpan "tests/examples/DerivingVia.hs" 109 33 109 34+                    ]+                }+              (Just+                 (DerivVia+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 110 8 110 11+                      , srcInfoPoints = []+                      }+                    (TyParen+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 110 12 110 74+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 110 12 110 13+                             , SrcSpan "tests/examples/DerivingVia.hs" 110 73 110 74+                             ]+                         }+                       (TyInfix+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 110 13 110 73+                            , srcInfoPoints = []+                            }+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 110 13 110 24+                               , srcInfoPoints = []+                               }+                             (TyCon+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 110 13 110 20+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 110 13 110 20+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 110 13 110 20+                                        , srcInfoPoints = []+                                        }+                                      "ReaderT")))+                             (TyCon+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 110 21 110 24+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 110 21 110 24+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 110 21 110 24+                                        , srcInfoPoints = []+                                        }+                                      "Int"))))+                          (UnpromotedName+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 110 25 110 35+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 110 25 110 26+                                   , SrcSpan "tests/examples/DerivingVia.hs" 110 26 110 34+                                   , SrcSpan "tests/examples/DerivingVia.hs" 110 34 110 35+                                   ]+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 110 25 110 35+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 110 25 110 26+                                      , SrcSpan "tests/examples/DerivingVia.hs" 110 26 110 34+                                      , SrcSpan "tests/examples/DerivingVia.hs" 110 34 110 35+                                      ]+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 110 26 110 34+                                     , srcInfoPoints = []+                                     }+                                   "ComposeT")))+                          (TyInfix+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 110 36 110 73+                               , srcInfoPoints = []+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 110 36 110 47+                                  , srcInfoPoints = []+                                  }+                                (TyCon+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 110 36 110 42+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 110 36 110 42+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 110 36 110 42+                                           , srcInfoPoints = []+                                           }+                                         "StateT")))+                                (TyCon+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 110 43 110 47+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 110 43 110 47+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 110 43 110 47+                                           , srcInfoPoints = []+                                           }+                                         "Bool"))))+                             (UnpromotedName+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 110 48 110 58+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 110 48 110 49+                                      , SrcSpan "tests/examples/DerivingVia.hs" 110 49 110 57+                                      , SrcSpan "tests/examples/DerivingVia.hs" 110 57 110 58+                                      ]+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 110 48 110 58+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/DerivingVia.hs" 110 48 110 49+                                         , SrcSpan "tests/examples/DerivingVia.hs" 110 49 110 57+                                         , SrcSpan "tests/examples/DerivingVia.hs" 110 57 110 58+                                         ]+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 110 49 110 57+                                        , srcInfoPoints = []+                                        }+                                      "ComposeT")))+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 110 59 110 73+                                  , srcInfoPoints = []+                                  }+                                (TyCon+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 110 59 110 66+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 110 59 110 66+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 110 59 110 66+                                           , srcInfoPoints = []+                                           }+                                         "WriterT")))+                                (TyCon+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 110 67 110 73+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 110 67 110 73+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 110 67 110 73+                                           , srcInfoPoints = []+                                           }+                                         "String")))))))))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 109 13 109 23+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 109 13 109 23+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 109 13 109 23+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 109 13 109 23+                             , srcInfoPoints = []+                             }+                           "MonadTrans")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 109 25 109 33+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 109 25 109 33+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 109 25 109 33+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 109 25 109 33+                             , srcInfoPoints = []+                             }+                           "MFunctor")))+              ]+          ]+      , ClassDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 112 1 113 57+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 112 1 112 6+                , SrcSpan "tests/examples/DerivingVia.hs" 112 34 112 39+                , SrcSpan "tests/examples/DerivingVia.hs" 113 3 113 3+                , SrcSpan "tests/examples/DerivingVia.hs" 115 1 115 0+                ]+            }+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 112 7 112 33+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 112 7 112 15+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 112 7 112 15+                     , srcInfoPoints = []+                     }+                   "MFunctor"))+             (KindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 112 16 112 33+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/DerivingVia.hs" 112 16 112 17+                      , SrcSpan "tests/examples/DerivingVia.hs" 112 23 112 25+                      , SrcSpan "tests/examples/DerivingVia.hs" 112 32 112 33+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 112 17 112 22+                     , srcInfoPoints = []+                     }+                   "trans")+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 112 26 112 32+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 112 26 112 32+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 112 26 112 32+                           , srcInfoPoints = []+                           }+                         "MTrans")))))+          []+          (Just+             [ ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 113 3 113 57+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 113 9 113 11 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 113 3 113 57+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 113 9 113 11 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 113 3 113 8+                          , srcInfoPoints = []+                          }+                        "hoist"+                    ]+                    (TyForall+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 113 12 113 57+                         , srcInfoPoints = []+                         }+                       Nothing+                       (Just+                          (CxSingle+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 113 12 113 22+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 113 20 113 22 ]+                               }+                             (TypeA+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 113 12 113 22+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 113 20 113 22 ]+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 113 12 113 22+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/DerivingVia.hs" 113 20 113 22 ]+                                     }+                                   (TyCon+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 113 12 113 22+                                        , srcInfoPoints =+                                            [ SrcSpan "tests/examples/DerivingVia.hs" 113 20 113 22+                                            ]+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 113 12 113 17+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 113 12 113 17+                                              , srcInfoPoints = []+                                              }+                                            "Monad")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 113 18 113 19+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 113 18 113 19+                                           , srcInfoPoints = []+                                           }+                                         "m"))))))+                       (TyFun+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 113 23 113 57+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 113 33 113 35 ]+                            }+                          (TyParen+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 113 23 113 32+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 113 23 113 24+                                   , SrcSpan "tests/examples/DerivingVia.hs" 113 31 113 32+                                   ]+                               }+                             (TyInfix+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 113 24 113 31+                                  , srcInfoPoints = []+                                  }+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 113 24 113 25+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 113 24 113 25+                                        , srcInfoPoints = []+                                        }+                                      "m"))+                                (UnpromotedName+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 113 26 113 28+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 113 26 113 28+                                        , srcInfoPoints = []+                                        }+                                      (Symbol+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 113 26 113 28+                                           , srcInfoPoints = []+                                           }+                                         "~>")))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 113 29 113 31+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 113 29 113 31+                                        , srcInfoPoints = []+                                        }+                                      "m'"))))+                          (TyParen+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 113 36 113 57+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 113 36 113 37+                                   , SrcSpan "tests/examples/DerivingVia.hs" 113 56 113 57+                                   ]+                               }+                             (TyInfix+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 113 37 113 56+                                  , srcInfoPoints = []+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 113 37 113 44+                                     , srcInfoPoints = []+                                     }+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 113 37 113 42+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 113 37 113 42+                                           , srcInfoPoints = []+                                           }+                                         "trans"))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 113 43 113 44+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 113 43 113 44+                                           , srcInfoPoints = []+                                           }+                                         "m")))+                                (UnpromotedName+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 113 45 113 47+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 113 45 113 47+                                        , srcInfoPoints = []+                                        }+                                      (Symbol+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 113 45 113 47+                                           , srcInfoPoints = []+                                           }+                                         "~>")))+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 113 48 113 56+                                     , srcInfoPoints = []+                                     }+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 113 48 113 53+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 113 48 113 53+                                           , srcInfoPoints = []+                                           }+                                         "trans"))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 113 54 113 56+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 113 54 113 56+                                           , srcInfoPoints = []+                                           }+                                         "m'"))))))))+             ])+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 115 1 119 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 115 1 115 9+                , SrcSpan "tests/examples/DerivingVia.hs" 115 41 115 46+                , SrcSpan "tests/examples/DerivingVia.hs" 116 3 116 3+                , SrcSpan "tests/examples/DerivingVia.hs" 117 3 117 3+                , SrcSpan "tests/examples/DerivingVia.hs" 119 1 119 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 115 10 115 40+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 115 10 115 40+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 115 10 115 18+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 115 10 115 18+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 115 10 115 18+                           , srcInfoPoints = []+                           }+                         "MFunctor")))+                (TyKind+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 115 19 115 40+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 115 19 115 20+                         , SrcSpan "tests/examples/DerivingVia.hs" 115 30 115 32+                         , SrcSpan "tests/examples/DerivingVia.hs" 115 39 115 40+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 115 20 115 29+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 115 20 115 27+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 115 20 115 27+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 115 20 115 27+                                 , srcInfoPoints = []+                                 }+                               "ReaderT")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 115 28 115 29+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 115 28 115 29+                              , srcInfoPoints = []+                              }+                            "r")))+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 115 33 115 39+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 115 33 115 39+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 115 33 115 39+                              , srcInfoPoints = []+                              }+                            "MTrans"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 116 3 116 65+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 116 9 116 11 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 116 3 116 65+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 116 9 116 11 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 116 3 116 8+                          , srcInfoPoints = []+                          }+                        "hoist"+                    ]+                    (TyForall+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 116 12 116 65+                         , srcInfoPoints = []+                         }+                       Nothing+                       (Just+                          (CxSingle+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 116 12 116 22+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 116 20 116 22 ]+                               }+                             (TypeA+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 116 12 116 22+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 116 20 116 22 ]+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 116 12 116 22+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/DerivingVia.hs" 116 20 116 22 ]+                                     }+                                   (TyCon+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 116 12 116 22+                                        , srcInfoPoints =+                                            [ SrcSpan "tests/examples/DerivingVia.hs" 116 20 116 22+                                            ]+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 116 12 116 17+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 116 12 116 17+                                              , srcInfoPoints = []+                                              }+                                            "Monad")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 116 18 116 19+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 116 18 116 19+                                           , srcInfoPoints = []+                                           }+                                         "m"))))))+                       (TyFun+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 116 23 116 65+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 116 33 116 35 ]+                            }+                          (TyParen+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 116 23 116 32+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 116 23 116 24+                                   , SrcSpan "tests/examples/DerivingVia.hs" 116 31 116 32+                                   ]+                               }+                             (TyInfix+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 116 24 116 31+                                  , srcInfoPoints = []+                                  }+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 116 24 116 25+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 116 24 116 25+                                        , srcInfoPoints = []+                                        }+                                      "m"))+                                (UnpromotedName+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 116 26 116 28+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 116 26 116 28+                                        , srcInfoPoints = []+                                        }+                                      (Symbol+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 116 26 116 28+                                           , srcInfoPoints = []+                                           }+                                         "~>")))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 116 29 116 31+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 116 29 116 31+                                        , srcInfoPoints = []+                                        }+                                      "m'"))))+                          (TyParen+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 116 36 116 65+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 116 36 116 37+                                   , SrcSpan "tests/examples/DerivingVia.hs" 116 64 116 65+                                   ]+                               }+                             (TyInfix+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 116 37 116 64+                                  , srcInfoPoints = []+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 116 37 116 48+                                     , srcInfoPoints = []+                                     }+                                   (TyApp+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 116 37 116 46+                                        , srcInfoPoints = []+                                        }+                                      (TyCon+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 116 37 116 44+                                           , srcInfoPoints = []+                                           }+                                         (UnQual+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 116 37 116 44+                                              , srcInfoPoints = []+                                              }+                                            (Ident+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 116 37 116 44+                                                 , srcInfoPoints = []+                                                 }+                                               "ReaderT")))+                                      (TyVar+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 116 45 116 46+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 116 45 116 46+                                              , srcInfoPoints = []+                                              }+                                            "r")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 116 47 116 48+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 116 47 116 48+                                           , srcInfoPoints = []+                                           }+                                         "m")))+                                (UnpromotedName+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 116 49 116 51+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 116 49 116 51+                                        , srcInfoPoints = []+                                        }+                                      (Symbol+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 116 49 116 51+                                           , srcInfoPoints = []+                                           }+                                         "~>")))+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 116 52 116 64+                                     , srcInfoPoints = []+                                     }+                                   (TyApp+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 116 52 116 61+                                        , srcInfoPoints = []+                                        }+                                      (TyCon+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 116 52 116 59+                                           , srcInfoPoints = []+                                           }+                                         (UnQual+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 116 52 116 59+                                              , srcInfoPoints = []+                                              }+                                            (Ident+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 116 52 116 59+                                                 , srcInfoPoints = []+                                                 }+                                               "ReaderT")))+                                      (TyVar+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 116 60 116 61+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 116 60 116 61+                                              , srcInfoPoints = []+                                              }+                                            "r")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 116 62 116 64+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 116 62 116 64+                                           , srcInfoPoints = []+                                           }+                                         "m'"))))))))+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 117 3 117 46+                   , srcInfoPoints = []+                   }+                 (FunBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 117 3 117 46+                      , srcInfoPoints = []+                      }+                    [ Match+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 117 3 117 46+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 117 3 117 8+                             , srcInfoPoints = []+                             }+                           "hoist")+                        [ PVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 117 9 117 12+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 117 9 117 12+                                 , srcInfoPoints = []+                                 }+                               "nat")+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 117 13 117 46+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/DerivingVia.hs" 117 13 117 14 ]+                             }+                           (InfixApp+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 117 15 117 46+                                , srcInfoPoints = []+                                }+                              (Con+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 117 15 117 22+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 117 15 117 22+                                      , srcInfoPoints = []+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 117 15 117 22+                                         , srcInfoPoints = []+                                         }+                                       "ReaderT")))+                              (QVarOp+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 117 23 117 24+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 117 23 117 24+                                      , srcInfoPoints = []+                                      }+                                    (Symbol+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 117 23 117 24+                                         , srcInfoPoints = []+                                         }+                                       ".")))+                              (InfixApp+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 117 25 117 46+                                   , srcInfoPoints = []+                                   }+                                 (App+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 117 25 117 33+                                      , srcInfoPoints = []+                                      }+                                    (Var+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 117 25 117 29+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 117 25 117 29+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 117 25 117 29+                                               , srcInfoPoints = []+                                               }+                                             "fmap")))+                                    (Var+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 117 30 117 33+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 117 30 117 33+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 117 30 117 33+                                               , srcInfoPoints = []+                                               }+                                             "nat"))))+                                 (QVarOp+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 117 34 117 35+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 117 34 117 35+                                         , srcInfoPoints = []+                                         }+                                       (Symbol+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 117 34 117 35+                                            , srcInfoPoints = []+                                            }+                                          ".")))+                                 (Var+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 117 36 117 46+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 117 36 117 46+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 117 36 117 46+                                            , srcInfoPoints = []+                                            }+                                          "runReaderT"))))))+                        Nothing+                    ])+             ])+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 119 1 123 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 119 1 119 9+                , SrcSpan "tests/examples/DerivingVia.hs" 119 40 119 45+                , SrcSpan "tests/examples/DerivingVia.hs" 120 3 120 3+                , SrcSpan "tests/examples/DerivingVia.hs" 121 3 121 3+                , SrcSpan "tests/examples/DerivingVia.hs" 123 1 123 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 119 10 119 39+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 119 10 119 39+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 119 10 119 18+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 119 10 119 18+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 119 10 119 18+                           , srcInfoPoints = []+                           }+                         "MFunctor")))+                (TyKind+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 119 19 119 39+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 119 19 119 20+                         , SrcSpan "tests/examples/DerivingVia.hs" 119 29 119 31+                         , SrcSpan "tests/examples/DerivingVia.hs" 119 38 119 39+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 119 20 119 28+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 119 20 119 26+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 119 20 119 26+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 119 20 119 26+                                 , srcInfoPoints = []+                                 }+                               "StateT")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 119 27 119 28+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 119 27 119 28+                              , srcInfoPoints = []+                              }+                            "s")))+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 119 32 119 38+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 119 32 119 38+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 119 32 119 38+                              , srcInfoPoints = []+                              }+                            "MTrans"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 120 3 120 63+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 120 9 120 11 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 120 3 120 63+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 120 9 120 11 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 120 3 120 8+                          , srcInfoPoints = []+                          }+                        "hoist"+                    ]+                    (TyForall+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 120 12 120 63+                         , srcInfoPoints = []+                         }+                       Nothing+                       (Just+                          (CxSingle+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 120 12 120 22+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 120 20 120 22 ]+                               }+                             (TypeA+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 120 12 120 22+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 120 20 120 22 ]+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 120 12 120 22+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/DerivingVia.hs" 120 20 120 22 ]+                                     }+                                   (TyCon+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 120 12 120 22+                                        , srcInfoPoints =+                                            [ SrcSpan "tests/examples/DerivingVia.hs" 120 20 120 22+                                            ]+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 120 12 120 17+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 120 12 120 17+                                              , srcInfoPoints = []+                                              }+                                            "Monad")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 120 18 120 19+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 120 18 120 19+                                           , srcInfoPoints = []+                                           }+                                         "m"))))))+                       (TyFun+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 120 23 120 63+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 120 33 120 35 ]+                            }+                          (TyParen+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 120 23 120 32+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 120 23 120 24+                                   , SrcSpan "tests/examples/DerivingVia.hs" 120 31 120 32+                                   ]+                               }+                             (TyInfix+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 120 24 120 31+                                  , srcInfoPoints = []+                                  }+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 120 24 120 25+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 120 24 120 25+                                        , srcInfoPoints = []+                                        }+                                      "m"))+                                (UnpromotedName+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 120 26 120 28+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 120 26 120 28+                                        , srcInfoPoints = []+                                        }+                                      (Symbol+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 120 26 120 28+                                           , srcInfoPoints = []+                                           }+                                         "~>")))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 120 29 120 31+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 120 29 120 31+                                        , srcInfoPoints = []+                                        }+                                      "m'"))))+                          (TyParen+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 120 36 120 63+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 120 36 120 37+                                   , SrcSpan "tests/examples/DerivingVia.hs" 120 62 120 63+                                   ]+                               }+                             (TyInfix+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 120 37 120 62+                                  , srcInfoPoints = []+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 120 37 120 47+                                     , srcInfoPoints = []+                                     }+                                   (TyApp+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 120 37 120 45+                                        , srcInfoPoints = []+                                        }+                                      (TyCon+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 120 37 120 43+                                           , srcInfoPoints = []+                                           }+                                         (UnQual+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 120 37 120 43+                                              , srcInfoPoints = []+                                              }+                                            (Ident+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 120 37 120 43+                                                 , srcInfoPoints = []+                                                 }+                                               "StateT")))+                                      (TyVar+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 120 44 120 45+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 120 44 120 45+                                              , srcInfoPoints = []+                                              }+                                            "s")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 120 46 120 47+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 120 46 120 47+                                           , srcInfoPoints = []+                                           }+                                         "m")))+                                (UnpromotedName+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 120 48 120 50+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 120 48 120 50+                                        , srcInfoPoints = []+                                        }+                                      (Symbol+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 120 48 120 50+                                           , srcInfoPoints = []+                                           }+                                         "~>")))+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 120 51 120 62+                                     , srcInfoPoints = []+                                     }+                                   (TyApp+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 120 51 120 59+                                        , srcInfoPoints = []+                                        }+                                      (TyCon+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 120 51 120 57+                                           , srcInfoPoints = []+                                           }+                                         (UnQual+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 120 51 120 57+                                              , srcInfoPoints = []+                                              }+                                            (Ident+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 120 51 120 57+                                                 , srcInfoPoints = []+                                                 }+                                               "StateT")))+                                      (TyVar+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 120 58 120 59+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 120 58 120 59+                                              , srcInfoPoints = []+                                              }+                                            "s")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 120 60 120 62+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 120 60 120 62+                                           , srcInfoPoints = []+                                           }+                                         "m'"))))))))+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 121 3 121 44+                   , srcInfoPoints = []+                   }+                 (FunBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 121 3 121 44+                      , srcInfoPoints = []+                      }+                    [ Match+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 121 3 121 44+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 121 3 121 8+                             , srcInfoPoints = []+                             }+                           "hoist")+                        [ PVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 121 9 121 12+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 121 9 121 12+                                 , srcInfoPoints = []+                                 }+                               "nat")+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 121 13 121 44+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/DerivingVia.hs" 121 13 121 14 ]+                             }+                           (InfixApp+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 121 15 121 44+                                , srcInfoPoints = []+                                }+                              (Con+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 121 15 121 21+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 121 15 121 21+                                      , srcInfoPoints = []+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 121 15 121 21+                                         , srcInfoPoints = []+                                         }+                                       "StateT")))+                              (QVarOp+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 121 22 121 23+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 121 22 121 23+                                      , srcInfoPoints = []+                                      }+                                    (Symbol+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 121 22 121 23+                                         , srcInfoPoints = []+                                         }+                                       ".")))+                              (InfixApp+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 121 24 121 44+                                   , srcInfoPoints = []+                                   }+                                 (App+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 121 24 121 32+                                      , srcInfoPoints = []+                                      }+                                    (Var+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 121 24 121 28+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 121 24 121 28+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 121 24 121 28+                                               , srcInfoPoints = []+                                               }+                                             "fmap")))+                                    (Var+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 121 29 121 32+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 121 29 121 32+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 121 29 121 32+                                               , srcInfoPoints = []+                                               }+                                             "nat"))))+                                 (QVarOp+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 121 33 121 34+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 121 33 121 34+                                         , srcInfoPoints = []+                                         }+                                       (Symbol+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 121 33 121 34+                                            , srcInfoPoints = []+                                            }+                                          ".")))+                                 (Var+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 121 35 121 44+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 121 35 121 44+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 121 35 121 44+                                            , srcInfoPoints = []+                                            }+                                          "runStateT"))))))+                        Nothing+                    ])+             ])+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 123 1 127 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 123 1 123 9+                , SrcSpan "tests/examples/DerivingVia.hs" 123 41 123 46+                , SrcSpan "tests/examples/DerivingVia.hs" 124 3 124 3+                , SrcSpan "tests/examples/DerivingVia.hs" 125 3 125 3+                , SrcSpan "tests/examples/DerivingVia.hs" 127 1 127 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 123 10 123 40+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 123 10 123 40+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 123 10 123 18+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 123 10 123 18+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 123 10 123 18+                           , srcInfoPoints = []+                           }+                         "MFunctor")))+                (TyKind+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 123 19 123 40+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 123 19 123 20+                         , SrcSpan "tests/examples/DerivingVia.hs" 123 30 123 32+                         , SrcSpan "tests/examples/DerivingVia.hs" 123 39 123 40+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 123 20 123 29+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 123 20 123 27+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 123 20 123 27+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 123 20 123 27+                                 , srcInfoPoints = []+                                 }+                               "WriterT")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 123 28 123 29+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 123 28 123 29+                              , srcInfoPoints = []+                              }+                            "w")))+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 123 33 123 39+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 123 33 123 39+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 123 33 123 39+                              , srcInfoPoints = []+                              }+                            "MTrans"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 124 3 124 65+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 124 9 124 11 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 124 3 124 65+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 124 9 124 11 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 124 3 124 8+                          , srcInfoPoints = []+                          }+                        "hoist"+                    ]+                    (TyForall+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 124 12 124 65+                         , srcInfoPoints = []+                         }+                       Nothing+                       (Just+                          (CxSingle+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 124 12 124 22+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 124 20 124 22 ]+                               }+                             (TypeA+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 124 12 124 22+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 124 20 124 22 ]+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 124 12 124 22+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/DerivingVia.hs" 124 20 124 22 ]+                                     }+                                   (TyCon+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 124 12 124 22+                                        , srcInfoPoints =+                                            [ SrcSpan "tests/examples/DerivingVia.hs" 124 20 124 22+                                            ]+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 124 12 124 17+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 124 12 124 17+                                              , srcInfoPoints = []+                                              }+                                            "Monad")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 124 18 124 19+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 124 18 124 19+                                           , srcInfoPoints = []+                                           }+                                         "m"))))))+                       (TyFun+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 124 23 124 65+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 124 33 124 35 ]+                            }+                          (TyParen+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 124 23 124 32+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 124 23 124 24+                                   , SrcSpan "tests/examples/DerivingVia.hs" 124 31 124 32+                                   ]+                               }+                             (TyInfix+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 124 24 124 31+                                  , srcInfoPoints = []+                                  }+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 124 24 124 25+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 124 24 124 25+                                        , srcInfoPoints = []+                                        }+                                      "m"))+                                (UnpromotedName+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 124 26 124 28+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 124 26 124 28+                                        , srcInfoPoints = []+                                        }+                                      (Symbol+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 124 26 124 28+                                           , srcInfoPoints = []+                                           }+                                         "~>")))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 124 29 124 31+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 124 29 124 31+                                        , srcInfoPoints = []+                                        }+                                      "m'"))))+                          (TyParen+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 124 36 124 65+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 124 36 124 37+                                   , SrcSpan "tests/examples/DerivingVia.hs" 124 64 124 65+                                   ]+                               }+                             (TyInfix+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 124 37 124 64+                                  , srcInfoPoints = []+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 124 37 124 48+                                     , srcInfoPoints = []+                                     }+                                   (TyApp+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 124 37 124 46+                                        , srcInfoPoints = []+                                        }+                                      (TyCon+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 124 37 124 44+                                           , srcInfoPoints = []+                                           }+                                         (UnQual+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 124 37 124 44+                                              , srcInfoPoints = []+                                              }+                                            (Ident+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 124 37 124 44+                                                 , srcInfoPoints = []+                                                 }+                                               "WriterT")))+                                      (TyVar+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 124 45 124 46+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 124 45 124 46+                                              , srcInfoPoints = []+                                              }+                                            "w")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 124 47 124 48+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 124 47 124 48+                                           , srcInfoPoints = []+                                           }+                                         "m")))+                                (UnpromotedName+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 124 49 124 51+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 124 49 124 51+                                        , srcInfoPoints = []+                                        }+                                      (Symbol+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 124 49 124 51+                                           , srcInfoPoints = []+                                           }+                                         "~>")))+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 124 52 124 64+                                     , srcInfoPoints = []+                                     }+                                   (TyApp+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 124 52 124 61+                                        , srcInfoPoints = []+                                        }+                                      (TyCon+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 124 52 124 59+                                           , srcInfoPoints = []+                                           }+                                         (UnQual+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 124 52 124 59+                                              , srcInfoPoints = []+                                              }+                                            (Ident+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 124 52 124 59+                                                 , srcInfoPoints = []+                                                 }+                                               "WriterT")))+                                      (TyVar+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 124 60 124 61+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 124 60 124 61+                                              , srcInfoPoints = []+                                              }+                                            "w")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 124 62 124 64+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 124 62 124 64+                                           , srcInfoPoints = []+                                           }+                                         "m'"))))))))+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 125 3 125 41+                   , srcInfoPoints = []+                   }+                 (FunBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 125 3 125 41+                      , srcInfoPoints = []+                      }+                    [ Match+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 125 3 125 41+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 125 3 125 8+                             , srcInfoPoints = []+                             }+                           "hoist")+                        [ PVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 125 9 125 12+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 125 9 125 12+                                 , srcInfoPoints = []+                                 }+                               "nat")+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 125 13 125 41+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/DerivingVia.hs" 125 13 125 14 ]+                             }+                           (InfixApp+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 125 15 125 41+                                , srcInfoPoints = []+                                }+                              (Con+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 125 15 125 22+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 125 15 125 22+                                      , srcInfoPoints = []+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 125 15 125 22+                                         , srcInfoPoints = []+                                         }+                                       "WriterT")))+                              (QVarOp+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 125 23 125 24+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 125 23 125 24+                                      , srcInfoPoints = []+                                      }+                                    (Symbol+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 125 23 125 24+                                         , srcInfoPoints = []+                                         }+                                       ".")))+                              (InfixApp+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 125 25 125 41+                                   , srcInfoPoints = []+                                   }+                                 (Var+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 125 25 125 28+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 125 25 125 28+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 125 25 125 28+                                            , srcInfoPoints = []+                                            }+                                          "nat")))+                                 (QVarOp+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 125 29 125 30+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 125 29 125 30+                                         , srcInfoPoints = []+                                         }+                                       (Symbol+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 125 29 125 30+                                            , srcInfoPoints = []+                                            }+                                          ".")))+                                 (Var+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 125 31 125 41+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 125 31 125 41+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 125 31 125 41+                                            , srcInfoPoints = []+                                            }+                                          "runWriterT"))))))+                        Nothing+                    ])+             ])+      , InfixDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 127 1 127 20+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 127 8 127 9 ]+            }+          (AssocRight+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 127 1 127 7+               , srcInfoPoints = []+               })+          (Just 9)+          [ ConOp+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 127 10 127 20+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 127 10 127 11+                    , SrcSpan "tests/examples/DerivingVia.hs" 127 11 127 19+                    , SrcSpan "tests/examples/DerivingVia.hs" 127 19 127 20+                    ]+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 127 10 127 20+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 127 10 127 11+                       , SrcSpan "tests/examples/DerivingVia.hs" 127 11 127 19+                       , SrcSpan "tests/examples/DerivingVia.hs" 127 19 127 20+                       ]+                   }+                 "ComposeT")+          ]+      , GDataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 128 1 130 49+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 128 18 128 20+                , SrcSpan "tests/examples/DerivingVia.hs" 128 48 128 53+                , SrcSpan "tests/examples/DerivingVia.hs" 129 3 129 3+                , SrcSpan "tests/examples/DerivingVia.hs" 130 3 130 3+                , SrcSpan "tests/examples/DerivingVia.hs" 130 3 130 3+                ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 128 1 128 8+               , srcInfoPoints = []+               })+          Nothing+          (DHead+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 128 9 128 17+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 128 9 128 17+                  , srcInfoPoints = []+                  }+                "ComposeT"))+          (Just+             (TyFun+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 128 21 128 47+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/DerivingVia.hs" 128 28 128 30 ]+                  }+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 128 21 128 27+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 128 21 128 27+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 128 21 128 27+                           , srcInfoPoints = []+                           }+                         "MTrans")))+                (TyFun+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 128 31 128 47+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 128 38 128 40 ]+                     }+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 128 31 128 37+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 128 31 128 37+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 128 31 128 37+                              , srcInfoPoints = []+                              }+                            "MTrans")))+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 128 41 128 47+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 128 41 128 47+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 128 41 128 47+                              , srcInfoPoints = []+                              }+                            "MTrans"))))))+          [ GadtDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 129 3 129 63+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 129 12 129 14+                    , SrcSpan "tests/examples/DerivingVia.hs" 129 15 129 16+                    , SrcSpan "tests/examples/DerivingVia.hs" 129 42 129 43+                    , SrcSpan "tests/examples/DerivingVia.hs" 129 44 129 46+                    ]+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 129 3 129 11+                   , srcInfoPoints = []+                   }+                 "ComposeT")+              Nothing+              Nothing+              (Just+                 [ FieldDecl+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 129 17 129 41+                       , srcInfoPoints =+                           [ SrcSpan "tests/examples/DerivingVia.hs" 129 29 129 31 ]+                       }+                     [ Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 129 17 129 28+                           , srcInfoPoints = []+                           }+                         "getComposeT"+                     ]+                     (TyApp+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 129 32 129 41+                          , srcInfoPoints = []+                          }+                        (TyApp+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 129 32 129 39+                             , srcInfoPoints = []+                             }+                           (TyVar+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 129 32 129 33+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 129 32 129 33+                                   , srcInfoPoints = []+                                   }+                                 "f"))+                           (TyParen+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 129 34 129 39+                                , srcInfoPoints =+                                    [ SrcSpan "tests/examples/DerivingVia.hs" 129 34 129 35+                                    , SrcSpan "tests/examples/DerivingVia.hs" 129 38 129 39+                                    ]+                                }+                              (TyApp+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 129 35 129 38+                                   , srcInfoPoints = []+                                   }+                                 (TyVar+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 129 35 129 36+                                      , srcInfoPoints = []+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 129 35 129 36+                                         , srcInfoPoints = []+                                         }+                                       "g"))+                                 (TyVar+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 129 37 129 38+                                      , srcInfoPoints = []+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 129 37 129 38+                                         , srcInfoPoints = []+                                         }+                                       "m")))))+                        (TyVar+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 129 40 129 41+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 129 40 129 41+                                , srcInfoPoints = []+                                }+                              "a")))+                 ])+              (TyApp+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 63+                   , srcInfoPoints = []+                   }+                 (TyApp+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 61+                      , srcInfoPoints = []+                      }+                    (TyApp+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 59+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 57+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 55+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 55+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 55+                                     , srcInfoPoints = []+                                     }+                                   "ComposeT")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 129 56 129 57+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 129 56 129 57+                                  , srcInfoPoints = []+                                  }+                                "f")))+                       (TyVar+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 129 58 129 59+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 129 58 129 59+                               , srcInfoPoints = []+                               }+                             "g")))+                    (TyVar+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 129 60 129 61+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 129 60 129 61+                            , srcInfoPoints = []+                            }+                          "m")))+                 (TyVar+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 129 62 129 63+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 129 62 129 63+                         , srcInfoPoints = []+                         }+                       "a")))+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 130 3 130 49+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 130 3 130 11+                    , SrcSpan "tests/examples/DerivingVia.hs" 130 20 130 21+                    , SrcSpan "tests/examples/DerivingVia.hs" 130 28 130 29+                    , SrcSpan "tests/examples/DerivingVia.hs" 130 41 130 42+                    , SrcSpan "tests/examples/DerivingVia.hs" 130 48 130 49+                    ]+                }+              (Just+                 (DerivNewtype+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 130 12 130 19+                      , srcInfoPoints = []+                      }))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 130 21 130 28+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 130 21 130 28+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 130 21 130 28+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 130 21 130 28+                             , srcInfoPoints = []+                             }+                           "Functor")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 130 30 130 41+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 130 30 130 41+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 130 30 130 41+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 130 30 130 41+                             , srcInfoPoints = []+                             }+                           "Applicative")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 130 43 130 48+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 130 43 130 48+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 130 43 130 48+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 130 43 130 48+                             , srcInfoPoints = []+                             }+                           "Monad")))+              ]+          ]+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 132 1 137 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 132 1 132 9+                , SrcSpan "tests/examples/DerivingVia.hs" 132 84 132 89+                , SrcSpan "tests/examples/DerivingVia.hs" 133 3 133 3+                , SrcSpan "tests/examples/DerivingVia.hs" 134 3 134 3+                , SrcSpan "tests/examples/DerivingVia.hs" 137 1 137 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 132 10 132 83+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxTuple+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 132 10 132 57+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 132 10 132 11+                         , SrcSpan "tests/examples/DerivingVia.hs" 132 23 132 24+                         , SrcSpan "tests/examples/DerivingVia.hs" 132 37 132 38+                         , SrcSpan "tests/examples/DerivingVia.hs" 132 53 132 54+                         , SrcSpan "tests/examples/DerivingVia.hs" 132 55 132 57+                         ]+                     }+                   [ TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 132 11 132 23+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 132 11 132 23+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 132 11 132 23+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 132 11 132 21+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 132 11 132 21+                                     , srcInfoPoints = []+                                     }+                                   "MonadTrans")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 132 22 132 23+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 132 22 132 23+                                  , srcInfoPoints = []+                                  }+                                "f")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 132 25 132 37+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 132 25 132 37+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 132 25 132 37+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 132 25 132 35+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 132 25 132 35+                                     , srcInfoPoints = []+                                     }+                                   "MonadTrans")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 132 36 132 37+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 132 36 132 37+                                  , srcInfoPoints = []+                                  }+                                "g")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 132 39 132 53+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 132 39 132 53+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 132 39 132 53+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 132 39 132 51+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 132 39 132 51+                                     , srcInfoPoints = []+                                     }+                                   "LiftingMonad")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 132 52 132 53+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 132 52 132 53+                                  , srcInfoPoints = []+                                  }+                                "g")))+                   ]))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 132 58 132 83+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 132 58 132 68+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 132 58 132 68+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 132 58 132 68+                           , srcInfoPoints = []+                           }+                         "MonadTrans")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 132 69 132 83+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 132 69 132 70+                         , SrcSpan "tests/examples/DerivingVia.hs" 132 82 132 83+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 132 70 132 82+                        , srcInfoPoints = []+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 132 70 132 80+                           , srcInfoPoints = []+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 132 70 132 78+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 132 70 132 78+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 132 70 132 78+                                    , srcInfoPoints = []+                                    }+                                  "ComposeT")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 132 79 132 80+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 132 79 132 80+                                 , srcInfoPoints = []+                                 }+                               "f")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 132 81 132 82+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 132 81 132 82+                              , srcInfoPoints = []+                              }+                            "g"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 133 3 133 51+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 133 8 133 10 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 133 3 133 51+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 133 8 133 10 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 133 3 133 7+                          , srcInfoPoints = []+                          }+                        "lift"+                    ]+                    (TyForall+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 133 11 133 51+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 133 11 133 17+                             , SrcSpan "tests/examples/DerivingVia.hs" 133 19 133 20+                             ]+                         }+                       (Just+                          [ UnkindedVar+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 133 18 133 19+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 133 18 133 19+                                   , srcInfoPoints = []+                                   }+                                 "m")+                          ])+                       (Just+                          (CxSingle+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 133 21 133 31+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 133 29 133 31 ]+                               }+                             (TypeA+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 133 21 133 31+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 133 29 133 31 ]+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 133 21 133 31+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/DerivingVia.hs" 133 29 133 31 ]+                                     }+                                   (TyCon+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 133 21 133 31+                                        , srcInfoPoints =+                                            [ SrcSpan "tests/examples/DerivingVia.hs" 133 29 133 31+                                            ]+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 133 21 133 26+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 133 21 133 26+                                              , srcInfoPoints = []+                                              }+                                            "Monad")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 133 27 133 28+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 133 27 133 28+                                           , srcInfoPoints = []+                                           }+                                         "m"))))))+                       (TyInfix+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 133 32 133 51+                            , srcInfoPoints = []+                            }+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 133 32 133 33+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 133 32 133 33+                                  , srcInfoPoints = []+                                  }+                                "m"))+                          (UnpromotedName+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 133 34 133 36+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 133 34 133 36+                                  , srcInfoPoints = []+                                  }+                                (Symbol+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 133 34 133 36+                                     , srcInfoPoints = []+                                     }+                                   "~>")))+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 133 37 133 51+                               , srcInfoPoints = []+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 133 37 133 49+                                  , srcInfoPoints = []+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 133 37 133 47+                                     , srcInfoPoints = []+                                     }+                                   (TyCon+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 133 37 133 45+                                        , srcInfoPoints = []+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 133 37 133 45+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 133 37 133 45+                                              , srcInfoPoints = []+                                              }+                                            "ComposeT")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 133 46 133 47+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 133 46 133 47+                                           , srcInfoPoints = []+                                           }+                                         "f")))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 133 48 133 49+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 133 48 133 49+                                        , srcInfoPoints = []+                                        }+                                      "g")))+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 133 50 133 51+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 133 50 133 51+                                     , srcInfoPoints = []+                                     }+                                   "m"))))))+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 134 3 135 19+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 134 3 135 19+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 134 3 134 7+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 134 3 134 7+                            , srcInfoPoints = []+                            }+                          "lift"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 134 8 135 19+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 134 8 134 9 ]+                         }+                       (InfixApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 134 10 135 19+                            , srcInfoPoints = []+                            }+                          (InfixApp+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 134 10 134 32+                               , srcInfoPoints = []+                               }+                             (Con+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 134 10 134 18+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 134 10 134 18+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 134 10 134 18+                                        , srcInfoPoints = []+                                        }+                                      "ComposeT")))+                             (QVarOp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 134 19 134 20+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 134 19 134 20+                                     , srcInfoPoints = []+                                     }+                                   (Symbol+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 134 19 134 20+                                        , srcInfoPoints = []+                                        }+                                      ".")))+                             (InfixApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 134 21 134 32+                                  , srcInfoPoints = []+                                  }+                                (Var+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 134 21 134 25+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 134 21 134 25+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 134 21 134 25+                                           , srcInfoPoints = []+                                           }+                                         "lift")))+                                (QVarOp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 134 26 134 27+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 134 26 134 27+                                        , srcInfoPoints = []+                                        }+                                      (Symbol+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 134 26 134 27+                                           , srcInfoPoints = []+                                           }+                                         ".")))+                                (Var+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 134 28 134 32+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 134 28 134 32+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 134 28 134 32+                                           , srcInfoPoints = []+                                           }+                                         "lift")))))+                          (QVarOp+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 135 5 135 7+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 135 5 135 7+                                  , srcInfoPoints = []+                                  }+                                (Symbol+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 135 5 135 7+                                     , srcInfoPoints = []+                                     }+                                   "\\\\")))+                          (App+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 135 8 135 19+                               , srcInfoPoints = []+                               }+                             (App+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 135 8 135 16+                                  , srcInfoPoints = []+                                  }+                                (Var+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 135 8 135 13+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 135 8 135 13+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 135 8 135 13+                                           , srcInfoPoints = []+                                           }+                                         "proof")))+                                (TypeApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 135 14 135 16+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/DerivingVia.hs" 135 14 135 15 ]+                                     }+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 135 15 135 16+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 135 15 135 16+                                           , srcInfoPoints = []+                                           }+                                         "g"))))+                             (TypeApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 135 17 135 19+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 135 17 135 18 ]+                                  }+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 135 18 135 19+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 135 18 135 19+                                        , srcInfoPoints = []+                                        }+                                      "m"))))))+                    Nothing)+             ])+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 137 1 146 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 137 1 137 9+                , SrcSpan "tests/examples/DerivingVia.hs" 137 78 137 83+                , SrcSpan "tests/examples/DerivingVia.hs" 138 3 138 3+                , SrcSpan "tests/examples/DerivingVia.hs" 139 3 139 3+                , SrcSpan "tests/examples/DerivingVia.hs" 146 1 146 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 137 10 137 77+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxTuple+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 137 10 137 53+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 137 10 137 11+                         , SrcSpan "tests/examples/DerivingVia.hs" 137 21 137 22+                         , SrcSpan "tests/examples/DerivingVia.hs" 137 33 137 34+                         , SrcSpan "tests/examples/DerivingVia.hs" 137 49 137 50+                         , SrcSpan "tests/examples/DerivingVia.hs" 137 51 137 53+                         ]+                     }+                   [ TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 137 11 137 21+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 137 11 137 21+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 137 11 137 21+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 137 11 137 19+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 137 11 137 19+                                     , srcInfoPoints = []+                                     }+                                   "MFunctor")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 137 20 137 21+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 137 20 137 21+                                  , srcInfoPoints = []+                                  }+                                "f")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 137 23 137 33+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 137 23 137 33+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 137 23 137 33+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 137 23 137 31+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 137 23 137 31+                                     , srcInfoPoints = []+                                     }+                                   "MFunctor")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 137 32 137 33+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 137 32 137 33+                                  , srcInfoPoints = []+                                  }+                                "g")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 137 35 137 49+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 137 35 137 49+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 137 35 137 49+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 137 35 137 47+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 137 35 137 47+                                     , srcInfoPoints = []+                                     }+                                   "LiftingMonad")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 137 48 137 49+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 137 48 137 49+                                  , srcInfoPoints = []+                                  }+                                "g")))+                   ]))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 137 54 137 77+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 137 54 137 62+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 137 54 137 62+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 137 54 137 62+                           , srcInfoPoints = []+                           }+                         "MFunctor")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 137 63 137 77+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 137 63 137 64+                         , SrcSpan "tests/examples/DerivingVia.hs" 137 76 137 77+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 137 64 137 76+                        , srcInfoPoints = []+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 137 64 137 74+                           , srcInfoPoints = []+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 137 64 137 72+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 137 64 137 72+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 137 64 137 72+                                    , srcInfoPoints = []+                                    }+                                  "ComposeT")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 137 73 137 74+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 137 73 137 74+                                 , srcInfoPoints = []+                                 }+                               "f")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 137 75 137 76+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 137 75 137 76+                              , srcInfoPoints = []+                              }+                            "g"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 138 3 138 84+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 138 9 138 11 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 138 3 138 84+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 138 9 138 11 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 138 3 138 8+                          , srcInfoPoints = []+                          }+                        "hoist"+                    ]+                    (TyForall+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 138 12 138 84+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 138 12 138 18+                             , SrcSpan "tests/examples/DerivingVia.hs" 138 23 138 24+                             ]+                         }+                       (Just+                          [ UnkindedVar+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 138 19 138 20+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 138 19 138 20+                                   , srcInfoPoints = []+                                   }+                                 "m")+                          , UnkindedVar+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 138 21 138 23+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 138 21 138 23+                                   , srcInfoPoints = []+                                   }+                                 "m'")+                          ])+                       (Just+                          (CxSingle+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 138 25 138 35+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 138 33 138 35 ]+                               }+                             (TypeA+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 138 25 138 35+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 138 33 138 35 ]+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 138 25 138 35+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/DerivingVia.hs" 138 33 138 35 ]+                                     }+                                   (TyCon+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 138 25 138 35+                                        , srcInfoPoints =+                                            [ SrcSpan "tests/examples/DerivingVia.hs" 138 33 138 35+                                            ]+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 138 25 138 30+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 138 25 138 30+                                              , srcInfoPoints = []+                                              }+                                            "Monad")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 138 31 138 32+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 138 31 138 32+                                           , srcInfoPoints = []+                                           }+                                         "m"))))))+                       (TyFun+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 138 36 138 84+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 138 46 138 48 ]+                            }+                          (TyParen+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 138 36 138 45+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 138 36 138 37+                                   , SrcSpan "tests/examples/DerivingVia.hs" 138 44 138 45+                                   ]+                               }+                             (TyInfix+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 138 37 138 44+                                  , srcInfoPoints = []+                                  }+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 138 37 138 38+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 138 37 138 38+                                        , srcInfoPoints = []+                                        }+                                      "m"))+                                (UnpromotedName+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 138 39 138 41+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 138 39 138 41+                                        , srcInfoPoints = []+                                        }+                                      (Symbol+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 138 39 138 41+                                           , srcInfoPoints = []+                                           }+                                         "~>")))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 138 42 138 44+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 138 42 138 44+                                        , srcInfoPoints = []+                                        }+                                      "m'"))))+                          (TyParen+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 138 49 138 84+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 138 49 138 50+                                   , SrcSpan "tests/examples/DerivingVia.hs" 138 83 138 84+                                   ]+                               }+                             (TyInfix+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 138 50 138 83+                                  , srcInfoPoints = []+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 138 50 138 64+                                     , srcInfoPoints = []+                                     }+                                   (TyApp+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 138 50 138 62+                                        , srcInfoPoints = []+                                        }+                                      (TyApp+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 138 50 138 60+                                           , srcInfoPoints = []+                                           }+                                         (TyCon+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 138 50 138 58+                                              , srcInfoPoints = []+                                              }+                                            (UnQual+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 138 50 138 58+                                                 , srcInfoPoints = []+                                                 }+                                               (Ident+                                                  SrcSpanInfo+                                                    { srcInfoSpan =+                                                        SrcSpan+                                                          "tests/examples/DerivingVia.hs"+                                                          138+                                                          50+                                                          138+                                                          58+                                                    , srcInfoPoints = []+                                                    }+                                                  "ComposeT")))+                                         (TyVar+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 138 59 138 60+                                              , srcInfoPoints = []+                                              }+                                            (Ident+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 138 59 138 60+                                                 , srcInfoPoints = []+                                                 }+                                               "f")))+                                      (TyVar+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 138 61 138 62+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 138 61 138 62+                                              , srcInfoPoints = []+                                              }+                                            "g")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 138 63 138 64+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 138 63 138 64+                                           , srcInfoPoints = []+                                           }+                                         "m")))+                                (UnpromotedName+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 138 65 138 67+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 138 65 138 67+                                        , srcInfoPoints = []+                                        }+                                      (Symbol+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 138 65 138 67+                                           , srcInfoPoints = []+                                           }+                                         "~>")))+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 138 68 138 83+                                     , srcInfoPoints = []+                                     }+                                   (TyApp+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 138 68 138 80+                                        , srcInfoPoints = []+                                        }+                                      (TyApp+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 138 68 138 78+                                           , srcInfoPoints = []+                                           }+                                         (TyCon+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 138 68 138 76+                                              , srcInfoPoints = []+                                              }+                                            (UnQual+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 138 68 138 76+                                                 , srcInfoPoints = []+                                                 }+                                               (Ident+                                                  SrcSpanInfo+                                                    { srcInfoSpan =+                                                        SrcSpan+                                                          "tests/examples/DerivingVia.hs"+                                                          138+                                                          68+                                                          138+                                                          76+                                                    , srcInfoPoints = []+                                                    }+                                                  "ComposeT")))+                                         (TyVar+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 138 77 138 78+                                              , srcInfoPoints = []+                                              }+                                            (Ident+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 138 77 138 78+                                                 , srcInfoPoints = []+                                                 }+                                               "f")))+                                      (TyVar+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 138 79 138 80+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 138 79 138 80+                                              , srcInfoPoints = []+                                              }+                                            "g")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 138 81 138 83+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 138 81 138 83+                                           , srcInfoPoints = []+                                           }+                                         "m'"))))))))+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 139 3 140 19+                   , srcInfoPoints = []+                   }+                 (FunBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 139 3 140 19+                      , srcInfoPoints = []+                      }+                    [ Match+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 139 3 140 19+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 139 3 139 8+                             , srcInfoPoints = []+                             }+                           "hoist")+                        [ PVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 139 9 139 10+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 139 9 139 10+                                 , srcInfoPoints = []+                                 }+                               "f")+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 139 11 140 19+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/DerivingVia.hs" 139 11 139 12 ]+                             }+                           (InfixApp+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 139 13 140 19+                                , srcInfoPoints = []+                                }+                              (InfixApp+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 139 13 139 53+                                   , srcInfoPoints = []+                                   }+                                 (Con+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 139 13 139 21+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 139 13 139 21+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 139 13 139 21+                                            , srcInfoPoints = []+                                            }+                                          "ComposeT")))+                                 (QVarOp+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 139 22 139 23+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 139 22 139 23+                                         , srcInfoPoints = []+                                         }+                                       (Symbol+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 139 22 139 23+                                            , srcInfoPoints = []+                                            }+                                          ".")))+                                 (InfixApp+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 139 24 139 53+                                      , srcInfoPoints = []+                                      }+                                    (App+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 139 24 139 39+                                         , srcInfoPoints = []+                                         }+                                       (Var+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 139 24 139 29+                                            , srcInfoPoints = []+                                            }+                                          (UnQual+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 139 24 139 29+                                               , srcInfoPoints = []+                                               }+                                             (Ident+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DerivingVia.hs"+                                                        139+                                                        24+                                                        139+                                                        29+                                                  , srcInfoPoints = []+                                                  }+                                                "hoist")))+                                       (Paren+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 139 30 139 39+                                            , srcInfoPoints =+                                                [ SrcSpan+                                                    "tests/examples/DerivingVia.hs" 139 30 139 31+                                                , SrcSpan+                                                    "tests/examples/DerivingVia.hs" 139 38 139 39+                                                ]+                                            }+                                          (App+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 139 31 139 38+                                               , srcInfoPoints = []+                                               }+                                             (Var+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DerivingVia.hs"+                                                        139+                                                        31+                                                        139+                                                        36+                                                  , srcInfoPoints = []+                                                  }+                                                (UnQual+                                                   SrcSpanInfo+                                                     { srcInfoSpan =+                                                         SrcSpan+                                                           "tests/examples/DerivingVia.hs"+                                                           139+                                                           31+                                                           139+                                                           36+                                                     , srcInfoPoints = []+                                                     }+                                                   (Ident+                                                      SrcSpanInfo+                                                        { srcInfoSpan =+                                                            SrcSpan+                                                              "tests/examples/DerivingVia.hs"+                                                              139+                                                              31+                                                              139+                                                              36+                                                        , srcInfoPoints = []+                                                        }+                                                      "hoist")))+                                             (Var+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DerivingVia.hs"+                                                        139+                                                        37+                                                        139+                                                        38+                                                  , srcInfoPoints = []+                                                  }+                                                (UnQual+                                                   SrcSpanInfo+                                                     { srcInfoSpan =+                                                         SrcSpan+                                                           "tests/examples/DerivingVia.hs"+                                                           139+                                                           37+                                                           139+                                                           38+                                                     , srcInfoPoints = []+                                                     }+                                                   (Ident+                                                      SrcSpanInfo+                                                        { srcInfoSpan =+                                                            SrcSpan+                                                              "tests/examples/DerivingVia.hs"+                                                              139+                                                              37+                                                              139+                                                              38+                                                        , srcInfoPoints = []+                                                        }+                                                      "f"))))))+                                    (QVarOp+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 139 40 139 41+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 139 40 139 41+                                            , srcInfoPoints = []+                                            }+                                          (Symbol+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 139 40 139 41+                                               , srcInfoPoints = []+                                               }+                                             ".")))+                                    (Var+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 139 42 139 53+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 139 42 139 53+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 139 42 139 53+                                               , srcInfoPoints = []+                                               }+                                             "getComposeT")))))+                              (QVarOp+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 140 5 140 7+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 140 5 140 7+                                      , srcInfoPoints = []+                                      }+                                    (Symbol+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 140 5 140 7+                                         , srcInfoPoints = []+                                         }+                                       "\\\\")))+                              (App+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 140 8 140 19+                                   , srcInfoPoints = []+                                   }+                                 (App+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 140 8 140 16+                                      , srcInfoPoints = []+                                      }+                                    (Var+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 140 8 140 13+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/DerivingVia.hs" 140 8 140 13+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 140 8 140 13+                                               , srcInfoPoints = []+                                               }+                                             "proof")))+                                    (TypeApp+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 140 14 140 16+                                         , srcInfoPoints =+                                             [ SrcSpan "tests/examples/DerivingVia.hs" 140 14 140 15+                                             ]+                                         }+                                       (TyVar+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 140 15 140 16+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 140 15 140 16+                                               , srcInfoPoints = []+                                               }+                                             "g"))))+                                 (TypeApp+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 140 17 140 19+                                      , srcInfoPoints =+                                          [ SrcSpan "tests/examples/DerivingVia.hs" 140 17 140 18 ]+                                      }+                                    (TyVar+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 140 18 140 19+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 140 18 140 19+                                            , srcInfoPoints = []+                                            }+                                          "m"))))))+                        Nothing+                    ])+             ])+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 146 1 150 22+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 146 13 146 14 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 146 1 146 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 146 9 146 12+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 146 9 146 10+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 146 9 146 10+                     , srcInfoPoints = []+                     }+                   "X"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 146 11 146 12+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 146 11 146 12+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 146 15 146 23+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 146 15 146 23+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 146 15 146 16+                      , srcInfoPoints = []+                      }+                    "X")+                 [ TyTuple+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 146 17 146 23+                       , srcInfoPoints =+                           [ SrcSpan "tests/examples/DerivingVia.hs" 146 17 146 18+                           , SrcSpan "tests/examples/DerivingVia.hs" 146 19 146 20+                           , SrcSpan "tests/examples/DerivingVia.hs" 146 22 146 23+                           ]+                       }+                     Boxed+                     [ TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 146 18 146 19+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 146 18 146 19+                              , srcInfoPoints = []+                              }+                            "a")+                     , TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 146 21 146 22+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 146 21 146 22+                              , srcInfoPoints = []+                              }+                            "a")+                     ]+                 ])+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 147 3 147 31+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 147 3 147 11+                    , SrcSpan "tests/examples/DerivingVia.hs" 147 12 147 13+                    , SrcSpan "tests/examples/DerivingVia.hs" 147 22 147 23+                    , SrcSpan "tests/examples/DerivingVia.hs" 147 30 147 31+                    ]+                }+              (Just+                 (DerivVia+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 148 8 148 11+                      , srcInfoPoints = []+                      }+                    (TyTuple+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 148 12 148 30+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 148 12 148 13+                             , SrcSpan "tests/examples/DerivingVia.hs" 148 22 148 23+                             , SrcSpan "tests/examples/DerivingVia.hs" 148 29 148 30+                             ]+                         }+                       Boxed+                       [ TyApp+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 148 13 148 22+                             , srcInfoPoints = []+                             }+                           (TyCon+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 148 13 148 20+                                , srcInfoPoints = []+                                }+                              (UnQual+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 148 13 148 20+                                   , srcInfoPoints = []+                                   }+                                 (Ident+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 148 13 148 20+                                      , srcInfoPoints = []+                                      }+                                    "Product")))+                           (TyVar+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 148 21 148 22+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 148 21 148 22+                                   , srcInfoPoints = []+                                   }+                                 "a"))+                       , TyApp+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 148 24 148 29+                             , srcInfoPoints = []+                             }+                           (TyCon+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 148 24 148 27+                                , srcInfoPoints = []+                                }+                              (UnQual+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 148 24 148 27+                                   , srcInfoPoints = []+                                   }+                                 (Ident+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 148 24 148 27+                                      , srcInfoPoints = []+                                      }+                                    "Sum")))+                           (TyVar+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 148 28 148 29+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 148 28 148 29+                                   , srcInfoPoints = []+                                   }+                                 "a"))+                       ])))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 147 13 147 22+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 147 13 147 22+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 147 13 147 22+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 147 13 147 22+                             , srcInfoPoints = []+                             }+                           "Semigroup")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 147 24 147 30+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 147 24 147 30+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 147 24 147 30+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 147 24 147 30+                             , srcInfoPoints = []+                             }+                           "Monoid")))+              ]+          , Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 150 3 150 22+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 150 3 150 11+                    , SrcSpan "tests/examples/DerivingVia.hs" 150 12 150 13+                    , SrcSpan "tests/examples/DerivingVia.hs" 150 17 150 18+                    , SrcSpan "tests/examples/DerivingVia.hs" 150 21 150 22+                    ]+                }+              (Just+                 (DerivVia+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 151 8 151 11+                      , srcInfoPoints = []+                      }+                    (TyTuple+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 151 12 151 18+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 151 12 151 13+                             , SrcSpan "tests/examples/DerivingVia.hs" 151 14 151 15+                             , SrcSpan "tests/examples/DerivingVia.hs" 151 17 151 18+                             ]+                         }+                       Boxed+                       [ TyVar+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 151 13 151 14+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 151 13 151 14+                                , srcInfoPoints = []+                                }+                              "a")+                       , TyVar+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 151 16 151 17+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 151 16 151 17+                                , srcInfoPoints = []+                                }+                              "a")+                       ])))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 150 13 150 17+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 150 13 150 17+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 150 13 150 17+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 150 13 150 17+                             , srcInfoPoints = []+                             }+                           "Show")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 150 19 150 21+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 150 19 150 21+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 150 19 150 21+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 150 19 150 21+                             , srcInfoPoints = []+                             }+                           "Eq")))+              ]+          ]+      , ClassDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 157 1 158 18+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 157 1 157 6+                , SrcSpan "tests/examples/DerivingVia.hs" 157 11 157 16+                , SrcSpan "tests/examples/DerivingVia.hs" 158 3 158 3+                , SrcSpan "tests/examples/DerivingVia.hs" 160 1 160 0+                ]+            }+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 157 7 157 10+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 157 7 157 8+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 157 7 157 8+                     , srcInfoPoints = []+                     }+                   "C"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 157 9 157 10+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 157 9 157 10+                     , srcInfoPoints = []+                     }+                   "f")))+          []+          (Just+             [ ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 158 3 158 18+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 158 5 158 7 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 158 3 158 18+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 158 5 158 7 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 158 3 158 4+                          , srcInfoPoints = []+                          }+                        "c"+                    ]+                    (TyFun+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 158 8 158 18+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 158 12 158 14 ]+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 158 8 158 11+                            , srcInfoPoints = []+                            }+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 158 8 158 9+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 158 8 158 9+                                  , srcInfoPoints = []+                                  }+                                "f"))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 158 10 158 11+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 158 10 158 11+                                  , srcInfoPoints = []+                                  }+                                "a")))+                       (TyCon+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 158 15 158 18+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 158 15 158 18+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 158 15 158 18+                                  , srcInfoPoints = []+                                  }+                                "Int")))))+             ])+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 160 1 160 26+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 160 16 160 17 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 160 1 160 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 160 9 160 15+               , srcInfoPoints = []+               }+             (DHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 160 9 160 13+                  , srcInfoPoints = []+                  }+                (DHead+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 160 9 160 11+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 160 9 160 11+                        , srcInfoPoints = []+                        }+                      "X2"))+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 160 12 160 13+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 160 12 160 13+                        , srcInfoPoints = []+                        }+                      "f")))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 160 14 160 15+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 160 14 160 15+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 160 18 160 26+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 160 18 160 26+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 160 18 160 20+                      , srcInfoPoints = []+                      }+                    "X2")+                 [ TyParen+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 160 21 160 26+                       , srcInfoPoints =+                           [ SrcSpan "tests/examples/DerivingVia.hs" 160 21 160 22+                           , SrcSpan "tests/examples/DerivingVia.hs" 160 25 160 26+                           ]+                       }+                     (TyApp+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 160 22 160 25+                          , srcInfoPoints = []+                          }+                        (TyVar+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 160 22 160 23+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 160 22 160 23+                                , srcInfoPoints = []+                                }+                              "f"))+                        (TyVar+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 160 24 160 25+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 160 24 160 25+                                , srcInfoPoints = []+                                }+                              "a")))+                 ])+          ]+          []+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 162 1 165 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 162 1 162 9+                , SrcSpan "tests/examples/DerivingVia.hs" 162 19 162 24+                , SrcSpan "tests/examples/DerivingVia.hs" 163 3 163 3+                , SrcSpan "tests/examples/DerivingVia.hs" 165 1 165 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 162 10 162 18+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 162 10 162 18+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 162 10 162 11+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 162 10 162 11+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 162 10 162 11+                           , srcInfoPoints = []+                           }+                         "C")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 162 12 162 18+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 162 12 162 13+                         , SrcSpan "tests/examples/DerivingVia.hs" 162 17 162 18+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 162 13 162 17+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 162 13 162 15+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 162 13 162 15+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 162 13 162 15+                                 , srcInfoPoints = []+                                 }+                               "X2")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 162 16 162 17+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 162 16 162 17+                              , srcInfoPoints = []+                              }+                            "f"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 163 3 163 14+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 163 3 163 14+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 163 3 163 4+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 163 3 163 4+                            , srcInfoPoints = []+                            }+                          "c"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 163 5 163 14+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 163 5 163 6 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 163 7 163 14+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 163 7 163 12+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 163 7 163 12+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 163 7 163 12+                                     , srcInfoPoints = []+                                     }+                                   "const")))+                          (Lit+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 163 13 163 14+                               , srcInfoPoints = []+                               }+                             (Int+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 163 13 163 14+                                  , srcInfoPoints = []+                                  }+                                0+                                "0"))))+                    Nothing)+             ])+      , DerivDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 165 1 165 35+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 165 1 165 9+                , SrcSpan "tests/examples/DerivingVia.hs" 165 22 165 30+                ]+            }+          (Just+             (DerivVia+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 165 10 165 13+                  , srcInfoPoints = []+                  }+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 165 14 165 21+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 165 14 165 15+                         , SrcSpan "tests/examples/DerivingVia.hs" 165 20 165 21+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 165 15 165 20+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 165 15 165 17+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 165 15 165 17+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 165 15 165 17+                                 , srcInfoPoints = []+                                 }+                               "X2")))+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 165 18 165 20+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 165 18 165 20+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 165 18 165 20+                                 , srcInfoPoints = []+                                 }+                               "IO")))))))+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 165 31 165 35+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 165 31 165 35+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 165 31 165 32+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 165 31 165 32+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 165 31 165 32+                           , srcInfoPoints = []+                           }+                         "C")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 165 33 165 35+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 165 33 165 35+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 165 33 165 35+                           , srcInfoPoints = []+                           }+                         "IO")))))+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 171 1 171 46+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 171 14 171 15 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 171 1 171 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 171 9 171 13+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 171 9 171 11+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 171 9 171 11+                     , srcInfoPoints = []+                     }+                   "P0"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 171 12 171 13+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 171 12 171 13+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 171 16 171 20+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 171 16 171 20+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 171 16 171 18+                      , srcInfoPoints = []+                      }+                    "P0")+                 [ TyVar+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 171 19 171 20+                       , srcInfoPoints = []+                       }+                     (Ident+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 171 19 171 20+                          , srcInfoPoints = []+                          }+                        "a")+                 ])+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 171 33 171 46+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 171 33 171 41 ]+                }+              (Just+                 (DerivVia+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 171 47 171 50+                      , srcInfoPoints = []+                      }+                    (TyVar+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 171 51 171 52+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 171 51 171 52+                            , srcInfoPoints = []+                            }+                          "a"))))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 171 42 171 46+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 171 42 171 46+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 171 42 171 46+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 171 42 171 46+                             , srcInfoPoints = []+                             }+                           "Show")))+              ]+          ]+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 172 1 172 46+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 172 14 172 15 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 172 1 172 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 172 9 172 13+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 172 9 172 11+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 172 9 172 11+                     , srcInfoPoints = []+                     }+                   "P1"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 172 12 172 13+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 172 12 172 13+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 172 16 172 22+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 172 16 172 22+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 172 16 172 18+                      , srcInfoPoints = []+                      }+                    "P1")+                 [ TyList+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 172 19 172 22+                       , srcInfoPoints =+                           [ SrcSpan "tests/examples/DerivingVia.hs" 172 19 172 20+                           , SrcSpan "tests/examples/DerivingVia.hs" 172 21 172 22+                           ]+                       }+                     (TyVar+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 172 20 172 21+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 172 20 172 21+                             , srcInfoPoints = []+                             }+                           "a"))+                 ])+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 172 33 172 46+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 172 33 172 41 ]+                }+              (Just+                 (DerivVia+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 172 47 172 50+                      , srcInfoPoints = []+                      }+                    (TyList+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 172 51 172 54+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 172 51 172 52+                             , SrcSpan "tests/examples/DerivingVia.hs" 172 53 172 54+                             ]+                         }+                       (TyVar+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 172 52 172 53+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 172 52 172 53+                               , srcInfoPoints = []+                               }+                             "a")))))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 172 42 172 46+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 172 42 172 46+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 172 42 172 46+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 172 42 172 46+                             , srcInfoPoints = []+                             }+                           "Show")))+              ]+          ]+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 173 1 173 46+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 173 14 173 15 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 173 1 173 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 173 9 173 13+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 173 9 173 11+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 173 9 173 11+                     , srcInfoPoints = []+                     }+                   "P2"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 173 12 173 13+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 173 12 173 13+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 173 16 173 25+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 173 16 173 25+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 173 16 173 18+                      , srcInfoPoints = []+                      }+                    "P2")+                 [ TyTuple+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 173 19 173 25+                       , srcInfoPoints =+                           [ SrcSpan "tests/examples/DerivingVia.hs" 173 19 173 20+                           , SrcSpan "tests/examples/DerivingVia.hs" 173 21 173 22+                           , SrcSpan "tests/examples/DerivingVia.hs" 173 24 173 25+                           ]+                       }+                     Boxed+                     [ TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 173 20 173 21+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 173 20 173 21+                              , srcInfoPoints = []+                              }+                            "a")+                     , TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 173 23 173 24+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 173 23 173 24+                              , srcInfoPoints = []+                              }+                            "a")+                     ]+                 ])+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 173 33 173 46+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 173 33 173 41 ]+                }+              (Just+                 (DerivVia+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 173 47 173 50+                      , srcInfoPoints = []+                      }+                    (TyTuple+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 173 51 173 57+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 173 51 173 52+                             , SrcSpan "tests/examples/DerivingVia.hs" 173 53 173 54+                             , SrcSpan "tests/examples/DerivingVia.hs" 173 56 173 57+                             ]+                         }+                       Boxed+                       [ TyVar+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 173 52 173 53+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 173 52 173 53+                                , srcInfoPoints = []+                                }+                              "a")+                       , TyVar+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 173 55 173 56+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 173 55 173 56+                                , srcInfoPoints = []+                                }+                              "a")+                       ])))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 173 42 173 46+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 173 42 173 46+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 173 42 173 46+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 173 42 173 46+                             , srcInfoPoints = []+                             }+                           "Show")))+              ]+          ]+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 174 1 174 46+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 174 14 174 15 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 174 1 174 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 174 9 174 13+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 174 9 174 11+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 174 9 174 11+                     , srcInfoPoints = []+                     }+                   "P3"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 174 12 174 13+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 174 12 174 13+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 174 16 174 28+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 174 16 174 28+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 174 16 174 18+                      , srcInfoPoints = []+                      }+                    "P3")+                 [ TyParen+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 174 19 174 28+                       , srcInfoPoints =+                           [ SrcSpan "tests/examples/DerivingVia.hs" 174 19 174 20+                           , SrcSpan "tests/examples/DerivingVia.hs" 174 27 174 28+                           ]+                       }+                     (TyApp+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 174 20 174 27+                          , srcInfoPoints = []+                          }+                        (TyCon+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 174 20 174 25+                             , srcInfoPoints = []+                             }+                           (UnQual+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 174 20 174 25+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 174 20 174 25+                                   , srcInfoPoints = []+                                   }+                                 "Maybe")))+                        (TyVar+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 174 26 174 27+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 174 26 174 27+                                , srcInfoPoints = []+                                }+                              "a")))+                 ])+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 174 33 174 46+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 174 33 174 41 ]+                }+              (Just+                 (DerivVia+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 174 47 174 50+                      , srcInfoPoints = []+                      }+                    (TyParen+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 174 51 174 60+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 174 51 174 52+                             , SrcSpan "tests/examples/DerivingVia.hs" 174 59 174 60+                             ]+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 174 52 174 59+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 174 52 174 57+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 174 52 174 57+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 174 52 174 57+                                     , srcInfoPoints = []+                                     }+                                   "First")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 174 58 174 59+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 174 58 174 59+                                  , srcInfoPoints = []+                                  }+                                "a"))))))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 174 42 174 46+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 174 42 174 46+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 174 42 174 46+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 174 42 174 46+                             , srcInfoPoints = []+                             }+                           "Show")))+              ]+          ]+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 175 1 175 46+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 175 14 175 15 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 175 1 175 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 175 9 175 13+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 175 9 175 11+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 175 9 175 11+                     , srcInfoPoints = []+                     }+                   "P4"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 175 12 175 13+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 175 12 175 13+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 175 16 175 28+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 175 16 175 28+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 175 16 175 18+                      , srcInfoPoints = []+                      }+                    "P4")+                 [ TyParen+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 175 19 175 28+                       , srcInfoPoints =+                           [ SrcSpan "tests/examples/DerivingVia.hs" 175 19 175 20+                           , SrcSpan "tests/examples/DerivingVia.hs" 175 27 175 28+                           ]+                       }+                     (TyApp+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 175 20 175 27+                          , srcInfoPoints = []+                          }+                        (TyCon+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 175 20 175 25+                             , srcInfoPoints = []+                             }+                           (UnQual+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 175 20 175 25+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 175 20 175 25+                                   , srcInfoPoints = []+                                   }+                                 "Maybe")))+                        (TyVar+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 175 26 175 27+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 175 26 175 27+                                , srcInfoPoints = []+                                }+                              "a")))+                 ])+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 175 33 175 46+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 175 33 175 41 ]+                }+              (Just+                 (DerivVia+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 175 47 175 50+                      , srcInfoPoints = []+                      }+                    (TyParen+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 175 51 175 62+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 175 51 175 52+                             , SrcSpan "tests/examples/DerivingVia.hs" 175 61 175 62+                             ]+                         }+                       (TyInfix+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 175 52 175 61+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 175 52 175 57+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 175 52 175 57+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 175 52 175 57+                                     , srcInfoPoints = []+                                     }+                                   "First")))+                          (UnpromotedName+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 175 58 175 59+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 175 58 175 59+                                  , srcInfoPoints = []+                                  }+                                (Symbol+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 175 58 175 59+                                     , srcInfoPoints = []+                                     }+                                   "$")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 175 60 175 61+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 175 60 175 61+                                  , srcInfoPoints = []+                                  }+                                "a"))))))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 175 42 175 46+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 175 42 175 46+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 175 42 175 46+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 175 42 175 46+                             , srcInfoPoints = []+                             }+                           "Show")))+              ]+          ]+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 176 1 176 46+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 176 14 176 15 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 176 1 176 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 176 9 176 13+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 176 9 176 11+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 176 9 176 11+                     , srcInfoPoints = []+                     }+                   "P5"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 176 12 176 13+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 176 12 176 13+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 176 16 176 20+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 176 16 176 20+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 176 16 176 18+                      , srcInfoPoints = []+                      }+                    "P5")+                 [ TyVar+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 176 19 176 20+                       , srcInfoPoints = []+                       }+                     (Ident+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 176 19 176 20+                          , srcInfoPoints = []+                          }+                        "a")+                 ])+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 176 33 176 46+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 176 33 176 41 ]+                }+              (Just+                 (DerivVia+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 176 47 176 50+                      , srcInfoPoints = []+                      }+                    (TyParen+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 176 51 176 65+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 176 51 176 52+                             , SrcSpan "tests/examples/DerivingVia.hs" 176 64 176 65+                             ]+                         }+                       (TyInfix+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 176 52 176 64+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 176 52 176 60+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 176 52 176 60+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 176 52 176 60+                                     , srcInfoPoints = []+                                     }+                                   "Identity")))+                          (UnpromotedName+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 176 61 176 62+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 176 61 176 62+                                  , srcInfoPoints = []+                                  }+                                (Symbol+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 176 61 176 62+                                     , srcInfoPoints = []+                                     }+                                   "$")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 176 63 176 64+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 176 63 176 64+                                  , srcInfoPoints = []+                                  }+                                "a"))))))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 176 42 176 46+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 176 42 176 46+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 176 42 176 46+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 176 42 176 46+                             , srcInfoPoints = []+                             }+                           "Show")))+              ]+          ]+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 177 1 177 46+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 177 14 177 15 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 177 1 177 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 177 9 177 13+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 177 9 177 11+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 177 9 177 11+                     , srcInfoPoints = []+                     }+                   "P6"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 177 12 177 13+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 177 12 177 13+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 177 16 177 22+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 177 16 177 22+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 177 16 177 18+                      , srcInfoPoints = []+                      }+                    "P6")+                 [ TyList+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 177 19 177 22+                       , srcInfoPoints =+                           [ SrcSpan "tests/examples/DerivingVia.hs" 177 19 177 20+                           , SrcSpan "tests/examples/DerivingVia.hs" 177 21 177 22+                           ]+                       }+                     (TyVar+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 177 20 177 21+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 177 20 177 21+                             , srcInfoPoints = []+                             }+                           "a"))+                 ])+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 177 33 177 46+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 177 33 177 41 ]+                }+              (Just+                 (DerivVia+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 177 47 177 50+                      , srcInfoPoints = []+                      }+                    (TyParen+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 177 51 177 59+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 177 51 177 52+                             , SrcSpan "tests/examples/DerivingVia.hs" 177 58 177 59+                             ]+                         }+                       (TyInfix+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 58+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 54+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 53+                                   , SrcSpan "tests/examples/DerivingVia.hs" 177 53 177 54+                                   ]+                               }+                             (Special+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 54+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 53+                                      , SrcSpan "tests/examples/DerivingVia.hs" 177 53 177 54+                                      ]+                                  }+                                (ListCon+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 54+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 53+                                         , SrcSpan "tests/examples/DerivingVia.hs" 177 53 177 54+                                         ]+                                     })))+                          (UnpromotedName+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 177 55 177 56+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 177 55 177 56+                                  , srcInfoPoints = []+                                  }+                                (Symbol+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 177 55 177 56+                                     , srcInfoPoints = []+                                     }+                                   "$")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 177 57 177 58+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 177 57 177 58+                                  , srcInfoPoints = []+                                  }+                                "a"))))))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 177 42 177 46+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 177 42 177 46+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 177 42 177 46+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 177 42 177 46+                             , srcInfoPoints = []+                             }+                           "Show")))+              ]+          ]+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 178 1 178 46+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 178 14 178 15 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 178 1 178 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 178 9 178 13+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 178 9 178 11+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 178 9 178 11+                     , srcInfoPoints = []+                     }+                   "P7"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 178 12 178 13+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 178 12 178 13+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 178 16 178 25+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 178 16 178 25+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 178 16 178 18+                      , srcInfoPoints = []+                      }+                    "P7")+                 [ TyTuple+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 178 19 178 25+                       , srcInfoPoints =+                           [ SrcSpan "tests/examples/DerivingVia.hs" 178 19 178 20+                           , SrcSpan "tests/examples/DerivingVia.hs" 178 21 178 22+                           , SrcSpan "tests/examples/DerivingVia.hs" 178 24 178 25+                           ]+                       }+                     Boxed+                     [ TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 178 20 178 21+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 178 20 178 21+                              , srcInfoPoints = []+                              }+                            "a")+                     , TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 178 23 178 24+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 178 23 178 24+                              , srcInfoPoints = []+                              }+                            "a")+                     ]+                 ])+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 178 33 178 46+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 178 33 178 41 ]+                }+              (Just+                 (DerivVia+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 178 47 178 50+                      , srcInfoPoints = []+                      }+                    (TyParen+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 178 51 178 70+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 178 51 178 52+                             , SrcSpan "tests/examples/DerivingVia.hs" 178 69 178 70+                             ]+                         }+                       (TyInfix+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 178 52 178 69+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 178 52 178 60+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 178 52 178 60+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 178 52 178 60+                                     , srcInfoPoints = []+                                     }+                                   "Identity")))+                          (UnpromotedName+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 178 61 178 62+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 178 61 178 62+                                  , srcInfoPoints = []+                                  }+                                (Symbol+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 178 61 178 62+                                     , srcInfoPoints = []+                                     }+                                   "$")))+                          (TyTuple+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 178 63 178 69+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 178 63 178 64+                                   , SrcSpan "tests/examples/DerivingVia.hs" 178 65 178 66+                                   , SrcSpan "tests/examples/DerivingVia.hs" 178 68 178 69+                                   ]+                               }+                             Boxed+                             [ TyVar+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 178 64 178 65+                                   , srcInfoPoints = []+                                   }+                                 (Ident+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 178 64 178 65+                                      , srcInfoPoints = []+                                      }+                                    "a")+                             , TyVar+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 178 67 178 68+                                   , srcInfoPoints = []+                                   }+                                 (Ident+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 178 67 178 68+                                      , srcInfoPoints = []+                                      }+                                    "a")+                             ])))))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 178 42 178 46+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 178 42 178 46+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 178 42 178 46+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 178 42 178 46+                             , srcInfoPoints = []+                             }+                           "Show")))+              ]+          ]+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 179 1 179 49+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 179 14 179 15 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 179 1 179 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 179 9 179 13+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 179 9 179 11+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 179 9 179 11+                     , srcInfoPoints = []+                     }+                   "P8"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 179 12 179 13+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 179 12 179 13+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 179 16 179 32+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 179 16 179 32+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 179 16 179 18+                      , srcInfoPoints = []+                      }+                    "P8")+                 [ TyParen+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 179 19 179 32+                       , srcInfoPoints =+                           [ SrcSpan "tests/examples/DerivingVia.hs" 179 19 179 20+                           , SrcSpan "tests/examples/DerivingVia.hs" 179 31 179 32+                           ]+                       }+                     (TyApp+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 179 20 179 31+                          , srcInfoPoints = []+                          }+                        (TyApp+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 179 20 179 29+                             , srcInfoPoints = []+                             }+                           (TyCon+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 179 20 179 26+                                , srcInfoPoints = []+                                }+                              (UnQual+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 179 20 179 26+                                   , srcInfoPoints = []+                                   }+                                 (Ident+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 179 20 179 26+                                      , srcInfoPoints = []+                                      }+                                    "Either")))+                           (TyCon+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 179 27 179 29+                                , srcInfoPoints =+                                    [ SrcSpan "tests/examples/DerivingVia.hs" 179 27 179 28+                                    , SrcSpan "tests/examples/DerivingVia.hs" 179 28 179 29+                                    ]+                                }+                              (Special+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 179 27 179 29+                                   , srcInfoPoints =+                                       [ SrcSpan "tests/examples/DerivingVia.hs" 179 27 179 28+                                       , SrcSpan "tests/examples/DerivingVia.hs" 179 28 179 29+                                       ]+                                   }+                                 (UnitCon+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 179 27 179 29+                                      , srcInfoPoints =+                                          [ SrcSpan "tests/examples/DerivingVia.hs" 179 27 179 28+                                          , SrcSpan "tests/examples/DerivingVia.hs" 179 28 179 29+                                          ]+                                      }))))+                        (TyVar+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 179 30 179 31+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 179 30 179 31+                                , srcInfoPoints = []+                                }+                              "a")))+                 ])+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 179 33 179 49+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 179 33 179 41 ]+                }+              (Just+                 (DerivVia+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 179 50 179 53+                      , srcInfoPoints = []+                      }+                    (TyParen+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 179 54 179 71+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 179 54 179 55+                             , SrcSpan "tests/examples/DerivingVia.hs" 179 70 179 71+                             ]+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 179 55 179 70+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 179 55 179 58+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 179 55 179 56+                                   , SrcSpan "tests/examples/DerivingVia.hs" 179 56 179 57+                                   , SrcSpan "tests/examples/DerivingVia.hs" 179 57 179 58+                                   ]+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 179 55 179 58+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 179 55 179 56+                                      , SrcSpan "tests/examples/DerivingVia.hs" 179 56 179 57+                                      , SrcSpan "tests/examples/DerivingVia.hs" 179 57 179 58+                                      ]+                                  }+                                (Symbol+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 179 56 179 57+                                     , srcInfoPoints = []+                                     }+                                   "$")))+                          (TyParen+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 179 59 179 70+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 179 59 179 60+                                   , SrcSpan "tests/examples/DerivingVia.hs" 179 69 179 70+                                   ]+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 179 60 179 69+                                  , srcInfoPoints = []+                                  }+                                (TyCon+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 179 60 179 66+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 179 60 179 66+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 179 60 179 66+                                           , srcInfoPoints = []+                                           }+                                         "Either")))+                                (TyCon+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 179 67 179 69+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/DerivingVia.hs" 179 67 179 68+                                         , SrcSpan "tests/examples/DerivingVia.hs" 179 68 179 69+                                         ]+                                     }+                                   (Special+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 179 67 179 69+                                        , srcInfoPoints =+                                            [ SrcSpan "tests/examples/DerivingVia.hs" 179 67 179 68+                                            , SrcSpan "tests/examples/DerivingVia.hs" 179 68 179 69+                                            ]+                                        }+                                      (UnitCon+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 179 67 179 69+                                           , srcInfoPoints =+                                               [ SrcSpan+                                                   "tests/examples/DerivingVia.hs" 179 67 179 68+                                               , SrcSpan+                                                   "tests/examples/DerivingVia.hs" 179 68 179 69+                                               ]+                                           })))))))))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 179 42 179 49+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 179 42 179 49+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 179 42 179 49+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 179 42 179 49+                             , srcInfoPoints = []+                             }+                           "Functor")))+              ]+          ]+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 181 1 181 73+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 181 15 181 16 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 181 1 181 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 181 9 181 14+               , srcInfoPoints = []+               }+             (DHInfix+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 181 9 181 14+                  , srcInfoPoints = []+                  }+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 181 9 181 10+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 181 9 181 10+                        , srcInfoPoints = []+                        }+                      "f"))+                (Symbol+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 181 11 181 12+                     , srcInfoPoints = []+                     }+                   "$"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 181 13 181 14+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 181 13 181 14+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 181 17 181 26+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 181 17 181 26+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 181 17 181 20+                      , srcInfoPoints = []+                      }+                    "APP")+                 [ TyParen+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 181 21 181 26+                       , srcInfoPoints =+                           [ SrcSpan "tests/examples/DerivingVia.hs" 181 21 181 22+                           , SrcSpan "tests/examples/DerivingVia.hs" 181 25 181 26+                           ]+                       }+                     (TyApp+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 181 22 181 25+                          , srcInfoPoints = []+                          }+                        (TyVar+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 181 22 181 23+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 181 22 181 23+                                , srcInfoPoints = []+                                }+                              "f"))+                        (TyVar+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 181 24 181 25+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 181 24 181 25+                                , srcInfoPoints = []+                                }+                              "a")))+                 ])+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 181 27 181 48+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 181 27 181 35 ]+                }+              (Just+                 (DerivNewtype+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 181 36 181 43+                      , srcInfoPoints = []+                      }))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 181 44 181 48+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 181 44 181 48+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 181 44 181 48+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 181 44 181 48+                             , srcInfoPoints = []+                             }+                           "Show")))+              ]+          , Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 181 49 181 73+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 181 49 181 57 ]+                }+              (Just+                 (DerivNewtype+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 181 58 181 65+                      , srcInfoPoints = []+                      }))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 181 66 181 73+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 181 66 181 73+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 181 66 181 73+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 181 66 181 73+                             , srcInfoPoints = []+                             }+                           "Functor")))+              ]+          ]+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 190 1 191 34+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 190 29 190 30 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 190 1 190 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 190 9 190 28+               , srcInfoPoints = []+               }+             (DHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 190 9 190 26+                  , srcInfoPoints = []+                  }+                (DHead+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 190 9 190 24+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 190 9 190 24+                        , srcInfoPoints = []+                        }+                      "WrapApplicative"))+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 190 25 190 26+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 190 25 190 26+                        , srcInfoPoints = []+                        }+                      "f")))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 190 27 190 28+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 190 27 190 28+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 190 31 190 55+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 190 31 190 55+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 190 31 190 49+                      , srcInfoPoints = []+                      }+                    "WrappedApplicative")+                 [ TyParen+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 190 50 190 55+                       , srcInfoPoints =+                           [ SrcSpan "tests/examples/DerivingVia.hs" 190 50 190 51+                           , SrcSpan "tests/examples/DerivingVia.hs" 190 54 190 55+                           ]+                       }+                     (TyApp+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 190 51 190 54+                          , srcInfoPoints = []+                          }+                        (TyVar+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 190 51 190 52+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 190 51 190 52+                                , srcInfoPoints = []+                                }+                              "f"))+                        (TyVar+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 190 53 190 54+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 190 53 190 54+                                , srcInfoPoints = []+                                }+                              "a")))+                 ])+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 191 3 191 34+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 191 3 191 11+                    , SrcSpan "tests/examples/DerivingVia.hs" 191 12 191 13+                    , SrcSpan "tests/examples/DerivingVia.hs" 191 20 191 21+                    , SrcSpan "tests/examples/DerivingVia.hs" 191 33 191 34+                    ]+                }+              Nothing+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 191 13 191 20+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 191 13 191 20+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 191 13 191 20+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 191 13 191 20+                             , srcInfoPoints = []+                             }+                           "Functor")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 191 22 191 33+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 191 22 191 33+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 191 22 191 33+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 191 22 191 33+                             , srcInfoPoints = []+                             }+                           "Applicative")))+              ]+          ]+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 193 1 201 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 193 1 193 9+                , SrcSpan "tests/examples/DerivingVia.hs" 193 62 193 67+                , SrcSpan "tests/examples/DerivingVia.hs" 194 3 194 3+                , SrcSpan "tests/examples/DerivingVia.hs" 195 3 195 3+                , SrcSpan "tests/examples/DerivingVia.hs" 196 3 196 3+                , SrcSpan "tests/examples/DerivingVia.hs" 197 3 197 3+                , SrcSpan "tests/examples/DerivingVia.hs" 198 3 198 3+                , SrcSpan "tests/examples/DerivingVia.hs" 199 3 199 3+                , SrcSpan "tests/examples/DerivingVia.hs" 201 1 201 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 193 10 193 61+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxTuple+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 193 10 193 35+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 193 10 193 11+                         , SrcSpan "tests/examples/DerivingVia.hs" 193 24 193 25+                         , SrcSpan "tests/examples/DerivingVia.hs" 193 31 193 32+                         , SrcSpan "tests/examples/DerivingVia.hs" 193 33 193 35+                         ]+                     }+                   [ TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 193 11 193 24+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 193 11 193 24+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 193 11 193 24+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 193 11 193 22+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 193 11 193 22+                                     , srcInfoPoints = []+                                     }+                                   "Applicative")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 193 23 193 24+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 193 23 193 24+                                  , srcInfoPoints = []+                                  }+                                "f")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 193 26 193 31+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 193 26 193 31+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 193 26 193 31+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 193 26 193 29+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 193 26 193 29+                                     , srcInfoPoints = []+                                     }+                                   "Num")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 193 30 193 31+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 193 30 193 31+                                  , srcInfoPoints = []+                                  }+                                "a")))+                   ]))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 193 36 193 61+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 193 36 193 39+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 193 36 193 39+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 193 36 193 39+                           , srcInfoPoints = []+                           }+                         "Num")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 193 40 193 61+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 193 40 193 41+                         , SrcSpan "tests/examples/DerivingVia.hs" 193 60 193 61+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 193 41 193 60+                        , srcInfoPoints = []+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 193 41 193 58+                           , srcInfoPoints = []+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 193 41 193 56+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 193 41 193 56+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 193 41 193 56+                                    , srcInfoPoints = []+                                    }+                                  "WrapApplicative")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 193 57 193 58+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 193 57 193 58+                                 , srcInfoPoints = []+                                 }+                               "f")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 193 59 193 60+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 193 59 193 60+                              , srcInfoPoints = []+                              }+                            "a"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 194 3 194 27+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 194 3 194 27+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 194 3 194 6+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 194 3 194 4+                             , SrcSpan "tests/examples/DerivingVia.hs" 194 4 194 5+                             , SrcSpan "tests/examples/DerivingVia.hs" 194 5 194 6+                             ]+                         }+                       (Symbol+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 194 4 194 5+                            , srcInfoPoints = []+                            }+                          "+"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 194 15 194 27+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 194 15 194 16 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 194 17 194 27+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 194 17 194 23+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 194 17 194 23+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 194 17 194 23+                                     , srcInfoPoints = []+                                     }+                                   "liftA2")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 194 24 194 27+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 194 24 194 25+                                   , SrcSpan "tests/examples/DerivingVia.hs" 194 25 194 26+                                   , SrcSpan "tests/examples/DerivingVia.hs" 194 26 194 27+                                   ]+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 194 24 194 27+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 194 24 194 25+                                      , SrcSpan "tests/examples/DerivingVia.hs" 194 25 194 26+                                      , SrcSpan "tests/examples/DerivingVia.hs" 194 26 194 27+                                      ]+                                  }+                                (Symbol+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 194 25 194 26+                                     , srcInfoPoints = []+                                     }+                                   "+")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 195 3 195 27+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 195 3 195 27+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 195 3 195 6+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 195 3 195 4+                             , SrcSpan "tests/examples/DerivingVia.hs" 195 4 195 5+                             , SrcSpan "tests/examples/DerivingVia.hs" 195 5 195 6+                             ]+                         }+                       (Symbol+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 195 4 195 5+                            , srcInfoPoints = []+                            }+                          "*"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 195 15 195 27+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 195 15 195 16 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 195 17 195 27+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 195 17 195 23+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 195 17 195 23+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 195 17 195 23+                                     , srcInfoPoints = []+                                     }+                                   "liftA2")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 195 24 195 27+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 195 24 195 25+                                   , SrcSpan "tests/examples/DerivingVia.hs" 195 25 195 26+                                   , SrcSpan "tests/examples/DerivingVia.hs" 195 26 195 27+                                   ]+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 195 24 195 27+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 195 24 195 25+                                      , SrcSpan "tests/examples/DerivingVia.hs" 195 25 195 26+                                      , SrcSpan "tests/examples/DerivingVia.hs" 195 26 195 27+                                      ]+                                  }+                                (Symbol+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 195 25 195 26+                                     , srcInfoPoints = []+                                     }+                                   "*")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 196 3 196 28+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 196 3 196 28+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 196 3 196 9+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 196 3 196 9+                            , srcInfoPoints = []+                            }+                          "negate"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 196 15 196 28+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 196 15 196 16 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 196 17 196 28+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 196 17 196 21+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 196 17 196 21+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 196 17 196 21+                                     , srcInfoPoints = []+                                     }+                                   "fmap")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 196 22 196 28+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 196 22 196 28+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 196 22 196 28+                                     , srcInfoPoints = []+                                     }+                                   "negate")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 197 3 197 35+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 197 3 197 35+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 197 3 197 14+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 197 3 197 14+                            , srcInfoPoints = []+                            }+                          "fromInteger"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 197 15 197 35+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 197 15 197 16 ]+                         }+                       (InfixApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 197 17 197 35+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 197 17 197 21+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 197 17 197 21+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 197 17 197 21+                                     , srcInfoPoints = []+                                     }+                                   "pure")))+                          (QVarOp+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 197 22 197 23+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 197 22 197 23+                                  , srcInfoPoints = []+                                  }+                                (Symbol+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 197 22 197 23+                                     , srcInfoPoints = []+                                     }+                                   ".")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 197 24 197 35+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 197 24 197 35+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 197 24 197 35+                                     , srcInfoPoints = []+                                     }+                                   "fromInteger")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 198 3 198 25+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 198 3 198 25+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 198 3 198 6+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 198 3 198 6+                            , srcInfoPoints = []+                            }+                          "abs"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 198 15 198 25+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 198 15 198 16 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 198 17 198 25+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 198 17 198 21+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 198 17 198 21+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 198 17 198 21+                                     , srcInfoPoints = []+                                     }+                                   "fmap")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 198 22 198 25+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 198 22 198 25+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 198 22 198 25+                                     , srcInfoPoints = []+                                     }+                                   "abs")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 199 3 199 28+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 199 3 199 28+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 199 3 199 9+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 199 3 199 9+                            , srcInfoPoints = []+                            }+                          "signum"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 199 15 199 28+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 199 15 199 16 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 199 17 199 28+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 199 17 199 21+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 199 17 199 21+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 199 17 199 21+                                     , srcInfoPoints = []+                                     }+                                   "fmap")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 199 22 199 28+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 199 22 199 28+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 199 22 199 28+                                     , srcInfoPoints = []+                                     }+                                   "signum")))))+                    Nothing)+             ])+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 201 1 205 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 201 1 201 9+                , SrcSpan "tests/examples/DerivingVia.hs" 201 76 201 81+                , SrcSpan "tests/examples/DerivingVia.hs" 202 3 202 3+                , SrcSpan "tests/examples/DerivingVia.hs" 203 3 203 3+                , SrcSpan "tests/examples/DerivingVia.hs" 205 1 205 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 201 10 201 75+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxTuple+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 201 10 201 42+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 201 10 201 11+                         , SrcSpan "tests/examples/DerivingVia.hs" 201 24 201 25+                         , SrcSpan "tests/examples/DerivingVia.hs" 201 38 201 39+                         , SrcSpan "tests/examples/DerivingVia.hs" 201 40 201 42+                         ]+                     }+                   [ TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 201 11 201 24+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 201 11 201 24+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 201 11 201 24+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 201 11 201 22+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 201 11 201 22+                                     , srcInfoPoints = []+                                     }+                                   "Applicative")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 201 23 201 24+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 201 23 201 24+                                  , srcInfoPoints = []+                                  }+                                "f")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 201 26 201 38+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 201 26 201 38+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 201 26 201 38+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 201 26 201 36+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 201 26 201 36+                                     , srcInfoPoints = []+                                     }+                                   "Fractional")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 201 37 201 38+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 201 37 201 38+                                  , srcInfoPoints = []+                                  }+                                "a")))+                   ]))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 201 43 201 75+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 201 43 201 53+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 201 43 201 53+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 201 43 201 53+                           , srcInfoPoints = []+                           }+                         "Fractional")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 201 54 201 75+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 201 54 201 55+                         , SrcSpan "tests/examples/DerivingVia.hs" 201 74 201 75+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 201 55 201 74+                        , srcInfoPoints = []+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 201 55 201 72+                           , srcInfoPoints = []+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 201 55 201 70+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 201 55 201 70+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 201 55 201 70+                                    , srcInfoPoints = []+                                    }+                                  "WrapApplicative")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 201 71 201 72+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 201 71 201 72+                                 , srcInfoPoints = []+                                 }+                               "f")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 201 73 201 74+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 201 73 201 74+                              , srcInfoPoints = []+                              }+                            "a"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 202 3 202 28+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 202 3 202 28+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 202 3 202 8+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 202 3 202 8+                            , srcInfoPoints = []+                            }+                          "recip"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 202 16 202 28+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 202 16 202 17 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 202 18 202 28+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 202 18 202 22+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 202 18 202 22+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 202 18 202 22+                                     , srcInfoPoints = []+                                     }+                                   "fmap")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 202 23 202 28+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 202 23 202 28+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 202 23 202 28+                                     , srcInfoPoints = []+                                     }+                                   "recip")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 203 3 203 37+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 203 3 203 37+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 203 3 203 15+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 203 3 203 15+                            , srcInfoPoints = []+                            }+                          "fromRational"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 203 16 203 37+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 203 16 203 17 ]+                         }+                       (InfixApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 203 18 203 37+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 203 18 203 22+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 203 18 203 22+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 203 18 203 22+                                     , srcInfoPoints = []+                                     }+                                   "pure")))+                          (QVarOp+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 203 23 203 24+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 203 23 203 24+                                  , srcInfoPoints = []+                                  }+                                (Symbol+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 203 23 203 24+                                     , srcInfoPoints = []+                                     }+                                   ".")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 203 25 203 37+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 203 25 203 37+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 203 25 203 37+                                     , srcInfoPoints = []+                                     }+                                   "fromRational")))))+                    Nothing)+             ])+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 205 1 221 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 205 1 205 9+                , SrcSpan "tests/examples/DerivingVia.hs" 205 72 205 77+                , SrcSpan "tests/examples/DerivingVia.hs" 206 3 206 3+                , SrcSpan "tests/examples/DerivingVia.hs" 207 3 207 3+                , SrcSpan "tests/examples/DerivingVia.hs" 208 3 208 3+                , SrcSpan "tests/examples/DerivingVia.hs" 209 3 209 3+                , SrcSpan "tests/examples/DerivingVia.hs" 210 3 210 3+                , SrcSpan "tests/examples/DerivingVia.hs" 211 3 211 3+                , SrcSpan "tests/examples/DerivingVia.hs" 212 3 212 3+                , SrcSpan "tests/examples/DerivingVia.hs" 213 3 213 3+                , SrcSpan "tests/examples/DerivingVia.hs" 214 3 214 3+                , SrcSpan "tests/examples/DerivingVia.hs" 215 3 215 3+                , SrcSpan "tests/examples/DerivingVia.hs" 216 3 216 3+                , SrcSpan "tests/examples/DerivingVia.hs" 217 3 217 3+                , SrcSpan "tests/examples/DerivingVia.hs" 218 3 218 3+                , SrcSpan "tests/examples/DerivingVia.hs" 219 3 219 3+                , SrcSpan "tests/examples/DerivingVia.hs" 221 1 221 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 205 10 205 71+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxTuple+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 205 10 205 40+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 205 10 205 11+                         , SrcSpan "tests/examples/DerivingVia.hs" 205 24 205 25+                         , SrcSpan "tests/examples/DerivingVia.hs" 205 36 205 37+                         , SrcSpan "tests/examples/DerivingVia.hs" 205 38 205 40+                         ]+                     }+                   [ TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 205 11 205 24+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 205 11 205 24+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 205 11 205 24+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 205 11 205 22+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 205 11 205 22+                                     , srcInfoPoints = []+                                     }+                                   "Applicative")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 205 23 205 24+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 205 23 205 24+                                  , srcInfoPoints = []+                                  }+                                "f")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 205 26 205 36+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 205 26 205 36+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 205 26 205 36+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 205 26 205 34+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 205 26 205 34+                                     , srcInfoPoints = []+                                     }+                                   "Floating")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 205 35 205 36+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 205 35 205 36+                                  , srcInfoPoints = []+                                  }+                                "a")))+                   ]))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 205 41 205 71+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 205 41 205 49+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 205 41 205 49+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 205 41 205 49+                           , srcInfoPoints = []+                           }+                         "Floating")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 205 50 205 71+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 205 50 205 51+                         , SrcSpan "tests/examples/DerivingVia.hs" 205 70 205 71+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 205 51 205 70+                        , srcInfoPoints = []+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 205 51 205 68+                           , srcInfoPoints = []+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 205 51 205 66+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 205 51 205 66+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 205 51 205 66+                                    , srcInfoPoints = []+                                    }+                                  "WrapApplicative")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 205 67 205 68+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 205 67 205 68+                                 , srcInfoPoints = []+                                 }+                               "f")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 205 69 205 70+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 205 69 205 70+                              , srcInfoPoints = []+                              }+                            "a"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 206 3 206 18+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 206 3 206 18+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 206 3 206 5+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 206 3 206 5+                            , srcInfoPoints = []+                            }+                          "pi"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 206 9 206 18+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 206 9 206 10 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 206 11 206 18+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 206 11 206 15+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 206 11 206 15+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 206 11 206 15+                                     , srcInfoPoints = []+                                     }+                                   "pure")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 206 16 206 18+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 206 16 206 18+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 206 16 206 18+                                     , srcInfoPoints = []+                                     }+                                   "pi")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 207 3 207 20+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 207 3 207 20+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 207 3 207 7+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 207 3 207 7+                            , srcInfoPoints = []+                            }+                          "sqrt"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 207 9 207 20+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 207 9 207 10 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 207 11 207 20+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 207 11 207 15+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 207 11 207 15+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 207 11 207 15+                                     , srcInfoPoints = []+                                     }+                                   "fmap")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 207 16 207 20+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 207 16 207 20+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 207 16 207 20+                                     , srcInfoPoints = []+                                     }+                                   "sqrt")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 208 3 208 19+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 208 3 208 19+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 208 3 208 6+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 208 3 208 6+                            , srcInfoPoints = []+                            }+                          "exp"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 208 9 208 19+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 208 9 208 10 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 208 11 208 19+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 208 11 208 15+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 208 11 208 15+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 208 11 208 15+                                     , srcInfoPoints = []+                                     }+                                   "fmap")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 208 16 208 19+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 208 16 208 19+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 208 16 208 19+                                     , srcInfoPoints = []+                                     }+                                   "exp")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 209 3 209 19+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 209 3 209 19+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 209 3 209 6+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 209 3 209 6+                            , srcInfoPoints = []+                            }+                          "log"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 209 9 209 19+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 209 9 209 10 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 209 11 209 19+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 209 11 209 15+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 209 11 209 15+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 209 11 209 15+                                     , srcInfoPoints = []+                                     }+                                   "fmap")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 209 16 209 19+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 209 16 209 19+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 209 16 209 19+                                     , srcInfoPoints = []+                                     }+                                   "log")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 210 3 210 19+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 210 3 210 19+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 210 3 210 6+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 210 3 210 6+                            , srcInfoPoints = []+                            }+                          "sin"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 210 9 210 19+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 210 9 210 10 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 210 11 210 19+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 210 11 210 15+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 210 11 210 15+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 210 11 210 15+                                     , srcInfoPoints = []+                                     }+                                   "fmap")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 210 16 210 19+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 210 16 210 19+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 210 16 210 19+                                     , srcInfoPoints = []+                                     }+                                   "sin")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 211 3 211 19+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 211 3 211 19+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 211 3 211 6+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 211 3 211 6+                            , srcInfoPoints = []+                            }+                          "cos"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 211 9 211 19+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 211 9 211 10 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 211 11 211 19+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 211 11 211 15+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 211 11 211 15+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 211 11 211 15+                                     , srcInfoPoints = []+                                     }+                                   "fmap")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 211 16 211 19+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 211 16 211 19+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 211 16 211 19+                                     , srcInfoPoints = []+                                     }+                                   "cos")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 212 3 212 20+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 212 3 212 20+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 212 3 212 7+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 212 3 212 7+                            , srcInfoPoints = []+                            }+                          "asin"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 212 9 212 20+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 212 9 212 10 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 212 11 212 20+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 212 11 212 15+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 212 11 212 15+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 212 11 212 15+                                     , srcInfoPoints = []+                                     }+                                   "fmap")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 212 16 212 20+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 212 16 212 20+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 212 16 212 20+                                     , srcInfoPoints = []+                                     }+                                   "asin")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 213 3 213 20+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 213 3 213 20+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 213 3 213 7+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 213 3 213 7+                            , srcInfoPoints = []+                            }+                          "atan"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 213 9 213 20+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 213 9 213 10 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 213 11 213 20+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 213 11 213 15+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 213 11 213 15+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 213 11 213 15+                                     , srcInfoPoints = []+                                     }+                                   "fmap")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 213 16 213 20+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 213 16 213 20+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 213 16 213 20+                                     , srcInfoPoints = []+                                     }+                                   "atan")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 214 3 214 20+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 214 3 214 20+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 214 3 214 7+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 214 3 214 7+                            , srcInfoPoints = []+                            }+                          "acos"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 214 9 214 20+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 214 9 214 10 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 214 11 214 20+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 214 11 214 15+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 214 11 214 15+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 214 11 214 15+                                     , srcInfoPoints = []+                                     }+                                   "fmap")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 214 16 214 20+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 214 16 214 20+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 214 16 214 20+                                     , srcInfoPoints = []+                                     }+                                   "acos")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 215 3 215 20+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 215 3 215 20+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 215 3 215 7+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 215 3 215 7+                            , srcInfoPoints = []+                            }+                          "sinh"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 215 9 215 20+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 215 9 215 10 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 215 11 215 20+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 215 11 215 15+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 215 11 215 15+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 215 11 215 15+                                     , srcInfoPoints = []+                                     }+                                   "fmap")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 215 16 215 20+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 215 16 215 20+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 215 16 215 20+                                     , srcInfoPoints = []+                                     }+                                   "sinh")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 216 3 216 20+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 216 3 216 20+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 216 3 216 7+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 216 3 216 7+                            , srcInfoPoints = []+                            }+                          "cosh"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 216 9 216 20+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 216 9 216 10 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 216 11 216 20+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 216 11 216 15+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 216 11 216 15+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 216 11 216 15+                                     , srcInfoPoints = []+                                     }+                                   "fmap")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 216 16 216 20+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 216 16 216 20+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 216 16 216 20+                                     , srcInfoPoints = []+                                     }+                                   "cosh")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 217 3 217 21+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 217 3 217 21+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 217 3 217 8+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 217 3 217 8+                            , srcInfoPoints = []+                            }+                          "asinh"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 217 9 217 21+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 217 9 217 10 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 217 11 217 21+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 217 11 217 15+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 217 11 217 15+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 217 11 217 15+                                     , srcInfoPoints = []+                                     }+                                   "fmap")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 217 16 217 21+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 217 16 217 21+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 217 16 217 21+                                     , srcInfoPoints = []+                                     }+                                   "asinh")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 218 3 218 21+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 218 3 218 21+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 218 3 218 8+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 218 3 218 8+                            , srcInfoPoints = []+                            }+                          "atanh"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 218 9 218 21+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 218 9 218 10 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 218 11 218 21+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 218 11 218 15+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 218 11 218 15+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 218 11 218 15+                                     , srcInfoPoints = []+                                     }+                                   "fmap")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 218 16 218 21+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 218 16 218 21+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 218 16 218 21+                                     , srcInfoPoints = []+                                     }+                                   "atanh")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 219 3 219 21+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 219 3 219 21+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 219 3 219 8+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 219 3 219 8+                            , srcInfoPoints = []+                            }+                          "acosh"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 219 9 219 21+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 219 9 219 10 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 219 11 219 21+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 219 11 219 15+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 219 11 219 15+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 219 11 219 15+                                     , srcInfoPoints = []+                                     }+                                   "fmap")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 219 16 219 21+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 219 16 219 21+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 219 16 219 21+                                     , srcInfoPoints = []+                                     }+                                   "acosh")))))+                    Nothing)+             ])+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 221 1 224 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 221 1 221 9+                , SrcSpan "tests/examples/DerivingVia.hs" 221 74 221 79+                , SrcSpan "tests/examples/DerivingVia.hs" 222 3 222 3+                , SrcSpan "tests/examples/DerivingVia.hs" 224 1 224 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 221 10 221 73+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxTuple+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 221 10 221 41+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 221 10 221 11+                         , SrcSpan "tests/examples/DerivingVia.hs" 221 24 221 25+                         , SrcSpan "tests/examples/DerivingVia.hs" 221 37 221 38+                         , SrcSpan "tests/examples/DerivingVia.hs" 221 39 221 41+                         ]+                     }+                   [ TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 221 11 221 24+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 221 11 221 24+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 221 11 221 24+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 221 11 221 22+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 221 11 221 22+                                     , srcInfoPoints = []+                                     }+                                   "Applicative")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 221 23 221 24+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 221 23 221 24+                                  , srcInfoPoints = []+                                  }+                                "f")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 221 26 221 37+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 221 26 221 37+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 221 26 221 37+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 221 26 221 35+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 221 26 221 35+                                     , srcInfoPoints = []+                                     }+                                   "Semigroup")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 221 36 221 37+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 221 36 221 37+                                  , srcInfoPoints = []+                                  }+                                "s")))+                   ]))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 221 42 221 73+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 221 42 221 51+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 221 42 221 51+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 221 42 221 51+                           , srcInfoPoints = []+                           }+                         "Semigroup")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 221 52 221 73+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 221 52 221 53+                         , SrcSpan "tests/examples/DerivingVia.hs" 221 72 221 73+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 221 53 221 72+                        , srcInfoPoints = []+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 221 53 221 70+                           , srcInfoPoints = []+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 221 53 221 68+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 221 53 221 68+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 221 53 221 68+                                    , srcInfoPoints = []+                                    }+                                  "WrapApplicative")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 221 69 221 70+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 221 69 221 70+                                 , srcInfoPoints = []+                                 }+                               "f")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 221 71 221 72+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 221 71 221 72+                              , srcInfoPoints = []+                              }+                            "s"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 222 3 222 21+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 222 3 222 21+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 222 3 222 7+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 222 3 222 4+                             , SrcSpan "tests/examples/DerivingVia.hs" 222 4 222 6+                             , SrcSpan "tests/examples/DerivingVia.hs" 222 6 222 7+                             ]+                         }+                       (Symbol+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 222 4 222 6+                            , srcInfoPoints = []+                            }+                          "<>"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 222 8 222 21+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 222 8 222 9 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 222 10 222 21+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 222 10 222 16+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 222 10 222 16+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 222 10 222 16+                                     , srcInfoPoints = []+                                     }+                                   "liftA2")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 222 17 222 21+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 222 17 222 18+                                   , SrcSpan "tests/examples/DerivingVia.hs" 222 18 222 20+                                   , SrcSpan "tests/examples/DerivingVia.hs" 222 20 222 21+                                   ]+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 222 17 222 21+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 222 17 222 18+                                      , SrcSpan "tests/examples/DerivingVia.hs" 222 18 222 20+                                      , SrcSpan "tests/examples/DerivingVia.hs" 222 20 222 21+                                      ]+                                  }+                                (Symbol+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 222 18 222 20+                                     , srcInfoPoints = []+                                     }+                                   "<>")))))+                    Nothing)+             ])+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 224 1 230 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 224 1 224 9+                , SrcSpan "tests/examples/DerivingVia.hs" 224 68 224 73+                , SrcSpan "tests/examples/DerivingVia.hs" 225 3 225 3+                , SrcSpan "tests/examples/DerivingVia.hs" 230 1 230 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 224 10 224 67+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxTuple+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 224 10 224 38+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 224 10 224 11+                         , SrcSpan "tests/examples/DerivingVia.hs" 224 24 224 25+                         , SrcSpan "tests/examples/DerivingVia.hs" 224 34 224 35+                         , SrcSpan "tests/examples/DerivingVia.hs" 224 36 224 38+                         ]+                     }+                   [ TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 224 11 224 24+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 224 11 224 24+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 224 11 224 24+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 224 11 224 22+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 224 11 224 22+                                     , srcInfoPoints = []+                                     }+                                   "Applicative")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 224 23 224 24+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 224 23 224 24+                                  , srcInfoPoints = []+                                  }+                                "f")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 224 26 224 34+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 224 26 224 34+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 224 26 224 34+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 224 26 224 32+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 224 26 224 32+                                     , srcInfoPoints = []+                                     }+                                   "Monoid")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 224 33 224 34+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 224 33 224 34+                                  , srcInfoPoints = []+                                  }+                                "m")))+                   ]))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 224 39 224 67+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 224 39 224 45+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 224 39 224 45+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 224 39 224 45+                           , srcInfoPoints = []+                           }+                         "Monoid")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 224 46 224 67+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 224 46 224 47+                         , SrcSpan "tests/examples/DerivingVia.hs" 224 66 224 67+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 224 47 224 66+                        , srcInfoPoints = []+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 224 47 224 64+                           , srcInfoPoints = []+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 224 47 224 62+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 224 47 224 62+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 224 47 224 62+                                    , srcInfoPoints = []+                                    }+                                  "WrapApplicative")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 224 63 224 64+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 224 63 224 64+                                 , srcInfoPoints = []+                                 }+                               "f")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 224 65 224 66+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 224 65 224 66+                              , srcInfoPoints = []+                              }+                            "m"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 225 3 225 23+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 225 3 225 23+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 225 3 225 9+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 225 3 225 9+                            , srcInfoPoints = []+                            }+                          "mempty"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 225 10 225 23+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 225 10 225 11 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 225 12 225 23+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 225 12 225 16+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 225 12 225 16+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 225 12 225 16+                                     , srcInfoPoints = []+                                     }+                                   "pure")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 225 17 225 23+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 225 17 225 23+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 225 17 225 23+                                     , srcInfoPoints = []+                                     }+                                   "mempty")))))+                    Nothing)+             ])+      , ClassDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 230 1 231 22+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 230 1 230 6+                , SrcSpan "tests/examples/DerivingVia.hs" 230 17 230 22+                , SrcSpan "tests/examples/DerivingVia.hs" 231 3 231 3+                , SrcSpan "tests/examples/DerivingVia.hs" 233 1 233 0+                ]+            }+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 230 7 230 16+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 230 7 230 14+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 230 7 230 14+                     , srcInfoPoints = []+                     }+                   "Pointed"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 230 15 230 16+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 230 15 230 16+                     , srcInfoPoints = []+                     }+                   "p")))+          []+          (Just+             [ ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 231 3 231 22+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 231 11 231 13 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 231 3 231 22+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 231 11 231 13 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 231 3 231 10+                          , srcInfoPoints = []+                          }+                        "pointed"+                    ]+                    (TyFun+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 231 14 231 22+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 231 16 231 18 ]+                         }+                       (TyVar+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 231 14 231 15+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 231 14 231 15+                               , srcInfoPoints = []+                               }+                             "a"))+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 231 19 231 22+                            , srcInfoPoints = []+                            }+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 231 19 231 20+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 231 19 231 20+                                  , srcInfoPoints = []+                                  }+                                "p"))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 231 21 231 22+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 231 21 231 22+                                  , srcInfoPoints = []+                                  }+                                "a")))))+             ])+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 233 1 234 36+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 233 23 233 24 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 233 1 233 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 233 9 233 22+               , srcInfoPoints = []+               }+             (DHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 233 9 233 20+                  , srcInfoPoints = []+                  }+                (DHead+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 233 9 233 18+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 233 9 233 18+                        , srcInfoPoints = []+                        }+                      "WrapMonad"))+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 233 19 233 20+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 233 19 233 20+                        , srcInfoPoints = []+                        }+                      "f")))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 233 21 233 22+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 233 21 233 22+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 233 25 233 43+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 233 25 233 43+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 233 25 233 37+                      , srcInfoPoints = []+                      }+                    "WrappedMonad")+                 [ TyParen+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 233 38 233 43+                       , srcInfoPoints =+                           [ SrcSpan "tests/examples/DerivingVia.hs" 233 38 233 39+                           , SrcSpan "tests/examples/DerivingVia.hs" 233 42 233 43+                           ]+                       }+                     (TyApp+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 233 39 233 42+                          , srcInfoPoints = []+                          }+                        (TyVar+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 233 39 233 40+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 233 39 233 40+                                , srcInfoPoints = []+                                }+                              "f"))+                        (TyVar+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 233 41 233 42+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 233 41 233 42+                                , srcInfoPoints = []+                                }+                              "a")))+                 ])+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 234 3 234 36+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 234 3 234 11+                    , SrcSpan "tests/examples/DerivingVia.hs" 234 20 234 21+                    , SrcSpan "tests/examples/DerivingVia.hs" 234 28 234 29+                    , SrcSpan "tests/examples/DerivingVia.hs" 234 35 234 36+                    ]+                }+              (Just+                 (DerivNewtype+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 234 12 234 19+                      , srcInfoPoints = []+                      }))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 234 21 234 28+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 234 21 234 28+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 234 21 234 28+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 234 21 234 28+                             , srcInfoPoints = []+                             }+                           "Pointed")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 234 30 234 35+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 234 30 234 35+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 234 30 234 35+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 234 30 234 35+                             , srcInfoPoints = []+                             }+                           "Monad")))+              ]+          ]+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 236 1 239 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 236 1 236 9+                , SrcSpan "tests/examples/DerivingVia.hs" 236 56 236 61+                , SrcSpan "tests/examples/DerivingVia.hs" 237 3 237 3+                , SrcSpan "tests/examples/DerivingVia.hs" 239 1 239 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 236 10 236 55+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxTuple+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 236 10 236 33+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 236 10 236 11+                         , SrcSpan "tests/examples/DerivingVia.hs" 236 18 236 19+                         , SrcSpan "tests/examples/DerivingVia.hs" 236 29 236 30+                         , SrcSpan "tests/examples/DerivingVia.hs" 236 31 236 33+                         ]+                     }+                   [ TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 236 11 236 18+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 236 11 236 18+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 236 11 236 18+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 236 11 236 16+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 236 11 236 16+                                     , srcInfoPoints = []+                                     }+                                   "Monad")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 236 17 236 18+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 236 17 236 18+                                  , srcInfoPoints = []+                                  }+                                "m")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 236 20 236 29+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 236 20 236 29+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 236 20 236 29+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 236 20 236 27+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 236 20 236 27+                                     , srcInfoPoints = []+                                     }+                                   "Pointed")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 236 28 236 29+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 236 28 236 29+                                  , srcInfoPoints = []+                                  }+                                "m")))+                   ]))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 236 34 236 55+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 236 34 236 41+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 236 34 236 41+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 236 34 236 41+                           , srcInfoPoints = []+                           }+                         "Functor")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 236 42 236 55+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 236 42 236 43+                         , SrcSpan "tests/examples/DerivingVia.hs" 236 54 236 55+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 236 43 236 54+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 236 43 236 52+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 236 43 236 52+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 236 43 236 52+                                 , srcInfoPoints = []+                                 }+                               "WrapMonad")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 236 53 236 54+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 236 53 236 54+                              , srcInfoPoints = []+                              }+                            "m"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 237 3 237 15+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 237 3 237 15+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 237 3 237 7+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 237 3 237 7+                            , srcInfoPoints = []+                            }+                          "fmap"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 237 8 237 15+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 237 8 237 9 ]+                         }+                       (Var+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 237 10 237 15+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 237 10 237 15+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 237 10 237 15+                                  , srcInfoPoints = []+                                  }+                                "liftM"))))+                    Nothing)+             ])+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 239 1 244 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 239 1 239 9+                , SrcSpan "tests/examples/DerivingVia.hs" 239 60 239 65+                , SrcSpan "tests/examples/DerivingVia.hs" 240 3 240 3+                , SrcSpan "tests/examples/DerivingVia.hs" 241 3 241 3+                , SrcSpan "tests/examples/DerivingVia.hs" 244 1 244 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 239 10 239 59+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxTuple+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 239 10 239 33+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 239 10 239 11+                         , SrcSpan "tests/examples/DerivingVia.hs" 239 18 239 19+                         , SrcSpan "tests/examples/DerivingVia.hs" 239 29 239 30+                         , SrcSpan "tests/examples/DerivingVia.hs" 239 31 239 33+                         ]+                     }+                   [ TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 239 11 239 18+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 239 11 239 18+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 239 11 239 18+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 239 11 239 16+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 239 11 239 16+                                     , srcInfoPoints = []+                                     }+                                   "Monad")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 239 17 239 18+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 239 17 239 18+                                  , srcInfoPoints = []+                                  }+                                "m")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 239 20 239 29+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 239 20 239 29+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 239 20 239 29+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 239 20 239 27+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 239 20 239 27+                                     , srcInfoPoints = []+                                     }+                                   "Pointed")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 239 28 239 29+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 239 28 239 29+                                  , srcInfoPoints = []+                                  }+                                "m")))+                   ]))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 239 34 239 59+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 239 34 239 45+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 239 34 239 45+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 239 34 239 45+                           , srcInfoPoints = []+                           }+                         "Applicative")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 239 46 239 59+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 239 46 239 47+                         , SrcSpan "tests/examples/DerivingVia.hs" 239 58 239 59+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 239 47 239 58+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 239 47 239 56+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 239 47 239 56+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 239 47 239 56+                                 , srcInfoPoints = []+                                 }+                               "WrapMonad")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 239 57 239 58+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 239 57 239 58+                              , srcInfoPoints = []+                              }+                            "m"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 240 3 240 18+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 240 3 240 18+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 240 3 240 7+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 240 3 240 7+                            , srcInfoPoints = []+                            }+                          "pure"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 240 9 240 18+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 240 9 240 10 ]+                         }+                       (Var+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 240 11 240 18+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 240 11 240 18+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 240 11 240 18+                                  , srcInfoPoints = []+                                  }+                                "pointed"))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 241 3 241 13+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 241 3 241 13+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 241 3 241 8+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 241 3 241 4+                             , SrcSpan "tests/examples/DerivingVia.hs" 241 4 241 7+                             , SrcSpan "tests/examples/DerivingVia.hs" 241 7 241 8+                             ]+                         }+                       (Symbol+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 241 4 241 7+                            , srcInfoPoints = []+                            }+                          "<*>"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 241 9 241 13+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 241 9 241 10 ]+                         }+                       (Var+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 241 11 241 13+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 241 11 241 13+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 241 11 241 13+                                  , srcInfoPoints = []+                                  }+                                "ap"))))+                    Nothing)+             ])+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 244 1 247 58+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 244 15 244 16 ]+            }+          (DataType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 244 1 244 5+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 244 6 244 14+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 244 6 244 12+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 244 6 244 12+                     , srcInfoPoints = []+                     }+                   "Sorted"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 244 13 244 14+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 244 13 244 14+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 244 17 244 29+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 244 17 244 29+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 244 17 244 23+                      , srcInfoPoints = []+                      }+                    "Sorted")+                 [ TyVar+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 244 24 244 25+                       , srcInfoPoints = []+                       }+                     (Ident+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 244 24 244 25+                          , srcInfoPoints = []+                          }+                        "a")+                 , TyVar+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 244 26 244 27+                       , srcInfoPoints = []+                       }+                     (Ident+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 244 26 244 27+                          , srcInfoPoints = []+                          }+                        "a")+                 , TyVar+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 244 28 244 29+                       , srcInfoPoints = []+                       }+                     (Ident+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 244 28 244 29+                          , srcInfoPoints = []+                          }+                        "a")+                 ])+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 245 3 245 34+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 245 3 245 11+                    , SrcSpan "tests/examples/DerivingVia.hs" 245 12 245 13+                    , SrcSpan "tests/examples/DerivingVia.hs" 245 20 245 21+                    , SrcSpan "tests/examples/DerivingVia.hs" 245 33 245 34+                    ]+                }+              (Just+                 (DerivVia+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 246 5 246 8+                      , srcInfoPoints = []+                      }+                    (TyParen+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 246 9 246 27+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 246 9 246 10+                             , SrcSpan "tests/examples/DerivingVia.hs" 246 26 246 27+                             ]+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 246 10 246 26+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 246 10 246 19+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 246 10 246 19+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 246 10 246 19+                                     , srcInfoPoints = []+                                     }+                                   "WrapMonad")))+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 246 20 246 26+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 246 20 246 26+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 246 20 246 26+                                     , srcInfoPoints = []+                                     }+                                   "Sorted")))))))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 245 13 245 20+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 245 13 245 20+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 245 13 245 20+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 245 13 245 20+                             , srcInfoPoints = []+                             }+                           "Functor")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 245 22 245 33+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 245 22 245 33+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 245 22 245 33+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 245 22 245 33+                             , srcInfoPoints = []+                             }+                           "Applicative")))+              ]+          , Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 247 3 247 58+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 247 3 247 11+                    , SrcSpan "tests/examples/DerivingVia.hs" 247 12 247 13+                    , SrcSpan "tests/examples/DerivingVia.hs" 247 16 247 17+                    , SrcSpan "tests/examples/DerivingVia.hs" 247 28 247 29+                    , SrcSpan "tests/examples/DerivingVia.hs" 247 38 247 39+                    , SrcSpan "tests/examples/DerivingVia.hs" 247 49 247 50+                    , SrcSpan "tests/examples/DerivingVia.hs" 247 57 247 58+                    ]+                }+              (Just+                 (DerivVia+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 248 5 248 8+                      , srcInfoPoints = []+                      }+                    (TyParen+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 248 9 248 35+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 248 9 248 10+                             , SrcSpan "tests/examples/DerivingVia.hs" 248 34 248 35+                             ]+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 248 10 248 34+                            , srcInfoPoints = []+                            }+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 248 10 248 32+                               , srcInfoPoints = []+                               }+                             (TyCon+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 248 10 248 25+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 248 10 248 25+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 248 10 248 25+                                        , srcInfoPoints = []+                                        }+                                      "WrapApplicative")))+                             (TyCon+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 248 26 248 32+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 248 26 248 32+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 248 26 248 32+                                        , srcInfoPoints = []+                                        }+                                      "Sorted"))))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 248 33 248 34+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 248 33 248 34+                                  , srcInfoPoints = []+                                  }+                                "a"))))))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 247 13 247 16+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 247 13 247 16+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 247 13 247 16+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 247 13 247 16+                             , srcInfoPoints = []+                             }+                           "Num")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 247 18 247 28+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 247 18 247 28+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 247 18 247 28+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 247 18 247 28+                             , srcInfoPoints = []+                             }+                           "Fractional")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 247 30 247 38+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 247 30 247 38+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 247 30 247 38+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 247 30 247 38+                             , srcInfoPoints = []+                             }+                           "Floating")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 247 40 247 49+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 247 40 247 49+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 247 40 247 49+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 247 40 247 49+                             , srcInfoPoints = []+                             }+                           "Semigroup")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 247 51 247 57+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 247 51 247 57+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 247 51 247 57+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 247 51 247 57+                             , srcInfoPoints = []+                             }+                           "Monoid")))+              ]+          ]+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 251 1 258 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 251 1 251 9+                , SrcSpan "tests/examples/DerivingVia.hs" 251 23 251 28+                , SrcSpan "tests/examples/DerivingVia.hs" 252 3 252 3+                , SrcSpan "tests/examples/DerivingVia.hs" 253 3 253 3+                , SrcSpan "tests/examples/DerivingVia.hs" 258 1 258 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 251 10 251 22+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 251 10 251 22+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 251 10 251 15+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 251 10 251 15+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 251 10 251 15+                           , srcInfoPoints = []+                           }+                         "Monad")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 251 16 251 22+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 251 16 251 22+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 251 16 251 22+                           , srcInfoPoints = []+                           }+                         "Sorted")))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 252 3 252 51+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 252 9 252 11 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 252 3 252 51+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 252 9 252 11 ]+                      }+                    [ Symbol+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 252 3 252 8+                          , srcInfoPoints =+                              [ SrcSpan "tests/examples/DerivingVia.hs" 252 3 252 4+                              , SrcSpan "tests/examples/DerivingVia.hs" 252 4 252 7+                              , SrcSpan "tests/examples/DerivingVia.hs" 252 7 252 8+                              ]+                          }+                        ">>="+                    ]+                    (TyFun+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 252 12 252 51+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 252 21 252 23 ]+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 252 12 252 20+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 252 12 252 18+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 252 12 252 18+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 252 12 252 18+                                     , srcInfoPoints = []+                                     }+                                   "Sorted")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 252 19 252 20+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 252 19 252 20+                                  , srcInfoPoints = []+                                  }+                                "a")))+                       (TyFun+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 252 24 252 51+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 252 40 252 42 ]+                            }+                          (TyParen+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 252 24 252 39+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 252 24 252 25+                                   , SrcSpan "tests/examples/DerivingVia.hs" 252 38 252 39+                                   ]+                               }+                             (TyFun+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 252 25 252 38+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 252 27 252 29 ]+                                  }+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 252 25 252 26+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 252 25 252 26+                                        , srcInfoPoints = []+                                        }+                                      "a"))+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 252 30 252 38+                                     , srcInfoPoints = []+                                     }+                                   (TyCon+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 252 30 252 36+                                        , srcInfoPoints = []+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 252 30 252 36+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 252 30 252 36+                                              , srcInfoPoints = []+                                              }+                                            "Sorted")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 252 37 252 38+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 252 37 252 38+                                           , srcInfoPoints = []+                                           }+                                         "b")))))+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 252 43 252 51+                               , srcInfoPoints = []+                               }+                             (TyCon+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 252 43 252 49+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 252 43 252 49+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 252 43 252 49+                                        , srcInfoPoints = []+                                        }+                                      "Sorted")))+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 252 50 252 51+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 252 50 252 51+                                     , srcInfoPoints = []+                                     }+                                   "b"))))))+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 253 3 256 26+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 253 40 253 45 ]+                   }+                 (FunBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 253 3 256 26+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 253 40 253 45 ]+                      }+                    [ InfixMatch+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 253 3 256 26+                          , srcInfoPoints =+                              [ SrcSpan "tests/examples/DerivingVia.hs" 253 40 253 45 ]+                          }+                        (PApp+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 253 3 253 15+                             , srcInfoPoints = []+                             }+                           (UnQual+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 253 3 253 9+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 253 3 253 9+                                   , srcInfoPoints = []+                                   }+                                 "Sorted"))+                           [ PVar+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 253 10 253 11+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 253 10 253 11+                                    , srcInfoPoints = []+                                    }+                                  "a")+                           , PVar+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 253 12 253 13+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 253 12 253 13+                                    , srcInfoPoints = []+                                    }+                                  "b")+                           , PVar+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 253 14 253 15+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 253 14 253 15+                                    , srcInfoPoints = []+                                    }+                                  "c")+                           ])+                        (Symbol+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 253 16 253 19+                             , srcInfoPoints = []+                             }+                           ">>=")+                        [ PVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 253 20 253 21+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 253 20 253 21+                                 , srcInfoPoints = []+                                 }+                               "f")+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 253 22 253 39+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/DerivingVia.hs" 253 22 253 23 ]+                             }+                           (App+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 253 24 253 39+                                , srcInfoPoints = []+                                }+                              (App+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 253 24 253 36+                                   , srcInfoPoints = []+                                   }+                                 (App+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 253 24 253 33+                                      , srcInfoPoints = []+                                      }+                                    (Con+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 253 24 253 30+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 253 24 253 30+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 253 24 253 30+                                               , srcInfoPoints = []+                                               }+                                             "Sorted")))+                                    (Var+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 253 31 253 33+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 253 31 253 33+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 253 31 253 33+                                               , srcInfoPoints = []+                                               }+                                             "a'"))))+                                 (Var+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 253 34 253 36+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 253 34 253 36+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 253 34 253 36+                                            , srcInfoPoints = []+                                            }+                                          "b'"))))+                              (Var+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 253 37 253 39+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 253 37 253 39+                                      , srcInfoPoints = []+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 253 37 253 39+                                         , srcInfoPoints = []+                                         }+                                       "c'")))))+                        (Just+                           (BDecls+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 254 5 256 26+                                , srcInfoPoints =+                                    [ SrcSpan "tests/examples/DerivingVia.hs" 254 5 254 5+                                    , SrcSpan "tests/examples/DerivingVia.hs" 255 5 255 5+                                    , SrcSpan "tests/examples/DerivingVia.hs" 256 5 256 5+                                    , SrcSpan "tests/examples/DerivingVia.hs" 258 1 258 0+                                    ]+                                }+                              [ PatBind+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 254 5 254 26+                                    , srcInfoPoints = []+                                    }+                                  (PApp+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia.hs" 254 5 254 19+                                       , srcInfoPoints = []+                                       }+                                     (UnQual+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/DerivingVia.hs" 254 5 254 11+                                          , srcInfoPoints = []+                                          }+                                        (Ident+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan+                                                   "tests/examples/DerivingVia.hs" 254 5 254 11+                                             , srcInfoPoints = []+                                             }+                                           "Sorted"))+                                     [ PVar+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 254 12 254 14+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 254 12 254 14+                                              , srcInfoPoints = []+                                              }+                                            "a'")+                                     , PWildCard+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 254 15 254 16+                                           , srcInfoPoints = []+                                           }+                                     , PWildCard+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 254 18 254 19+                                           , srcInfoPoints = []+                                           }+                                     ])+                                  (UnGuardedRhs+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia.hs" 254 21 254 26+                                       , srcInfoPoints =+                                           [ SrcSpan "tests/examples/DerivingVia.hs" 254 21 254 22 ]+                                       }+                                     (App+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/DerivingVia.hs" 254 23 254 26+                                          , srcInfoPoints = []+                                          }+                                        (Var+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan+                                                   "tests/examples/DerivingVia.hs" 254 23 254 24+                                             , srcInfoPoints = []+                                             }+                                           (UnQual+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan+                                                      "tests/examples/DerivingVia.hs" 254 23 254 24+                                                , srcInfoPoints = []+                                                }+                                              (Ident+                                                 SrcSpanInfo+                                                   { srcInfoSpan =+                                                       SrcSpan+                                                         "tests/examples/DerivingVia.hs"+                                                         254+                                                         23+                                                         254+                                                         24+                                                   , srcInfoPoints = []+                                                   }+                                                 "f")))+                                        (Var+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan+                                                   "tests/examples/DerivingVia.hs" 254 25 254 26+                                             , srcInfoPoints = []+                                             }+                                           (UnQual+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan+                                                      "tests/examples/DerivingVia.hs" 254 25 254 26+                                                , srcInfoPoints = []+                                                }+                                              (Ident+                                                 SrcSpanInfo+                                                   { srcInfoSpan =+                                                       SrcSpan+                                                         "tests/examples/DerivingVia.hs"+                                                         254+                                                         25+                                                         254+                                                         26+                                                   , srcInfoPoints = []+                                                   }+                                                 "a")))))+                                  Nothing+                              , PatBind+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 255 5 255 26+                                    , srcInfoPoints = []+                                    }+                                  (PApp+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia.hs" 255 5 255 19+                                       , srcInfoPoints = []+                                       }+                                     (UnQual+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/DerivingVia.hs" 255 5 255 11+                                          , srcInfoPoints = []+                                          }+                                        (Ident+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan+                                                   "tests/examples/DerivingVia.hs" 255 5 255 11+                                             , srcInfoPoints = []+                                             }+                                           "Sorted"))+                                     [ PWildCard+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 255 12 255 13+                                           , srcInfoPoints = []+                                           }+                                     , PVar+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 255 15 255 17+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 255 15 255 17+                                              , srcInfoPoints = []+                                              }+                                            "b'")+                                     , PWildCard+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 255 18 255 19+                                           , srcInfoPoints = []+                                           }+                                     ])+                                  (UnGuardedRhs+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia.hs" 255 21 255 26+                                       , srcInfoPoints =+                                           [ SrcSpan "tests/examples/DerivingVia.hs" 255 21 255 22 ]+                                       }+                                     (App+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/DerivingVia.hs" 255 23 255 26+                                          , srcInfoPoints = []+                                          }+                                        (Var+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan+                                                   "tests/examples/DerivingVia.hs" 255 23 255 24+                                             , srcInfoPoints = []+                                             }+                                           (UnQual+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan+                                                      "tests/examples/DerivingVia.hs" 255 23 255 24+                                                , srcInfoPoints = []+                                                }+                                              (Ident+                                                 SrcSpanInfo+                                                   { srcInfoSpan =+                                                       SrcSpan+                                                         "tests/examples/DerivingVia.hs"+                                                         255+                                                         23+                                                         255+                                                         24+                                                   , srcInfoPoints = []+                                                   }+                                                 "f")))+                                        (Var+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan+                                                   "tests/examples/DerivingVia.hs" 255 25 255 26+                                             , srcInfoPoints = []+                                             }+                                           (UnQual+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan+                                                      "tests/examples/DerivingVia.hs" 255 25 255 26+                                                , srcInfoPoints = []+                                                }+                                              (Ident+                                                 SrcSpanInfo+                                                   { srcInfoSpan =+                                                       SrcSpan+                                                         "tests/examples/DerivingVia.hs"+                                                         255+                                                         25+                                                         255+                                                         26+                                                   , srcInfoPoints = []+                                                   }+                                                 "b")))))+                                  Nothing+                              , PatBind+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 256 5 256 26+                                    , srcInfoPoints = []+                                    }+                                  (PApp+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia.hs" 256 5 256 20+                                       , srcInfoPoints = []+                                       }+                                     (UnQual+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/DerivingVia.hs" 256 5 256 11+                                          , srcInfoPoints = []+                                          }+                                        (Ident+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan+                                                   "tests/examples/DerivingVia.hs" 256 5 256 11+                                             , srcInfoPoints = []+                                             }+                                           "Sorted"))+                                     [ PWildCard+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 256 12 256 13+                                           , srcInfoPoints = []+                                           }+                                     , PWildCard+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 256 15 256 16+                                           , srcInfoPoints = []+                                           }+                                     , PVar+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 256 18 256 20+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 256 18 256 20+                                              , srcInfoPoints = []+                                              }+                                            "c'")+                                     ])+                                  (UnGuardedRhs+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia.hs" 256 21 256 26+                                       , srcInfoPoints =+                                           [ SrcSpan "tests/examples/DerivingVia.hs" 256 21 256 22 ]+                                       }+                                     (App+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/DerivingVia.hs" 256 23 256 26+                                          , srcInfoPoints = []+                                          }+                                        (Var+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan+                                                   "tests/examples/DerivingVia.hs" 256 23 256 24+                                             , srcInfoPoints = []+                                             }+                                           (UnQual+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan+                                                      "tests/examples/DerivingVia.hs" 256 23 256 24+                                                , srcInfoPoints = []+                                                }+                                              (Ident+                                                 SrcSpanInfo+                                                   { srcInfoSpan =+                                                       SrcSpan+                                                         "tests/examples/DerivingVia.hs"+                                                         256+                                                         23+                                                         256+                                                         24+                                                   , srcInfoPoints = []+                                                   }+                                                 "f")))+                                        (Var+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan+                                                   "tests/examples/DerivingVia.hs" 256 25 256 26+                                             , srcInfoPoints = []+                                             }+                                           (UnQual+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan+                                                      "tests/examples/DerivingVia.hs" 256 25 256 26+                                                , srcInfoPoints = []+                                                }+                                              (Ident+                                                 SrcSpanInfo+                                                   { srcInfoSpan =+                                                       SrcSpan+                                                         "tests/examples/DerivingVia.hs"+                                                         256+                                                         25+                                                         256+                                                         26+                                                   , srcInfoPoints = []+                                                   }+                                                 "c")))))+                                  Nothing+                              ]))+                    ])+             ])+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 258 1 265 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 258 1 258 9+                , SrcSpan "tests/examples/DerivingVia.hs" 258 25 258 30+                , SrcSpan "tests/examples/DerivingVia.hs" 259 3 259 3+                , SrcSpan "tests/examples/DerivingVia.hs" 260 3 260 3+                , SrcSpan "tests/examples/DerivingVia.hs" 265 1 265 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 258 10 258 24+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 258 10 258 24+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 258 10 258 17+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 258 10 258 17+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 258 10 258 17+                           , srcInfoPoints = []+                           }+                         "Pointed")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 258 18 258 24+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 258 18 258 24+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 258 18 258 24+                           , srcInfoPoints = []+                           }+                         "Sorted")))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 259 3 259 27+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 259 11 259 13 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 259 3 259 27+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 259 11 259 13 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 259 3 259 10+                          , srcInfoPoints = []+                          }+                        "pointed"+                    ]+                    (TyFun+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 259 14 259 27+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 259 16 259 18 ]+                         }+                       (TyVar+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 259 14 259 15+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 259 14 259 15+                               , srcInfoPoints = []+                               }+                             "a"))+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 259 19 259 27+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 259 19 259 25+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 259 19 259 25+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 259 19 259 25+                                     , srcInfoPoints = []+                                     }+                                   "Sorted")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 259 26 259 27+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 259 26 259 27+                                  , srcInfoPoints = []+                                  }+                                "a")))))+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 260 3 260 27+                   , srcInfoPoints = []+                   }+                 (FunBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 260 3 260 27+                      , srcInfoPoints = []+                      }+                    [ Match+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 260 3 260 27+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 260 3 260 10+                             , srcInfoPoints = []+                             }+                           "pointed")+                        [ PVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 260 11 260 12+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 260 11 260 12+                                 , srcInfoPoints = []+                                 }+                               "a")+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 260 13 260 27+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/DerivingVia.hs" 260 13 260 14 ]+                             }+                           (App+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 260 15 260 27+                                , srcInfoPoints = []+                                }+                              (App+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 260 15 260 25+                                   , srcInfoPoints = []+                                   }+                                 (App+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 260 15 260 23+                                      , srcInfoPoints = []+                                      }+                                    (Con+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 260 15 260 21+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 260 15 260 21+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 260 15 260 21+                                               , srcInfoPoints = []+                                               }+                                             "Sorted")))+                                    (Var+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 260 22 260 23+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 260 22 260 23+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 260 22 260 23+                                               , srcInfoPoints = []+                                               }+                                             "a"))))+                                 (Var+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 260 24 260 25+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 260 24 260 25+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 260 24 260 25+                                            , srcInfoPoints = []+                                            }+                                          "a"))))+                              (Var+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 260 26 260 27+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 260 26 260 27+                                      , srcInfoPoints = []+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 260 26 260 27+                                         , srcInfoPoints = []+                                         }+                                       "a")))))+                        Nothing+                    ])+             ])+      , ClassDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 265 1 266 22+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 265 1 265 6+                , SrcSpan "tests/examples/DerivingVia.hs" 265 16 265 21+                , SrcSpan "tests/examples/DerivingVia.hs" 266 3 266 3+                , SrcSpan "tests/examples/DerivingVia.hs" 268 1 268 0+                ]+            }+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 265 7 265 15+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 265 7 265 13+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 265 7 265 13+                     , srcInfoPoints = []+                     }+                   "IsZero"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 265 14 265 15+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 265 14 265 15+                     , srcInfoPoints = []+                     }+                   "a")))+          []+          (Just+             [ ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 266 3 266 22+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 266 10 266 12 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 266 3 266 22+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 266 10 266 12 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 266 3 266 9+                          , srcInfoPoints = []+                          }+                        "isZero"+                    ]+                    (TyFun+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 266 13 266 22+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 266 15 266 17 ]+                         }+                       (TyVar+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 266 13 266 14+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 266 13 266 14+                               , srcInfoPoints = []+                               }+                             "a"))+                       (TyCon+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 266 18 266 22+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 266 18 266 22+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 266 18 266 22+                                  , srcInfoPoints = []+                                  }+                                "Bool")))))+             ])+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 268 1 268 41+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 268 25 268 26 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 268 1 268 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 268 9 268 24+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 268 9 268 21+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 268 9 268 21+                     , srcInfoPoints = []+                     }+                   "WrappedNumEq"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 268 23 268 24+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 268 23 268 24+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 268 27 268 41+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 268 27 268 41+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 268 27 268 39+                      , srcInfoPoints = []+                      }+                    "WrappedNumEq")+                 [ TyVar+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 268 40 268 41+                       , srcInfoPoints = []+                       }+                     (Ident+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 268 40 268 41+                          , srcInfoPoints = []+                          }+                        "a")+                 ])+          ]+          []+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 269 1 269 41+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 269 25 269 26 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 269 1 269 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 269 9 269 24+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 269 9 269 20+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 269 9 269 20+                     , srcInfoPoints = []+                     }+                   "WrappedShow"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 269 23 269 24+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 269 23 269 24+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 269 27 269 41+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 269 27 269 41+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 269 27 269 38+                      , srcInfoPoints = []+                      }+                    "WrappedShow")+                 [ TyVar+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 269 40 269 41+                       , srcInfoPoints = []+                       }+                     (Ident+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 269 40 269 41+                          , srcInfoPoints = []+                          }+                        "a")+                 ])+          ]+          []+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 270 1 270 42+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 270 25 270 26 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 270 1 270 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 270 9 270 24+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 270 9 270 22+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 270 9 270 22+                     , srcInfoPoints = []+                     }+                   "WrappedNumEq2"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 270 23 270 24+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 270 23 270 24+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 270 27 270 42+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 270 27 270 42+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 270 27 270 40+                      , srcInfoPoints = []+                      }+                    "WrappedNumEq2")+                 [ TyVar+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 270 41 270 42+                       , srcInfoPoints = []+                       }+                     (Ident+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 270 41 270 42+                          , srcInfoPoints = []+                          }+                        "a")+                 ])+          ]+          []+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 272 1 276 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 272 1 272 9+                , SrcSpan "tests/examples/DerivingVia.hs" 272 51 272 56+                , SrcSpan "tests/examples/DerivingVia.hs" 273 3 273 3+                , SrcSpan "tests/examples/DerivingVia.hs" 274 3 274 3+                , SrcSpan "tests/examples/DerivingVia.hs" 276 1 276 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 272 10 272 50+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxTuple+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 272 10 272 26+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 272 10 272 11+                         , SrcSpan "tests/examples/DerivingVia.hs" 272 16 272 17+                         , SrcSpan "tests/examples/DerivingVia.hs" 272 22 272 23+                         , SrcSpan "tests/examples/DerivingVia.hs" 272 24 272 26+                         ]+                     }+                   [ TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 272 11 272 16+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 272 11 272 16+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 272 11 272 16+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 272 11 272 14+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 272 11 272 14+                                     , srcInfoPoints = []+                                     }+                                   "Num")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 272 15 272 16+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 272 15 272 16+                                  , srcInfoPoints = []+                                  }+                                "a")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 272 18 272 22+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 272 18 272 22+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 272 18 272 22+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 272 18 272 20+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 272 18 272 20+                                     , srcInfoPoints = []+                                     }+                                   "Eq")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 272 21 272 22+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 272 21 272 22+                                  , srcInfoPoints = []+                                  }+                                "a")))+                   ]))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 272 27 272 50+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 272 27 272 33+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 272 27 272 33+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 272 27 272 33+                           , srcInfoPoints = []+                           }+                         "IsZero")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 272 34 272 50+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 272 34 272 35+                         , SrcSpan "tests/examples/DerivingVia.hs" 272 49 272 50+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 272 35 272 49+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 272 35 272 47+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 272 35 272 47+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 272 35 272 47+                                 , srcInfoPoints = []+                                 }+                               "WrappedNumEq")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 272 48 272 49+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 272 48 272 49+                              , srcInfoPoints = []+                              }+                            "a"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 273 3 273 35+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 273 10 273 12 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 273 3 273 35+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 273 10 273 12 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 273 3 273 9+                          , srcInfoPoints = []+                          }+                        "isZero"+                    ]+                    (TyFun+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 273 13 273 35+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 273 28 273 30 ]+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 273 13 273 27+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 273 13 273 25+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 273 13 273 25+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 273 13 273 25+                                     , srcInfoPoints = []+                                     }+                                   "WrappedNumEq")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 273 26 273 27+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 273 26 273 27+                                  , srcInfoPoints = []+                                  }+                                "a")))+                       (TyCon+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 273 31 273 35+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 273 31 273 35+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 273 31 273 35+                                  , srcInfoPoints = []+                                  }+                                "Bool")))))+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 274 3 274 35+                   , srcInfoPoints = []+                   }+                 (FunBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 274 3 274 35+                      , srcInfoPoints = []+                      }+                    [ Match+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 274 3 274 35+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 274 3 274 9+                             , srcInfoPoints = []+                             }+                           "isZero")+                        [ PParen+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 274 10 274 26+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/DerivingVia.hs" 274 10 274 11+                                  , SrcSpan "tests/examples/DerivingVia.hs" 274 25 274 26+                                  ]+                              }+                            (PApp+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 274 11 274 25+                                 , srcInfoPoints = []+                                 }+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 274 11 274 23+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia.hs" 274 11 274 23+                                       , srcInfoPoints = []+                                       }+                                     "WrappedNumEq"))+                               [ PVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 274 24 274 25+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 274 24 274 25+                                        , srcInfoPoints = []+                                        }+                                      "a")+                               ])+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 274 27 274 35+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/DerivingVia.hs" 274 27 274 28 ]+                             }+                           (InfixApp+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 274 29 274 35+                                , srcInfoPoints = []+                                }+                              (Lit+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 274 29 274 30+                                   , srcInfoPoints = []+                                   }+                                 (Int+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 274 29 274 30+                                      , srcInfoPoints = []+                                      }+                                    0+                                    "0"))+                              (QVarOp+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 274 31 274 33+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 274 31 274 33+                                      , srcInfoPoints = []+                                      }+                                    (Symbol+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 274 31 274 33+                                         , srcInfoPoints = []+                                         }+                                       "==")))+                              (Var+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 274 34 274 35+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 274 34 274 35+                                      , srcInfoPoints = []+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 274 34 274 35+                                         , srcInfoPoints = []+                                         }+                                       "a")))))+                        Nothing+                    ])+             ])+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 276 1 280 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 276 1 276 9+                , SrcSpan "tests/examples/DerivingVia.hs" 276 43 276 48+                , SrcSpan "tests/examples/DerivingVia.hs" 277 3 277 3+                , SrcSpan "tests/examples/DerivingVia.hs" 278 3 278 3+                , SrcSpan "tests/examples/DerivingVia.hs" 280 1 280 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 42+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxSingle+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 19+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 276 17 276 19 ]+                     }+                   (TypeA+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 19+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DerivingVia.hs" 276 17 276 19 ]+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 19+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingVia.hs" 276 17 276 19 ]+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 19+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/DerivingVia.hs" 276 17 276 19 ]+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 14+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 14+                                    , srcInfoPoints = []+                                    }+                                  "Show")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 276 15 276 16+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 276 15 276 16+                                 , srcInfoPoints = []+                                 }+                               "a"))))))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 276 20 276 42+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 276 20 276 26+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 276 20 276 26+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 276 20 276 26+                           , srcInfoPoints = []+                           }+                         "IsZero")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 276 27 276 42+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 276 27 276 28+                         , SrcSpan "tests/examples/DerivingVia.hs" 276 41 276 42+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 276 28 276 41+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 276 28 276 39+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 276 28 276 39+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 276 28 276 39+                                 , srcInfoPoints = []+                                 }+                               "WrappedShow")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 276 40 276 41+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 276 40 276 41+                              , srcInfoPoints = []+                              }+                            "a"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 277 3 277 34+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 277 10 277 12 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 277 3 277 34+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 277 10 277 12 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 277 3 277 9+                          , srcInfoPoints = []+                          }+                        "isZero"+                    ]+                    (TyFun+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 277 13 277 34+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 277 27 277 29 ]+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 277 13 277 26+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 277 13 277 24+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 277 13 277 24+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 277 13 277 24+                                     , srcInfoPoints = []+                                     }+                                   "WrappedShow")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 277 25 277 26+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 277 25 277 26+                                  , srcInfoPoints = []+                                  }+                                "a")))+                       (TyCon+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 277 30 277 34+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 277 30 277 34+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 277 30 277 34+                                  , srcInfoPoints = []+                                  }+                                "Bool")))))+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 278 3 278 41+                   , srcInfoPoints = []+                   }+                 (FunBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 278 3 278 41+                      , srcInfoPoints = []+                      }+                    [ Match+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 278 3 278 41+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 278 3 278 9+                             , srcInfoPoints = []+                             }+                           "isZero")+                        [ PParen+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 278 10 278 25+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/DerivingVia.hs" 278 10 278 11+                                  , SrcSpan "tests/examples/DerivingVia.hs" 278 24 278 25+                                  ]+                              }+                            (PApp+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 278 11 278 24+                                 , srcInfoPoints = []+                                 }+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 278 11 278 22+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia.hs" 278 11 278 22+                                       , srcInfoPoints = []+                                       }+                                     "WrappedShow"))+                               [ PVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 278 23 278 24+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 278 23 278 24+                                        , srcInfoPoints = []+                                        }+                                      "a")+                               ])+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 278 26 278 41+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/DerivingVia.hs" 278 26 278 27 ]+                             }+                           (InfixApp+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 278 28 278 41+                                , srcInfoPoints = []+                                }+                              (Lit+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 278 28 278 31+                                   , srcInfoPoints = []+                                   }+                                 (String+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 278 28 278 31+                                      , srcInfoPoints = []+                                      }+                                    "0"+                                    "0"))+                              (QVarOp+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 278 32 278 34+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 278 32 278 34+                                      , srcInfoPoints = []+                                      }+                                    (Symbol+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 278 32 278 34+                                         , srcInfoPoints = []+                                         }+                                       "==")))+                              (App+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 278 35 278 41+                                   , srcInfoPoints = []+                                   }+                                 (Var+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 278 35 278 39+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 278 35 278 39+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 278 35 278 39+                                            , srcInfoPoints = []+                                            }+                                          "show")))+                                 (Var+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 278 40 278 41+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 278 40 278 41+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 278 40 278 41+                                            , srcInfoPoints = []+                                            }+                                          "a"))))))+                        Nothing+                    ])+             ])+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 280 1 284 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 280 1 280 9+                , SrcSpan "tests/examples/DerivingVia.hs" 280 52 280 57+                , SrcSpan "tests/examples/DerivingVia.hs" 281 3 281 3+                , SrcSpan "tests/examples/DerivingVia.hs" 282 3 282 3+                , SrcSpan "tests/examples/DerivingVia.hs" 284 1 284 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 280 10 280 51+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxTuple+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 280 10 280 26+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 280 10 280 11+                         , SrcSpan "tests/examples/DerivingVia.hs" 280 16 280 17+                         , SrcSpan "tests/examples/DerivingVia.hs" 280 22 280 23+                         , SrcSpan "tests/examples/DerivingVia.hs" 280 24 280 26+                         ]+                     }+                   [ TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 280 11 280 16+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 280 11 280 16+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 280 11 280 16+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 280 11 280 14+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 280 11 280 14+                                     , srcInfoPoints = []+                                     }+                                   "Num")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 280 15 280 16+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 280 15 280 16+                                  , srcInfoPoints = []+                                  }+                                "a")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 280 18 280 22+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 280 18 280 22+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 280 18 280 22+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 280 18 280 20+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 280 18 280 20+                                     , srcInfoPoints = []+                                     }+                                   "Eq")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 280 21 280 22+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 280 21 280 22+                                  , srcInfoPoints = []+                                  }+                                "a")))+                   ]))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 280 27 280 51+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 280 27 280 33+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 280 27 280 33+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 280 27 280 33+                           , srcInfoPoints = []+                           }+                         "IsZero")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 280 34 280 51+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 280 34 280 35+                         , SrcSpan "tests/examples/DerivingVia.hs" 280 50 280 51+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 280 35 280 50+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 280 35 280 48+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 280 35 280 48+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 280 35 280 48+                                 , srcInfoPoints = []+                                 }+                               "WrappedNumEq2")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 280 49 280 50+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 280 49 280 50+                              , srcInfoPoints = []+                              }+                            "a"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 281 3 281 36+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 281 10 281 12 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 281 3 281 36+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 281 10 281 12 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 281 3 281 9+                          , srcInfoPoints = []+                          }+                        "isZero"+                    ]+                    (TyFun+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 281 13 281 36+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 281 29 281 31 ]+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 281 13 281 28+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 281 13 281 26+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 281 13 281 26+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 281 13 281 26+                                     , srcInfoPoints = []+                                     }+                                   "WrappedNumEq2")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 281 27 281 28+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 281 27 281 28+                                  , srcInfoPoints = []+                                  }+                                "a")))+                       (TyCon+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 281 32 281 36+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 281 32 281 36+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 281 32 281 36+                                  , srcInfoPoints = []+                                  }+                                "Bool")))))+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 282 3 282 40+                   , srcInfoPoints = []+                   }+                 (FunBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 282 3 282 40+                      , srcInfoPoints = []+                      }+                    [ Match+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 282 3 282 40+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 282 3 282 9+                             , srcInfoPoints = []+                             }+                           "isZero")+                        [ PParen+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 282 10 282 27+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/DerivingVia.hs" 282 10 282 11+                                  , SrcSpan "tests/examples/DerivingVia.hs" 282 26 282 27+                                  ]+                              }+                            (PApp+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 282 11 282 26+                                 , srcInfoPoints = []+                                 }+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 282 11 282 24+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia.hs" 282 11 282 24+                                       , srcInfoPoints = []+                                       }+                                     "WrappedNumEq2"))+                               [ PVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 282 25 282 26+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 282 25 282 26+                                        , srcInfoPoints = []+                                        }+                                      "a")+                               ])+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 282 28 282 40+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/DerivingVia.hs" 282 28 282 29 ]+                             }+                           (InfixApp+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 282 30 282 40+                                , srcInfoPoints = []+                                }+                              (InfixApp+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 282 30 282 35+                                   , srcInfoPoints = []+                                   }+                                 (Var+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 282 30 282 31+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 282 30 282 31+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 282 30 282 31+                                            , srcInfoPoints = []+                                            }+                                          "a")))+                                 (QVarOp+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 282 32 282 33+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 282 32 282 33+                                         , srcInfoPoints = []+                                         }+                                       (Symbol+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 282 32 282 33+                                            , srcInfoPoints = []+                                            }+                                          "+")))+                                 (Var+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 282 34 282 35+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 282 34 282 35+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 282 34 282 35+                                            , srcInfoPoints = []+                                            }+                                          "a"))))+                              (QVarOp+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 282 36 282 38+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 282 36 282 38+                                      , srcInfoPoints = []+                                      }+                                    (Symbol+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 282 36 282 38+                                         , srcInfoPoints = []+                                         }+                                       "==")))+                              (Var+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 282 39 282 40+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 282 39 282 40+                                      , srcInfoPoints = []+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 282 39 282 40+                                         , srcInfoPoints = []+                                         }+                                       "a")))))+                        Nothing+                    ])+             ])+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 284 1 286 18+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 284 13 284 14 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 284 1 284 8+               , srcInfoPoints = []+               })+          Nothing+          (DHead+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 284 9 284 12+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 284 9 284 12+                  , srcInfoPoints = []+                  }+                "INT"))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 284 15 284 22+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 284 15 284 22+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 284 15 284 18+                      , srcInfoPoints = []+                      }+                    "INT")+                 [ TyCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 284 19 284 22+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 284 19 284 22+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 284 19 284 22+                             , srcInfoPoints = []+                             }+                           "Int"))+                 ])+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 285 3 285 24+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 285 3 285 11 ]+                }+              (Just+                 (DerivNewtype+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 285 12 285 19+                      , srcInfoPoints = []+                      }))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 285 20 285 24+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 285 20 285 24+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 285 20 285 24+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 285 20 285 24+                             , srcInfoPoints = []+                             }+                           "Show")))+              ]+          , Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 286 3 286 18+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 286 3 286 11 ]+                }+              (Just+                 (DerivVia+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 286 19 286 22+                      , srcInfoPoints = []+                      }+                    (TyParen+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 286 23 286 41+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 286 23 286 24+                             , SrcSpan "tests/examples/DerivingVia.hs" 286 40 286 41+                             ]+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 286 24 286 40+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 286 24 286 36+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 286 24 286 36+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 286 24 286 36+                                     , srcInfoPoints = []+                                     }+                                   "WrappedNumEq")))+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 286 37 286 40+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 286 37 286 40+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 286 37 286 40+                                     , srcInfoPoints = []+                                     }+                                   "Int")))))))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 286 12 286 18+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 286 12 286 18+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 286 12 286 18+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 286 12 286 18+                             , srcInfoPoints = []+                             }+                           "IsZero")))+              ]+          ]+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 288 1 288 41+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 288 14 288 15 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 288 1 288 8+               , srcInfoPoints = []+               })+          Nothing+          (DHead+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 288 9 288 13+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 288 9 288 13+                  , srcInfoPoints = []+                  }+                "VOID"))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 288 16 288 25+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 288 16 288 25+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 288 16 288 20+                      , srcInfoPoints = []+                      }+                    "VOID")+                 [ TyCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 288 21 288 25+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 288 21 288 25+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 288 21 288 25+                             , srcInfoPoints = []+                             }+                           "Void"))+                 ])+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 288 26 288 41+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 288 26 288 34 ]+                }+              (Just+                 (DerivVia+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 288 42 288 45+                      , srcInfoPoints = []+                      }+                    (TyParen+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 288 46 288 64+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 288 46 288 47+                             , SrcSpan "tests/examples/DerivingVia.hs" 288 63 288 64+                             ]+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 288 47 288 63+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 288 47 288 58+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 288 47 288 58+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 288 47 288 58+                                     , srcInfoPoints = []+                                     }+                                   "WrappedShow")))+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 288 59 288 63+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 288 59 288 63+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 288 59 288 63+                                     , srcInfoPoints = []+                                     }+                                   "Void")))))))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 288 35 288 41+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 288 35 288 41+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 288 35 288 41+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 288 35 288 41+                             , srcInfoPoints = []+                             }+                           "IsZero")))+              ]+          ]+      , ClassDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 293 1 301 14+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 293 1 293 6+                , SrcSpan "tests/examples/DerivingVia.hs" 293 38 293 43+                , SrcSpan "tests/examples/DerivingVia.hs" 294 3 294 3+                , SrcSpan "tests/examples/DerivingVia.hs" 296 3 296 3+                , SrcSpan "tests/examples/DerivingVia.hs" 303 1 303 0+                ]+            }+          (Just+             (CxSingle+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 293 7 293 21+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/DerivingVia.hs" 293 19 293 21 ]+                  }+                (TypeA+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 293 7 293 21+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 293 19 293 21 ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 293 7 293 21+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DerivingVia.hs" 293 19 293 21 ]+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 293 7 293 21+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingVia.hs" 293 19 293 21 ]+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 293 7 293 16+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 293 7 293 16+                                 , srcInfoPoints = []+                                 }+                               "Bifunctor")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 293 17 293 18+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 293 17 293 18+                              , srcInfoPoints = []+                              }+                            "p"))))))+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 293 22 293 37+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 293 22 293 35+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 293 22 293 35+                     , srcInfoPoints = []+                     }+                   "Biapplicative"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 293 36 293 37+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 293 36 293 37+                     , srcInfoPoints = []+                     }+                   "p")))+          []+          (Just+             [ ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 294 3 294 28+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 294 10 294 12 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 294 3 294 28+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 294 10 294 12 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 294 3 294 9+                          , srcInfoPoints = []+                          }+                        "bipure"+                    ]+                    (TyFun+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 294 13 294 28+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 294 15 294 17 ]+                         }+                       (TyVar+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 294 13 294 14+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 294 13 294 14+                               , srcInfoPoints = []+                               }+                             "a"))+                       (TyFun+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 294 18 294 28+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 294 20 294 22 ]+                            }+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 294 18 294 19+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 294 18 294 19+                                  , srcInfoPoints = []+                                  }+                                "b"))+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 294 23 294 28+                               , srcInfoPoints = []+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 294 23 294 26+                                  , srcInfoPoints = []+                                  }+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 294 23 294 24+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 294 23 294 24+                                        , srcInfoPoints = []+                                        }+                                      "p"))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 294 25 294 26+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 294 25 294 26+                                        , srcInfoPoints = []+                                        }+                                      "a")))+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 294 27 294 28+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 294 27 294 28+                                     , srcInfoPoints = []+                                     }+                                   "b"))))))+             , ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 296 3 301 14+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 297 5 297 7 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 296 3 301 14+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 297 5 297 7 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 296 3 296 11+                          , srcInfoPoints = []+                          }+                        "biliftA2"+                    ]+                    (TyFun+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 297 8 301 14+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 298 5 298 7 ]+                         }+                       (TyParen+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 297 8 297 23+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 297 8 297 9+                                , SrcSpan "tests/examples/DerivingVia.hs" 297 22 297 23+                                ]+                            }+                          (TyFun+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 297 9 297 22+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 297 12 297 14 ]+                               }+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 297 9 297 10+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 297 9 297 10+                                     , srcInfoPoints = []+                                     }+                                   "a"))+                             (TyFun+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 297 15 297 22+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 297 18 297 20 ]+                                  }+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 297 15 297 16+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 297 15 297 16+                                        , srcInfoPoints = []+                                        }+                                      "b"))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 297 21 297 22+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 297 21 297 22+                                        , srcInfoPoints = []+                                        }+                                      "c")))))+                       (TyFun+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 298 8 301 14+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 299 5 299 7 ]+                            }+                          (TyParen+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 298 8 298 24+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 298 8 298 9+                                   , SrcSpan "tests/examples/DerivingVia.hs" 298 23 298 24+                                   ]+                               }+                             (TyFun+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 298 9 298 23+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 298 12 298 14 ]+                                  }+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 298 9 298 11+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 298 9 298 11+                                        , srcInfoPoints = []+                                        }+                                      "a'"))+                                (TyFun+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 298 15 298 23+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/DerivingVia.hs" 298 18 298 20 ]+                                     }+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 298 15 298 17+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 298 15 298 17+                                           , srcInfoPoints = []+                                           }+                                         "b'"))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 298 21 298 23+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 298 21 298 23+                                           , srcInfoPoints = []+                                           }+                                         "c'")))))+                          (TyFun+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 299 8 301 14+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 300 5 300 7 ]+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 299 8 299 14+                                  , srcInfoPoints = []+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 299 8 299 11+                                     , srcInfoPoints = []+                                     }+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 299 8 299 9+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 299 8 299 9+                                           , srcInfoPoints = []+                                           }+                                         "p"))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 299 10 299 11+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 299 10 299 11+                                           , srcInfoPoints = []+                                           }+                                         "a")))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 299 12 299 14+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 299 12 299 14+                                        , srcInfoPoints = []+                                        }+                                      "a'")))+                             (TyFun+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 300 8 301 14+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 301 5 301 7 ]+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 300 8 300 14+                                     , srcInfoPoints = []+                                     }+                                   (TyApp+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 300 8 300 11+                                        , srcInfoPoints = []+                                        }+                                      (TyVar+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 300 8 300 9+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 300 8 300 9+                                              , srcInfoPoints = []+                                              }+                                            "p"))+                                      (TyVar+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 300 10 300 11+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 300 10 300 11+                                              , srcInfoPoints = []+                                              }+                                            "b")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 300 12 300 14+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 300 12 300 14+                                           , srcInfoPoints = []+                                           }+                                         "b'")))+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 301 8 301 14+                                     , srcInfoPoints = []+                                     }+                                   (TyApp+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 301 8 301 11+                                        , srcInfoPoints = []+                                        }+                                      (TyVar+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 301 8 301 9+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 301 8 301 9+                                              , srcInfoPoints = []+                                              }+                                            "p"))+                                      (TyVar+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 301 10 301 11+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 301 10 301 11+                                              , srcInfoPoints = []+                                              }+                                            "c")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 301 12 301 14+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 301 12 301 14+                                           , srcInfoPoints = []+                                           }+                                         "c'"))))))))+             ])+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 303 1 309 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 303 1 303 9+                , SrcSpan "tests/examples/DerivingVia.hs" 303 28 303 33+                , SrcSpan "tests/examples/DerivingVia.hs" 304 3 304 3+                , SrcSpan "tests/examples/DerivingVia.hs" 306 3 306 3+                , SrcSpan "tests/examples/DerivingVia.hs" 309 1 309 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 303 10 303 27+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 303 10 303 27+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 303 10 303 23+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 303 10 303 23+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 303 10 303 23+                           , srcInfoPoints = []+                           }+                         "Biapplicative")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 303 24 303 27+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 303 24 303 25+                         , SrcSpan "tests/examples/DerivingVia.hs" 303 25 303 26+                         , SrcSpan "tests/examples/DerivingVia.hs" 303 26 303 27+                         ]+                     }+                   (Special+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 303 24 303 27+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DerivingVia.hs" 303 24 303 25+                            , SrcSpan "tests/examples/DerivingVia.hs" 303 25 303 26+                            , SrcSpan "tests/examples/DerivingVia.hs" 303 26 303 27+                            ]+                        }+                      (TupleCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 303 24 303 27+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingVia.hs" 303 24 303 25+                               , SrcSpan "tests/examples/DerivingVia.hs" 303 25 303 26+                               , SrcSpan "tests/examples/DerivingVia.hs" 303 26 303 27+                               ]+                           }+                         Boxed+                         2)))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 304 3 304 15+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 304 3 304 15+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 304 3 304 9+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 304 3 304 9+                            , srcInfoPoints = []+                            }+                          "bipure"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 304 10 304 15+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 304 10 304 11 ]+                         }+                       (Con+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 304 12 304 15+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 304 12 304 13+                                , SrcSpan "tests/examples/DerivingVia.hs" 304 13 304 14+                                , SrcSpan "tests/examples/DerivingVia.hs" 304 14 304 15+                                ]+                            }+                          (Special+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 304 12 304 15+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 304 12 304 13+                                   , SrcSpan "tests/examples/DerivingVia.hs" 304 13 304 14+                                   , SrcSpan "tests/examples/DerivingVia.hs" 304 14 304 15+                                   ]+                               }+                             (TupleCon+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 304 12 304 15+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 304 12 304 13+                                      , SrcSpan "tests/examples/DerivingVia.hs" 304 13 304 14+                                      , SrcSpan "tests/examples/DerivingVia.hs" 304 14 304 15+                                      ]+                                  }+                                Boxed+                                2))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 306 3 307 22+                   , srcInfoPoints = []+                   }+                 (FunBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 306 3 307 22+                      , srcInfoPoints = []+                      }+                    [ Match+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 306 3 307 22+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 306 3 306 11+                             , srcInfoPoints = []+                             }+                           "biliftA2")+                        [ PVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 306 12 306 13+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 306 12 306 13+                                 , srcInfoPoints = []+                                 }+                               "f")+                        , PVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 306 14 306 16+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 306 14 306 16+                                 , srcInfoPoints = []+                                 }+                               "f'")+                        , PTuple+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 306 17 306 24+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/DerivingVia.hs" 306 17 306 18+                                  , SrcSpan "tests/examples/DerivingVia.hs" 306 19 306 20+                                  , SrcSpan "tests/examples/DerivingVia.hs" 306 23 306 24+                                  ]+                              }+                            Boxed+                            [ PVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 306 18 306 19+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 306 18 306 19+                                     , srcInfoPoints = []+                                     }+                                   "a")+                            , PVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 306 21 306 23+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 306 21 306 23+                                     , srcInfoPoints = []+                                     }+                                   "a'")+                            ]+                        , PTuple+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 306 25 306 32+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/DerivingVia.hs" 306 25 306 26+                                  , SrcSpan "tests/examples/DerivingVia.hs" 306 27 306 28+                                  , SrcSpan "tests/examples/DerivingVia.hs" 306 31 306 32+                                  ]+                              }+                            Boxed+                            [ PVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 306 26 306 27+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 306 26 306 27+                                     , srcInfoPoints = []+                                     }+                                   "b")+                            , PVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 306 29 306 31+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 306 29 306 31+                                     , srcInfoPoints = []+                                     }+                                   "b'")+                            ]+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 306 33 307 22+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/DerivingVia.hs" 306 33 306 34 ]+                             }+                           (Tuple+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 307 5 307 22+                                , srcInfoPoints =+                                    [ SrcSpan "tests/examples/DerivingVia.hs" 307 5 307 6+                                    , SrcSpan "tests/examples/DerivingVia.hs" 307 11 307 12+                                    , SrcSpan "tests/examples/DerivingVia.hs" 307 21 307 22+                                    ]+                                }+                              Boxed+                              [ App+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 307 6 307 11+                                    , srcInfoPoints = []+                                    }+                                  (App+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia.hs" 307 6 307 9+                                       , srcInfoPoints = []+                                       }+                                     (Var+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/DerivingVia.hs" 307 6 307 7+                                          , srcInfoPoints = []+                                          }+                                        (UnQual+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan "tests/examples/DerivingVia.hs" 307 6 307 7+                                             , srcInfoPoints = []+                                             }+                                           (Ident+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan+                                                      "tests/examples/DerivingVia.hs" 307 6 307 7+                                                , srcInfoPoints = []+                                                }+                                              "f")))+                                     (Var+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/DerivingVia.hs" 307 8 307 9+                                          , srcInfoPoints = []+                                          }+                                        (UnQual+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan "tests/examples/DerivingVia.hs" 307 8 307 9+                                             , srcInfoPoints = []+                                             }+                                           (Ident+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan+                                                      "tests/examples/DerivingVia.hs" 307 8 307 9+                                                , srcInfoPoints = []+                                                }+                                              "a"))))+                                  (Var+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia.hs" 307 10 307 11+                                       , srcInfoPoints = []+                                       }+                                     (UnQual+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/DerivingVia.hs" 307 10 307 11+                                          , srcInfoPoints = []+                                          }+                                        (Ident+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan+                                                   "tests/examples/DerivingVia.hs" 307 10 307 11+                                             , srcInfoPoints = []+                                             }+                                           "b")))+                              , App+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 307 13 307 21+                                    , srcInfoPoints = []+                                    }+                                  (App+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia.hs" 307 13 307 18+                                       , srcInfoPoints = []+                                       }+                                     (Var+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/DerivingVia.hs" 307 13 307 15+                                          , srcInfoPoints = []+                                          }+                                        (UnQual+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan+                                                   "tests/examples/DerivingVia.hs" 307 13 307 15+                                             , srcInfoPoints = []+                                             }+                                           (Ident+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan+                                                      "tests/examples/DerivingVia.hs" 307 13 307 15+                                                , srcInfoPoints = []+                                                }+                                              "f'")))+                                     (Var+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/DerivingVia.hs" 307 16 307 18+                                          , srcInfoPoints = []+                                          }+                                        (UnQual+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan+                                                   "tests/examples/DerivingVia.hs" 307 16 307 18+                                             , srcInfoPoints = []+                                             }+                                           (Ident+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan+                                                      "tests/examples/DerivingVia.hs" 307 16 307 18+                                                , srcInfoPoints = []+                                                }+                                              "a'"))))+                                  (Var+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia.hs" 307 19 307 21+                                       , srcInfoPoints = []+                                       }+                                     (UnQual+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/DerivingVia.hs" 307 19 307 21+                                          , srcInfoPoints = []+                                          }+                                        (Ident+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan+                                                   "tests/examples/DerivingVia.hs" 307 19 307 21+                                             , srcInfoPoints = []+                                             }+                                           "b'")))+                              ]))+                        Nothing+                    ])+             ])+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 309 1 310 50+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 309 25 309 26 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 309 1 309 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 309 9 309 24+               , srcInfoPoints = []+               }+             (DHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 309 9 309 22+                  , srcInfoPoints = []+                  }+                (DHApp+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 309 9 309 20+                     , srcInfoPoints = []+                     }+                   (DHead+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 309 9 309 18+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 309 9 309 18+                           , srcInfoPoints = []+                           }+                         "WrapBiapp"))+                   (UnkindedVar+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 309 19 309 20+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 309 19 309 20+                           , srcInfoPoints = []+                           }+                         "p")))+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 309 21 309 22+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 309 21 309 22+                        , srcInfoPoints = []+                        }+                      "a")))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 309 23 309 24+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 309 23 309 24+                     , srcInfoPoints = []+                     }+                   "b")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 309 27 309 43+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 309 27 309 43+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 309 27 309 35+                      , srcInfoPoints = []+                      }+                    "WrapBiap")+                 [ TyParen+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 309 36 309 43+                       , srcInfoPoints =+                           [ SrcSpan "tests/examples/DerivingVia.hs" 309 36 309 37+                           , SrcSpan "tests/examples/DerivingVia.hs" 309 42 309 43+                           ]+                       }+                     (TyApp+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 309 37 309 42+                          , srcInfoPoints = []+                          }+                        (TyApp+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 309 37 309 40+                             , srcInfoPoints = []+                             }+                           (TyVar+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 309 37 309 38+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 309 37 309 38+                                   , srcInfoPoints = []+                                   }+                                 "p"))+                           (TyVar+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 309 39 309 40+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 309 39 309 40+                                   , srcInfoPoints = []+                                   }+                                 "a")))+                        (TyVar+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 309 41 309 42+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 309 41 309 42+                                , srcInfoPoints = []+                                }+                              "b")))+                 ])+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 310 3 310 50+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 310 3 310 11+                    , SrcSpan "tests/examples/DerivingVia.hs" 310 20 310 21+                    , SrcSpan "tests/examples/DerivingVia.hs" 310 30 310 31+                    , SrcSpan "tests/examples/DerivingVia.hs" 310 45 310 46+                    , SrcSpan "tests/examples/DerivingVia.hs" 310 49 310 50+                    ]+                }+              (Just+                 (DerivNewtype+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 310 12 310 19+                      , srcInfoPoints = []+                      }))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 310 21 310 30+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 310 21 310 30+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 310 21 310 30+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 310 21 310 30+                             , srcInfoPoints = []+                             }+                           "Bifunctor")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 310 32 310 45+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 310 32 310 45+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 310 32 310 45+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 310 32 310 45+                             , srcInfoPoints = []+                             }+                           "Biapplicative")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 310 47 310 49+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 310 47 310 49+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 310 47 310 49+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 310 47 310 49+                             , srcInfoPoints = []+                             }+                           "Eq")))+              ]+          ]+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 312 1 321 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 312 1 312 9+                , SrcSpan "tests/examples/DerivingVia.hs" 312 67 312 72+                , SrcSpan "tests/examples/DerivingVia.hs" 313 3 313 3+                , SrcSpan "tests/examples/DerivingVia.hs" 314 3 314 3+                , SrcSpan "tests/examples/DerivingVia.hs" 315 3 315 3+                , SrcSpan "tests/examples/DerivingVia.hs" 316 3 316 3+                , SrcSpan "tests/examples/DerivingVia.hs" 317 3 317 3+                , SrcSpan "tests/examples/DerivingVia.hs" 318 3 318 3+                , SrcSpan "tests/examples/DerivingVia.hs" 319 3 319 3+                , SrcSpan "tests/examples/DerivingVia.hs" 321 1 321 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 312 10 312 66+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxTuple+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 312 10 312 44+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 312 10 312 11+                         , SrcSpan "tests/examples/DerivingVia.hs" 312 26 312 27+                         , SrcSpan "tests/examples/DerivingVia.hs" 312 33 312 34+                         , SrcSpan "tests/examples/DerivingVia.hs" 312 40 312 41+                         , SrcSpan "tests/examples/DerivingVia.hs" 312 42 312 44+                         ]+                     }+                   [ TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 312 11 312 26+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 312 11 312 26+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 312 11 312 26+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 312 11 312 24+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 312 11 312 24+                                     , srcInfoPoints = []+                                     }+                                   "Biapplicative")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 312 25 312 26+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 312 25 312 26+                                  , srcInfoPoints = []+                                  }+                                "p")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 312 28 312 33+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 312 28 312 33+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 312 28 312 33+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 312 28 312 31+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 312 28 312 31+                                     , srcInfoPoints = []+                                     }+                                   "Num")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 312 32 312 33+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 312 32 312 33+                                  , srcInfoPoints = []+                                  }+                                "a")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 312 35 312 40+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 312 35 312 40+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 312 35 312 40+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 312 35 312 38+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 312 35 312 38+                                     , srcInfoPoints = []+                                     }+                                   "Num")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 312 39 312 40+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 312 39 312 40+                                  , srcInfoPoints = []+                                  }+                                "b")))+                   ]))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 312 45 312 66+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 312 45 312 48+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 312 45 312 48+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 312 45 312 48+                           , srcInfoPoints = []+                           }+                         "Num")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 312 49 312 66+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 312 49 312 50+                         , SrcSpan "tests/examples/DerivingVia.hs" 312 65 312 66+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 312 50 312 65+                        , srcInfoPoints = []+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 312 50 312 63+                           , srcInfoPoints = []+                           }+                         (TyApp+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 312 50 312 61+                              , srcInfoPoints = []+                              }+                            (TyCon+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 312 50 312 59+                                 , srcInfoPoints = []+                                 }+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 312 50 312 59+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia.hs" 312 50 312 59+                                       , srcInfoPoints = []+                                       }+                                     "WrapBiapp")))+                            (TyVar+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 312 60 312 61+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 312 60 312 61+                                    , srcInfoPoints = []+                                    }+                                  "p")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 312 62 312 63+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 312 62 312 63+                                 , srcInfoPoints = []+                                 }+                               "a")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 312 64 312 65+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 312 64 312 65+                              , srcInfoPoints = []+                              }+                            "b"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 313 3 313 25+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 313 3 313 25+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 313 3 313 6+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 313 3 313 4+                             , SrcSpan "tests/examples/DerivingVia.hs" 313 4 313 5+                             , SrcSpan "tests/examples/DerivingVia.hs" 313 5 313 6+                             ]+                         }+                       (Symbol+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 313 4 313 5+                            , srcInfoPoints = []+                            }+                          "+"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 313 7 313 25+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 313 7 313 8 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 313 9 313 25+                            , srcInfoPoints = []+                            }+                          (App+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 313 9 313 21+                               , srcInfoPoints = []+                               }+                             (Var+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 313 9 313 17+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 313 9 313 17+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 313 9 313 17+                                        , srcInfoPoints = []+                                        }+                                      "biliftA2")))+                             (Var+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 313 18 313 21+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 313 18 313 19+                                      , SrcSpan "tests/examples/DerivingVia.hs" 313 19 313 20+                                      , SrcSpan "tests/examples/DerivingVia.hs" 313 20 313 21+                                      ]+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 313 18 313 21+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/DerivingVia.hs" 313 18 313 19+                                         , SrcSpan "tests/examples/DerivingVia.hs" 313 19 313 20+                                         , SrcSpan "tests/examples/DerivingVia.hs" 313 20 313 21+                                         ]+                                     }+                                   (Symbol+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 313 19 313 20+                                        , srcInfoPoints = []+                                        }+                                      "+"))))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 313 22 313 25+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 313 22 313 23+                                   , SrcSpan "tests/examples/DerivingVia.hs" 313 23 313 24+                                   , SrcSpan "tests/examples/DerivingVia.hs" 313 24 313 25+                                   ]+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 313 22 313 25+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 313 22 313 23+                                      , SrcSpan "tests/examples/DerivingVia.hs" 313 23 313 24+                                      , SrcSpan "tests/examples/DerivingVia.hs" 313 24 313 25+                                      ]+                                  }+                                (Symbol+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 313 23 313 24+                                     , srcInfoPoints = []+                                     }+                                   "+")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 314 3 314 25+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 314 3 314 25+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 314 3 314 6+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 314 3 314 4+                             , SrcSpan "tests/examples/DerivingVia.hs" 314 4 314 5+                             , SrcSpan "tests/examples/DerivingVia.hs" 314 5 314 6+                             ]+                         }+                       (Symbol+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 314 4 314 5+                            , srcInfoPoints = []+                            }+                          "-"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 314 7 314 25+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 314 7 314 8 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 314 9 314 25+                            , srcInfoPoints = []+                            }+                          (App+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 314 9 314 21+                               , srcInfoPoints = []+                               }+                             (Var+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 314 9 314 17+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 314 9 314 17+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 314 9 314 17+                                        , srcInfoPoints = []+                                        }+                                      "biliftA2")))+                             (Var+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 314 18 314 21+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 314 18 314 19+                                      , SrcSpan "tests/examples/DerivingVia.hs" 314 19 314 20+                                      , SrcSpan "tests/examples/DerivingVia.hs" 314 20 314 21+                                      ]+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 314 18 314 21+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/DerivingVia.hs" 314 18 314 19+                                         , SrcSpan "tests/examples/DerivingVia.hs" 314 19 314 20+                                         , SrcSpan "tests/examples/DerivingVia.hs" 314 20 314 21+                                         ]+                                     }+                                   (Symbol+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 314 19 314 20+                                        , srcInfoPoints = []+                                        }+                                      "*"))))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 314 22 314 25+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 314 22 314 23+                                   , SrcSpan "tests/examples/DerivingVia.hs" 314 23 314 24+                                   , SrcSpan "tests/examples/DerivingVia.hs" 314 24 314 25+                                   ]+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 314 22 314 25+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 314 22 314 23+                                      , SrcSpan "tests/examples/DerivingVia.hs" 314 23 314 24+                                      , SrcSpan "tests/examples/DerivingVia.hs" 314 24 314 25+                                      ]+                                  }+                                (Symbol+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 314 23 314 24+                                     , srcInfoPoints = []+                                     }+                                   "*")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 315 3 315 25+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 315 3 315 25+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 315 3 315 6+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 315 3 315 4+                             , SrcSpan "tests/examples/DerivingVia.hs" 315 4 315 5+                             , SrcSpan "tests/examples/DerivingVia.hs" 315 5 315 6+                             ]+                         }+                       (Symbol+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 315 4 315 5+                            , srcInfoPoints = []+                            }+                          "*"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 315 7 315 25+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 315 7 315 8 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 315 9 315 25+                            , srcInfoPoints = []+                            }+                          (App+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 315 9 315 21+                               , srcInfoPoints = []+                               }+                             (Var+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 315 9 315 17+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 315 9 315 17+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 315 9 315 17+                                        , srcInfoPoints = []+                                        }+                                      "biliftA2")))+                             (Var+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 315 18 315 21+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 315 18 315 19+                                      , SrcSpan "tests/examples/DerivingVia.hs" 315 19 315 20+                                      , SrcSpan "tests/examples/DerivingVia.hs" 315 20 315 21+                                      ]+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 315 18 315 21+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/DerivingVia.hs" 315 18 315 19+                                         , SrcSpan "tests/examples/DerivingVia.hs" 315 19 315 20+                                         , SrcSpan "tests/examples/DerivingVia.hs" 315 20 315 21+                                         ]+                                     }+                                   (Symbol+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 315 19 315 20+                                        , srcInfoPoints = []+                                        }+                                      "*"))))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 315 22 315 25+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 315 22 315 23+                                   , SrcSpan "tests/examples/DerivingVia.hs" 315 23 315 24+                                   , SrcSpan "tests/examples/DerivingVia.hs" 315 24 315 25+                                   ]+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 315 22 315 25+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 315 22 315 23+                                      , SrcSpan "tests/examples/DerivingVia.hs" 315 23 315 24+                                      , SrcSpan "tests/examples/DerivingVia.hs" 315 24 315 25+                                      ]+                                  }+                                (Symbol+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 315 23 315 24+                                     , srcInfoPoints = []+                                     }+                                   "*")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 316 3 316 31+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 316 3 316 31+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 316 3 316 9+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 316 3 316 9+                            , srcInfoPoints = []+                            }+                          "negate"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 316 10 316 31+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 316 10 316 11 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 316 12 316 31+                            , srcInfoPoints = []+                            }+                          (App+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 316 12 316 24+                               , srcInfoPoints = []+                               }+                             (Var+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 316 12 316 17+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 316 12 316 17+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 316 12 316 17+                                        , srcInfoPoints = []+                                        }+                                      "bimap")))+                             (Var+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 316 18 316 24+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 316 18 316 24+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 316 18 316 24+                                        , srcInfoPoints = []+                                        }+                                      "negate"))))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 316 25 316 31+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 316 25 316 31+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 316 25 316 31+                                     , srcInfoPoints = []+                                     }+                                   "negate")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 317 3 317 22+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 317 3 317 22+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 317 3 317 6+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 317 3 317 6+                            , srcInfoPoints = []+                            }+                          "abs"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 317 7 317 22+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 317 7 317 8 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 317 9 317 22+                            , srcInfoPoints = []+                            }+                          (App+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 317 9 317 18+                               , srcInfoPoints = []+                               }+                             (Var+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 317 9 317 14+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 317 9 317 14+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 317 9 317 14+                                        , srcInfoPoints = []+                                        }+                                      "bimap")))+                             (Var+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 317 15 317 18+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 317 15 317 18+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 317 15 317 18+                                        , srcInfoPoints = []+                                        }+                                      "abs"))))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 317 19 317 22+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 317 19 317 22+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 317 19 317 22+                                     , srcInfoPoints = []+                                     }+                                   "abs")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 318 3 318 31+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 318 3 318 31+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 318 3 318 9+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 318 3 318 9+                            , srcInfoPoints = []+                            }+                          "signum"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 318 10 318 31+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 318 10 318 11 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 318 12 318 31+                            , srcInfoPoints = []+                            }+                          (App+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 318 12 318 24+                               , srcInfoPoints = []+                               }+                             (Var+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 318 12 318 17+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 318 12 318 17+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 318 12 318 17+                                        , srcInfoPoints = []+                                        }+                                      "bimap")))+                             (Var+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 318 18 318 24+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 318 18 318 24+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 318 18 318 24+                                        , srcInfoPoints = []+                                        }+                                      "signum"))))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 318 25 318 31+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 318 25 318 31+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 318 25 318 31+                                     , srcInfoPoints = []+                                     }+                                   "signum")))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 319 3 319 55+                   , srcInfoPoints = []+                   }+                 (FunBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 319 3 319 55+                      , srcInfoPoints = []+                      }+                    [ Match+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 319 3 319 55+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 319 3 319 14+                             , srcInfoPoints = []+                             }+                           "fromInteger")+                        [ PVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 319 15 319 16+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 319 15 319 16+                                 , srcInfoPoints = []+                                 }+                               "n")+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 319 17 319 55+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/DerivingVia.hs" 319 17 319 18 ]+                             }+                           (InfixApp+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 319 19 319 55+                                , srcInfoPoints = []+                                }+                              (App+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 319 19 319 32+                                   , srcInfoPoints = []+                                   }+                                 (Var+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 319 19 319 30+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 319 19 319 30+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 319 19 319 30+                                            , srcInfoPoints = []+                                            }+                                          "fromInteger")))+                                 (Var+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 319 31 319 32+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 319 31 319 32+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 319 31 319 32+                                            , srcInfoPoints = []+                                            }+                                          "n"))))+                              (QVarOp+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 319 33 319 41+                                   , srcInfoPoints =+                                       [ SrcSpan "tests/examples/DerivingVia.hs" 319 33 319 34+                                       , SrcSpan "tests/examples/DerivingVia.hs" 319 34 319 40+                                       , SrcSpan "tests/examples/DerivingVia.hs" 319 40 319 41+                                       ]+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 319 33 319 41+                                      , srcInfoPoints =+                                          [ SrcSpan "tests/examples/DerivingVia.hs" 319 33 319 34+                                          , SrcSpan "tests/examples/DerivingVia.hs" 319 34 319 40+                                          , SrcSpan "tests/examples/DerivingVia.hs" 319 40 319 41+                                          ]+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 319 34 319 40+                                         , srcInfoPoints = []+                                         }+                                       "bipure")))+                              (App+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 319 42 319 55+                                   , srcInfoPoints = []+                                   }+                                 (Var+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 319 42 319 53+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 319 42 319 53+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 319 42 319 53+                                            , srcInfoPoints = []+                                            }+                                          "fromInteger")))+                                 (Var+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 319 54 319 55+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 319 54 319 55+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 319 54 319 55+                                            , srcInfoPoints = []+                                            }+                                          "n"))))))+                        Nothing+                    ])+             ])+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 321 1 322 18+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 321 14 321 15 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 321 1 321 8+               , srcInfoPoints = []+               })+          Nothing+          (DHead+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 321 9 321 13+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 321 9 321 13+                  , srcInfoPoints = []+                  }+                "INT2"))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 321 16 321 31+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 321 16 321 31+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 321 16 321 20+                      , srcInfoPoints = []+                      }+                    "INT2")+                 [ TyTuple+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 321 21 321 31+                       , srcInfoPoints =+                           [ SrcSpan "tests/examples/DerivingVia.hs" 321 21 321 22+                           , SrcSpan "tests/examples/DerivingVia.hs" 321 25 321 26+                           , SrcSpan "tests/examples/DerivingVia.hs" 321 30 321 31+                           ]+                       }+                     Boxed+                     [ TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 321 22 321 25+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 321 22 321 25+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 321 22 321 25+                                 , srcInfoPoints = []+                                 }+                               "Int"))+                     , TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 321 27 321 30+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 321 27 321 30+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 321 27 321 30+                                 , srcInfoPoints = []+                                 }+                               "Int"))+                     ]+                 ])+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 322 3 322 18+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 322 3 322 11 ]+                }+              (Just+                 (DerivVia+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 322 19 322 22+                      , srcInfoPoints = []+                      }+                    (TyParen+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 322 23 322 62+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 322 23 322 24+                             , SrcSpan "tests/examples/DerivingVia.hs" 322 61 322 62+                             ]+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 322 24 322 61+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 322 24 322 37+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 322 24 322 37+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 322 24 322 37+                                     , srcInfoPoints = []+                                     }+                                   "WrappedNumEq2")))+                          (TyParen+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 322 38 322 61+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 322 38 322 39+                                   , SrcSpan "tests/examples/DerivingVia.hs" 322 60 322 61+                                   ]+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 322 39 322 60+                                  , srcInfoPoints = []+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 322 39 322 56+                                     , srcInfoPoints = []+                                     }+                                   (TyApp+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 322 39 322 52+                                        , srcInfoPoints = []+                                        }+                                      (TyCon+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 322 39 322 48+                                           , srcInfoPoints = []+                                           }+                                         (UnQual+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 322 39 322 48+                                              , srcInfoPoints = []+                                              }+                                            (Ident+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 322 39 322 48+                                                 , srcInfoPoints = []+                                                 }+                                               "WrapBiapp")))+                                      (TyCon+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 322 49 322 52+                                           , srcInfoPoints =+                                               [ SrcSpan+                                                   "tests/examples/DerivingVia.hs" 322 49 322 50+                                               , SrcSpan+                                                   "tests/examples/DerivingVia.hs" 322 50 322 51+                                               , SrcSpan+                                                   "tests/examples/DerivingVia.hs" 322 51 322 52+                                               ]+                                           }+                                         (Special+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 322 49 322 52+                                              , srcInfoPoints =+                                                  [ SrcSpan+                                                      "tests/examples/DerivingVia.hs" 322 49 322 50+                                                  , SrcSpan+                                                      "tests/examples/DerivingVia.hs" 322 50 322 51+                                                  , SrcSpan+                                                      "tests/examples/DerivingVia.hs" 322 51 322 52+                                                  ]+                                              }+                                            (TupleCon+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 322 49 322 52+                                                 , srcInfoPoints =+                                                     [ SrcSpan+                                                         "tests/examples/DerivingVia.hs"+                                                         322+                                                         49+                                                         322+                                                         50+                                                     , SrcSpan+                                                         "tests/examples/DerivingVia.hs"+                                                         322+                                                         50+                                                         322+                                                         51+                                                     , SrcSpan+                                                         "tests/examples/DerivingVia.hs"+                                                         322+                                                         51+                                                         322+                                                         52+                                                     ]+                                                 }+                                               Boxed+                                               2))))+                                   (TyCon+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 322 53 322 56+                                        , srcInfoPoints = []+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 322 53 322 56+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 322 53 322 56+                                              , srcInfoPoints = []+                                              }+                                            "Int"))))+                                (TyCon+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 322 57 322 60+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 322 57 322 60+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 322 57 322 60+                                           , srcInfoPoints = []+                                           }+                                         "Int")))))))))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 322 12 322 18+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 322 12 322 18+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 322 12 322 18+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 322 12 322 18+                             , srcInfoPoints = []+                             }+                           "IsZero")))+              ]+          ]+      , ClassDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 327 1 328 20+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 327 1 327 6+                , SrcSpan "tests/examples/DerivingVia.hs" 327 32 327 37+                , SrcSpan "tests/examples/DerivingVia.hs" 328 3 328 3+                , SrcSpan "tests/examples/DerivingVia.hs" 330 1 330 0+                ]+            }+          (Just+             (CxSingle+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 327 7 327 18+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/DerivingVia.hs" 327 16 327 18 ]+                  }+                (TypeA+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 327 7 327 18+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 327 16 327 18 ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 327 7 327 18+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DerivingVia.hs" 327 16 327 18 ]+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 327 7 327 18+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingVia.hs" 327 16 327 18 ]+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 327 7 327 13+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 327 7 327 13+                                 , srcInfoPoints = []+                                 }+                               "Monoid")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 327 14 327 15+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 327 14 327 15+                              , srcInfoPoints = []+                              }+                            "a"))))))+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 327 19 327 31+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 327 19 327 29+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 327 19 327 29+                     , srcInfoPoints = []+                     }+                   "MonoidNull"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 327 30 327 31+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 327 30 327 31+                     , srcInfoPoints = []+                     }+                   "a")))+          []+          (Just+             [ ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 328 3 328 20+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 328 8 328 10 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 328 3 328 20+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 328 8 328 10 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 328 3 328 7+                          , srcInfoPoints = []+                          }+                        "null"+                    ]+                    (TyFun+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 328 11 328 20+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 328 13 328 15 ]+                         }+                       (TyVar+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 328 11 328 12+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 328 11 328 12+                               , srcInfoPoints = []+                               }+                             "a"))+                       (TyCon+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 328 16 328 20+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 328 16 328 20+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 328 16 328 20+                                  , srcInfoPoints = []+                                  }+                                "Bool")))))+             ])+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 330 1 330 62+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 330 22 330 23 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 330 1 330 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 330 9 330 21+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 330 9 330 19+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 330 9 330 19+                     , srcInfoPoints = []+                     }+                   "WrpMonNull"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 330 20 330 21+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 330 20 330 21+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 330 24 330 29+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 330 24 330 29+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 330 24 330 27+                      , srcInfoPoints = []+                      }+                    "WRM")+                 [ TyVar+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 330 28 330 29+                       , srcInfoPoints = []+                       }+                     (Ident+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 330 28 330 29+                          , srcInfoPoints = []+                          }+                        "a")+                 ])+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 330 30 330 62+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 330 30 330 38+                    , SrcSpan "tests/examples/DerivingVia.hs" 330 39 330 40+                    , SrcSpan "tests/examples/DerivingVia.hs" 330 42 330 43+                    , SrcSpan "tests/examples/DerivingVia.hs" 330 53 330 54+                    , SrcSpan "tests/examples/DerivingVia.hs" 330 61 330 62+                    ]+                }+              Nothing+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 330 40 330 42+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 330 40 330 42+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 330 40 330 42+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 330 40 330 42+                             , srcInfoPoints = []+                             }+                           "Eq")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 330 44 330 53+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 330 44 330 53+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 330 44 330 53+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 330 44 330 53+                             , srcInfoPoints = []+                             }+                           "Semigroup")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 330 55 330 61+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 330 55 330 61+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 330 55 330 61+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 330 55 330 61+                             , srcInfoPoints = []+                             }+                           "Monoid")))+              ]+          ]+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 332 1 336 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 332 1 332 9+                , SrcSpan "tests/examples/DerivingVia.hs" 332 56 332 61+                , SrcSpan "tests/examples/DerivingVia.hs" 333 3 333 3+                , SrcSpan "tests/examples/DerivingVia.hs" 334 3 334 3+                , SrcSpan "tests/examples/DerivingVia.hs" 336 1 336 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 332 10 332 55+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxTuple+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 332 10 332 29+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 332 10 332 11+                         , SrcSpan "tests/examples/DerivingVia.hs" 332 15 332 16+                         , SrcSpan "tests/examples/DerivingVia.hs" 332 25 332 26+                         , SrcSpan "tests/examples/DerivingVia.hs" 332 27 332 29+                         ]+                     }+                   [ TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 332 11 332 15+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 332 11 332 15+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 332 11 332 15+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 332 11 332 13+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 332 11 332 13+                                     , srcInfoPoints = []+                                     }+                                   "Eq")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 332 14 332 15+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 332 14 332 15+                                  , srcInfoPoints = []+                                  }+                                "a")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 332 17 332 25+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 332 17 332 25+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 332 17 332 25+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 332 17 332 23+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 332 17 332 23+                                     , srcInfoPoints = []+                                     }+                                   "Monoid")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 332 24 332 25+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 332 24 332 25+                                  , srcInfoPoints = []+                                  }+                                "a")))+                   ]))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 332 30 332 55+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 332 30 332 40+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 332 30 332 40+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 332 30 332 40+                           , srcInfoPoints = []+                           }+                         "MonoidNull")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 332 41 332 55+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 332 41 332 42+                         , SrcSpan "tests/examples/DerivingVia.hs" 332 54 332 55+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 332 42 332 54+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 332 42 332 52+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 332 42 332 52+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 332 42 332 52+                                 , srcInfoPoints = []+                                 }+                               "WrpMonNull")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 332 53 332 54+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 332 53 332 54+                              , srcInfoPoints = []+                              }+                            "a"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 333 3 333 31+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 333 8 333 10 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 333 3 333 31+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 333 8 333 10 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 333 3 333 7+                          , srcInfoPoints = []+                          }+                        "null"+                    ]+                    (TyFun+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 333 11 333 31+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 333 24 333 26 ]+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 333 11 333 23+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 333 11 333 21+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 333 11 333 21+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 333 11 333 21+                                     , srcInfoPoints = []+                                     }+                                   "WrpMonNull")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 333 22 333 23+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 333 22 333 23+                                  , srcInfoPoints = []+                                  }+                                "a")))+                       (TyCon+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 333 27 333 31+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 333 27 333 31+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 333 27 333 31+                                  , srcInfoPoints = []+                                  }+                                "Bool")))))+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 334 3 334 21+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 334 3 334 21+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 334 3 334 7+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 334 3 334 7+                            , srcInfoPoints = []+                            }+                          "null"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 334 8 334 21+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 334 8 334 9 ]+                         }+                       (RightSection+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 334 10 334 21+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 334 10 334 11+                                , SrcSpan "tests/examples/DerivingVia.hs" 334 20 334 21+                                ]+                            }+                          (QVarOp+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 334 11 334 13+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 334 11 334 13+                                  , srcInfoPoints = []+                                  }+                                (Symbol+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 334 11 334 13+                                     , srcInfoPoints = []+                                     }+                                   "==")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 334 14 334 20+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 334 14 334 20+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 334 14 334 20+                                     , srcInfoPoints = []+                                     }+                                   "mempty")))))+                    Nothing)+             ])+      , DerivDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 336 1 336 54+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 336 1 336 9+                , SrcSpan "tests/examples/DerivingVia.hs" 336 31 336 39+                ]+            }+          (Just+             (DerivVia+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 336 10 336 13+                  , srcInfoPoints = []+                  }+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 336 14 336 30+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 336 14 336 15+                         , SrcSpan "tests/examples/DerivingVia.hs" 336 29 336 30+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 336 15 336 29+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 336 15 336 25+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 336 15 336 25+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 336 15 336 25+                                 , srcInfoPoints = []+                                 }+                               "WrpMonNull")))+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 336 26 336 29+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 336 26 336 29+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 336 26 336 29+                                 , srcInfoPoints = []+                                 }+                               "Any")))))))+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 336 40 336 54+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 336 40 336 54+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 336 40 336 50+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 336 40 336 50+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 336 40 336 50+                           , srcInfoPoints = []+                           }+                         "MonoidNull")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 336 51 336 54+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 336 51 336 54+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 336 51 336 54+                           , srcInfoPoints = []+                           }+                         "Any")))))+      , DerivDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 337 1 337 53+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 337 1 337 9+                , SrcSpan "tests/examples/DerivingVia.hs" 337 31 337 39+                ]+            }+          (Just+             (DerivVia+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 337 10 337 13+                  , srcInfoPoints = []+                  }+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 337 14 337 16+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 337 14 337 15+                         , SrcSpan "tests/examples/DerivingVia.hs" 337 15 337 16+                         ]+                     }+                   (Special+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 337 14 337 16+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DerivingVia.hs" 337 14 337 15+                            , SrcSpan "tests/examples/DerivingVia.hs" 337 15 337 16+                            ]+                        }+                      (UnitCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 337 14 337 16+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingVia.hs" 337 14 337 15+                               , SrcSpan "tests/examples/DerivingVia.hs" 337 15 337 16+                               ]+                           })))))+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 337 40 337 53+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 337 40 337 53+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 337 40 337 50+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 337 40 337 50+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 337 40 337 50+                           , srcInfoPoints = []+                           }+                         "MonoidNull")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 337 51 337 53+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 337 51 337 52+                         , SrcSpan "tests/examples/DerivingVia.hs" 337 52 337 53+                         ]+                     }+                   (Special+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 337 51 337 53+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DerivingVia.hs" 337 51 337 52+                            , SrcSpan "tests/examples/DerivingVia.hs" 337 52 337 53+                            ]+                        }+                      (UnitCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 337 51 337 53+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingVia.hs" 337 51 337 52+                               , SrcSpan "tests/examples/DerivingVia.hs" 337 52 337 53+                               ]+                           })))))+      , DerivDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 338 1 338 59+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 338 1 338 9+                , SrcSpan "tests/examples/DerivingVia.hs" 338 31 338 39+                ]+            }+          (Just+             (DerivVia+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 338 10 338 13+                  , srcInfoPoints = []+                  }+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 338 14 338 22+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 338 14 338 22+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 338 14 338 22+                           , srcInfoPoints = []+                           }+                         "Ordering")))))+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 338 40 338 59+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 338 40 338 59+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 338 40 338 50+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 338 40 338 50+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 338 40 338 50+                           , srcInfoPoints = []+                           }+                         "MonoidNull")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 338 51 338 59+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 338 51 338 59+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 338 51 338 59+                           , srcInfoPoints = []+                           }+                         "Ordering")))))+      , ClassDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 345 1 348 26+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 345 1 345 6+                , SrcSpan "tests/examples/DerivingVia.hs" 345 17 345 22+                , SrcSpan "tests/examples/DerivingVia.hs" 346 3 346 3+                , SrcSpan "tests/examples/DerivingVia.hs" 347 3 347 3+                , SrcSpan "tests/examples/DerivingVia.hs" 348 3 348 3+                , SrcSpan "tests/examples/DerivingVia.hs" 350 1 350 0+                ]+            }+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 345 7 345 16+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 345 7 345 14+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 345 7 345 14+                     , srcInfoPoints = []+                     }+                   "Lattice"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 345 15 345 16+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 345 15 345 16+                     , srcInfoPoints = []+                     }+                   "a")))+          []+          (Just+             [ ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 346 3 346 23+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 346 9 346 11 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 346 3 346 23+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 346 9 346 11 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 346 3 346 6+                          , srcInfoPoints = []+                          }+                        "sup"+                    ]+                    (TyFun+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 346 12 346 23+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 346 14 346 16 ]+                         }+                       (TyVar+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 346 12 346 13+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 346 12 346 13+                               , srcInfoPoints = []+                               }+                             "a"))+                       (TyFun+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 346 17 346 23+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 346 19 346 21 ]+                            }+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 346 17 346 18+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 346 17 346 18+                                  , srcInfoPoints = []+                                  }+                                "a"))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 346 22 346 23+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 346 22 346 23+                                  , srcInfoPoints = []+                                  }+                                "a")))))+             , ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 347 3 347 26+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 347 9 347 11 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 347 3 347 26+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 347 9 347 11 ]+                      }+                    [ Symbol+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 347 3 347 8+                          , srcInfoPoints =+                              [ SrcSpan "tests/examples/DerivingVia.hs" 347 3 347 4+                              , SrcSpan "tests/examples/DerivingVia.hs" 347 4 347 7+                              , SrcSpan "tests/examples/DerivingVia.hs" 347 7 347 8+                              ]+                          }+                        ".>="+                    ]+                    (TyFun+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 347 12 347 26+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 347 14 347 16 ]+                         }+                       (TyVar+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 347 12 347 13+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 347 12 347 13+                               , srcInfoPoints = []+                               }+                             "a"))+                       (TyFun+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 347 17 347 26+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 347 19 347 21 ]+                            }+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 347 17 347 18+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 347 17 347 18+                                  , srcInfoPoints = []+                                  }+                                "a"))+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 347 22 347 26+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 347 22 347 26+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 347 22 347 26+                                     , srcInfoPoints = []+                                     }+                                   "Bool"))))))+             , ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 348 3 348 26+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 348 9 348 11 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 348 3 348 26+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 348 9 348 11 ]+                      }+                    [ Symbol+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 348 3 348 7+                          , srcInfoPoints =+                              [ SrcSpan "tests/examples/DerivingVia.hs" 348 3 348 4+                              , SrcSpan "tests/examples/DerivingVia.hs" 348 4 348 6+                              , SrcSpan "tests/examples/DerivingVia.hs" 348 6 348 7+                              ]+                          }+                        ".>"+                    ]+                    (TyFun+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 348 12 348 26+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 348 14 348 16 ]+                         }+                       (TyVar+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 348 12 348 13+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 348 12 348 13+                               , srcInfoPoints = []+                               }+                             "a"))+                       (TyFun+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 348 17 348 26+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 348 19 348 21 ]+                            }+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 348 17 348 18+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 348 17 348 18+                                  , srcInfoPoints = []+                                  }+                                "a"))+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 348 22 348 26+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 348 22 348 26+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 348 22 348 26+                                     , srcInfoPoints = []+                                     }+                                   "Bool"))))))+             ])+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 350 1 351 29+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 350 19 350 20 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 350 1 350 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 350 9 350 18+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 350 9 350 16+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 350 9 350 16+                     , srcInfoPoints = []+                     }+                   "WrapOrd"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 350 17 350 18+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 350 17 350 18+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 350 21 350 33+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 350 21 350 33+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 350 21 350 31+                      , srcInfoPoints = []+                      }+                    "WrappedOrd")+                 [ TyVar+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 350 32 350 33+                       , srcInfoPoints = []+                       }+                     (Ident+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 350 32 350 33+                          , srcInfoPoints = []+                          }+                        "a")+                 ])+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 351 3 351 29+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 351 3 351 11+                    , SrcSpan "tests/examples/DerivingVia.hs" 351 20 351 21+                    , SrcSpan "tests/examples/DerivingVia.hs" 351 23 351 24+                    , SrcSpan "tests/examples/DerivingVia.hs" 351 28 351 29+                    ]+                }+              (Just+                 (DerivNewtype+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 351 12 351 19+                      , srcInfoPoints = []+                      }))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 351 21 351 23+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 351 21 351 23+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 351 21 351 23+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 351 21 351 23+                             , srcInfoPoints = []+                             }+                           "Eq")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 351 25 351 28+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 351 25 351 28+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 351 25 351 28+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 351 25 351 28+                             , srcInfoPoints = []+                             }+                           "Ord")))+              ]+          ]+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 353 1 358 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 353 1 353 9+                , SrcSpan "tests/examples/DerivingVia.hs" 353 39 353 44+                , SrcSpan "tests/examples/DerivingVia.hs" 354 3 354 3+                , SrcSpan "tests/examples/DerivingVia.hs" 355 3 355 3+                , SrcSpan "tests/examples/DerivingVia.hs" 356 3 356 3+                , SrcSpan "tests/examples/DerivingVia.hs" 358 1 358 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 38+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxSingle+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 18+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 353 16 353 18 ]+                     }+                   (TypeA+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 18+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DerivingVia.hs" 353 16 353 18 ]+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 18+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingVia.hs" 353 16 353 18 ]+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 18+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/DerivingVia.hs" 353 16 353 18 ]+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 13+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 13+                                    , srcInfoPoints = []+                                    }+                                  "Ord")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 353 14 353 15+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 353 14 353 15+                                 , srcInfoPoints = []+                                 }+                               "a"))))))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 353 19 353 38+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 353 19 353 26+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 353 19 353 26+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 353 19 353 26+                           , srcInfoPoints = []+                           }+                         "Lattice")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 353 27 353 38+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 353 27 353 28+                         , SrcSpan "tests/examples/DerivingVia.hs" 353 37 353 38+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 353 28 353 37+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 353 28 353 35+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 353 28 353 35+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 353 28 353 35+                                 , srcInfoPoints = []+                                 }+                               "WrapOrd")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 353 36 353 37+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 353 36 353 37+                              , srcInfoPoints = []+                              }+                            "a"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 354 3 354 14+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 354 3 354 14+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 354 3 354 6+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 354 3 354 6+                            , srcInfoPoints = []+                            }+                          "sup"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 354 9 354 14+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 354 9 354 10 ]+                         }+                       (Var+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 354 11 354 14+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 354 11 354 14+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 354 11 354 14+                                  , srcInfoPoints = []+                                  }+                                "max"))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 355 3 355 15+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 355 3 355 15+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 355 3 355 8+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 355 3 355 4+                             , SrcSpan "tests/examples/DerivingVia.hs" 355 4 355 7+                             , SrcSpan "tests/examples/DerivingVia.hs" 355 7 355 8+                             ]+                         }+                       (Symbol+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 355 4 355 7+                            , srcInfoPoints = []+                            }+                          ".>="))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 355 9 355 15+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 355 9 355 10 ]+                         }+                       (Var+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 355 11 355 15+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 355 11 355 12+                                , SrcSpan "tests/examples/DerivingVia.hs" 355 12 355 14+                                , SrcSpan "tests/examples/DerivingVia.hs" 355 14 355 15+                                ]+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 355 11 355 15+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 355 11 355 12+                                   , SrcSpan "tests/examples/DerivingVia.hs" 355 12 355 14+                                   , SrcSpan "tests/examples/DerivingVia.hs" 355 14 355 15+                                   ]+                               }+                             (Symbol+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 355 12 355 14+                                  , srcInfoPoints = []+                                  }+                                ">="))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 356 3 356 14+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 356 3 356 14+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 356 3 356 7+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 356 3 356 4+                             , SrcSpan "tests/examples/DerivingVia.hs" 356 4 356 6+                             , SrcSpan "tests/examples/DerivingVia.hs" 356 6 356 7+                             ]+                         }+                       (Symbol+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 356 4 356 6+                            , srcInfoPoints = []+                            }+                          ".>"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 356 9 356 14+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 356 9 356 10 ]+                         }+                       (Var+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 356 11 356 14+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 356 11 356 12+                                , SrcSpan "tests/examples/DerivingVia.hs" 356 12 356 13+                                , SrcSpan "tests/examples/DerivingVia.hs" 356 13 356 14+                                ]+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 356 11 356 14+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 356 11 356 12+                                   , SrcSpan "tests/examples/DerivingVia.hs" 356 12 356 13+                                   , SrcSpan "tests/examples/DerivingVia.hs" 356 13 356 14+                                   ]+                               }+                             (Symbol+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 356 12 356 13+                                  , srcInfoPoints = []+                                  }+                                ">"))))+                    Nothing)+             ])+      , DerivDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 358 1 358 59+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 358 1 358 9+                , SrcSpan "tests/examples/DerivingVia.hs" 358 21 358 29+                ]+            }+          (Just+             (DerivVia+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 358 10 358 13+                  , srcInfoPoints = []+                  }+                (TyList+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 358 14 358 17+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 358 14 358 15+                         , SrcSpan "tests/examples/DerivingVia.hs" 358 16 358 17+                         ]+                     }+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 358 15 358 16+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 358 15 358 16+                           , srcInfoPoints = []+                           }+                         "a")))))+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 59+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxSingle+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 47+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 358 45 358 47 ]+                     }+                   (TypeA+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 47+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DerivingVia.hs" 358 45 358 47 ]+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 47+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingVia.hs" 358 45 358 47 ]+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 47+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/DerivingVia.hs" 358 45 358 47 ]+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 33+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 33+                                    , srcInfoPoints = []+                                    }+                                  "Ord")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 358 34 358 35+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 358 34 358 35+                                 , srcInfoPoints = []+                                 }+                               "a"))))))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 358 48 358 59+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 358 48 358 55+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 358 48 358 55+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 358 48 358 55+                           , srcInfoPoints = []+                           }+                         "Lattice")))+                (TyList+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 358 56 358 59+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 358 56 358 57+                         , SrcSpan "tests/examples/DerivingVia.hs" 358 58 358 59+                         ]+                     }+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 358 57 358 58+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 358 57 358 58+                           , srcInfoPoints = []+                           }+                         "a")))))+      , DerivDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 359 1 359 62+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 359 1 359 9+                , SrcSpan "tests/examples/DerivingVia.hs" 359 21 359 29+                ]+            }+          (Just+             (DerivVia+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 359 10 359 13+                  , srcInfoPoints = []+                  }+                (TyTuple+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 359 14 359 20+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 359 14 359 15+                         , SrcSpan "tests/examples/DerivingVia.hs" 359 16 359 17+                         , SrcSpan "tests/examples/DerivingVia.hs" 359 19 359 20+                         ]+                     }+                   Boxed+                   [ TyVar+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 359 15 359 16+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 359 15 359 16+                            , srcInfoPoints = []+                            }+                          "a")+                   , TyVar+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 359 18 359 19+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 359 18 359 19+                            , srcInfoPoints = []+                            }+                          "b")+                   ])))+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 359 30 359 62+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxTuple+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 359 30 359 47+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 359 30 359 31+                         , SrcSpan "tests/examples/DerivingVia.hs" 359 36 359 37+                         , SrcSpan "tests/examples/DerivingVia.hs" 359 43 359 44+                         , SrcSpan "tests/examples/DerivingVia.hs" 359 45 359 47+                         ]+                     }+                   [ TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 359 31 359 36+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 359 31 359 36+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 359 31 359 36+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 359 31 359 34+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 359 31 359 34+                                     , srcInfoPoints = []+                                     }+                                   "Ord")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 359 35 359 36+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 359 35 359 36+                                  , srcInfoPoints = []+                                  }+                                "a")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 359 38 359 43+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 359 38 359 43+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 359 38 359 43+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 359 38 359 41+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 359 38 359 41+                                     , srcInfoPoints = []+                                     }+                                   "Ord")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 359 42 359 43+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 359 42 359 43+                                  , srcInfoPoints = []+                                  }+                                "b")))+                   ]))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 359 48 359 62+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 359 48 359 55+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 359 48 359 55+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 359 48 359 55+                           , srcInfoPoints = []+                           }+                         "Lattice")))+                (TyTuple+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 359 56 359 62+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 359 56 359 57+                         , SrcSpan "tests/examples/DerivingVia.hs" 359 58 359 59+                         , SrcSpan "tests/examples/DerivingVia.hs" 359 61 359 62+                         ]+                     }+                   Boxed+                   [ TyVar+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 359 57 359 58+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 359 57 359 58+                            , srcInfoPoints = []+                            }+                          "a")+                   , TyVar+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 359 60 359 61+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 359 60 359 61+                            , srcInfoPoints = []+                            }+                          "b")+                   ])))+      , DerivDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 361 1 361 40+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 361 1 361 9+                , SrcSpan "tests/examples/DerivingVia.hs" 361 19 361 27+                ]+            }+          (Just+             (DerivVia+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 361 10 361 13+                  , srcInfoPoints = []+                  }+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 361 14 361 18+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 361 14 361 18+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 361 14 361 18+                           , srcInfoPoints = []+                           }+                         "Bool")))))+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 361 28 361 40+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 361 28 361 40+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 361 28 361 35+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 361 28 361 35+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 361 28 361 35+                           , srcInfoPoints = []+                           }+                         "Lattice")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 361 36 361 40+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 361 36 361 40+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 361 36 361 40+                           , srcInfoPoints = []+                           }+                         "Bool")))))+      , DerivDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 363 1 363 40+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 363 1 363 9+                , SrcSpan "tests/examples/DerivingVia.hs" 363 19 363 27+                ]+            }+          (Just+             (DerivVia+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 363 10 363 13+                  , srcInfoPoints = []+                  }+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 363 14 363 18+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 363 14 363 18+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 363 14 363 18+                           , srcInfoPoints = []+                           }+                         "Char")))))+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 363 28 363 40+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 363 28 363 40+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 363 28 363 35+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 363 28 363 35+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 363 28 363 35+                           , srcInfoPoints = []+                           }+                         "Lattice")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 363 36 363 40+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 363 36 363 40+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 363 36 363 40+                           , srcInfoPoints = []+                           }+                         "Char")))))+      , DerivDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 365 1 365 38+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 365 1 365 9+                , SrcSpan "tests/examples/DerivingVia.hs" 365 18 365 26+                ]+            }+          (Just+             (DerivVia+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 365 10 365 13+                  , srcInfoPoints = []+                  }+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 365 14 365 17+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 365 14 365 17+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 365 14 365 17+                           , srcInfoPoints = []+                           }+                         "Int")))))+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 365 27 365 38+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 365 27 365 38+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 365 27 365 34+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 365 27 365 34+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 365 27 365 34+                           , srcInfoPoints = []+                           }+                         "Lattice")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 365 35 365 38+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 365 35 365 38+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 365 35 365 38+                           , srcInfoPoints = []+                           }+                         "Int")))))+      , DerivDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 367 1 367 46+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 367 1 367 9+                , SrcSpan "tests/examples/DerivingVia.hs" 367 22 367 30+                ]+            }+          (Just+             (DerivVia+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 367 10 367 13+                  , srcInfoPoints = []+                  }+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 367 14 367 21+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 367 14 367 21+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 367 14 367 21+                           , srcInfoPoints = []+                           }+                         "Integer")))))+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 367 31 367 46+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 367 31 367 46+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 367 31 367 38+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 367 31 367 38+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 367 31 367 38+                           , srcInfoPoints = []+                           }+                         "Lattice")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 367 39 367 46+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 367 39 367 46+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 367 39 367 46+                           , srcInfoPoints = []+                           }+                         "Integer")))))+      , DerivDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 369 1 369 42+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 369 1 369 9+                , SrcSpan "tests/examples/DerivingVia.hs" 369 20 369 28+                ]+            }+          (Just+             (DerivVia+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 369 10 369 13+                  , srcInfoPoints = []+                  }+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 369 14 369 19+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 369 14 369 19+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 369 14 369 19+                           , srcInfoPoints = []+                           }+                         "Float")))))+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 369 29 369 42+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 369 29 369 42+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 369 29 369 36+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 369 29 369 36+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 369 29 369 36+                           , srcInfoPoints = []+                           }+                         "Lattice")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 369 37 369 42+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 369 37 369 42+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 369 37 369 42+                           , srcInfoPoints = []+                           }+                         "Float")))))+      , DerivDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 371 1 371 44+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 371 1 371 9+                , SrcSpan "tests/examples/DerivingVia.hs" 371 21 371 29+                ]+            }+          (Just+             (DerivVia+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 371 10 371 13+                  , srcInfoPoints = []+                  }+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 371 14 371 20+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 371 14 371 20+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 371 14 371 20+                           , srcInfoPoints = []+                           }+                         "Double")))))+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 371 30 371 44+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 371 30 371 44+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 371 30 371 37+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 371 30 371 37+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 371 30 371 37+                           , srcInfoPoints = []+                           }+                         "Lattice")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 371 38 371 44+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 371 38 371 44+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 371 38 371 44+                           , srcInfoPoints = []+                           }+                         "Double")))))+      , DerivDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 373 1 373 48+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 373 1 373 9+                , SrcSpan "tests/examples/DerivingVia.hs" 373 23 373 31+                ]+            }+          (Just+             (DerivVia+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 373 10 373 13+                  , srcInfoPoints = []+                  }+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 373 14 373 22+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 373 14 373 22+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 373 14 373 22+                           , srcInfoPoints = []+                           }+                         "Rational")))))+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 373 32 373 48+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 373 32 373 48+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 373 32 373 39+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 373 32 373 39+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 373 32 373 39+                           , srcInfoPoints = []+                           }+                         "Lattice")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 373 40 373 48+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 373 40 373 48+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 373 40 373 48+                           , srcInfoPoints = []+                           }+                         "Rational")))))+      , ClassDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 380 1 386 47+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 380 1 380 6+                , SrcSpan "tests/examples/DerivingVia.hs" 380 31 380 36+                , SrcSpan "tests/examples/DerivingVia.hs" 381 3 381 3+                , SrcSpan "tests/examples/DerivingVia.hs" 382 3 382 3+                , SrcSpan "tests/examples/DerivingVia.hs" 383 3 383 3+                , SrcSpan "tests/examples/DerivingVia.hs" 384 3 384 3+                , SrcSpan "tests/examples/DerivingVia.hs" 385 3 385 3+                , SrcSpan "tests/examples/DerivingVia.hs" 386 3 386 3+                , SrcSpan "tests/examples/DerivingVia.hs" 388 1 388 0+                ]+            }+          (Just+             (CxSingle+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 380 7 380 19+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/DerivingVia.hs" 380 17 380 19 ]+                  }+                (TypeA+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 380 7 380 19+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 380 17 380 19 ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 380 7 380 19+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DerivingVia.hs" 380 17 380 19 ]+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 380 7 380 19+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingVia.hs" 380 17 380 19 ]+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 380 7 380 14+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 380 7 380 14+                                 , srcInfoPoints = []+                                 }+                               "Functor")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 380 15 380 16+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 380 15 380 16+                              , srcInfoPoints = []+                              }+                            "f"))))))+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 380 20 380 30+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 380 20 380 28+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 380 20 380 28+                     , srcInfoPoints = []+                     }+                   "Additive"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 380 29 380 30+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 380 29 380 30+                     , srcInfoPoints = []+                     }+                   "f")))+          []+          (Just+             [ ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 381 3 381 23+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 381 8 381 10 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 381 3 381 23+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 381 8 381 10 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 381 3 381 7+                          , srcInfoPoints = []+                          }+                        "zero"+                    ]+                    (TyForall+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 381 11 381 23+                         , srcInfoPoints = []+                         }+                       Nothing+                       (Just+                          (CxSingle+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 381 11 381 19+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 381 17 381 19 ]+                               }+                             (TypeA+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 381 11 381 19+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 381 17 381 19 ]+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 381 11 381 19+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/DerivingVia.hs" 381 17 381 19 ]+                                     }+                                   (TyCon+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 381 11 381 19+                                        , srcInfoPoints =+                                            [ SrcSpan "tests/examples/DerivingVia.hs" 381 17 381 19+                                            ]+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 381 11 381 14+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 381 11 381 14+                                              , srcInfoPoints = []+                                              }+                                            "Num")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 381 15 381 16+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 381 15 381 16+                                           , srcInfoPoints = []+                                           }+                                         "a"))))))+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 381 20 381 23+                            , srcInfoPoints = []+                            }+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 381 20 381 21+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 381 20 381 21+                                  , srcInfoPoints = []+                                  }+                                "f"))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 381 22 381 23+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 381 22 381 23+                                  , srcInfoPoints = []+                                  }+                                "a")))))+             , ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 382 3 382 38+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 382 9 382 11 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 382 3 382 38+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 382 9 382 11 ]+                      }+                    [ Symbol+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 382 3 382 8+                          , srcInfoPoints =+                              [ SrcSpan "tests/examples/DerivingVia.hs" 382 3 382 4+                              , SrcSpan "tests/examples/DerivingVia.hs" 382 4 382 7+                              , SrcSpan "tests/examples/DerivingVia.hs" 382 7 382 8+                              ]+                          }+                        "^+^"+                    ]+                    (TyForall+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 382 12 382 38+                         , srcInfoPoints = []+                         }+                       Nothing+                       (Just+                          (CxSingle+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 382 12 382 20+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 382 18 382 20 ]+                               }+                             (TypeA+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 382 12 382 20+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 382 18 382 20 ]+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 382 12 382 20+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/DerivingVia.hs" 382 18 382 20 ]+                                     }+                                   (TyCon+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 382 12 382 20+                                        , srcInfoPoints =+                                            [ SrcSpan "tests/examples/DerivingVia.hs" 382 18 382 20+                                            ]+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 382 12 382 15+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 382 12 382 15+                                              , srcInfoPoints = []+                                              }+                                            "Num")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 382 16 382 17+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 382 16 382 17+                                           , srcInfoPoints = []+                                           }+                                         "a"))))))+                       (TyFun+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 382 21 382 38+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 382 25 382 27 ]+                            }+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 382 21 382 24+                               , srcInfoPoints = []+                               }+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 382 21 382 22+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 382 21 382 22+                                     , srcInfoPoints = []+                                     }+                                   "f"))+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 382 23 382 24+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 382 23 382 24+                                     , srcInfoPoints = []+                                     }+                                   "a")))+                          (TyFun+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 382 28 382 38+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 382 32 382 34 ]+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 382 28 382 31+                                  , srcInfoPoints = []+                                  }+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 382 28 382 29+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 382 28 382 29+                                        , srcInfoPoints = []+                                        }+                                      "f"))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 382 30 382 31+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 382 30 382 31+                                        , srcInfoPoints = []+                                        }+                                      "a")))+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 382 35 382 38+                                  , srcInfoPoints = []+                                  }+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 382 35 382 36+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 382 35 382 36+                                        , srcInfoPoints = []+                                        }+                                      "f"))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 382 37 382 38+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 382 37 382 38+                                        , srcInfoPoints = []+                                        }+                                      "a")))))))+             , ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 383 3 383 21+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 383 3 383 21+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 383 3 383 8+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 383 3 383 4+                             , SrcSpan "tests/examples/DerivingVia.hs" 383 4 383 7+                             , SrcSpan "tests/examples/DerivingVia.hs" 383 7 383 8+                             ]+                         }+                       (Symbol+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 383 4 383 7+                            , srcInfoPoints = []+                            }+                          "^+^"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 383 9 383 21+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 383 9 383 10 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 383 11 383 21+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 383 11 383 17+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 383 11 383 17+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 383 11 383 17+                                     , srcInfoPoints = []+                                     }+                                   "liftU2")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 383 18 383 21+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 383 18 383 19+                                   , SrcSpan "tests/examples/DerivingVia.hs" 383 19 383 20+                                   , SrcSpan "tests/examples/DerivingVia.hs" 383 20 383 21+                                   ]+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 383 18 383 21+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 383 18 383 19+                                      , SrcSpan "tests/examples/DerivingVia.hs" 383 19 383 20+                                      , SrcSpan "tests/examples/DerivingVia.hs" 383 20 383 21+                                      ]+                                  }+                                (Symbol+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 383 19 383 20+                                     , srcInfoPoints = []+                                     }+                                   "+")))))+                    Nothing)+             , ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 384 3 384 38+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 384 9 384 11 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 384 3 384 38+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 384 9 384 11 ]+                      }+                    [ Symbol+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 384 3 384 8+                          , srcInfoPoints =+                              [ SrcSpan "tests/examples/DerivingVia.hs" 384 3 384 4+                              , SrcSpan "tests/examples/DerivingVia.hs" 384 4 384 7+                              , SrcSpan "tests/examples/DerivingVia.hs" 384 7 384 8+                              ]+                          }+                        "^-^"+                    ]+                    (TyForall+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 384 12 384 38+                         , srcInfoPoints = []+                         }+                       Nothing+                       (Just+                          (CxSingle+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 384 12 384 20+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 384 18 384 20 ]+                               }+                             (TypeA+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 384 12 384 20+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 384 18 384 20 ]+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 384 12 384 20+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/DerivingVia.hs" 384 18 384 20 ]+                                     }+                                   (TyCon+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 384 12 384 20+                                        , srcInfoPoints =+                                            [ SrcSpan "tests/examples/DerivingVia.hs" 384 18 384 20+                                            ]+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 384 12 384 15+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 384 12 384 15+                                              , srcInfoPoints = []+                                              }+                                            "Num")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 384 16 384 17+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 384 16 384 17+                                           , srcInfoPoints = []+                                           }+                                         "a"))))))+                       (TyFun+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 384 21 384 38+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 384 25 384 27 ]+                            }+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 384 21 384 24+                               , srcInfoPoints = []+                               }+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 384 21 384 22+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 384 21 384 22+                                     , srcInfoPoints = []+                                     }+                                   "f"))+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 384 23 384 24+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 384 23 384 24+                                     , srcInfoPoints = []+                                     }+                                   "a")))+                          (TyFun+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 384 28 384 38+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 384 32 384 34 ]+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 384 28 384 31+                                  , srcInfoPoints = []+                                  }+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 384 28 384 29+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 384 28 384 29+                                        , srcInfoPoints = []+                                        }+                                      "f"))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 384 30 384 31+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 384 30 384 31+                                        , srcInfoPoints = []+                                        }+                                      "a")))+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 384 35 384 38+                                  , srcInfoPoints = []+                                  }+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 384 35 384 36+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 384 35 384 36+                                        , srcInfoPoints = []+                                        }+                                      "f"))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 384 37 384 38+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 384 37 384 38+                                        , srcInfoPoints = []+                                        }+                                      "a")))))))+             , ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 385 3 385 32+                   , srcInfoPoints = []+                   }+                 (FunBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 385 3 385 32+                      , srcInfoPoints = []+                      }+                    [ InfixMatch+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 385 3 385 32+                          , srcInfoPoints = []+                          }+                        (PVar+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 385 3 385 4+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 385 3 385 4+                                , srcInfoPoints = []+                                }+                              "x"))+                        (Symbol+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 385 5 385 8+                             , srcInfoPoints = []+                             }+                           "^-^")+                        [ PVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 385 9 385 10+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 385 9 385 10+                                 , srcInfoPoints = []+                                 }+                               "y")+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 385 11 385 32+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/DerivingVia.hs" 385 11 385 12 ]+                             }+                           (InfixApp+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 385 13 385 32+                                , srcInfoPoints = []+                                }+                              (Var+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 385 13 385 14+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 385 13 385 14+                                      , srcInfoPoints = []+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 385 13 385 14+                                         , srcInfoPoints = []+                                         }+                                       "x")))+                              (QVarOp+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 385 15 385 18+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 385 15 385 18+                                      , srcInfoPoints = []+                                      }+                                    (Symbol+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 385 15 385 18+                                         , srcInfoPoints = []+                                         }+                                       "^+^")))+                              (App+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 385 19 385 32+                                   , srcInfoPoints = []+                                   }+                                 (App+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 385 19 385 30+                                      , srcInfoPoints = []+                                      }+                                    (Var+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 385 19 385 23+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 385 19 385 23+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 385 19 385 23+                                               , srcInfoPoints = []+                                               }+                                             "fmap")))+                                    (Var+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 385 24 385 30+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 385 24 385 30+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 385 24 385 30+                                               , srcInfoPoints = []+                                               }+                                             "negate"))))+                                 (Var+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 385 31 385 32+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 385 31 385 32+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 385 31 385 32+                                            , srcInfoPoints = []+                                            }+                                          "y"))))))+                        Nothing+                    ])+             , ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 386 3 386 47+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 386 10 386 12 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 386 3 386 47+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 386 10 386 12 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 386 3 386 9+                          , srcInfoPoints = []+                          }+                        "liftU2"+                    ]+                    (TyFun+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 386 13 386 47+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 386 27 386 29 ]+                         }+                       (TyParen+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 386 13 386 26+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 386 13 386 14+                                , SrcSpan "tests/examples/DerivingVia.hs" 386 25 386 26+                                ]+                            }+                          (TyFun+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 386 14 386 25+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 386 16 386 18 ]+                               }+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 386 14 386 15+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 386 14 386 15+                                     , srcInfoPoints = []+                                     }+                                   "a"))+                             (TyFun+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 386 19 386 25+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 386 21 386 23 ]+                                  }+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 386 19 386 20+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 386 19 386 20+                                        , srcInfoPoints = []+                                        }+                                      "a"))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 386 24 386 25+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 386 24 386 25+                                        , srcInfoPoints = []+                                        }+                                      "a")))))+                       (TyFun+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 386 30 386 47+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 386 34 386 36 ]+                            }+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 386 30 386 33+                               , srcInfoPoints = []+                               }+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 386 30 386 31+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 386 30 386 31+                                     , srcInfoPoints = []+                                     }+                                   "f"))+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 386 32 386 33+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 386 32 386 33+                                     , srcInfoPoints = []+                                     }+                                   "a")))+                          (TyFun+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 386 37 386 47+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 386 41 386 43 ]+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 386 37 386 40+                                  , srcInfoPoints = []+                                  }+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 386 37 386 38+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 386 37 386 38+                                        , srcInfoPoints = []+                                        }+                                      "f"))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 386 39 386 40+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 386 39 386 40+                                        , srcInfoPoints = []+                                        }+                                      "a")))+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 386 44 386 47+                                  , srcInfoPoints = []+                                  }+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 386 44 386 45+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 386 44 386 45+                                        , srcInfoPoints = []+                                        }+                                      "f"))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 386 46 386 47+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 386 46 386 47+                                        , srcInfoPoints = []+                                        }+                                      "a")))))))+             ])+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 388 1 395 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 388 1 388 9+                , SrcSpan "tests/examples/DerivingVia.hs" 388 22 388 27+                , SrcSpan "tests/examples/DerivingVia.hs" 389 3 389 3+                , SrcSpan "tests/examples/DerivingVia.hs" 390 3 390 3+                , SrcSpan "tests/examples/DerivingVia.hs" 395 1 395 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 388 10 388 21+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 388 10 388 21+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 388 10 388 18+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 388 10 388 18+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 388 10 388 18+                           , srcInfoPoints = []+                           }+                         "Additive")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 388 19 388 21+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 388 19 388 20+                         , SrcSpan "tests/examples/DerivingVia.hs" 388 20 388 21+                         ]+                     }+                   (Special+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 388 19 388 21+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DerivingVia.hs" 388 19 388 20+                            , SrcSpan "tests/examples/DerivingVia.hs" 388 20 388 21+                            ]+                        }+                      (ListCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 388 19 388 21+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingVia.hs" 388 19 388 20+                               , SrcSpan "tests/examples/DerivingVia.hs" 388 20 388 21+                               ]+                           })))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 389 3 389 12+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 389 3 389 12+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 389 3 389 7+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 389 3 389 7+                            , srcInfoPoints = []+                            }+                          "zero"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 389 8 389 12+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 389 8 389 9 ]+                         }+                       (List+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 389 10 389 12+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 389 10 389 11+                                , SrcSpan "tests/examples/DerivingVia.hs" 389 11 389 12+                                ]+                            }+                          []))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 390 3 393 18+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 390 17 390 22 ]+                   }+                 (FunBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 390 3 393 18+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 390 17 390 22 ]+                      }+                    [ Match+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 390 3 393 18+                          , srcInfoPoints =+                              [ SrcSpan "tests/examples/DerivingVia.hs" 390 17 390 22 ]+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 390 3 390 9+                             , srcInfoPoints = []+                             }+                           "liftU2")+                        [ PVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 390 10 390 11+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 390 10 390 11+                                 , srcInfoPoints = []+                                 }+                               "f")+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 390 12 390 16+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/DerivingVia.hs" 390 12 390 13 ]+                             }+                           (Var+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 390 14 390 16+                                , srcInfoPoints = []+                                }+                              (UnQual+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 390 14 390 16+                                   , srcInfoPoints = []+                                   }+                                 (Ident+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 390 14 390 16+                                      , srcInfoPoints = []+                                      }+                                    "go"))))+                        (Just+                           (BDecls+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 391 5 393 18+                                , srcInfoPoints =+                                    [ SrcSpan "tests/examples/DerivingVia.hs" 391 5 391 5+                                    , SrcSpan "tests/examples/DerivingVia.hs" 392 5 392 5+                                    , SrcSpan "tests/examples/DerivingVia.hs" 393 5 393 5+                                    , SrcSpan "tests/examples/DerivingVia.hs" 395 1 395 0+                                    ]+                                }+                              [ FunBind+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 391 5 393 18+                                    , srcInfoPoints = []+                                    }+                                  [ Match+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 391 5 391 40+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 391 5 391 7+                                           , srcInfoPoints = []+                                           }+                                         "go")+                                      [ PParen+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/DerivingVia.hs" 391 8 391 14+                                            , srcInfoPoints =+                                                [ SrcSpan+                                                    "tests/examples/DerivingVia.hs" 391 8 391 9+                                                , SrcSpan+                                                    "tests/examples/DerivingVia.hs" 391 13 391 14+                                                ]+                                            }+                                          (PInfixApp+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 391 9 391 13+                                               , srcInfoPoints = []+                                               }+                                             (PVar+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DerivingVia.hs" 391 9 391 10+                                                  , srcInfoPoints = []+                                                  }+                                                (Ident+                                                   SrcSpanInfo+                                                     { srcInfoSpan =+                                                         SrcSpan+                                                           "tests/examples/DerivingVia.hs"+                                                           391+                                                           9+                                                           391+                                                           10+                                                     , srcInfoPoints = []+                                                     }+                                                   "x"))+                                             (Special+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DerivingVia.hs"+                                                        391+                                                        10+                                                        391+                                                        11+                                                  , srcInfoPoints = []+                                                  }+                                                (Cons+                                                   SrcSpanInfo+                                                     { srcInfoSpan =+                                                         SrcSpan+                                                           "tests/examples/DerivingVia.hs"+                                                           391+                                                           10+                                                           391+                                                           11+                                                     , srcInfoPoints = []+                                                     }))+                                             (PVar+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DerivingVia.hs"+                                                        391+                                                        11+                                                        391+                                                        13+                                                  , srcInfoPoints = []+                                                  }+                                                (Ident+                                                   SrcSpanInfo+                                                     { srcInfoSpan =+                                                         SrcSpan+                                                           "tests/examples/DerivingVia.hs"+                                                           391+                                                           11+                                                           391+                                                           13+                                                     , srcInfoPoints = []+                                                     }+                                                   "xs")))+                                      , PParen+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 391 15 391 21+                                            , srcInfoPoints =+                                                [ SrcSpan+                                                    "tests/examples/DerivingVia.hs" 391 15 391 16+                                                , SrcSpan+                                                    "tests/examples/DerivingVia.hs" 391 20 391 21+                                                ]+                                            }+                                          (PInfixApp+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 391 16 391 20+                                               , srcInfoPoints = []+                                               }+                                             (PVar+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DerivingVia.hs"+                                                        391+                                                        16+                                                        391+                                                        17+                                                  , srcInfoPoints = []+                                                  }+                                                (Ident+                                                   SrcSpanInfo+                                                     { srcInfoSpan =+                                                         SrcSpan+                                                           "tests/examples/DerivingVia.hs"+                                                           391+                                                           16+                                                           391+                                                           17+                                                     , srcInfoPoints = []+                                                     }+                                                   "y"))+                                             (Special+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DerivingVia.hs"+                                                        391+                                                        17+                                                        391+                                                        18+                                                  , srcInfoPoints = []+                                                  }+                                                (Cons+                                                   SrcSpanInfo+                                                     { srcInfoSpan =+                                                         SrcSpan+                                                           "tests/examples/DerivingVia.hs"+                                                           391+                                                           17+                                                           391+                                                           18+                                                     , srcInfoPoints = []+                                                     }))+                                             (PVar+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DerivingVia.hs"+                                                        391+                                                        18+                                                        391+                                                        20+                                                  , srcInfoPoints = []+                                                  }+                                                (Ident+                                                   SrcSpanInfo+                                                     { srcInfoSpan =+                                                         SrcSpan+                                                           "tests/examples/DerivingVia.hs"+                                                           391+                                                           18+                                                           391+                                                           20+                                                     , srcInfoPoints = []+                                                     }+                                                   "ys")))+                                      ]+                                      (UnGuardedRhs+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 391 22 391 40+                                           , srcInfoPoints =+                                               [ SrcSpan+                                                   "tests/examples/DerivingVia.hs" 391 22 391 23+                                               ]+                                           }+                                         (InfixApp+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 391 24 391 40+                                              , srcInfoPoints = []+                                              }+                                            (App+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 391 24 391 29+                                                 , srcInfoPoints = []+                                                 }+                                               (App+                                                  SrcSpanInfo+                                                    { srcInfoSpan =+                                                        SrcSpan+                                                          "tests/examples/DerivingVia.hs"+                                                          391+                                                          24+                                                          391+                                                          27+                                                    , srcInfoPoints = []+                                                    }+                                                  (Var+                                                     SrcSpanInfo+                                                       { srcInfoSpan =+                                                           SrcSpan+                                                             "tests/examples/DerivingVia.hs"+                                                             391+                                                             24+                                                             391+                                                             25+                                                       , srcInfoPoints = []+                                                       }+                                                     (UnQual+                                                        SrcSpanInfo+                                                          { srcInfoSpan =+                                                              SrcSpan+                                                                "tests/examples/DerivingVia.hs"+                                                                391+                                                                24+                                                                391+                                                                25+                                                          , srcInfoPoints = []+                                                          }+                                                        (Ident+                                                           SrcSpanInfo+                                                             { srcInfoSpan =+                                                                 SrcSpan+                                                                   "tests/examples/DerivingVia.hs"+                                                                   391+                                                                   24+                                                                   391+                                                                   25+                                                             , srcInfoPoints = []+                                                             }+                                                           "f")))+                                                  (Var+                                                     SrcSpanInfo+                                                       { srcInfoSpan =+                                                           SrcSpan+                                                             "tests/examples/DerivingVia.hs"+                                                             391+                                                             26+                                                             391+                                                             27+                                                       , srcInfoPoints = []+                                                       }+                                                     (UnQual+                                                        SrcSpanInfo+                                                          { srcInfoSpan =+                                                              SrcSpan+                                                                "tests/examples/DerivingVia.hs"+                                                                391+                                                                26+                                                                391+                                                                27+                                                          , srcInfoPoints = []+                                                          }+                                                        (Ident+                                                           SrcSpanInfo+                                                             { srcInfoSpan =+                                                                 SrcSpan+                                                                   "tests/examples/DerivingVia.hs"+                                                                   391+                                                                   26+                                                                   391+                                                                   27+                                                             , srcInfoPoints = []+                                                             }+                                                           "x"))))+                                               (Var+                                                  SrcSpanInfo+                                                    { srcInfoSpan =+                                                        SrcSpan+                                                          "tests/examples/DerivingVia.hs"+                                                          391+                                                          28+                                                          391+                                                          29+                                                    , srcInfoPoints = []+                                                    }+                                                  (UnQual+                                                     SrcSpanInfo+                                                       { srcInfoSpan =+                                                           SrcSpan+                                                             "tests/examples/DerivingVia.hs"+                                                             391+                                                             28+                                                             391+                                                             29+                                                       , srcInfoPoints = []+                                                       }+                                                     (Ident+                                                        SrcSpanInfo+                                                          { srcInfoSpan =+                                                              SrcSpan+                                                                "tests/examples/DerivingVia.hs"+                                                                391+                                                                28+                                                                391+                                                                29+                                                          , srcInfoPoints = []+                                                          }+                                                        "y"))))+                                            (QConOp+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 391 30 391 31+                                                 , srcInfoPoints = []+                                                 }+                                               (Special+                                                  SrcSpanInfo+                                                    { srcInfoSpan =+                                                        SrcSpan+                                                          "tests/examples/DerivingVia.hs"+                                                          391+                                                          30+                                                          391+                                                          31+                                                    , srcInfoPoints = []+                                                    }+                                                  (Cons+                                                     SrcSpanInfo+                                                       { srcInfoSpan =+                                                           SrcSpan+                                                             "tests/examples/DerivingVia.hs"+                                                             391+                                                             30+                                                             391+                                                             31+                                                       , srcInfoPoints = []+                                                       })))+                                            (App+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 391 32 391 40+                                                 , srcInfoPoints = []+                                                 }+                                               (App+                                                  SrcSpanInfo+                                                    { srcInfoSpan =+                                                        SrcSpan+                                                          "tests/examples/DerivingVia.hs"+                                                          391+                                                          32+                                                          391+                                                          37+                                                    , srcInfoPoints = []+                                                    }+                                                  (Var+                                                     SrcSpanInfo+                                                       { srcInfoSpan =+                                                           SrcSpan+                                                             "tests/examples/DerivingVia.hs"+                                                             391+                                                             32+                                                             391+                                                             34+                                                       , srcInfoPoints = []+                                                       }+                                                     (UnQual+                                                        SrcSpanInfo+                                                          { srcInfoSpan =+                                                              SrcSpan+                                                                "tests/examples/DerivingVia.hs"+                                                                391+                                                                32+                                                                391+                                                                34+                                                          , srcInfoPoints = []+                                                          }+                                                        (Ident+                                                           SrcSpanInfo+                                                             { srcInfoSpan =+                                                                 SrcSpan+                                                                   "tests/examples/DerivingVia.hs"+                                                                   391+                                                                   32+                                                                   391+                                                                   34+                                                             , srcInfoPoints = []+                                                             }+                                                           "go")))+                                                  (Var+                                                     SrcSpanInfo+                                                       { srcInfoSpan =+                                                           SrcSpan+                                                             "tests/examples/DerivingVia.hs"+                                                             391+                                                             35+                                                             391+                                                             37+                                                       , srcInfoPoints = []+                                                       }+                                                     (UnQual+                                                        SrcSpanInfo+                                                          { srcInfoSpan =+                                                              SrcSpan+                                                                "tests/examples/DerivingVia.hs"+                                                                391+                                                                35+                                                                391+                                                                37+                                                          , srcInfoPoints = []+                                                          }+                                                        (Ident+                                                           SrcSpanInfo+                                                             { srcInfoSpan =+                                                                 SrcSpan+                                                                   "tests/examples/DerivingVia.hs"+                                                                   391+                                                                   35+                                                                   391+                                                                   37+                                                             , srcInfoPoints = []+                                                             }+                                                           "xs"))))+                                               (Var+                                                  SrcSpanInfo+                                                    { srcInfoSpan =+                                                        SrcSpan+                                                          "tests/examples/DerivingVia.hs"+                                                          391+                                                          38+                                                          391+                                                          40+                                                    , srcInfoPoints = []+                                                    }+                                                  (UnQual+                                                     SrcSpanInfo+                                                       { srcInfoSpan =+                                                           SrcSpan+                                                             "tests/examples/DerivingVia.hs"+                                                             391+                                                             38+                                                             391+                                                             40+                                                       , srcInfoPoints = []+                                                       }+                                                     (Ident+                                                        SrcSpanInfo+                                                          { srcInfoSpan =+                                                              SrcSpan+                                                                "tests/examples/DerivingVia.hs"+                                                                391+                                                                38+                                                                391+                                                                40+                                                          , srcInfoPoints = []+                                                          }+                                                        "ys"))))))+                                      Nothing+                                  , Match+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 392 5 392 18+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 392 5 392 7+                                           , srcInfoPoints = []+                                           }+                                         "go")+                                      [ PList+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/DerivingVia.hs" 392 8 392 10+                                            , srcInfoPoints =+                                                [ SrcSpan+                                                    "tests/examples/DerivingVia.hs" 392 8 392 9+                                                , SrcSpan+                                                    "tests/examples/DerivingVia.hs" 392 9 392 10+                                                ]+                                            }+                                          []+                                      , PVar+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 392 11 392 13+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 392 11 392 13+                                               , srcInfoPoints = []+                                               }+                                             "ys")+                                      ]+                                      (UnGuardedRhs+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 392 14 392 18+                                           , srcInfoPoints =+                                               [ SrcSpan+                                                   "tests/examples/DerivingVia.hs" 392 14 392 15+                                               ]+                                           }+                                         (Var+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 392 16 392 18+                                              , srcInfoPoints = []+                                              }+                                            (UnQual+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 392 16 392 18+                                                 , srcInfoPoints = []+                                                 }+                                               (Ident+                                                  SrcSpanInfo+                                                    { srcInfoSpan =+                                                        SrcSpan+                                                          "tests/examples/DerivingVia.hs"+                                                          392+                                                          16+                                                          392+                                                          18+                                                    , srcInfoPoints = []+                                                    }+                                                  "ys"))))+                                      Nothing+                                  , Match+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 393 5 393 18+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 393 5 393 7+                                           , srcInfoPoints = []+                                           }+                                         "go")+                                      [ PVar+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/DerivingVia.hs" 393 8 393 10+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 393 8 393 10+                                               , srcInfoPoints = []+                                               }+                                             "xs")+                                      , PList+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 393 11 393 13+                                            , srcInfoPoints =+                                                [ SrcSpan+                                                    "tests/examples/DerivingVia.hs" 393 11 393 12+                                                , SrcSpan+                                                    "tests/examples/DerivingVia.hs" 393 12 393 13+                                                ]+                                            }+                                          []+                                      ]+                                      (UnGuardedRhs+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 393 14 393 18+                                           , srcInfoPoints =+                                               [ SrcSpan+                                                   "tests/examples/DerivingVia.hs" 393 14 393 15+                                               ]+                                           }+                                         (Var+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 393 16 393 18+                                              , srcInfoPoints = []+                                              }+                                            (UnQual+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DerivingVia.hs" 393 16 393 18+                                                 , srcInfoPoints = []+                                                 }+                                               (Ident+                                                  SrcSpanInfo+                                                    { srcInfoSpan =+                                                        SrcSpan+                                                          "tests/examples/DerivingVia.hs"+                                                          393+                                                          16+                                                          393+                                                          18+                                                    , srcInfoPoints = []+                                                    }+                                                  "xs"))))+                                      Nothing+                                  ]+                              ]))+                    ])+             ])+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 395 1 401 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 395 1 395 9+                , SrcSpan "tests/examples/DerivingVia.hs" 395 25 395 30+                , SrcSpan "tests/examples/DerivingVia.hs" 396 3 396 3+                , SrcSpan "tests/examples/DerivingVia.hs" 397 3 397 3+                , SrcSpan "tests/examples/DerivingVia.hs" 398 3 398 3+                , SrcSpan "tests/examples/DerivingVia.hs" 399 3 399 3+                , SrcSpan "tests/examples/DerivingVia.hs" 401 1 401 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 395 10 395 24+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 395 10 395 24+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 395 10 395 18+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 395 10 395 18+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 395 10 395 18+                           , srcInfoPoints = []+                           }+                         "Additive")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 395 19 395 24+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 395 19 395 24+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 395 19 395 24+                           , srcInfoPoints = []+                           }+                         "Maybe")))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 396 3 396 17+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 396 3 396 17+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 396 3 396 7+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 396 3 396 7+                            , srcInfoPoints = []+                            }+                          "zero"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 396 8 396 17+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 396 8 396 9 ]+                         }+                       (Con+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 396 10 396 17+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 396 10 396 17+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 396 10 396 17+                                  , srcInfoPoints = []+                                  }+                                "Nothing"))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 397 3 399 27+                   , srcInfoPoints = []+                   }+                 (FunBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 397 3 399 27+                      , srcInfoPoints = []+                      }+                    [ Match+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 397 3 397 44+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 397 3 397 9+                             , srcInfoPoints = []+                             }+                           "liftU2")+                        [ PVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 397 10 397 11+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 397 10 397 11+                                 , srcInfoPoints = []+                                 }+                               "f")+                        , PParen+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 397 12 397 20+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/DerivingVia.hs" 397 12 397 13+                                  , SrcSpan "tests/examples/DerivingVia.hs" 397 19 397 20+                                  ]+                              }+                            (PApp+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 397 13 397 19+                                 , srcInfoPoints = []+                                 }+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 397 13 397 17+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia.hs" 397 13 397 17+                                       , srcInfoPoints = []+                                       }+                                     "Just"))+                               [ PVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 397 18 397 19+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 397 18 397 19+                                        , srcInfoPoints = []+                                        }+                                      "a")+                               ])+                        , PParen+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 397 21 397 29+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/DerivingVia.hs" 397 21 397 22+                                  , SrcSpan "tests/examples/DerivingVia.hs" 397 28 397 29+                                  ]+                              }+                            (PApp+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 397 22 397 28+                                 , srcInfoPoints = []+                                 }+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 397 22 397 26+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia.hs" 397 22 397 26+                                       , srcInfoPoints = []+                                       }+                                     "Just"))+                               [ PVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 397 27 397 28+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 397 27 397 28+                                        , srcInfoPoints = []+                                        }+                                      "b")+                               ])+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 397 30 397 44+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/DerivingVia.hs" 397 30 397 31 ]+                             }+                           (App+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 397 32 397 44+                                , srcInfoPoints = []+                                }+                              (Con+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 397 32 397 36+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 397 32 397 36+                                      , srcInfoPoints = []+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 397 32 397 36+                                         , srcInfoPoints = []+                                         }+                                       "Just")))+                              (Paren+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 397 37 397 44+                                   , srcInfoPoints =+                                       [ SrcSpan "tests/examples/DerivingVia.hs" 397 37 397 38+                                       , SrcSpan "tests/examples/DerivingVia.hs" 397 43 397 44+                                       ]+                                   }+                                 (App+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 397 38 397 43+                                      , srcInfoPoints = []+                                      }+                                    (App+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 397 38 397 41+                                         , srcInfoPoints = []+                                         }+                                       (Var+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 397 38 397 39+                                            , srcInfoPoints = []+                                            }+                                          (UnQual+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 397 38 397 39+                                               , srcInfoPoints = []+                                               }+                                             (Ident+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DerivingVia.hs"+                                                        397+                                                        38+                                                        397+                                                        39+                                                  , srcInfoPoints = []+                                                  }+                                                "f")))+                                       (Var+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 397 40 397 41+                                            , srcInfoPoints = []+                                            }+                                          (UnQual+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 397 40 397 41+                                               , srcInfoPoints = []+                                               }+                                             (Ident+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DerivingVia.hs"+                                                        397+                                                        40+                                                        397+                                                        41+                                                  , srcInfoPoints = []+                                                  }+                                                "a"))))+                                    (Var+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 397 42 397 43+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 397 42 397 43+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 397 42 397 43+                                               , srcInfoPoints = []+                                               }+                                             "b")))))))+                        Nothing+                    , Match+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 398 3 398 27+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 398 3 398 9+                             , srcInfoPoints = []+                             }+                           "liftU2")+                        [ PWildCard+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 398 10 398 11+                              , srcInfoPoints = []+                              }+                        , PApp+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 398 12 398 19+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 398 12 398 19+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 398 12 398 19+                                    , srcInfoPoints = []+                                    }+                                  "Nothing"))+                            []+                        , PVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 398 20 398 22+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 398 20 398 22+                                 , srcInfoPoints = []+                                 }+                               "ys")+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 398 23 398 27+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/DerivingVia.hs" 398 23 398 24 ]+                             }+                           (Var+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 398 25 398 27+                                , srcInfoPoints = []+                                }+                              (UnQual+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 398 25 398 27+                                   , srcInfoPoints = []+                                   }+                                 (Ident+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 398 25 398 27+                                      , srcInfoPoints = []+                                      }+                                    "ys"))))+                        Nothing+                    , Match+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 399 3 399 27+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 399 3 399 9+                             , srcInfoPoints = []+                             }+                           "liftU2")+                        [ PWildCard+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 399 10 399 11+                              , srcInfoPoints = []+                              }+                        , PVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 399 12 399 14+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 399 12 399 14+                                 , srcInfoPoints = []+                                 }+                               "xs")+                        , PApp+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 399 15 399 22+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 399 15 399 22+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 399 15 399 22+                                    , srcInfoPoints = []+                                    }+                                  "Nothing"))+                            []+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 399 23 399 27+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/DerivingVia.hs" 399 23 399 24 ]+                             }+                           (Var+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 399 25 399 27+                                , srcInfoPoints = []+                                }+                              (UnQual+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 399 25 399 27+                                   , srcInfoPoints = []+                                   }+                                 (Ident+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 399 25 399 27+                                      , srcInfoPoints = []+                                      }+                                    "xs"))))+                        Nothing+                    ])+             ])+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 401 1 405 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 401 1 401 9+                , SrcSpan "tests/examples/DerivingVia.hs" 401 56 401 61+                , SrcSpan "tests/examples/DerivingVia.hs" 402 3 402 3+                , SrcSpan "tests/examples/DerivingVia.hs" 403 3 403 3+                , SrcSpan "tests/examples/DerivingVia.hs" 405 1 405 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 55+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxSingle+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 26+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 401 24 401 26 ]+                     }+                   (TypeA+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 26+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DerivingVia.hs" 401 24 401 26 ]+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 26+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingVia.hs" 401 24 401 26 ]+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 26+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/DerivingVia.hs" 401 24 401 26 ]+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 21+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 21+                                    , srcInfoPoints = []+                                    }+                                  "Applicative")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 401 22 401 23+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 401 22 401 23+                                 , srcInfoPoints = []+                                 }+                               "f"))))))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 401 27 401 55+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 401 27 401 35+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 401 27 401 35+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 401 27 401 35+                           , srcInfoPoints = []+                           }+                         "Additive")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 401 36 401 55+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 401 36 401 37+                         , SrcSpan "tests/examples/DerivingVia.hs" 401 54 401 55+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 401 37 401 54+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 401 37 401 52+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 401 37 401 52+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 401 37 401 52+                                 , srcInfoPoints = []+                                 }+                               "WrapApplicative")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 401 53 401 54+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 401 53 401 54+                              , srcInfoPoints = []+                              }+                            "f"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 402 3 402 18+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 402 3 402 18+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 402 3 402 7+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 402 3 402 7+                            , srcInfoPoints = []+                            }+                          "zero"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 402 10 402 18+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 402 10 402 11 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 402 12 402 18+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 402 12 402 16+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 402 12 402 16+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 402 12 402 16+                                     , srcInfoPoints = []+                                     }+                                   "pure")))+                          (Lit+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 402 17 402 18+                               , srcInfoPoints = []+                               }+                             (Int+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 402 17 402 18+                                  , srcInfoPoints = []+                                  }+                                0+                                "0"))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 403 3 403 18+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 403 3 403 18+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 403 3 403 9+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 403 3 403 9+                            , srcInfoPoints = []+                            }+                          "liftU2"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 403 10 403 18+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 403 10 403 11 ]+                         }+                       (Var+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 403 12 403 18+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 403 12 403 18+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 403 12 403 18+                                  , srcInfoPoints = []+                                  }+                                "liftA2"))))+                    Nothing)+             ])+      , DerivDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 405 1 405 67+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 405 1 405 9+                , SrcSpan "tests/examples/DerivingVia.hs" 405 41 405 49+                ]+            }+          (Just+             (DerivVia+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 405 10 405 13+                  , srcInfoPoints = []+                  }+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 405 14 405 40+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 405 14 405 15+                         , SrcSpan "tests/examples/DerivingVia.hs" 405 39 405 40+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 405 15 405 39+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 405 15 405 30+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 405 15 405 30+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 405 15 405 30+                                 , srcInfoPoints = []+                                 }+                               "WrapApplicative")))+                      (TyParen+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 405 31 405 39+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingVia.hs" 405 31 405 32+                               , SrcSpan "tests/examples/DerivingVia.hs" 405 38 405 39+                               ]+                           }+                         (TyApp+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 38+                              , srcInfoPoints = []+                              }+                            (TyCon+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 36+                                 , srcInfoPoints =+                                     [ SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 33+                                     , SrcSpan "tests/examples/DerivingVia.hs" 405 33 405 35+                                     , SrcSpan "tests/examples/DerivingVia.hs" 405 35 405 36+                                     ]+                                 }+                               (Special+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 36+                                    , srcInfoPoints =+                                        [ SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 33+                                        , SrcSpan "tests/examples/DerivingVia.hs" 405 33 405 35+                                        , SrcSpan "tests/examples/DerivingVia.hs" 405 35 405 36+                                        ]+                                    }+                                  (FunCon+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 36+                                       , srcInfoPoints =+                                           [ SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 33+                                           , SrcSpan "tests/examples/DerivingVia.hs" 405 33 405 35+                                           , SrcSpan "tests/examples/DerivingVia.hs" 405 35 405 36+                                           ]+                                       })))+                            (TyVar+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 405 37 405 38+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 405 37 405 38+                                    , srcInfoPoints = []+                                    }+                                  "a"))))))))+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 405 50 405 67+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 405 50 405 67+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 405 50 405 58+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 405 50 405 58+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 405 50 405 58+                           , srcInfoPoints = []+                           }+                         "Additive")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 405 59 405 67+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 405 59 405 60+                         , SrcSpan "tests/examples/DerivingVia.hs" 405 66 405 67+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 66+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 64+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 61+                               , SrcSpan "tests/examples/DerivingVia.hs" 405 61 405 63+                               , SrcSpan "tests/examples/DerivingVia.hs" 405 63 405 64+                               ]+                           }+                         (Special+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 64+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 61+                                  , SrcSpan "tests/examples/DerivingVia.hs" 405 61 405 63+                                  , SrcSpan "tests/examples/DerivingVia.hs" 405 63 405 64+                                  ]+                              }+                            (FunCon+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 64+                                 , srcInfoPoints =+                                     [ SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 61+                                     , SrcSpan "tests/examples/DerivingVia.hs" 405 61 405 63+                                     , SrcSpan "tests/examples/DerivingVia.hs" 405 63 405 64+                                     ]+                                 })))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 405 65 405 66+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 405 65 405 66+                              , srcInfoPoints = []+                              }+                            "a"))))))+      , DerivDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 406 1 406 66+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 406 1 406 9+                , SrcSpan "tests/examples/DerivingVia.hs" 406 41 406 49+                ]+            }+          (Just+             (DerivVia+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 406 10 406 13+                  , srcInfoPoints = []+                  }+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 406 14 406 39+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 406 14 406 15+                         , SrcSpan "tests/examples/DerivingVia.hs" 406 38 406 39+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 406 15 406 38+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 406 15 406 30+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 406 15 406 30+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 406 15 406 30+                                 , srcInfoPoints = []+                                 }+                               "WrapApplicative")))+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 406 31 406 38+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 406 31 406 38+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 406 31 406 38+                                 , srcInfoPoints = []+                                 }+                               "Complex")))))))+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 406 50 406 66+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 406 50 406 66+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 406 50 406 58+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 406 50 406 58+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 406 50 406 58+                           , srcInfoPoints = []+                           }+                         "Additive")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 406 59 406 66+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 406 59 406 66+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 406 59 406 66+                           , srcInfoPoints = []+                           }+                         "Complex")))))+      , DerivDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 407 1 407 67+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 407 1 407 9+                , SrcSpan "tests/examples/DerivingVia.hs" 407 41 407 49+                ]+            }+          (Just+             (DerivVia+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 407 10 407 13+                  , srcInfoPoints = []+                  }+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 407 14 407 40+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 407 14 407 15+                         , SrcSpan "tests/examples/DerivingVia.hs" 407 39 407 40+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 407 15 407 39+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 407 15 407 30+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 407 15 407 30+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 407 15 407 30+                                 , srcInfoPoints = []+                                 }+                               "WrapApplicative")))+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 407 31 407 39+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 407 31 407 39+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 407 31 407 39+                                 , srcInfoPoints = []+                                 }+                               "Identity")))))))+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 407 50 407 67+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 407 50 407 67+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 407 50 407 58+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 407 50 407 58+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 407 50 407 58+                           , srcInfoPoints = []+                           }+                         "Additive")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 407 59 407 67+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 407 59 407 67+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 407 59 407 67+                           , srcInfoPoints = []+                           }+                         "Identity")))))+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 409 1 413 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 409 1 409 9+                , SrcSpan "tests/examples/DerivingVia.hs" 409 27 409 32+                , SrcSpan "tests/examples/DerivingVia.hs" 410 3 410 3+                , SrcSpan "tests/examples/DerivingVia.hs" 411 3 411 3+                , SrcSpan "tests/examples/DerivingVia.hs" 413 1 413 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 409 10 409 26+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 409 10 409 26+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 409 10 409 18+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 409 10 409 18+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 409 10 409 18+                           , srcInfoPoints = []+                           }+                         "Additive")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 409 19 409 26+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 409 19 409 26+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 409 19 409 26+                           , srcInfoPoints = []+                           }+                         "ZipList")))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 410 3 410 20+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 410 3 410 20+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 410 3 410 7+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 410 3 410 7+                            , srcInfoPoints = []+                            }+                          "zero"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 410 8 410 20+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 410 8 410 9 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 410 10 410 20+                            , srcInfoPoints = []+                            }+                          (Con+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 410 10 410 17+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 410 10 410 17+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 410 10 410 17+                                     , srcInfoPoints = []+                                     }+                                   "ZipList")))+                          (List+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 410 18 410 20+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 410 18 410 19+                                   , SrcSpan "tests/examples/DerivingVia.hs" 410 19 410 20+                                   ]+                               }+                             [])))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 411 3 411 64+                   , srcInfoPoints = []+                   }+                 (FunBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 411 3 411 64+                      , srcInfoPoints = []+                      }+                    [ Match+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 411 3 411 64+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 411 3 411 9+                             , srcInfoPoints = []+                             }+                           "liftU2")+                        [ PVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 411 10 411 11+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 411 10 411 11+                                 , srcInfoPoints = []+                                 }+                               "f")+                        , PParen+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 411 12 411 24+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/DerivingVia.hs" 411 12 411 13+                                  , SrcSpan "tests/examples/DerivingVia.hs" 411 23 411 24+                                  ]+                              }+                            (PApp+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 411 13 411 23+                                 , srcInfoPoints = []+                                 }+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 411 13 411 20+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia.hs" 411 13 411 20+                                       , srcInfoPoints = []+                                       }+                                     "ZipList"))+                               [ PVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 411 21 411 23+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 411 21 411 23+                                        , srcInfoPoints = []+                                        }+                                      "xs")+                               ])+                        , PParen+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 411 25 411 37+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/DerivingVia.hs" 411 25 411 26+                                  , SrcSpan "tests/examples/DerivingVia.hs" 411 36 411 37+                                  ]+                              }+                            (PApp+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 411 26 411 36+                                 , srcInfoPoints = []+                                 }+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 411 26 411 33+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia.hs" 411 26 411 33+                                       , srcInfoPoints = []+                                       }+                                     "ZipList"))+                               [ PVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 411 34 411 36+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 411 34 411 36+                                        , srcInfoPoints = []+                                        }+                                      "ys")+                               ])+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 411 38 411 64+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/DerivingVia.hs" 411 38 411 39 ]+                             }+                           (App+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 411 40 411 64+                                , srcInfoPoints = []+                                }+                              (Con+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 411 40 411 47+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 411 40 411 47+                                      , srcInfoPoints = []+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 411 40 411 47+                                         , srcInfoPoints = []+                                         }+                                       "ZipList")))+                              (Paren+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 411 48 411 64+                                   , srcInfoPoints =+                                       [ SrcSpan "tests/examples/DerivingVia.hs" 411 48 411 49+                                       , SrcSpan "tests/examples/DerivingVia.hs" 411 63 411 64+                                       ]+                                   }+                                 (App+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 411 49 411 63+                                      , srcInfoPoints = []+                                      }+                                    (App+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 411 49 411 60+                                         , srcInfoPoints = []+                                         }+                                       (App+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 411 49 411 57+                                            , srcInfoPoints = []+                                            }+                                          (Var+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 411 49 411 55+                                               , srcInfoPoints = []+                                               }+                                             (UnQual+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DerivingVia.hs"+                                                        411+                                                        49+                                                        411+                                                        55+                                                  , srcInfoPoints = []+                                                  }+                                                (Ident+                                                   SrcSpanInfo+                                                     { srcInfoSpan =+                                                         SrcSpan+                                                           "tests/examples/DerivingVia.hs"+                                                           411+                                                           49+                                                           411+                                                           55+                                                     , srcInfoPoints = []+                                                     }+                                                   "liftU2")))+                                          (Var+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 411 56 411 57+                                               , srcInfoPoints = []+                                               }+                                             (UnQual+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DerivingVia.hs"+                                                        411+                                                        56+                                                        411+                                                        57+                                                  , srcInfoPoints = []+                                                  }+                                                (Ident+                                                   SrcSpanInfo+                                                     { srcInfoSpan =+                                                         SrcSpan+                                                           "tests/examples/DerivingVia.hs"+                                                           411+                                                           56+                                                           411+                                                           57+                                                     , srcInfoPoints = []+                                                     }+                                                   "f"))))+                                       (Var+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 411 58 411 60+                                            , srcInfoPoints = []+                                            }+                                          (UnQual+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 411 58 411 60+                                               , srcInfoPoints = []+                                               }+                                             (Ident+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DerivingVia.hs"+                                                        411+                                                        58+                                                        411+                                                        60+                                                  , srcInfoPoints = []+                                                  }+                                                "xs"))))+                                    (Var+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 411 61 411 63+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 411 61 411 63+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 411 61 411 63+                                               , srcInfoPoints = []+                                               }+                                             "ys")))))))+                        Nothing+                    ])+             ])+      , ClassDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 413 1 419 32+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 413 1 413 6+                , SrcSpan "tests/examples/DerivingVia.hs" 413 37 413 42+                , SrcSpan "tests/examples/DerivingVia.hs" 414 3 414 3+                , SrcSpan "tests/examples/DerivingVia.hs" 416 3 416 3+                , SrcSpan "tests/examples/DerivingVia.hs" 417 3 417 3+                , SrcSpan "tests/examples/DerivingVia.hs" 418 3 418 3+                , SrcSpan "tests/examples/DerivingVia.hs" 419 3 419 3+                , SrcSpan "tests/examples/DerivingVia.hs" 425 1 425 0+                ]+            }+          (Just+             (CxSingle+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 413 7 413 27+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/DerivingVia.hs" 413 25 413 27 ]+                  }+                (TypeA+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 413 7 413 27+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 413 25 413 27 ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 413 7 413 27+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DerivingVia.hs" 413 25 413 27 ]+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 413 7 413 27+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingVia.hs" 413 25 413 27 ]+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 413 7 413 15+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 413 7 413 15+                                 , srcInfoPoints = []+                                 }+                               "Additive")))+                      (TyParen+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 413 16 413 24+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingVia.hs" 413 16 413 17+                               , SrcSpan "tests/examples/DerivingVia.hs" 413 23 413 24+                               ]+                           }+                         (TyApp+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 413 17 413 23+                              , srcInfoPoints = []+                              }+                            (TyCon+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 413 17 413 21+                                 , srcInfoPoints = []+                                 }+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 413 17 413 21+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia.hs" 413 17 413 21+                                       , srcInfoPoints = []+                                       }+                                     "Diff")))+                            (TyVar+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 413 22 413 23+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 413 22 413 23+                                    , srcInfoPoints = []+                                    }+                                  "p"))))))))+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 413 28 413 36+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 413 28 413 34+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 413 28 413 34+                     , srcInfoPoints = []+                     }+                   "Affine"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 413 35 413 36+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 413 35 413 36+                     , srcInfoPoints = []+                     }+                   "p")))+          []+          (Just+             [ ClsTyFam+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 414 3 414 30+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 414 3 414 7 ]+                   }+                 (DHApp+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 414 8 414 14+                      , srcInfoPoints = []+                      }+                    (DHead+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 414 8 414 12+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 414 8 414 12+                            , srcInfoPoints = []+                            }+                          "Diff"))+                    (UnkindedVar+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 414 13 414 14+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 414 13 414 14+                            , srcInfoPoints = []+                            }+                          "p")))+                 (Just+                    (KindSig+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 414 15 414 30+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 414 15 414 17 ]+                         }+                       (TyFun+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 414 18 414 30+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 414 23 414 25 ]+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 414 18 414 22+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 414 18 414 22+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 414 18 414 22+                                     , srcInfoPoints = []+                                     }+                                   "Type")))+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 414 26 414 30+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 414 26 414 30+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 414 26 414 30+                                     , srcInfoPoints = []+                                     }+                                   "Type"))))))+                 Nothing+             , ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 416 3 416 43+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 416 9 416 11 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 416 3 416 43+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 416 9 416 11 ]+                      }+                    [ Symbol+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 416 3 416 8+                          , srcInfoPoints =+                              [ SrcSpan "tests/examples/DerivingVia.hs" 416 3 416 4+                              , SrcSpan "tests/examples/DerivingVia.hs" 416 4 416 7+                              , SrcSpan "tests/examples/DerivingVia.hs" 416 7 416 8+                              ]+                          }+                        ".-."+                    ]+                    (TyForall+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 416 12 416 43+                         , srcInfoPoints = []+                         }+                       Nothing+                       (Just+                          (CxSingle+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 416 12 416 20+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 416 18 416 20 ]+                               }+                             (TypeA+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 416 12 416 20+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 416 18 416 20 ]+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 416 12 416 20+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/DerivingVia.hs" 416 18 416 20 ]+                                     }+                                   (TyCon+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 416 12 416 20+                                        , srcInfoPoints =+                                            [ SrcSpan "tests/examples/DerivingVia.hs" 416 18 416 20+                                            ]+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 416 12 416 15+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 416 12 416 15+                                              , srcInfoPoints = []+                                              }+                                            "Num")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 416 16 416 17+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 416 16 416 17+                                           , srcInfoPoints = []+                                           }+                                         "a"))))))+                       (TyFun+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 416 21 416 43+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 416 25 416 27 ]+                            }+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 416 21 416 24+                               , srcInfoPoints = []+                               }+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 416 21 416 22+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 416 21 416 22+                                     , srcInfoPoints = []+                                     }+                                   "p"))+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 416 23 416 24+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 416 23 416 24+                                     , srcInfoPoints = []+                                     }+                                   "a")))+                          (TyFun+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 416 28 416 43+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 416 32 416 34 ]+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 416 28 416 31+                                  , srcInfoPoints = []+                                  }+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 416 28 416 29+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 416 28 416 29+                                        , srcInfoPoints = []+                                        }+                                      "p"))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 416 30 416 31+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 416 30 416 31+                                        , srcInfoPoints = []+                                        }+                                      "a")))+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 416 35 416 43+                                  , srcInfoPoints = []+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 416 35 416 41+                                     , srcInfoPoints = []+                                     }+                                   (TyCon+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 416 35 416 39+                                        , srcInfoPoints = []+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 416 35 416 39+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 416 35 416 39+                                              , srcInfoPoints = []+                                              }+                                            "Diff")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 416 40 416 41+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 416 40 416 41+                                           , srcInfoPoints = []+                                           }+                                         "p")))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 416 42 416 43+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 416 42 416 43+                                        , srcInfoPoints = []+                                        }+                                      "a")))))))+             , ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 417 3 417 43+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 417 9 417 11 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 417 3 417 43+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 417 9 417 11 ]+                      }+                    [ Symbol+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 417 3 417 8+                          , srcInfoPoints =+                              [ SrcSpan "tests/examples/DerivingVia.hs" 417 3 417 4+                              , SrcSpan "tests/examples/DerivingVia.hs" 417 4 417 7+                              , SrcSpan "tests/examples/DerivingVia.hs" 417 7 417 8+                              ]+                          }+                        ".+^"+                    ]+                    (TyForall+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 417 12 417 43+                         , srcInfoPoints = []+                         }+                       Nothing+                       (Just+                          (CxSingle+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 417 12 417 20+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 417 18 417 20 ]+                               }+                             (TypeA+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 417 12 417 20+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 417 18 417 20 ]+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 417 12 417 20+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/DerivingVia.hs" 417 18 417 20 ]+                                     }+                                   (TyCon+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 417 12 417 20+                                        , srcInfoPoints =+                                            [ SrcSpan "tests/examples/DerivingVia.hs" 417 18 417 20+                                            ]+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 417 12 417 15+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 417 12 417 15+                                              , srcInfoPoints = []+                                              }+                                            "Num")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 417 16 417 17+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 417 16 417 17+                                           , srcInfoPoints = []+                                           }+                                         "a"))))))+                       (TyFun+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 417 21 417 43+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 417 25 417 27 ]+                            }+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 417 21 417 24+                               , srcInfoPoints = []+                               }+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 417 21 417 22+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 417 21 417 22+                                     , srcInfoPoints = []+                                     }+                                   "p"))+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 417 23 417 24+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 417 23 417 24+                                     , srcInfoPoints = []+                                     }+                                   "a")))+                          (TyFun+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 417 28 417 43+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 417 37 417 39 ]+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 417 28 417 36+                                  , srcInfoPoints = []+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 417 28 417 34+                                     , srcInfoPoints = []+                                     }+                                   (TyCon+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 417 28 417 32+                                        , srcInfoPoints = []+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 417 28 417 32+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 417 28 417 32+                                              , srcInfoPoints = []+                                              }+                                            "Diff")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 417 33 417 34+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 417 33 417 34+                                           , srcInfoPoints = []+                                           }+                                         "p")))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 417 35 417 36+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 417 35 417 36+                                        , srcInfoPoints = []+                                        }+                                      "a")))+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 417 40 417 43+                                  , srcInfoPoints = []+                                  }+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 417 40 417 41+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 417 40 417 41+                                        , srcInfoPoints = []+                                        }+                                      "p"))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 417 42 417 43+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 417 42 417 43+                                        , srcInfoPoints = []+                                        }+                                      "a")))))))+             , ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 418 3 418 43+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 418 9 418 11 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 418 3 418 43+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 418 9 418 11 ]+                      }+                    [ Symbol+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 418 3 418 8+                          , srcInfoPoints =+                              [ SrcSpan "tests/examples/DerivingVia.hs" 418 3 418 4+                              , SrcSpan "tests/examples/DerivingVia.hs" 418 4 418 7+                              , SrcSpan "tests/examples/DerivingVia.hs" 418 7 418 8+                              ]+                          }+                        ".-^"+                    ]+                    (TyForall+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 418 12 418 43+                         , srcInfoPoints = []+                         }+                       Nothing+                       (Just+                          (CxSingle+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 418 12 418 20+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 418 18 418 20 ]+                               }+                             (TypeA+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 418 12 418 20+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia.hs" 418 18 418 20 ]+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 418 12 418 20+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/DerivingVia.hs" 418 18 418 20 ]+                                     }+                                   (TyCon+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 418 12 418 20+                                        , srcInfoPoints =+                                            [ SrcSpan "tests/examples/DerivingVia.hs" 418 18 418 20+                                            ]+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 418 12 418 15+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 418 12 418 15+                                              , srcInfoPoints = []+                                              }+                                            "Num")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 418 16 418 17+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 418 16 418 17+                                           , srcInfoPoints = []+                                           }+                                         "a"))))))+                       (TyFun+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 418 21 418 43+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 418 25 418 27 ]+                            }+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 418 21 418 24+                               , srcInfoPoints = []+                               }+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 418 21 418 22+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 418 21 418 22+                                     , srcInfoPoints = []+                                     }+                                   "p"))+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 418 23 418 24+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 418 23 418 24+                                     , srcInfoPoints = []+                                     }+                                   "a")))+                          (TyFun+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 418 28 418 43+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 418 37 418 39 ]+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 418 28 418 36+                                  , srcInfoPoints = []+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 418 28 418 34+                                     , srcInfoPoints = []+                                     }+                                   (TyCon+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 418 28 418 32+                                        , srcInfoPoints = []+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 418 28 418 32+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DerivingVia.hs" 418 28 418 32+                                              , srcInfoPoints = []+                                              }+                                            "Diff")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 418 33 418 34+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DerivingVia.hs" 418 33 418 34+                                           , srcInfoPoints = []+                                           }+                                         "p")))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 418 35 418 36+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 418 35 418 36+                                        , srcInfoPoints = []+                                        }+                                      "a")))+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 418 40 418 43+                                  , srcInfoPoints = []+                                  }+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 418 40 418 41+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 418 40 418 41+                                        , srcInfoPoints = []+                                        }+                                      "p"))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 418 42 418 43+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 418 42 418 43+                                        , srcInfoPoints = []+                                        }+                                      "a")))))))+             , ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 419 3 419 32+                   , srcInfoPoints = []+                   }+                 (FunBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 419 3 419 32+                      , srcInfoPoints = []+                      }+                    [ InfixMatch+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 419 3 419 32+                          , srcInfoPoints = []+                          }+                        (PVar+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 419 3 419 4+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 419 3 419 4+                                , srcInfoPoints = []+                                }+                              "p"))+                        (Symbol+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 419 5 419 8+                             , srcInfoPoints = []+                             }+                           ".-^")+                        [ PVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 419 9 419 10+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 419 9 419 10+                                 , srcInfoPoints = []+                                 }+                               "v")+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 419 11 419 32+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/DerivingVia.hs" 419 11 419 12 ]+                             }+                           (InfixApp+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 419 13 419 32+                                , srcInfoPoints = []+                                }+                              (Var+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 419 13 419 14+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 419 13 419 14+                                      , srcInfoPoints = []+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 419 13 419 14+                                         , srcInfoPoints = []+                                         }+                                       "p")))+                              (QVarOp+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 419 15 419 18+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 419 15 419 18+                                      , srcInfoPoints = []+                                      }+                                    (Symbol+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 419 15 419 18+                                         , srcInfoPoints = []+                                         }+                                       ".+^")))+                              (App+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 419 19 419 32+                                   , srcInfoPoints = []+                                   }+                                 (App+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 419 19 419 30+                                      , srcInfoPoints = []+                                      }+                                    (Var+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 419 19 419 23+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 419 19 419 23+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 419 19 419 23+                                               , srcInfoPoints = []+                                               }+                                             "fmap")))+                                    (Var+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 419 24 419 30+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 419 24 419 30+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 419 24 419 30+                                               , srcInfoPoints = []+                                               }+                                             "negate"))))+                                 (Var+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 419 31 419 32+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 419 31 419 32+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 419 31 419 32+                                            , srcInfoPoints = []+                                            }+                                          "v"))))))+                        Nothing+                    ])+             ])+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 425 1 425 49+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 425 26 425 27 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 425 1 425 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 425 9 425 25+               , srcInfoPoints = []+               }+             (DHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 425 9 425 23+                  , srcInfoPoints = []+                  }+                (DHead+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 425 9 425 21+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 425 9 425 21+                        , srcInfoPoints = []+                        }+                      "WrapAdditive"))+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 425 22 425 23+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 425 22 425 23+                        , srcInfoPoints = []+                        }+                      "f")))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 425 24 425 25+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 425 24 425 25+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 425 28 425 49+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 425 28 425 49+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 425 28 425 43+                      , srcInfoPoints = []+                      }+                    "WrappedAdditive")+                 [ TyParen+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 425 44 425 49+                       , srcInfoPoints =+                           [ SrcSpan "tests/examples/DerivingVia.hs" 425 44 425 45+                           , SrcSpan "tests/examples/DerivingVia.hs" 425 48 425 49+                           ]+                       }+                     (TyApp+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 425 45 425 48+                          , srcInfoPoints = []+                          }+                        (TyVar+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 425 45 425 46+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 425 45 425 46+                                , srcInfoPoints = []+                                }+                              "f"))+                        (TyVar+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 425 47 425 48+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 425 47 425 48+                                , srcInfoPoints = []+                                }+                              "a")))+                 ])+          ]+          []+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 427 1 435 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 427 1 427 9+                , SrcSpan "tests/examples/DerivingVia.hs" 427 48 427 53+                , SrcSpan "tests/examples/DerivingVia.hs" 428 3 428 3+                , SrcSpan "tests/examples/DerivingVia.hs" 430 3 430 3+                , SrcSpan "tests/examples/DerivingVia.hs" 431 3 431 3+                , SrcSpan "tests/examples/DerivingVia.hs" 432 3 432 3+                , SrcSpan "tests/examples/DerivingVia.hs" 435 1 435 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 47+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxSingle+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 23+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 427 21 427 23 ]+                     }+                   (TypeA+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 23+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DerivingVia.hs" 427 21 427 23 ]+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 23+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingVia.hs" 427 21 427 23 ]+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 23+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/DerivingVia.hs" 427 21 427 23 ]+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 18+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 18+                                    , srcInfoPoints = []+                                    }+                                  "Additive")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 427 19 427 20+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 427 19 427 20+                                 , srcInfoPoints = []+                                 }+                               "f"))))))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 427 24 427 47+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 427 24 427 30+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 427 24 427 30+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 427 24 427 30+                           , srcInfoPoints = []+                           }+                         "Affine")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 427 31 427 47+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 427 31 427 32+                         , SrcSpan "tests/examples/DerivingVia.hs" 427 46 427 47+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 427 32 427 46+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 427 32 427 44+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 427 32 427 44+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 427 32 427 44+                                 , srcInfoPoints = []+                                 }+                               "WrapAdditive")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 427 45 427 46+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 427 45 427 46+                              , srcInfoPoints = []+                              }+                            "f"))))))+          (Just+             [ InsType+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 428 3 428 33+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 428 3 428 7+                       , SrcSpan "tests/examples/DerivingVia.hs" 428 30 428 31+                       ]+                   }+                 (TyApp+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 428 8 428 29+                      , srcInfoPoints = []+                      }+                    (TyCon+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 428 8 428 12+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 428 8 428 12+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 428 8 428 12+                               , srcInfoPoints = []+                               }+                             "Diff")))+                    (TyParen+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 428 13 428 29+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 428 13 428 14+                             , SrcSpan "tests/examples/DerivingVia.hs" 428 28 428 29+                             ]+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 428 14 428 28+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 428 14 428 26+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 428 14 428 26+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 428 14 428 26+                                     , srcInfoPoints = []+                                     }+                                   "WrapAdditive")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 428 27 428 28+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 428 27 428 28+                                  , srcInfoPoints = []+                                  }+                                "f")))))+                 (TyVar+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 428 32 428 33+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 428 32 428 33+                         , srcInfoPoints = []+                         }+                       "f"))+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 430 3 430 52+                   , srcInfoPoints = []+                   }+                 (FunBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 430 3 430 52+                      , srcInfoPoints = []+                      }+                    [ InfixMatch+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 430 3 430 52+                          , srcInfoPoints = []+                          }+                        (PApp+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 430 3 430 20+                             , srcInfoPoints = []+                             }+                           (UnQual+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 430 3 430 18+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 430 3 430 18+                                   , srcInfoPoints = []+                                   }+                                 "WrappedAdditive"))+                           [ PVar+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 430 19 430 20+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 430 19 430 20+                                    , srcInfoPoints = []+                                    }+                                  "a")+                           ])+                        (Symbol+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 430 21 430 24+                             , srcInfoPoints = []+                             }+                           ".-.")+                        [ PApp+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 430 25 430 42+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 430 25 430 40+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 430 25 430 40+                                    , srcInfoPoints = []+                                    }+                                  "WrappedAdditive"))+                            [ PVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 430 41 430 42+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 430 41 430 42+                                     , srcInfoPoints = []+                                     }+                                   "b")+                            ]+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 430 43 430 52+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/DerivingVia.hs" 430 43 430 44 ]+                             }+                           (InfixApp+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 430 45 430 52+                                , srcInfoPoints = []+                                }+                              (Var+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 430 45 430 46+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 430 45 430 46+                                      , srcInfoPoints = []+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 430 45 430 46+                                         , srcInfoPoints = []+                                         }+                                       "a")))+                              (QVarOp+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 430 47 430 50+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 430 47 430 50+                                      , srcInfoPoints = []+                                      }+                                    (Symbol+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 430 47 430 50+                                         , srcInfoPoints = []+                                         }+                                       "^-^")))+                              (Var+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 430 51 430 52+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 430 51 430 52+                                      , srcInfoPoints = []+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 430 51 430 52+                                         , srcInfoPoints = []+                                         }+                                       "b")))))+                        Nothing+                    ])+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 431 3 431 54+                   , srcInfoPoints = []+                   }+                 (FunBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 431 3 431 54+                      , srcInfoPoints = []+                      }+                    [ InfixMatch+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 431 3 431 54+                          , srcInfoPoints = []+                          }+                        (PApp+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 431 3 431 20+                             , srcInfoPoints = []+                             }+                           (UnQual+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 431 3 431 18+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 431 3 431 18+                                   , srcInfoPoints = []+                                   }+                                 "WrappedAdditive"))+                           [ PVar+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 431 19 431 20+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 431 19 431 20+                                    , srcInfoPoints = []+                                    }+                                  "a")+                           ])+                        (Symbol+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 431 21 431 24+                             , srcInfoPoints = []+                             }+                           ".+^")+                        [ PVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 431 25 431 26+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 431 25 431 26+                                 , srcInfoPoints = []+                                 }+                               "b")+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 431 27 431 54+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/DerivingVia.hs" 431 27 431 28 ]+                             }+                           (App+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 431 29 431 54+                                , srcInfoPoints = []+                                }+                              (Con+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 431 29 431 44+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 431 29 431 44+                                      , srcInfoPoints = []+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 431 29 431 44+                                         , srcInfoPoints = []+                                         }+                                       "WrappedAdditive")))+                              (Paren+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 431 45 431 54+                                   , srcInfoPoints =+                                       [ SrcSpan "tests/examples/DerivingVia.hs" 431 45 431 46+                                       , SrcSpan "tests/examples/DerivingVia.hs" 431 53 431 54+                                       ]+                                   }+                                 (InfixApp+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 431 46 431 53+                                      , srcInfoPoints = []+                                      }+                                    (Var+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 431 46 431 47+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 431 46 431 47+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 431 46 431 47+                                               , srcInfoPoints = []+                                               }+                                             "a")))+                                    (QVarOp+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 431 48 431 51+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 431 48 431 51+                                            , srcInfoPoints = []+                                            }+                                          (Symbol+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 431 48 431 51+                                               , srcInfoPoints = []+                                               }+                                             "^+^")))+                                    (Var+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 431 52 431 53+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 431 52 431 53+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 431 52 431 53+                                               , srcInfoPoints = []+                                               }+                                             "b")))))))+                        Nothing+                    ])+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 432 3 432 54+                   , srcInfoPoints = []+                   }+                 (FunBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 432 3 432 54+                      , srcInfoPoints = []+                      }+                    [ InfixMatch+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 432 3 432 54+                          , srcInfoPoints = []+                          }+                        (PApp+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 432 3 432 20+                             , srcInfoPoints = []+                             }+                           (UnQual+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 432 3 432 18+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 432 3 432 18+                                   , srcInfoPoints = []+                                   }+                                 "WrappedAdditive"))+                           [ PVar+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 432 19 432 20+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 432 19 432 20+                                    , srcInfoPoints = []+                                    }+                                  "a")+                           ])+                        (Symbol+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 432 21 432 24+                             , srcInfoPoints = []+                             }+                           ".-^")+                        [ PVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 432 25 432 26+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 432 25 432 26+                                 , srcInfoPoints = []+                                 }+                               "b")+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 432 27 432 54+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/DerivingVia.hs" 432 27 432 28 ]+                             }+                           (App+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 432 29 432 54+                                , srcInfoPoints = []+                                }+                              (Con+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 432 29 432 44+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 432 29 432 44+                                      , srcInfoPoints = []+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 432 29 432 44+                                         , srcInfoPoints = []+                                         }+                                       "WrappedAdditive")))+                              (Paren+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 432 45 432 54+                                   , srcInfoPoints =+                                       [ SrcSpan "tests/examples/DerivingVia.hs" 432 45 432 46+                                       , SrcSpan "tests/examples/DerivingVia.hs" 432 53 432 54+                                       ]+                                   }+                                 (InfixApp+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 432 46 432 53+                                      , srcInfoPoints = []+                                      }+                                    (Var+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 432 46 432 47+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 432 46 432 47+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 432 46 432 47+                                               , srcInfoPoints = []+                                               }+                                             "a")))+                                    (QVarOp+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 432 48 432 51+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 432 48 432 51+                                            , srcInfoPoints = []+                                            }+                                          (Symbol+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 432 48 432 51+                                               , srcInfoPoints = []+                                               }+                                             "^-^")))+                                    (Var+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 432 52 432 53+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/DerivingVia.hs" 432 52 432 53+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DerivingVia.hs" 432 52 432 53+                                               , srcInfoPoints = []+                                               }+                                             "b")))))))+                        Nothing+                    ])+             ])+      , DerivDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 435 1 435 62+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 435 1 435 9+                , SrcSpan "tests/examples/DerivingVia.hs" 435 38 435 46+                ]+            }+          (Just+             (DerivVia+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 435 10 435 13+                  , srcInfoPoints = []+                  }+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 435 14 435 37+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 435 14 435 15+                         , SrcSpan "tests/examples/DerivingVia.hs" 435 36 435 37+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 435 15 435 36+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 435 15 435 27+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 435 15 435 27+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 435 15 435 27+                                 , srcInfoPoints = []+                                 }+                               "WrapAdditive")))+                      (TyParen+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 435 28 435 36+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingVia.hs" 435 28 435 29+                               , SrcSpan "tests/examples/DerivingVia.hs" 435 35 435 36+                               ]+                           }+                         (TyApp+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 435 29 435 35+                              , srcInfoPoints = []+                              }+                            (TyCon+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 435 29 435 33+                                 , srcInfoPoints =+                                     [ SrcSpan "tests/examples/DerivingVia.hs" 435 29 435 30+                                     , SrcSpan "tests/examples/DerivingVia.hs" 435 30 435 32+                                     , SrcSpan "tests/examples/DerivingVia.hs" 435 32 435 33+                                     ]+                                 }+                               (Special+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 435 29 435 33+                                    , srcInfoPoints =+                                        [ SrcSpan "tests/examples/DerivingVia.hs" 435 29 435 30+                                        , SrcSpan "tests/examples/DerivingVia.hs" 435 30 435 32+                                        , SrcSpan "tests/examples/DerivingVia.hs" 435 32 435 33+                                        ]+                                    }+                                  (FunCon+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia.hs" 435 29 435 33+                                       , srcInfoPoints =+                                           [ SrcSpan "tests/examples/DerivingVia.hs" 435 29 435 30+                                           , SrcSpan "tests/examples/DerivingVia.hs" 435 30 435 32+                                           , SrcSpan "tests/examples/DerivingVia.hs" 435 32 435 33+                                           ]+                                       })))+                            (TyVar+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 435 34 435 35+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 435 34 435 35+                                    , srcInfoPoints = []+                                    }+                                  "a"))))))))+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 435 47 435 62+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 435 47 435 62+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 435 47 435 53+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 435 47 435 53+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 435 47 435 53+                           , srcInfoPoints = []+                           }+                         "Affine")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 435 54 435 62+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 435 54 435 55+                         , SrcSpan "tests/examples/DerivingVia.hs" 435 61 435 62+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 435 55 435 61+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 435 55 435 59+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingVia.hs" 435 55 435 56+                               , SrcSpan "tests/examples/DerivingVia.hs" 435 56 435 58+                               , SrcSpan "tests/examples/DerivingVia.hs" 435 58 435 59+                               ]+                           }+                         (Special+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 435 55 435 59+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/DerivingVia.hs" 435 55 435 56+                                  , SrcSpan "tests/examples/DerivingVia.hs" 435 56 435 58+                                  , SrcSpan "tests/examples/DerivingVia.hs" 435 58 435 59+                                  ]+                              }+                            (FunCon+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 435 55 435 59+                                 , srcInfoPoints =+                                     [ SrcSpan "tests/examples/DerivingVia.hs" 435 55 435 56+                                     , SrcSpan "tests/examples/DerivingVia.hs" 435 56 435 58+                                     , SrcSpan "tests/examples/DerivingVia.hs" 435 58 435 59+                                     ]+                                 })))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 435 60 435 61+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 435 60 435 61+                              , srcInfoPoints = []+                              }+                            "a"))))))+      , DerivDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 437 1 437 56+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 437 1 437 9+                , SrcSpan "tests/examples/DerivingVia.hs" 437 38 437 46+                ]+            }+          (Just+             (DerivVia+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 437 10 437 13+                  , srcInfoPoints = []+                  }+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 437 14 437 31+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 437 14 437 15+                         , SrcSpan "tests/examples/DerivingVia.hs" 437 30 437 31+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 437 15 437 30+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 437 15 437 27+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 437 15 437 27+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 437 15 437 27+                                 , srcInfoPoints = []+                                 }+                               "WrapAdditive")))+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 437 28 437 30+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingVia.hs" 437 28 437 29+                               , SrcSpan "tests/examples/DerivingVia.hs" 437 29 437 30+                               ]+                           }+                         (Special+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 437 28 437 30+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/DerivingVia.hs" 437 28 437 29+                                  , SrcSpan "tests/examples/DerivingVia.hs" 437 29 437 30+                                  ]+                              }+                            (ListCon+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 437 28 437 30+                                 , srcInfoPoints =+                                     [ SrcSpan "tests/examples/DerivingVia.hs" 437 28 437 29+                                     , SrcSpan "tests/examples/DerivingVia.hs" 437 29 437 30+                                     ]+                                 })))))))+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 437 47 437 56+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 437 47 437 56+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 437 47 437 53+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 437 47 437 53+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 437 47 437 53+                           , srcInfoPoints = []+                           }+                         "Affine")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 437 54 437 56+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 437 54 437 55+                         , SrcSpan "tests/examples/DerivingVia.hs" 437 55 437 56+                         ]+                     }+                   (Special+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 437 54 437 56+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DerivingVia.hs" 437 54 437 55+                            , SrcSpan "tests/examples/DerivingVia.hs" 437 55 437 56+                            ]+                        }+                      (ListCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 437 54 437 56+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/DerivingVia.hs" 437 54 437 55+                               , SrcSpan "tests/examples/DerivingVia.hs" 437 55 437 56+                               ]+                           })))))+      , DerivDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 439 1 439 61+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 439 1 439 9+                , SrcSpan "tests/examples/DerivingVia.hs" 439 38 439 46+                ]+            }+          (Just+             (DerivVia+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 439 10 439 13+                  , srcInfoPoints = []+                  }+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 439 14 439 36+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 439 14 439 15+                         , SrcSpan "tests/examples/DerivingVia.hs" 439 35 439 36+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 439 15 439 35+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 439 15 439 27+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 439 15 439 27+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 439 15 439 27+                                 , srcInfoPoints = []+                                 }+                               "WrapAdditive")))+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 439 28 439 35+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 439 28 439 35+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 439 28 439 35+                                 , srcInfoPoints = []+                                 }+                               "Complex")))))))+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 439 47 439 61+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 439 47 439 61+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 439 47 439 53+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 439 47 439 53+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 439 47 439 53+                           , srcInfoPoints = []+                           }+                         "Affine")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 439 54 439 61+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 439 54 439 61+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 439 54 439 61+                           , srcInfoPoints = []+                           }+                         "Complex")))))+      , DerivDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 441 1 441 59+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 441 1 441 9+                , SrcSpan "tests/examples/DerivingVia.hs" 441 38 441 46+                ]+            }+          (Just+             (DerivVia+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 441 10 441 13+                  , srcInfoPoints = []+                  }+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 441 14 441 34+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 441 14 441 15+                         , SrcSpan "tests/examples/DerivingVia.hs" 441 33 441 34+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 441 15 441 33+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 441 15 441 27+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 441 15 441 27+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 441 15 441 27+                                 , srcInfoPoints = []+                                 }+                               "WrapAdditive")))+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 441 28 441 33+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 441 28 441 33+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 441 28 441 33+                                 , srcInfoPoints = []+                                 }+                               "Maybe")))))))+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 441 47 441 59+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 441 47 441 59+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 441 47 441 53+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 441 47 441 53+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 441 47 441 53+                           , srcInfoPoints = []+                           }+                         "Affine")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 441 54 441 59+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 441 54 441 59+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 441 54 441 59+                           , srcInfoPoints = []+                           }+                         "Maybe")))))+      , DerivDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 443 1 443 61+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 443 1 443 9+                , SrcSpan "tests/examples/DerivingVia.hs" 443 38 443 46+                ]+            }+          (Just+             (DerivVia+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 443 10 443 13+                  , srcInfoPoints = []+                  }+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 443 14 443 36+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 443 14 443 15+                         , SrcSpan "tests/examples/DerivingVia.hs" 443 35 443 36+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 443 15 443 35+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 443 15 443 27+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 443 15 443 27+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 443 15 443 27+                                 , srcInfoPoints = []+                                 }+                               "WrapAdditive")))+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 443 28 443 35+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 443 28 443 35+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 443 28 443 35+                                 , srcInfoPoints = []+                                 }+                               "ZipList")))))))+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 443 47 443 61+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 443 47 443 61+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 443 47 443 53+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 443 47 443 53+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 443 47 443 53+                           , srcInfoPoints = []+                           }+                         "Affine")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 443 54 443 61+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 443 54 443 61+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 443 54 443 61+                           , srcInfoPoints = []+                           }+                         "ZipList")))))+      , DerivDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 445 1 445 62+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 445 1 445 9+                , SrcSpan "tests/examples/DerivingVia.hs" 445 38 445 46+                ]+            }+          (Just+             (DerivVia+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 445 10 445 13+                  , srcInfoPoints = []+                  }+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 445 14 445 37+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 445 14 445 15+                         , SrcSpan "tests/examples/DerivingVia.hs" 445 36 445 37+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 445 15 445 36+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 445 15 445 27+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 445 15 445 27+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 445 15 445 27+                                 , srcInfoPoints = []+                                 }+                               "WrapAdditive")))+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 445 28 445 36+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 445 28 445 36+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 445 28 445 36+                                 , srcInfoPoints = []+                                 }+                               "Identity")))))))+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 445 47 445 62+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 445 47 445 62+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 445 47 445 53+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 445 47 445 53+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 445 47 445 53+                           , srcInfoPoints = []+                           }+                         "Affine")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 445 54 445 62+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 445 54 445 62+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 445 54 445 62+                           , srcInfoPoints = []+                           }+                         "Identity")))))+      , ClassDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 451 1 452 20+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 451 1 451 6+                , SrcSpan "tests/examples/DerivingVia.hs" 451 16 451 21+                , SrcSpan "tests/examples/DerivingVia.hs" 452 3 452 3+                , SrcSpan "tests/examples/DerivingVia.hs" 454 1 454 0+                ]+            }+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 451 7 451 15+               , srcInfoPoints = []+               }+             (DHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 451 7 451 13+                  , srcInfoPoints = []+                  }+                (DHApp+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 451 7 451 11+                     , srcInfoPoints = []+                     }+                   (DHead+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 451 7 451 9+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 451 7 451 9+                           , srcInfoPoints = []+                           }+                         "C2"))+                   (UnkindedVar+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 451 10 451 11+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 451 10 451 11+                           , srcInfoPoints = []+                           }+                         "a")))+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 451 12 451 13+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 451 12 451 13+                        , srcInfoPoints = []+                        }+                      "b")))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 451 14 451 15+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 451 14 451 15+                     , srcInfoPoints = []+                     }+                   "c")))+          []+          (Just+             [ ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 452 3 452 20+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DerivingVia.hs" 452 6 452 8 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 452 3 452 20+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/DerivingVia.hs" 452 6 452 8 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 452 3 452 5+                          , srcInfoPoints = []+                          }+                        "c2"+                    ]+                    (TyFun+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 452 9 452 20+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 452 11 452 13 ]+                         }+                       (TyVar+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 452 9 452 10+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 452 9 452 10+                               , srcInfoPoints = []+                               }+                             "a"))+                       (TyFun+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 452 14 452 20+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DerivingVia.hs" 452 16 452 18 ]+                            }+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 452 14 452 15+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 452 14 452 15+                                  , srcInfoPoints = []+                                  }+                                "b"))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 452 19 452 20+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 452 19 452 20+                                  , srcInfoPoints = []+                                  }+                                "c")))))+             ])+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 454 1 457 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 454 1 454 9+                , SrcSpan "tests/examples/DerivingVia.hs" 454 29 454 34+                , SrcSpan "tests/examples/DerivingVia.hs" 455 3 455 3+                , SrcSpan "tests/examples/DerivingVia.hs" 457 1 457 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 454 10 454 28+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 454 10 454 28+                  , srcInfoPoints = []+                  }+                (IHApp+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 454 10 454 16+                     , srcInfoPoints = []+                     }+                   (IHApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 454 10 454 14+                        , srcInfoPoints = []+                        }+                      (IHCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 454 10 454 12+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 454 10 454 12+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 454 10 454 12+                                 , srcInfoPoints = []+                                 }+                               "C2")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 454 13 454 14+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 454 13 454 14+                              , srcInfoPoints = []+                              }+                            "a")))+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 454 15 454 16+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 454 15 454 16+                           , srcInfoPoints = []+                           }+                         "b")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 454 17 454 28+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia.hs" 454 17 454 18+                         , SrcSpan "tests/examples/DerivingVia.hs" 454 27 454 28+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia.hs" 454 18 454 27+                        , srcInfoPoints = []+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 454 18 454 25+                           , srcInfoPoints = []+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 454 18 454 23+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 454 18 454 23+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia.hs" 454 18 454 23+                                    , srcInfoPoints = []+                                    }+                                  "Const")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 454 24 454 25+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia.hs" 454 24 454 25+                                 , srcInfoPoints = []+                                 }+                               "a")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia.hs" 454 26 454 27+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia.hs" 454 26 454 27+                              , srcInfoPoints = []+                              }+                            "b"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 455 3 455 19+                   , srcInfoPoints = []+                   }+                 (FunBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 455 3 455 19+                      , srcInfoPoints = []+                      }+                    [ Match+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 455 3 455 19+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 455 3 455 5+                             , srcInfoPoints = []+                             }+                           "c2")+                        [ PVar+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 455 6 455 7+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 455 6 455 7+                                 , srcInfoPoints = []+                                 }+                               "x")+                        , PWildCard+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 455 8 455 9+                              , srcInfoPoints = []+                              }+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 455 10 455 19+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/DerivingVia.hs" 455 10 455 11 ]+                             }+                           (App+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 455 12 455 19+                                , srcInfoPoints = []+                                }+                              (Con+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 455 12 455 17+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 455 12 455 17+                                      , srcInfoPoints = []+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 455 12 455 17+                                         , srcInfoPoints = []+                                         }+                                       "Const")))+                              (Var+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 455 18 455 19+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 455 18 455 19+                                      , srcInfoPoints = []+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DerivingVia.hs" 455 18 455 19+                                         , srcInfoPoints = []+                                         }+                                       "x")))))+                        Nothing+                    ])+             ])+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingVia.hs" 457 1 458 20+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia.hs" 457 18 457 19 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 457 1 457 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia.hs" 457 9 457 17+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 457 9 457 15+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 457 9 457 15+                     , srcInfoPoints = []+                     }+                   "Fweemp"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia.hs" 457 16 457 17+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia.hs" 457 16 457 17+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 457 20 457 28+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia.hs" 457 20 457 28+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 457 20 457 26+                      , srcInfoPoints = []+                      }+                    "Fweemp")+                 [ TyVar+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 457 27 457 28+                       , srcInfoPoints = []+                       }+                     (Ident+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 457 27 457 28+                          , srcInfoPoints = []+                          }+                        "a")+                 ])+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia.hs" 458 3 458 20+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia.hs" 458 3 458 11 ]+                }+              (Just+                 (DerivVia+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia.hs" 459 8 459 11+                      , srcInfoPoints = []+                      }+                    (TyParen+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia.hs" 459 12 459 33+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia.hs" 459 12 459 13+                             , SrcSpan "tests/examples/DerivingVia.hs" 459 32 459 33+                             ]+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia.hs" 459 13 459 32+                            , srcInfoPoints = []+                            }+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 459 13 459 20+                               , srcInfoPoints = []+                               }+                             (TyCon+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 459 13 459 18+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 459 13 459 18+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 459 13 459 18+                                        , srcInfoPoints = []+                                        }+                                      "Const")))+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 459 19 459 20+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 459 19 459 20+                                     , srcInfoPoints = []+                                     }+                                   "a")))+                          (TyKind+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia.hs" 459 21 459 32+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia.hs" 459 21 459 22+                                   , SrcSpan "tests/examples/DerivingVia.hs" 459 24 459 26+                                   , SrcSpan "tests/examples/DerivingVia.hs" 459 31 459 32+                                   ]+                               }+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 459 22 459 23+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 459 22 459 23+                                     , srcInfoPoints = []+                                     }+                                   "b"))+                             (TyCon+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia.hs" 459 27 459 31+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia.hs" 459 27 459 31+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DerivingVia.hs" 459 27 459 31+                                        , srcInfoPoints = []+                                        }+                                      "Type"))))))))+              [ IParen+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia.hs" 458 12 458 20+                    , srcInfoPoints =+                        [ SrcSpan "tests/examples/DerivingVia.hs" 458 12 458 13+                        , SrcSpan "tests/examples/DerivingVia.hs" 458 19 458 20+                        ]+                    }+                  (IRule+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia.hs" 458 13 458 19+                       , srcInfoPoints = []+                       }+                     Nothing+                     Nothing+                     (IHApp+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia.hs" 458 13 458 19+                          , srcInfoPoints = []+                          }+                        (IHApp+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 458 13 458 17+                             , srcInfoPoints = []+                             }+                           (IHCon+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 458 13 458 15+                                , srcInfoPoints = []+                                }+                              (UnQual+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 458 13 458 15+                                   , srcInfoPoints = []+                                   }+                                 (Ident+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DerivingVia.hs" 458 13 458 15+                                      , srcInfoPoints = []+                                      }+                                    "C2")))+                           (TyVar+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 458 16 458 17+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia.hs" 458 16 458 17+                                   , srcInfoPoints = []+                                   }+                                 "a")))+                        (TyVar+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia.hs" 458 18 458 19+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia.hs" 458 18 458 19+                                , srcInfoPoints = []+                                }+                              "b"))))+              ]+          ]+      ]+  , [ Comment+        False (SrcSpan "tests/examples/DerivingVia.hs" 38 1 38 6) "---"+    , Comment+        False+        (SrcSpan "tests/examples/DerivingVia.hs" 39 1 39 18)+        " Simple example"+    , Comment+        False (SrcSpan "tests/examples/DerivingVia.hs" 40 1 40 6) "---"+    , Comment+        False (SrcSpan "tests/examples/DerivingVia.hs" 46 1 46 6) "---"+    , Comment+        False+        (SrcSpan "tests/examples/DerivingVia.hs" 47 1 47 25)+        " Eta reduction at work"+    , Comment+        False (SrcSpan "tests/examples/DerivingVia.hs" 48 1 48 6) "---"+    , Comment+        False (SrcSpan "tests/examples/DerivingVia.hs" 62 1 62 6) "---"+    , Comment+        False+        (SrcSpan "tests/examples/DerivingVia.hs" 63 1 63 22)+        " Monad transformers"+    , Comment+        False (SrcSpan "tests/examples/DerivingVia.hs" 64 1 64 6) "---"+    , Comment+        False+        (SrcSpan "tests/examples/DerivingVia.hs" 68 1 68 22)+        " From `constraints'"+    , Comment+        False+        (SrcSpan "tests/examples/DerivingVia.hs" 78 1 78 52)+        " With `-XQuantifiedConstraints' this just becomes"+    , Comment+        False (SrcSpan "tests/examples/DerivingVia.hs" 79 1 79 3) ""+    , Comment+        False+        (SrcSpan "tests/examples/DerivingVia.hs" 80 1 80 68)+        "    type Lifting cls  trans = forall mm. cls mm => cls (trans mm)"+    , Comment+        False (SrcSpan "tests/examples/DerivingVia.hs" 81 1 81 3) ""+    , Comment+        False+        (SrcSpan "tests/examples/DerivingVia.hs" 82 1 82 52)+        "    type LiftingMonad trans = Lifting Monad trans"+    , Comment+        False (SrcSpan "tests/examples/DerivingVia.hs" 83 1 83 3) ""+    , Comment+        False (SrcSpan "tests/examples/DerivingVia.hs" 142 1 142 6) "---"+    , Comment+        False+        (SrcSpan "tests/examples/DerivingVia.hs" 143 1 143 32)+        " Using tuples in a `via` type"+    , Comment+        False (SrcSpan "tests/examples/DerivingVia.hs" 144 1 144 6) "---"+    , Comment+        False (SrcSpan "tests/examples/DerivingVia.hs" 153 1 153 6) "---"+    , Comment+        False+        (SrcSpan "tests/examples/DerivingVia.hs" 154 1 154 23)+        " Abstract data types"+    , Comment+        False (SrcSpan "tests/examples/DerivingVia.hs" 155 1 155 6) "---"+    , Comment+        False (SrcSpan "tests/examples/DerivingVia.hs" 167 1 167 5) "--"+    , Comment+        False+        (SrcSpan "tests/examples/DerivingVia.hs" 168 1 168 18)+        " Testing parser"+    , Comment+        False (SrcSpan "tests/examples/DerivingVia.hs" 169 1 169 5) "--"+    , Comment+        False (SrcSpan "tests/examples/DerivingVia.hs" 183 1 183 5) "--"+    , Comment+        False+        (SrcSpan "tests/examples/DerivingVia.hs" 184 1 184 23)+        " From Baldur's notes"+    , Comment+        False (SrcSpan "tests/examples/DerivingVia.hs" 185 1 185 5) "--"+    , Comment+        False (SrcSpan "tests/examples/DerivingVia.hs" 187 1 187 5) "--"+    , Comment+        False (SrcSpan "tests/examples/DerivingVia.hs" 188 1 188 5) " 1"+    , Comment+        False (SrcSpan "tests/examples/DerivingVia.hs" 189 1 189 5) "--"+    , Comment+        False (SrcSpan "tests/examples/DerivingVia.hs" 227 1 227 5) "--"+    , Comment+        False (SrcSpan "tests/examples/DerivingVia.hs" 228 1 228 5) " 2"+    , Comment+        False (SrcSpan "tests/examples/DerivingVia.hs" 229 1 229 5) "--"+    , Comment+        False (SrcSpan "tests/examples/DerivingVia.hs" 243 1 243 8) " data"+    , Comment+        False (SrcSpan "tests/examples/DerivingVia.hs" 262 1 262 5) "--"+    , Comment+        False (SrcSpan "tests/examples/DerivingVia.hs" 263 1 263 5) " 3"+    , Comment+        False (SrcSpan "tests/examples/DerivingVia.hs" 264 1 264 5) "--"+    , Comment+        False (SrcSpan "tests/examples/DerivingVia.hs" 290 1 290 5) "--"+    , Comment+        False (SrcSpan "tests/examples/DerivingVia.hs" 291 1 291 5) " 4"+    , Comment+        False (SrcSpan "tests/examples/DerivingVia.hs" 292 1 292 5) "--"+    , Comment+        False (SrcSpan "tests/examples/DerivingVia.hs" 324 1 324 5) "--"+    , Comment+        False (SrcSpan "tests/examples/DerivingVia.hs" 325 1 325 5) " 5"+    , Comment+        False (SrcSpan "tests/examples/DerivingVia.hs" 326 1 326 5) "--"+    , Comment+        False (SrcSpan "tests/examples/DerivingVia.hs" 340 1 340 5) "--"+    , Comment+        False (SrcSpan "tests/examples/DerivingVia.hs" 341 1 341 5) " 6"+    , Comment+        False (SrcSpan "tests/examples/DerivingVia.hs" 342 1 342 5) "--"+    , Comment+        False+        (SrcSpan "tests/examples/DerivingVia.hs" 343 1 343 116)+        " https://github.com/mikeizbicki/subhask/blob/f53fd8f465747681c88276c7dabe3646fbdf7d50/src/SubHask/Algebra.hs#L635"+    , Comment+        False+        (SrcSpan "tests/examples/DerivingVia.hs" 360 1 360 19)+        "mkLattice_(Bool)"+    , Comment+        False+        (SrcSpan "tests/examples/DerivingVia.hs" 362 1 362 19)+        "mkLattice_(Char)"+    , Comment+        False+        (SrcSpan "tests/examples/DerivingVia.hs" 364 1 364 18)+        "mkLattice_(Int)"+    , Comment+        False+        (SrcSpan "tests/examples/DerivingVia.hs" 366 1 366 22)+        "mkLattice_(Integer)"+    , Comment+        False+        (SrcSpan "tests/examples/DerivingVia.hs" 368 1 368 20)+        "mkLattice_(Float)"+    , Comment+        False+        (SrcSpan "tests/examples/DerivingVia.hs" 370 1 370 21)+        "mkLattice_(Double)"+    , Comment+        False+        (SrcSpan "tests/examples/DerivingVia.hs" 372 1 372 23)+        "mkLattice_(Rational)"+    , Comment+        False (SrcSpan "tests/examples/DerivingVia.hs" 375 1 375 5) "--"+    , Comment+        False (SrcSpan "tests/examples/DerivingVia.hs" 376 1 376 5) " 7"+    , Comment+        False (SrcSpan "tests/examples/DerivingVia.hs" 377 1 377 5) "--"+    , Comment+        False+        (SrcSpan "tests/examples/DerivingVia.hs" 378 1 378 81)+        " https://hackage.haskell.org/package/linear-1.20.7/docs/src/Linear-Affine.html"+    , Comment+        False+        (SrcSpan "tests/examples/DerivingVia.hs" 421 1 421 79)+        " #define ADDITIVEC(CTX,T) instance CTX => Affine T where type Diff T = T ; \\"+    , Comment+        False+        (SrcSpan "tests/examples/DerivingVia.hs" 422 1 422 85)+        "   (.-.) = (^-^) ; {-# INLINE (.-.) #-} ; (.+^) = (^+^) ; {-# INLINE (.+^) #-} ; \\"+    , Comment+        False+        (SrcSpan "tests/examples/DerivingVia.hs" 423 1 423 42)+        "   (.-^) = (^-^) ; {-# INLINE (.-^) #-}"+    , Comment+        False+        (SrcSpan "tests/examples/DerivingVia.hs" 424 1 424 40)+        " #define ADDITIVE(T) ADDITIVEC((), T)"+    , Comment+        False+        (SrcSpan "tests/examples/DerivingVia.hs" 434 1 434 22)+        " ADDITIVE(((->) a))"+    , Comment+        False+        (SrcSpan "tests/examples/DerivingVia.hs" 436 1 436 16)+        " ADDITIVE([])"+    , Comment+        False+        (SrcSpan "tests/examples/DerivingVia.hs" 438 1 438 21)+        " ADDITIVE(Complex)"+    , Comment+        False+        (SrcSpan "tests/examples/DerivingVia.hs" 440 1 440 19)+        " ADDITIVE(Maybe)"+    , Comment+        False+        (SrcSpan "tests/examples/DerivingVia.hs" 442 1 442 21)+        " ADDITIVE(ZipList)"+    , Comment+        False+        (SrcSpan "tests/examples/DerivingVia.hs" 444 1 444 22)+        " ADDITIVE(Identity)"+    , Comment+        False (SrcSpan "tests/examples/DerivingVia.hs" 447 1 447 5) "--"+    , Comment+        False (SrcSpan "tests/examples/DerivingVia.hs" 448 1 448 5) " 8"+    , Comment+        False (SrcSpan "tests/examples/DerivingVia.hs" 449 1 449 5) "--"+    ]+  )
+ tests/examples/DerivingVia.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/DerivingVia.hs.prettyprinter.golden view
@@ -0,0 +1,418 @@+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DerivingVia #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE InstanceSigs #-}+{-# LANGUAGE TypeInType #-}+{-# LANGUAGE GADTs #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE MultiWayIf #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE UndecidableInstances #-}+module DerivingVia where+import Data.Void+import Data.Complex+import Data.Functor.Const+import Data.Functor.Identity+import Data.Ratio+import Control.Monad.Reader+import Control.Monad.State+import Control.Monad.Writer+import Control.Applicative hiding (WrappedMonad(..))+import Data.Bifunctor+import Data.Monoid+import Data.Kind++type f ~> g = forall xx . f xx -> g xx++data Foo a = MkFoo a a+               deriving Show via (Identity (Foo a))++newtype Flip p a b = Flip{runFlip :: p b a}++instance Bifunctor p => Bifunctor (Flip p) where+        bimap f g = Flip . bimap g f . runFlip++instance Bifunctor p => Functor (Flip p a) where+        fmap f = Flip . first f . runFlip++newtype Bar a = MkBar (Either a Int)+                  deriving Functor via (Flip Either Int)++type MTrans = (Type -> Type) -> (Type -> Type)++data Dict c where+        Dict :: c => Dict c++newtype a :- b = Sub (a => Dict b)++infixl 1 \\++(\\) :: a => (b => r) -> (a :- b) -> r+r \\ Sub Dict = r++class LiftingMonad (trans :: MTrans) where+        proof :: Monad m :- Monad (trans m)++instance LiftingMonad (StateT s :: MTrans) where+        proof :: Monad m :- Monad (StateT s m)+        proof = Sub Dict++instance Monoid w => LiftingMonad (WriterT w :: MTrans) where+        proof :: Monad m :- Monad (WriterT w m)+        proof = Sub Dict++instance (LiftingMonad trans, LiftingMonad trans') =>+         LiftingMonad (ComposeT trans trans' :: MTrans)+         where+        proof :: forall m . Monad m :- Monad (ComposeT trans trans' m)+        proof = Sub (Dict \\ proof @trans @(trans' m) \\ proof @trans' @m)++newtype Stack :: MTrans where+        Stack ::+          ReaderT Int (StateT Bool (WriterT String m)) a -> Stack m a+    deriving newtype (Functor, Applicative, Monad, MonadReader Int,+                      MonadState Bool, MonadWriter String)+    deriving (MonadTrans, MFunctor) via (ReaderT Int `ComposeT`+                                           StateT Bool `ComposeT` WriterT String)++class MFunctor (trans :: MTrans) where+        hoist :: Monad m => (m ~> m') -> (trans m ~> trans m')++instance MFunctor (ReaderT r :: MTrans) where+        hoist :: Monad m => (m ~> m') -> (ReaderT r m ~> ReaderT r m')+        hoist nat = ReaderT . fmap nat . runReaderT++instance MFunctor (StateT s :: MTrans) where+        hoist :: Monad m => (m ~> m') -> (StateT s m ~> StateT s m')+        hoist nat = StateT . fmap nat . runStateT++instance MFunctor (WriterT w :: MTrans) where+        hoist :: Monad m => (m ~> m') -> (WriterT w m ~> WriterT w m')+        hoist nat = WriterT . nat . runWriterT++infixr 9 `ComposeT`++newtype ComposeT :: MTrans -> MTrans -> MTrans where+        ComposeT :: {getComposeT :: f (g m) a} -> ComposeT f g m a+    deriving newtype (Functor, Applicative, Monad)++instance (MonadTrans f, MonadTrans g, LiftingMonad g) =>+         MonadTrans (ComposeT f g)+         where+        lift :: forall m . Monad m => m ~> ComposeT f g m+        lift = ComposeT . lift . lift \\ proof @g @m++instance (MFunctor f, MFunctor g, LiftingMonad g) =>+         MFunctor (ComposeT f g)+         where+        hoist ::+              forall m m' . Monad m =>+                (m ~> m') -> (ComposeT f g m ~> ComposeT f g m')+        hoist f = ComposeT . hoist (hoist f) . getComposeT \\ proof @g @m++newtype X a = X (a, a)+                deriving (Semigroup, Monoid) via (Product a, Sum a)+                deriving (Show, Eq) via (a, a)++class C f where+        c :: f a -> Int++newtype X2 f a = X2 (f a)++instance C (X2 f) where+        c = const 0++deriving via (X2 IO) instance C IO++newtype P0 a = P0 a+                 deriving Show via a++newtype P1 a = P1 [a]+                 deriving Show via [a]++newtype P2 a = P2 (a, a)+                 deriving Show via (a, a)++newtype P3 a = P3 (Maybe a)+                 deriving Show via (First a)++newtype P4 a = P4 (Maybe a)+                 deriving Show via (First $ a)++newtype P5 a = P5 a+                 deriving Show via (Identity $ a)++newtype P6 a = P6 [a]+                 deriving Show via ([] $ a)++newtype P7 a = P7 (a, a)+                 deriving Show via (Identity $ (a, a))++newtype P8 a = P8 (Either () a)+                 deriving Functor via (($) (Either ()))++newtype f $ a = APP (f a)+                  deriving newtype Show+                  deriving newtype Functor++newtype WrapApplicative f a = WrappedApplicative (f a)+                                deriving (Functor, Applicative)++instance (Applicative f, Num a) => Num (WrapApplicative f a) where+        (+) = liftA2 (+)+        (*) = liftA2 (*)+        negate = fmap negate+        fromInteger = pure . fromInteger+        abs = fmap abs+        signum = fmap signum++instance (Applicative f, Fractional a) =>+         Fractional (WrapApplicative f a)+         where+        recip = fmap recip+        fromRational = pure . fromRational++instance (Applicative f, Floating a) =>+         Floating (WrapApplicative f a)+         where+        pi = pure pi+        sqrt = fmap sqrt+        exp = fmap exp+        log = fmap log+        sin = fmap sin+        cos = fmap cos+        asin = fmap asin+        atan = fmap atan+        acos = fmap acos+        sinh = fmap sinh+        cosh = fmap cosh+        asinh = fmap asinh+        atanh = fmap atanh+        acosh = fmap acosh++instance (Applicative f, Semigroup s) =>+         Semigroup (WrapApplicative f s)+         where+        (<>) = liftA2 (<>)++instance (Applicative f, Monoid m) => Monoid (WrapApplicative f m)+         where+        mempty = pure mempty++class Pointed p where+        pointed :: a -> p a++newtype WrapMonad f a = WrappedMonad (f a)+                          deriving newtype (Pointed, Monad)++instance (Monad m, Pointed m) => Functor (WrapMonad m) where+        fmap = liftM++instance (Monad m, Pointed m) => Applicative (WrapMonad m) where+        pure = pointed+        (<*>) = ap++data Sorted a = Sorted a a a+                  deriving (Functor, Applicative) via (WrapMonad Sorted)+                  deriving (Num, Fractional, Floating, Semigroup,+                            Monoid) via (WrapApplicative Sorted a)++instance Monad Sorted where+        (>>=) :: Sorted a -> (a -> Sorted b) -> Sorted b+        Sorted a b c >>= f = Sorted a' b' c'+          where Sorted a' _ _ = f a+                Sorted _ b' _ = f b+                Sorted _ _ c' = f c++instance Pointed Sorted where+        pointed :: a -> Sorted a+        pointed a = Sorted a a a++class IsZero a where+        isZero :: a -> Bool++newtype WrappedNumEq a = WrappedNumEq a++newtype WrappedShow a = WrappedShow a++newtype WrappedNumEq2 a = WrappedNumEq2 a++instance (Num a, Eq a) => IsZero (WrappedNumEq a) where+        isZero :: WrappedNumEq a -> Bool+        isZero (WrappedNumEq a) = 0 == a++instance Show a => IsZero (WrappedShow a) where+        isZero :: WrappedShow a -> Bool+        isZero (WrappedShow a) = "0" == show a++instance (Num a, Eq a) => IsZero (WrappedNumEq2 a) where+        isZero :: WrappedNumEq2 a -> Bool+        isZero (WrappedNumEq2 a) = a + a == a++newtype INT = INT Int+                deriving newtype Show+                deriving IsZero via (WrappedNumEq Int)++newtype VOID = VOID Void+                 deriving IsZero via (WrappedShow Void)++class Bifunctor p => Biapplicative p where+        bipure :: a -> b -> p a b+        +        biliftA2 ::+                 (a -> b -> c) -> (a' -> b' -> c') -> p a a' -> p b b' -> p c c'++instance Biapplicative (,) where+        bipure = (,)+        biliftA2 f f' (a, a') (b, b') = (f a b, f' a' b')++newtype WrapBiapp p a b = WrapBiap (p a b)+                            deriving newtype (Bifunctor, Biapplicative, Eq)++instance (Biapplicative p, Num a, Num b) => Num (WrapBiapp p a b)+         where+        (+) = biliftA2 (+) (+)+        (-) = biliftA2 (*) (*)+        (*) = biliftA2 (*) (*)+        negate = bimap negate negate+        abs = bimap abs abs+        signum = bimap signum signum+        fromInteger n = fromInteger n `bipure` fromInteger n++newtype INT2 = INT2 (Int, Int)+                 deriving IsZero via (WrappedNumEq2 (WrapBiapp (,) Int Int))++class Monoid a => MonoidNull a where+        null :: a -> Bool++newtype WrpMonNull a = WRM a+                         deriving (Eq, Semigroup, Monoid)++instance (Eq a, Monoid a) => MonoidNull (WrpMonNull a) where+        null :: WrpMonNull a -> Bool+        null = (== mempty)++deriving via (WrpMonNull Any) instance MonoidNull Any++deriving via () instance MonoidNull ()++deriving via Ordering instance MonoidNull Ordering++class Lattice a where+        sup :: a -> a -> a+        +        (.>=) :: a -> a -> Bool+        +        (.>) :: a -> a -> Bool++newtype WrapOrd a = WrappedOrd a+                      deriving newtype (Eq, Ord)++instance Ord a => Lattice (WrapOrd a) where+        sup = max+        (.>=) = (>=)+        (.>) = (>)++deriving via [a] instance Ord a => Lattice [a]++deriving via (a, b) instance (Ord a, Ord b) => Lattice (a, b)++deriving via Bool instance Lattice Bool++deriving via Char instance Lattice Char++deriving via Int instance Lattice Int++deriving via Integer instance Lattice Integer++deriving via Float instance Lattice Float++deriving via Double instance Lattice Double++deriving via Rational instance Lattice Rational++class Functor f => Additive f where+        zero :: Num a => f a+        +        (^+^) :: Num a => f a -> f a -> f a+        (^+^) = liftU2 (+)+        +        (^-^) :: Num a => f a -> f a -> f a+        x ^-^ y = x ^+^ fmap negate y+        +        liftU2 :: (a -> a -> a) -> f a -> f a -> f a++instance Additive [] where+        zero = []+        liftU2 f = go+          where go (x : xs) (y : ys) = f x y : go xs ys+                go [] ys = ys+                go xs [] = xs++instance Additive Maybe where+        zero = Nothing+        liftU2 f (Just a) (Just b) = Just (f a b)+        liftU2 _ Nothing ys = ys+        liftU2 _ xs Nothing = xs++instance Applicative f => Additive (WrapApplicative f) where+        zero = pure 0+        liftU2 = liftA2++deriving via (WrapApplicative ((->) a)) instance Additive ((->) a)++deriving via (WrapApplicative Complex) instance Additive Complex++deriving via (WrapApplicative Identity) instance Additive Identity++instance Additive ZipList where+        zero = ZipList []+        liftU2 f (ZipList xs) (ZipList ys) = ZipList (liftU2 f xs ys)++class Additive (Diff p) => Affine p where+        type Diff p :: Type -> Type+        +        (.-.) :: Num a => p a -> p a -> Diff p a+        +        (.+^) :: Num a => p a -> Diff p a -> p a+        +        (.-^) :: Num a => p a -> Diff p a -> p a+        p .-^ v = p .+^ fmap negate v++newtype WrapAdditive f a = WrappedAdditive (f a)++instance Additive f => Affine (WrapAdditive f) where+        type Diff (WrapAdditive f) = f+        WrappedAdditive a .-. WrappedAdditive b = a ^-^ b+        WrappedAdditive a .+^ b = WrappedAdditive (a ^+^ b)+        WrappedAdditive a .-^ b = WrappedAdditive (a ^-^ b)++deriving via (WrapAdditive ((->) a)) instance Affine ((->) a)++deriving via (WrapAdditive []) instance Affine []++deriving via (WrapAdditive Complex) instance Affine Complex++deriving via (WrapAdditive Maybe) instance Affine Maybe++deriving via (WrapAdditive ZipList) instance Affine ZipList++deriving via (WrapAdditive Identity) instance Affine Identity++class C2 a b c where+        c2 :: a -> b -> c++instance C2 a b (Const a b) where+        c2 x _ = Const x++newtype Fweemp a = Fweemp a+                     deriving (C2 a b) via (Const a (b :: Type))
+ tests/examples/DerivingVia2.hs view
@@ -0,0 +1,41 @@+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DerivingVia #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE PolyKinds #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE StandaloneDeriving #-}+module DerivingVia2 where++import Control.Applicative+import Data.Functor.Compose+import Data.Proxy+import Data.Semigroup++newtype App (f :: * -> *) a = App (f a)+  deriving newtype+    (Functor, Applicative)++instance (Applicative f, Semigroup a) => Semigroup (App f a) where+  (<>) = liftA2 (<>)++deriving via (App (Compose (f :: * -> *) g) a)+         instance (Applicative f, Applicative g, Semigroup a)+               => Semigroup (Compose f g a)++class C (a :: k -> *)+instance C Proxy++newtype MyProxy a = MyProxy (Proxy a)+deriving via (Proxy :: * -> *) instance C MyProxy++class Z a b+data T a+data X1 a+data X2 a+data X3 a++deriving via (forall a. T a) instance           Z a (X1 b)+deriving via           (T a) instance forall b. Z a (X2 b)+deriving via (forall a. T a) instance forall b. Z a (X3 b)
+ tests/examples/DerivingVia2.hs.exactprinter.golden view
@@ -0,0 +1,42 @@+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DerivingVia #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE PolyKinds #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE StandaloneDeriving #-}+module DerivingVia2 where++import Control.Applicative+import Data.Functor.Compose+import Data.Proxy+import Data.Semigroup++newtype App (f :: * -> *) a = App (f a)+  deriving newtype+    (Functor, Applicative)++instance (Applicative f, Semigroup a) => Semigroup (App f a) where+  (<>) = liftA2 (<>)++deriving via( App (Compose (f :: * -> *) g) a)+         instance (Applicative f, Applicative g, Semigroup a)+               => Semigroup (Compose f g a)++class C (a :: k -> *)+instance C Proxy++newtype MyProxy a = MyProxy (Proxy a)+deriving via( Proxy :: * -> *) instance C MyProxy++class Z a b+data T a+data X1 a+data X2 a+data X3 a++deriving via( forall a. T a) instance           Z a (X1 b)+deriving via(           T a) instance forall b. Z a (X2 b)+deriving via( forall a. T a) instance forall b. Z a (X3 b)+
+ tests/examples/DerivingVia2.hs.parser.golden view
@@ -0,0 +1,2346 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 1 1 42 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/DerivingVia2.hs" 1 1 1 1+            , SrcSpan "tests/examples/DerivingVia2.hs" 2 1 2 1+            , SrcSpan "tests/examples/DerivingVia2.hs" 3 1 3 1+            , SrcSpan "tests/examples/DerivingVia2.hs" 4 1 4 1+            , SrcSpan "tests/examples/DerivingVia2.hs" 5 1 5 1+            , SrcSpan "tests/examples/DerivingVia2.hs" 6 1 6 1+            , SrcSpan "tests/examples/DerivingVia2.hs" 7 1 7 1+            , SrcSpan "tests/examples/DerivingVia2.hs" 8 1 8 1+            , SrcSpan "tests/examples/DerivingVia2.hs" 9 1 9 1+            , SrcSpan "tests/examples/DerivingVia2.hs" 9 1 9 1+            , SrcSpan "tests/examples/DerivingVia2.hs" 11 1 11 1+            , SrcSpan "tests/examples/DerivingVia2.hs" 12 1 12 1+            , SrcSpan "tests/examples/DerivingVia2.hs" 13 1 13 1+            , SrcSpan "tests/examples/DerivingVia2.hs" 14 1 14 1+            , SrcSpan "tests/examples/DerivingVia2.hs" 16 1 16 1+            , SrcSpan "tests/examples/DerivingVia2.hs" 20 1 20 1+            , SrcSpan "tests/examples/DerivingVia2.hs" 23 1 23 1+            , SrcSpan "tests/examples/DerivingVia2.hs" 27 1 27 1+            , SrcSpan "tests/examples/DerivingVia2.hs" 28 1 28 1+            , SrcSpan "tests/examples/DerivingVia2.hs" 30 1 30 1+            , SrcSpan "tests/examples/DerivingVia2.hs" 31 1 31 1+            , SrcSpan "tests/examples/DerivingVia2.hs" 33 1 33 1+            , SrcSpan "tests/examples/DerivingVia2.hs" 34 1 34 1+            , SrcSpan "tests/examples/DerivingVia2.hs" 35 1 35 1+            , SrcSpan "tests/examples/DerivingVia2.hs" 36 1 36 1+            , SrcSpan "tests/examples/DerivingVia2.hs" 37 1 37 1+            , SrcSpan "tests/examples/DerivingVia2.hs" 39 1 39 1+            , SrcSpan "tests/examples/DerivingVia2.hs" 40 1 40 1+            , SrcSpan "tests/examples/DerivingVia2.hs" 41 1 41 1+            , SrcSpan "tests/examples/DerivingVia2.hs" 42 1 42 1+            , SrcSpan "tests/examples/DerivingVia2.hs" 42 1 42 1+            ]+        }+      (Just+         (ModuleHead+            SrcSpanInfo+              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 9 1 9 26+              , srcInfoPoints =+                  [ SrcSpan "tests/examples/DerivingVia2.hs" 9 1 9 7+                  , SrcSpan "tests/examples/DerivingVia2.hs" 9 21 9 26+                  ]+              }+            (ModuleName+               SrcSpanInfo+                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 9 8 9 20+                 , srcInfoPoints = []+                 }+               "DerivingVia2")+            Nothing+            Nothing))+      [ LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 1 1 1 36+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia2.hs" 1 1 1 13+                , SrcSpan "tests/examples/DerivingVia2.hs" 1 33 1 36+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 1 14 1 32+                , srcInfoPoints = []+                }+              "DerivingStrategies"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 2 1 2 29+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia2.hs" 2 1 2 13+                , SrcSpan "tests/examples/DerivingVia2.hs" 2 26 2 29+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 2 14 2 25+                , srcInfoPoints = []+                }+              "DerivingVia"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 3 1 3 35+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia2.hs" 3 1 3 13+                , SrcSpan "tests/examples/DerivingVia2.hs" 3 32 3 35+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 3 14 3 31+                , srcInfoPoints = []+                }+              "FlexibleInstances"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 4 1 4 44+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia2.hs" 4 1 4 13+                , SrcSpan "tests/examples/DerivingVia2.hs" 4 41 4 44+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 4 14 4 40+                , srcInfoPoints = []+                }+              "GeneralizedNewtypeDeriving"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 5 1 5 39+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia2.hs" 5 1 5 13+                , SrcSpan "tests/examples/DerivingVia2.hs" 5 36 5 39+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 5 14 5 35+                , srcInfoPoints = []+                }+              "MultiParamTypeClasses"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 6 1 6 27+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia2.hs" 6 1 6 13+                , SrcSpan "tests/examples/DerivingVia2.hs" 6 24 6 27+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 6 14 6 23+                , srcInfoPoints = []+                }+              "PolyKinds"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 7 1 7 28+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia2.hs" 7 1 7 13+                , SrcSpan "tests/examples/DerivingVia2.hs" 7 25 7 28+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 7 14 7 24+                , srcInfoPoints = []+                }+              "RankNTypes"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 8 1 8 36+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia2.hs" 8 1 8 13+                , SrcSpan "tests/examples/DerivingVia2.hs" 8 33 8 36+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 8 14 8 32+                , srcInfoPoints = []+                }+              "StandaloneDeriving"+          ]+      ]+      [ ImportDecl+          { importAnn =+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 11 1 11 27+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia2.hs" 11 1 11 7 ]+                }+          , importModule =+              ModuleName+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 11 8 11 27+                  , srcInfoPoints = []+                  }+                "Control.Applicative"+          , importQualified = False+          , importSrc = False+          , importSafe = False+          , importPkg = Nothing+          , importAs = Nothing+          , importSpecs = Nothing+          }+      , ImportDecl+          { importAnn =+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 12 1 12 28+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia2.hs" 12 1 12 7 ]+                }+          , importModule =+              ModuleName+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 12 8 12 28+                  , srcInfoPoints = []+                  }+                "Data.Functor.Compose"+          , importQualified = False+          , importSrc = False+          , importSafe = False+          , importPkg = Nothing+          , importAs = Nothing+          , importSpecs = Nothing+          }+      , ImportDecl+          { importAnn =+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 13 1 13 18+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia2.hs" 13 1 13 7 ]+                }+          , importModule =+              ModuleName+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 13 8 13 18+                  , srcInfoPoints = []+                  }+                "Data.Proxy"+          , importQualified = False+          , importSrc = False+          , importSafe = False+          , importPkg = Nothing+          , importAs = Nothing+          , importSpecs = Nothing+          }+      , ImportDecl+          { importAnn =+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 14 1 14 22+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia2.hs" 14 1 14 7 ]+                }+          , importModule =+              ModuleName+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 14 8 14 22+                  , srcInfoPoints = []+                  }+                "Data.Semigroup"+          , importQualified = False+          , importSrc = False+          , importSafe = False+          , importPkg = Nothing+          , importAs = Nothing+          , importSpecs = Nothing+          }+      ]+      [ DataDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 16 1 18 27+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia2.hs" 16 29 16 30 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 16 1 16 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 16 9 16 28+               , srcInfoPoints = []+               }+             (DHApp+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 16 9 16 26+                  , srcInfoPoints = []+                  }+                (DHead+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 16 9 16 12+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 16 9 16 12+                        , srcInfoPoints = []+                        }+                      "App"))+                (KindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia2.hs" 16 13 16 26+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia2.hs" 16 13 16 14+                         , SrcSpan "tests/examples/DerivingVia2.hs" 16 16 16 18+                         , SrcSpan "tests/examples/DerivingVia2.hs" 16 25 16 26+                         ]+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia2.hs" 16 14 16 15+                        , srcInfoPoints = []+                        }+                      "f")+                   (TyFun+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia2.hs" 16 19 16 25+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DerivingVia2.hs" 16 21 16 23 ]+                        }+                      (TyStar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia2.hs" 16 19 16 20+                           , srcInfoPoints = []+                           })+                      (TyStar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia2.hs" 16 24 16 25+                           , srcInfoPoints = []+                           }))))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia2.hs" 16 27 16 28+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia2.hs" 16 27 16 28+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia2.hs" 16 31 16 40+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia2.hs" 16 31 16 40+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia2.hs" 16 31 16 34+                      , srcInfoPoints = []+                      }+                    "App")+                 [ TyParen+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia2.hs" 16 35 16 40+                       , srcInfoPoints =+                           [ SrcSpan "tests/examples/DerivingVia2.hs" 16 35 16 36+                           , SrcSpan "tests/examples/DerivingVia2.hs" 16 39 16 40+                           ]+                       }+                     (TyApp+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia2.hs" 16 36 16 39+                          , srcInfoPoints = []+                          }+                        (TyVar+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia2.hs" 16 36 16 37+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia2.hs" 16 36 16 37+                                , srcInfoPoints = []+                                }+                              "f"))+                        (TyVar+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia2.hs" 16 38 16 39+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia2.hs" 16 38 16 39+                                , srcInfoPoints = []+                                }+                              "a")))+                 ])+          ]+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 17 3 18 27+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DerivingVia2.hs" 17 3 17 11+                    , SrcSpan "tests/examples/DerivingVia2.hs" 18 5 18 6+                    , SrcSpan "tests/examples/DerivingVia2.hs" 18 13 18 14+                    , SrcSpan "tests/examples/DerivingVia2.hs" 18 26 18 27+                    ]+                }+              (Just+                 (DerivNewtype+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia2.hs" 17 12 17 19+                      , srcInfoPoints = []+                      }))+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 18 6 18 13+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 18 6 18 13+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 18 6 18 13+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 18 6 18 13+                             , srcInfoPoints = []+                             }+                           "Functor")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DerivingVia2.hs" 18 15 18 26+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia2.hs" 18 15 18 26+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia2.hs" 18 15 18 26+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia2.hs" 18 15 18 26+                             , srcInfoPoints = []+                             }+                           "Applicative")))+              ]+          ]+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 20 1 23 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia2.hs" 20 1 20 9+                , SrcSpan "tests/examples/DerivingVia2.hs" 20 62 20 67+                , SrcSpan "tests/examples/DerivingVia2.hs" 21 3 21 3+                , SrcSpan "tests/examples/DerivingVia2.hs" 23 1 23 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia2.hs" 20 10 20 61+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxTuple+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia2.hs" 20 10 20 41+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia2.hs" 20 10 20 11+                         , SrcSpan "tests/examples/DerivingVia2.hs" 20 24 20 25+                         , SrcSpan "tests/examples/DerivingVia2.hs" 20 37 20 38+                         , SrcSpan "tests/examples/DerivingVia2.hs" 20 39 20 41+                         ]+                     }+                   [ TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia2.hs" 20 11 20 24+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia2.hs" 20 11 20 24+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia2.hs" 20 11 20 24+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia2.hs" 20 11 20 22+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia2.hs" 20 11 20 22+                                     , srcInfoPoints = []+                                     }+                                   "Applicative")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia2.hs" 20 23 20 24+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia2.hs" 20 23 20 24+                                  , srcInfoPoints = []+                                  }+                                "f")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia2.hs" 20 26 20 37+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia2.hs" 20 26 20 37+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia2.hs" 20 26 20 37+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia2.hs" 20 26 20 35+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia2.hs" 20 26 20 35+                                     , srcInfoPoints = []+                                     }+                                   "Semigroup")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia2.hs" 20 36 20 37+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia2.hs" 20 36 20 37+                                  , srcInfoPoints = []+                                  }+                                "a")))+                   ]))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia2.hs" 20 42 20 61+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia2.hs" 20 42 20 51+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia2.hs" 20 42 20 51+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia2.hs" 20 42 20 51+                           , srcInfoPoints = []+                           }+                         "Semigroup")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia2.hs" 20 52 20 61+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia2.hs" 20 52 20 53+                         , SrcSpan "tests/examples/DerivingVia2.hs" 20 60 20 61+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia2.hs" 20 53 20 60+                        , srcInfoPoints = []+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia2.hs" 20 53 20 58+                           , srcInfoPoints = []+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia2.hs" 20 53 20 56+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia2.hs" 20 53 20 56+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia2.hs" 20 53 20 56+                                    , srcInfoPoints = []+                                    }+                                  "App")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia2.hs" 20 57 20 58+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia2.hs" 20 57 20 58+                                 , srcInfoPoints = []+                                 }+                               "f")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia2.hs" 20 59 20 60+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia2.hs" 20 59 20 60+                              , srcInfoPoints = []+                              }+                            "a"))))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 21 3 21 21+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 21 3 21 21+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 21 3 21 7+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia2.hs" 21 3 21 4+                             , SrcSpan "tests/examples/DerivingVia2.hs" 21 4 21 6+                             , SrcSpan "tests/examples/DerivingVia2.hs" 21 6 21 7+                             ]+                         }+                       (Symbol+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 21 4 21 6+                            , srcInfoPoints = []+                            }+                          "<>"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 21 8 21 21+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/DerivingVia2.hs" 21 8 21 9 ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia2.hs" 21 10 21 21+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia2.hs" 21 10 21 16+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia2.hs" 21 10 21 16+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia2.hs" 21 10 21 16+                                     , srcInfoPoints = []+                                     }+                                   "liftA2")))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia2.hs" 21 17 21 21+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DerivingVia2.hs" 21 17 21 18+                                   , SrcSpan "tests/examples/DerivingVia2.hs" 21 18 21 20+                                   , SrcSpan "tests/examples/DerivingVia2.hs" 21 20 21 21+                                   ]+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia2.hs" 21 17 21 21+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DerivingVia2.hs" 21 17 21 18+                                      , SrcSpan "tests/examples/DerivingVia2.hs" 21 18 21 20+                                      , SrcSpan "tests/examples/DerivingVia2.hs" 21 20 21 21+                                      ]+                                  }+                                (Symbol+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia2.hs" 21 18 21 20+                                     , srcInfoPoints = []+                                     }+                                   "<>")))))+                    Nothing)+             ])+      , DerivDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 23 1 25 44+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia2.hs" 23 1 23 9+                , SrcSpan "tests/examples/DerivingVia2.hs" 24 10 24 18+                ]+            }+          (Just+             (DerivVia+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia2.hs" 23 10 23 13+                  , srcInfoPoints = []+                  }+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia2.hs" 23 14 23 47+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia2.hs" 23 14 23 15+                         , SrcSpan "tests/examples/DerivingVia2.hs" 23 46 23 47+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia2.hs" 23 15 23 46+                        , srcInfoPoints = []+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia2.hs" 23 15 23 44+                           , srcInfoPoints = []+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia2.hs" 23 15 23 18+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia2.hs" 23 15 23 18+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia2.hs" 23 15 23 18+                                    , srcInfoPoints = []+                                    }+                                  "App")))+                         (TyParen+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia2.hs" 23 19 23 44+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/DerivingVia2.hs" 23 19 23 20+                                  , SrcSpan "tests/examples/DerivingVia2.hs" 23 43 23 44+                                  ]+                              }+                            (TyApp+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia2.hs" 23 20 23 43+                                 , srcInfoPoints = []+                                 }+                               (TyApp+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia2.hs" 23 20 23 41+                                    , srcInfoPoints = []+                                    }+                                  (TyCon+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia2.hs" 23 20 23 27+                                       , srcInfoPoints = []+                                       }+                                     (UnQual+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/DerivingVia2.hs" 23 20 23 27+                                          , srcInfoPoints = []+                                          }+                                        (Ident+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan+                                                   "tests/examples/DerivingVia2.hs" 23 20 23 27+                                             , srcInfoPoints = []+                                             }+                                           "Compose")))+                                  (TyKind+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia2.hs" 23 28 23 41+                                       , srcInfoPoints =+                                           [ SrcSpan "tests/examples/DerivingVia2.hs" 23 28 23 29+                                           , SrcSpan "tests/examples/DerivingVia2.hs" 23 31 23 33+                                           , SrcSpan "tests/examples/DerivingVia2.hs" 23 40 23 41+                                           ]+                                       }+                                     (TyVar+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/DerivingVia2.hs" 23 29 23 30+                                          , srcInfoPoints = []+                                          }+                                        (Ident+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan+                                                   "tests/examples/DerivingVia2.hs" 23 29 23 30+                                             , srcInfoPoints = []+                                             }+                                           "f"))+                                     (TyFun+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/DerivingVia2.hs" 23 34 23 40+                                          , srcInfoPoints =+                                              [ SrcSpan "tests/examples/DerivingVia2.hs" 23 36 23 38+                                              ]+                                          }+                                        (TyStar+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan+                                                   "tests/examples/DerivingVia2.hs" 23 34 23 35+                                             , srcInfoPoints = []+                                             })+                                        (TyStar+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan+                                                   "tests/examples/DerivingVia2.hs" 23 39 23 40+                                             , srcInfoPoints = []+                                             }))))+                               (TyVar+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia2.hs" 23 42 23 43+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia2.hs" 23 42 23 43+                                       , srcInfoPoints = []+                                       }+                                     "g")))))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia2.hs" 23 45 23 46+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia2.hs" 23 45 23 46+                              , srcInfoPoints = []+                              }+                            "a"))))))+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia2.hs" 24 19 25 44+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxTuple+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia2.hs" 24 19 25 18+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia2.hs" 24 19 24 20+                         , SrcSpan "tests/examples/DerivingVia2.hs" 24 33 24 34+                         , SrcSpan "tests/examples/DerivingVia2.hs" 24 48 24 49+                         , SrcSpan "tests/examples/DerivingVia2.hs" 24 61 24 62+                         , SrcSpan "tests/examples/DerivingVia2.hs" 25 16 25 18+                         ]+                     }+                   [ TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia2.hs" 24 20 24 33+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia2.hs" 24 20 24 33+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia2.hs" 24 20 24 33+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia2.hs" 24 20 24 31+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia2.hs" 24 20 24 31+                                     , srcInfoPoints = []+                                     }+                                   "Applicative")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia2.hs" 24 32 24 33+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia2.hs" 24 32 24 33+                                  , srcInfoPoints = []+                                  }+                                "f")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia2.hs" 24 35 24 48+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia2.hs" 24 35 24 48+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia2.hs" 24 35 24 48+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia2.hs" 24 35 24 46+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia2.hs" 24 35 24 46+                                     , srcInfoPoints = []+                                     }+                                   "Applicative")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia2.hs" 24 47 24 48+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia2.hs" 24 47 24 48+                                  , srcInfoPoints = []+                                  }+                                "g")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia2.hs" 24 50 24 61+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DerivingVia2.hs" 24 50 24 61+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia2.hs" 24 50 24 61+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia2.hs" 24 50 24 59+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DerivingVia2.hs" 24 50 24 59+                                     , srcInfoPoints = []+                                     }+                                   "Semigroup")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia2.hs" 24 60 24 61+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia2.hs" 24 60 24 61+                                  , srcInfoPoints = []+                                  }+                                "a")))+                   ]))+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia2.hs" 25 19 25 44+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia2.hs" 25 19 25 28+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia2.hs" 25 19 25 28+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia2.hs" 25 19 25 28+                           , srcInfoPoints = []+                           }+                         "Semigroup")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia2.hs" 25 29 25 44+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia2.hs" 25 29 25 30+                         , SrcSpan "tests/examples/DerivingVia2.hs" 25 43 25 44+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia2.hs" 25 30 25 43+                        , srcInfoPoints = []+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia2.hs" 25 30 25 41+                           , srcInfoPoints = []+                           }+                         (TyApp+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia2.hs" 25 30 25 39+                              , srcInfoPoints = []+                              }+                            (TyCon+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia2.hs" 25 30 25 37+                                 , srcInfoPoints = []+                                 }+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia2.hs" 25 30 25 37+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/DerivingVia2.hs" 25 30 25 37+                                       , srcInfoPoints = []+                                       }+                                     "Compose")))+                            (TyVar+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia2.hs" 25 38 25 39+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia2.hs" 25 38 25 39+                                    , srcInfoPoints = []+                                    }+                                  "f")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia2.hs" 25 40 25 41+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia2.hs" 25 40 25 41+                                 , srcInfoPoints = []+                                 }+                               "g")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia2.hs" 25 42 25 43+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia2.hs" 25 42 25 43+                              , srcInfoPoints = []+                              }+                            "a"))))))+      , ClassDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 27 1 27 22+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia2.hs" 27 1 27 6 ]+            }+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 27 7 27 22+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 27 7 27 8+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 27 7 27 8+                     , srcInfoPoints = []+                     }+                   "C"))+             (KindedVar+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 27 9 27 22+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/DerivingVia2.hs" 27 9 27 10+                      , SrcSpan "tests/examples/DerivingVia2.hs" 27 12 27 14+                      , SrcSpan "tests/examples/DerivingVia2.hs" 27 21 27 22+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia2.hs" 27 10 27 11+                     , srcInfoPoints = []+                     }+                   "a")+                (TyFun+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia2.hs" 27 15 27 21+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia2.hs" 27 17 27 19 ]+                     }+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia2.hs" 27 15 27 16+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia2.hs" 27 15 27 16+                           , srcInfoPoints = []+                           }+                         "k"))+                   (TyStar+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia2.hs" 27 20 27 21+                        , srcInfoPoints = []+                        }))))+          []+          Nothing+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 28 1 28 17+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia2.hs" 28 1 28 9 ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia2.hs" 28 10 28 17+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia2.hs" 28 10 28 17+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia2.hs" 28 10 28 11+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia2.hs" 28 10 28 11+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia2.hs" 28 10 28 11+                           , srcInfoPoints = []+                           }+                         "C")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia2.hs" 28 12 28 17+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia2.hs" 28 12 28 17+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia2.hs" 28 12 28 17+                           , srcInfoPoints = []+                           }+                         "Proxy")))))+          Nothing+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 30 1 30 38+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia2.hs" 30 19 30 20 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 30 1 30 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 30 9 30 18+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 30 9 30 16+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 30 9 30 16+                     , srcInfoPoints = []+                     }+                   "MyProxy"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia2.hs" 30 17 30 18+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia2.hs" 30 17 30 18+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DerivingVia2.hs" 30 21 30 38+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DerivingVia2.hs" 30 21 30 38+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia2.hs" 30 21 30 28+                      , srcInfoPoints = []+                      }+                    "MyProxy")+                 [ TyParen+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DerivingVia2.hs" 30 29 30 38+                       , srcInfoPoints =+                           [ SrcSpan "tests/examples/DerivingVia2.hs" 30 29 30 30+                           , SrcSpan "tests/examples/DerivingVia2.hs" 30 37 30 38+                           ]+                       }+                     (TyApp+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DerivingVia2.hs" 30 30 30 37+                          , srcInfoPoints = []+                          }+                        (TyCon+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia2.hs" 30 30 30 35+                             , srcInfoPoints = []+                             }+                           (UnQual+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia2.hs" 30 30 30 35+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DerivingVia2.hs" 30 30 30 35+                                   , srcInfoPoints = []+                                   }+                                 "Proxy")))+                        (TyVar+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DerivingVia2.hs" 30 36 30 37+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DerivingVia2.hs" 30 36 30 37+                                , srcInfoPoints = []+                                }+                              "a")))+                 ])+          ]+          []+      , DerivDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 31 1 31 50+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia2.hs" 31 1 31 9+                , SrcSpan "tests/examples/DerivingVia2.hs" 31 32 31 40+                ]+            }+          (Just+             (DerivVia+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia2.hs" 31 10 31 13+                  , srcInfoPoints = []+                  }+                (TyKind+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia2.hs" 31 14 31 31+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia2.hs" 31 14 31 15+                         , SrcSpan "tests/examples/DerivingVia2.hs" 31 21 31 23+                         , SrcSpan "tests/examples/DerivingVia2.hs" 31 30 31 31+                         ]+                     }+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia2.hs" 31 15 31 20+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia2.hs" 31 15 31 20+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia2.hs" 31 15 31 20+                              , srcInfoPoints = []+                              }+                            "Proxy")))+                   (TyFun+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia2.hs" 31 24 31 30+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DerivingVia2.hs" 31 26 31 28 ]+                        }+                      (TyStar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia2.hs" 31 24 31 25+                           , srcInfoPoints = []+                           })+                      (TyStar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia2.hs" 31 29 31 30+                           , srcInfoPoints = []+                           })))))+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia2.hs" 31 41 31 50+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia2.hs" 31 41 31 50+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia2.hs" 31 41 31 42+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia2.hs" 31 41 31 42+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia2.hs" 31 41 31 42+                           , srcInfoPoints = []+                           }+                         "C")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia2.hs" 31 43 31 50+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia2.hs" 31 43 31 50+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia2.hs" 31 43 31 50+                           , srcInfoPoints = []+                           }+                         "MyProxy")))))+      , ClassDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 33 1 33 12+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia2.hs" 33 1 33 6 ]+            }+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 33 7 33 12+               , srcInfoPoints = []+               }+             (DHApp+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 33 7 33 10+                  , srcInfoPoints = []+                  }+                (DHead+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 33 7 33 8+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 33 7 33 8+                        , srcInfoPoints = []+                        }+                      "Z"))+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 33 9 33 10+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 33 9 33 10+                        , srcInfoPoints = []+                        }+                      "a")))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia2.hs" 33 11 33 12+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia2.hs" 33 11 33 12+                     , srcInfoPoints = []+                     }+                   "b")))+          []+          Nothing+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 34 1 34 5+            , srcInfoPoints = []+            }+          (DataType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 34 1 34 5+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 34 6 34 9+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 34 6 34 7+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 34 6 34 7+                     , srcInfoPoints = []+                     }+                   "T"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 34 8 34 9+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 34 8 34 9+                     , srcInfoPoints = []+                     }+                   "a")))+          []+          []+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 35 1 35 5+            , srcInfoPoints = []+            }+          (DataType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 35 1 35 5+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 35 6 35 10+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 35 6 35 8+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 35 6 35 8+                     , srcInfoPoints = []+                     }+                   "X1"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 35 9 35 10+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 35 9 35 10+                     , srcInfoPoints = []+                     }+                   "a")))+          []+          []+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 36 1 36 5+            , srcInfoPoints = []+            }+          (DataType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 36 1 36 5+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 36 6 36 10+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 36 6 36 8+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 36 6 36 8+                     , srcInfoPoints = []+                     }+                   "X2"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 36 9 36 10+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 36 9 36 10+                     , srcInfoPoints = []+                     }+                   "a")))+          []+          []+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 37 1 37 5+            , srcInfoPoints = []+            }+          (DataType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 37 1 37 5+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 37 6 37 10+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 37 6 37 8+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 37 6 37 8+                     , srcInfoPoints = []+                     }+                   "X3"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 37 9 37 10+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 37 9 37 10+                     , srcInfoPoints = []+                     }+                   "a")))+          []+          []+      , DerivDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 39 1 39 59+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia2.hs" 39 1 39 9+                , SrcSpan "tests/examples/DerivingVia2.hs" 39 30 39 38+                ]+            }+          (Just+             (DerivVia+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia2.hs" 39 10 39 13+                  , srcInfoPoints = []+                  }+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia2.hs" 39 14 39 29+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia2.hs" 39 14 39 15+                         , SrcSpan "tests/examples/DerivingVia2.hs" 39 28 39 29+                         ]+                     }+                   (TyForall+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia2.hs" 39 15 39 28+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DerivingVia2.hs" 39 15 39 21+                            , SrcSpan "tests/examples/DerivingVia2.hs" 39 23 39 24+                            ]+                        }+                      (Just+                         [ UnkindedVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia2.hs" 39 22 39 23+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia2.hs" 39 22 39 23+                                  , srcInfoPoints = []+                                  }+                                "a")+                         ])+                      Nothing+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia2.hs" 39 25 39 28+                           , srcInfoPoints = []+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia2.hs" 39 25 39 26+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia2.hs" 39 25 39 26+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia2.hs" 39 25 39 26+                                    , srcInfoPoints = []+                                    }+                                  "T")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia2.hs" 39 27 39 28+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia2.hs" 39 27 39 28+                                 , srcInfoPoints = []+                                 }+                               "a")))))))+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia2.hs" 39 49 39 59+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia2.hs" 39 49 39 59+                  , srcInfoPoints = []+                  }+                (IHApp+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia2.hs" 39 49 39 52+                     , srcInfoPoints = []+                     }+                   (IHCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia2.hs" 39 49 39 50+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia2.hs" 39 49 39 50+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia2.hs" 39 49 39 50+                              , srcInfoPoints = []+                              }+                            "Z")))+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia2.hs" 39 51 39 52+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia2.hs" 39 51 39 52+                           , srcInfoPoints = []+                           }+                         "a")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia2.hs" 39 53 39 59+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia2.hs" 39 53 39 54+                         , SrcSpan "tests/examples/DerivingVia2.hs" 39 58 39 59+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia2.hs" 39 54 39 58+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia2.hs" 39 54 39 56+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia2.hs" 39 54 39 56+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia2.hs" 39 54 39 56+                                 , srcInfoPoints = []+                                 }+                               "X1")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia2.hs" 39 57 39 58+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia2.hs" 39 57 39 58+                              , srcInfoPoints = []+                              }+                            "b"))))))+      , DerivDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 40 1 40 59+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia2.hs" 40 1 40 9+                , SrcSpan "tests/examples/DerivingVia2.hs" 40 30 40 38+                ]+            }+          (Just+             (DerivVia+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia2.hs" 40 10 40 13+                  , srcInfoPoints = []+                  }+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia2.hs" 40 24 40 29+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia2.hs" 40 24 40 25+                         , SrcSpan "tests/examples/DerivingVia2.hs" 40 28 40 29+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia2.hs" 40 25 40 28+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia2.hs" 40 25 40 26+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia2.hs" 40 25 40 26+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia2.hs" 40 25 40 26+                                 , srcInfoPoints = []+                                 }+                               "T")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia2.hs" 40 27 40 28+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia2.hs" 40 27 40 28+                              , srcInfoPoints = []+                              }+                            "a"))))))+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia2.hs" 40 39 40 59+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/DerivingVia2.hs" 40 39 40 45+                   , SrcSpan "tests/examples/DerivingVia2.hs" 40 47 40 48+                   ]+               }+             (Just+                [ UnkindedVar+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia2.hs" 40 46 40 47+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia2.hs" 40 46 40 47+                         , srcInfoPoints = []+                         }+                       "b")+                ])+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia2.hs" 40 49 40 59+                  , srcInfoPoints = []+                  }+                (IHApp+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia2.hs" 40 49 40 52+                     , srcInfoPoints = []+                     }+                   (IHCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia2.hs" 40 49 40 50+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia2.hs" 40 49 40 50+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia2.hs" 40 49 40 50+                              , srcInfoPoints = []+                              }+                            "Z")))+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia2.hs" 40 51 40 52+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia2.hs" 40 51 40 52+                           , srcInfoPoints = []+                           }+                         "a")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia2.hs" 40 53 40 59+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia2.hs" 40 53 40 54+                         , SrcSpan "tests/examples/DerivingVia2.hs" 40 58 40 59+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia2.hs" 40 54 40 58+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia2.hs" 40 54 40 56+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia2.hs" 40 54 40 56+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia2.hs" 40 54 40 56+                                 , srcInfoPoints = []+                                 }+                               "X2")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia2.hs" 40 57 40 58+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia2.hs" 40 57 40 58+                              , srcInfoPoints = []+                              }+                            "b"))))))+      , DerivDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 41 1 41 59+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DerivingVia2.hs" 41 1 41 9+                , SrcSpan "tests/examples/DerivingVia2.hs" 41 30 41 38+                ]+            }+          (Just+             (DerivVia+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia2.hs" 41 10 41 13+                  , srcInfoPoints = []+                  }+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia2.hs" 41 14 41 29+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia2.hs" 41 14 41 15+                         , SrcSpan "tests/examples/DerivingVia2.hs" 41 28 41 29+                         ]+                     }+                   (TyForall+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia2.hs" 41 15 41 28+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DerivingVia2.hs" 41 15 41 21+                            , SrcSpan "tests/examples/DerivingVia2.hs" 41 23 41 24+                            ]+                        }+                      (Just+                         [ UnkindedVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DerivingVia2.hs" 41 22 41 23+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DerivingVia2.hs" 41 22 41 23+                                  , srcInfoPoints = []+                                  }+                                "a")+                         ])+                      Nothing+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia2.hs" 41 25 41 28+                           , srcInfoPoints = []+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia2.hs" 41 25 41 26+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia2.hs" 41 25 41 26+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/DerivingVia2.hs" 41 25 41 26+                                    , srcInfoPoints = []+                                    }+                                  "T")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia2.hs" 41 27 41 28+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia2.hs" 41 27 41 28+                                 , srcInfoPoints = []+                                 }+                               "a")))))))+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingVia2.hs" 41 39 41 59+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/DerivingVia2.hs" 41 39 41 45+                   , SrcSpan "tests/examples/DerivingVia2.hs" 41 47 41 48+                   ]+               }+             (Just+                [ UnkindedVar+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DerivingVia2.hs" 41 46 41 47+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DerivingVia2.hs" 41 46 41 47+                         , srcInfoPoints = []+                         }+                       "b")+                ])+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingVia2.hs" 41 49 41 59+                  , srcInfoPoints = []+                  }+                (IHApp+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia2.hs" 41 49 41 52+                     , srcInfoPoints = []+                     }+                   (IHCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia2.hs" 41 49 41 50+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia2.hs" 41 49 41 50+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia2.hs" 41 49 41 50+                              , srcInfoPoints = []+                              }+                            "Z")))+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia2.hs" 41 51 41 52+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia2.hs" 41 51 41 52+                           , srcInfoPoints = []+                           }+                         "a")))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingVia2.hs" 41 53 41 59+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingVia2.hs" 41 53 41 54+                         , SrcSpan "tests/examples/DerivingVia2.hs" 41 58 41 59+                         ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingVia2.hs" 41 54 41 58+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia2.hs" 41 54 41 56+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia2.hs" 41 54 41 56+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/DerivingVia2.hs" 41 54 41 56+                                 , srcInfoPoints = []+                                 }+                               "X3")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DerivingVia2.hs" 41 57 41 58+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/DerivingVia2.hs" 41 57 41 58+                              , srcInfoPoints = []+                              }+                            "b"))))))+      ]+  , []+  )
+ tests/examples/DerivingVia2.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/DerivingVia2.hs.prettyprinter.golden view
@@ -0,0 +1,47 @@+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DerivingVia #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE PolyKinds #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE StandaloneDeriving #-}+module DerivingVia2 where+import Control.Applicative+import Data.Functor.Compose+import Data.Proxy+import Data.Semigroup++newtype App (f :: * -> *) a = App (f a)+                                deriving newtype (Functor, Applicative)++instance (Applicative f, Semigroup a) => Semigroup (App f a) where+        (<>) = liftA2 (<>)++deriving via (App (Compose (f :: * -> *) g) a) instance+         (Applicative f, Applicative g, Semigroup a) =>+         Semigroup (Compose f g a)++class C (a :: k -> *)++instance C Proxy++newtype MyProxy a = MyProxy (Proxy a)++deriving via (Proxy :: * -> *) instance C MyProxy++class Z a b++data T a++data X1 a++data X2 a++data X3 a++deriving via (forall a . T a) instance Z a (X1 b)++deriving via (T a) instance forall b . Z a (X2 b)++deriving via (forall a . T a) instance forall b . Z a (X3 b)
+ tests/examples/DerivingViaStealing.hs view
@@ -0,0 +1,5 @@+module DerivingViaStealing where++via = ()+stock = ()+anyclass = ()
+ tests/examples/DerivingViaStealing.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/DerivingViaStealing.hs.parser.golden view
@@ -0,0 +1,201 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan =+            SrcSpan "tests/examples/DerivingViaStealing.hs" 1 1 6 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/DerivingViaStealing.hs" 1 1 1 1+            , SrcSpan "tests/examples/DerivingViaStealing.hs" 1 1 1 1+            , SrcSpan "tests/examples/DerivingViaStealing.hs" 3 1 3 1+            , SrcSpan "tests/examples/DerivingViaStealing.hs" 4 1 4 1+            , SrcSpan "tests/examples/DerivingViaStealing.hs" 5 1 5 1+            , SrcSpan "tests/examples/DerivingViaStealing.hs" 6 1 6 1+            , SrcSpan "tests/examples/DerivingViaStealing.hs" 6 1 6 1+            ]+        }+      (Just+         (ModuleHead+            SrcSpanInfo+              { srcInfoSpan =+                  SrcSpan "tests/examples/DerivingViaStealing.hs" 1 1 1 33+              , srcInfoPoints =+                  [ SrcSpan "tests/examples/DerivingViaStealing.hs" 1 1 1 7+                  , SrcSpan "tests/examples/DerivingViaStealing.hs" 1 28 1 33+                  ]+              }+            (ModuleName+               SrcSpanInfo+                 { srcInfoSpan =+                     SrcSpan "tests/examples/DerivingViaStealing.hs" 1 8 1 27+                 , srcInfoPoints = []+                 }+               "DerivingViaStealing")+            Nothing+            Nothing))+      []+      []+      [ PatBind+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingViaStealing.hs" 3 1 3 9+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingViaStealing.hs" 3 1 3 4+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingViaStealing.hs" 3 1 3 4+                  , srcInfoPoints = []+                  }+                "via"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingViaStealing.hs" 3 5 3 9+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/DerivingViaStealing.hs" 3 5 3 6 ]+               }+             (Con+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingViaStealing.hs" 3 7 3 9+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/DerivingViaStealing.hs" 3 7 3 8+                      , SrcSpan "tests/examples/DerivingViaStealing.hs" 3 8 3 9+                      ]+                  }+                (Special+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingViaStealing.hs" 3 7 3 9+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingViaStealing.hs" 3 7 3 8+                         , SrcSpan "tests/examples/DerivingViaStealing.hs" 3 8 3 9+                         ]+                     }+                   (UnitCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingViaStealing.hs" 3 7 3 9+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DerivingViaStealing.hs" 3 7 3 8+                            , SrcSpan "tests/examples/DerivingViaStealing.hs" 3 8 3 9+                            ]+                        }))))+          Nothing+      , PatBind+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingViaStealing.hs" 4 1 4 11+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingViaStealing.hs" 4 1 4 6+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingViaStealing.hs" 4 1 4 6+                  , srcInfoPoints = []+                  }+                "stock"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingViaStealing.hs" 4 7 4 11+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/DerivingViaStealing.hs" 4 7 4 8 ]+               }+             (Con+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingViaStealing.hs" 4 9 4 11+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/DerivingViaStealing.hs" 4 9 4 10+                      , SrcSpan "tests/examples/DerivingViaStealing.hs" 4 10 4 11+                      ]+                  }+                (Special+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingViaStealing.hs" 4 9 4 11+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingViaStealing.hs" 4 9 4 10+                         , SrcSpan "tests/examples/DerivingViaStealing.hs" 4 10 4 11+                         ]+                     }+                   (UnitCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingViaStealing.hs" 4 9 4 11+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DerivingViaStealing.hs" 4 9 4 10+                            , SrcSpan "tests/examples/DerivingViaStealing.hs" 4 10 4 11+                            ]+                        }))))+          Nothing+      , PatBind+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/DerivingViaStealing.hs" 5 1 5 14+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingViaStealing.hs" 5 1 5 9+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingViaStealing.hs" 5 1 5 9+                  , srcInfoPoints = []+                  }+                "anyclass"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DerivingViaStealing.hs" 5 10 5 14+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/DerivingViaStealing.hs" 5 10 5 11 ]+               }+             (Con+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DerivingViaStealing.hs" 5 12 5 14+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/DerivingViaStealing.hs" 5 12 5 13+                      , SrcSpan "tests/examples/DerivingViaStealing.hs" 5 13 5 14+                      ]+                  }+                (Special+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DerivingViaStealing.hs" 5 12 5 14+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DerivingViaStealing.hs" 5 12 5 13+                         , SrcSpan "tests/examples/DerivingViaStealing.hs" 5 13 5 14+                         ]+                     }+                   (UnitCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DerivingViaStealing.hs" 5 12 5 14+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DerivingViaStealing.hs" 5 12 5 13+                            , SrcSpan "tests/examples/DerivingViaStealing.hs" 5 13 5 14+                            ]+                        }))))+          Nothing+      ]+  , []+  )
+ tests/examples/DerivingViaStealing.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/DerivingViaStealing.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+module DerivingViaStealing where+via = ()+stock = ()+anyclass = ()
tests/examples/Directory.hs.parser.golden view
@@ -474,6 +474,11 @@                             , SrcSpan "tests/examples/Directory.hs" 61 7 61 8                             ]                         }+                      (NoWildcard+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "" (-1) (-1) (-1) (-1)+                           , srcInfoPoints = []+                           })                       (UnQual                          SrcSpanInfo                            { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 55 7 55 18@@ -1294,112 +1299,113 @@                               "Bool")))                  ])           ]-          (Just-             (Deriving-                SrcSpanInfo-                  { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 6 138 36-                  , srcInfoPoints =-                      [ SrcSpan "tests/examples/Directory.hs" 138 6 138 14-                      , SrcSpan "tests/examples/Directory.hs" 138 15 138 16-                      , SrcSpan "tests/examples/Directory.hs" 138 18 138 19-                      , SrcSpan "tests/examples/Directory.hs" 138 23 138 24-                      , SrcSpan "tests/examples/Directory.hs" 138 29 138 30-                      , SrcSpan "tests/examples/Directory.hs" 138 35 138 36-                      ]-                  }-                [ IRule-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 16 138 18-                      , srcInfoPoints = []-                      }-                    Nothing-                    Nothing-                    (IHCon-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 16 138 18-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 16 138 18-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 16 138 18-                               , srcInfoPoints = []-                               }-                             "Eq")))-                , IRule-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 20 138 23-                      , srcInfoPoints = []-                      }-                    Nothing-                    Nothing-                    (IHCon-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 20 138 23-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 20 138 23-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 20 138 23-                               , srcInfoPoints = []-                               }-                             "Ord")))-                , IRule-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 25 138 29-                      , srcInfoPoints = []-                      }-                    Nothing-                    Nothing-                    (IHCon-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 25 138 29-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 25 138 29-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 25 138 29-                               , srcInfoPoints = []-                               }-                             "Read")))-                , IRule-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 31 138 35-                      , srcInfoPoints = []-                      }-                    Nothing-                    Nothing-                    (IHCon-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 31 138 35-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 31 138 35-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 31 138 35-                               , srcInfoPoints = []-                               }-                             "Show")))-                ]))+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 6 138 36+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/Directory.hs" 138 6 138 14+                    , SrcSpan "tests/examples/Directory.hs" 138 15 138 16+                    , SrcSpan "tests/examples/Directory.hs" 138 18 138 19+                    , SrcSpan "tests/examples/Directory.hs" 138 23 138 24+                    , SrcSpan "tests/examples/Directory.hs" 138 29 138 30+                    , SrcSpan "tests/examples/Directory.hs" 138 35 138 36+                    ]+                }+              Nothing+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 16 138 18+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 16 138 18+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 16 138 18+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 16 138 18+                             , srcInfoPoints = []+                             }+                           "Eq")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 20 138 23+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 20 138 23+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 20 138 23+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 20 138 23+                             , srcInfoPoints = []+                             }+                           "Ord")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 25 138 29+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 25 138 29+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 25 138 29+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 25 138 29+                             , srcInfoPoints = []+                             }+                           "Read")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 31 138 35+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 31 138 35+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 31 138 35+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 31 138 35+                             , srcInfoPoints = []+                             }+                           "Show")))+              ]+          ]       , TypeSig           SrcSpanInfo             { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 152 1 152 45@@ -25153,7 +25159,7 @@                                                         "tests/examples/Directory.hs" 766 54 766 56                                                     ]                                                 }-                                              (ClassA+                                              (TypeA                                                  SrcSpanInfo                                                    { srcInfoSpan =                                                        SrcSpan@@ -25167,7 +25173,7 @@                                                            56                                                        ]                                                    }-                                                 (UnQual+                                                 (TyApp                                                     SrcSpanInfo                                                       { srcInfoSpan =                                                           SrcSpan@@ -25175,10 +25181,17 @@                                                             766                                                             47                                                             766-                                                            51-                                                      , srcInfoPoints = []+                                                            56+                                                      , srcInfoPoints =+                                                          [ SrcSpan+                                                              "tests/examples/Directory.hs"+                                                              766+                                                              54+                                                              766+                                                              56+                                                          ]                                                       }-                                                    (Ident+                                                    (TyCon                                                        SrcSpanInfo                                                          { srcInfoSpan =                                                              SrcSpan@@ -25186,34 +25199,62 @@                                                                766                                                                47                                                                766-                                                               51+                                                               56+                                                         , srcInfoPoints =+                                                             [ SrcSpan+                                                                 "tests/examples/Directory.hs"+                                                                 766+                                                                 54+                                                                 766+                                                                 56+                                                             ]+                                                         }+                                                       (UnQual+                                                          SrcSpanInfo+                                                            { srcInfoSpan =+                                                                SrcSpan+                                                                  "tests/examples/Directory.hs"+                                                                  766+                                                                  47+                                                                  766+                                                                  51+                                                            , srcInfoPoints = []+                                                            }+                                                          (Ident+                                                             SrcSpanInfo+                                                               { srcInfoSpan =+                                                                   SrcSpan+                                                                     "tests/examples/Directory.hs"+                                                                     766+                                                                     47+                                                                     766+                                                                     51+                                                               , srcInfoPoints = []+                                                               }+                                                             "Real")))+                                                    (TyVar+                                                       SrcSpanInfo+                                                         { srcInfoSpan =+                                                             SrcSpan+                                                               "tests/examples/Directory.hs"+                                                               766+                                                               52+                                                               766+                                                               53                                                          , srcInfoPoints = []                                                          }-                                                       "Real"))-                                                 [ TyVar-                                                     SrcSpanInfo-                                                       { srcInfoSpan =-                                                           SrcSpan-                                                             "tests/examples/Directory.hs"-                                                             766-                                                             52-                                                             766-                                                             53-                                                       , srcInfoPoints = []-                                                       }-                                                     (Ident-                                                        SrcSpanInfo-                                                          { srcInfoSpan =-                                                              SrcSpan-                                                                "tests/examples/Directory.hs"-                                                                766-                                                                52-                                                                766-                                                                53-                                                          , srcInfoPoints = []-                                                          }-                                                        "a")-                                                 ])))+                                                       (Ident+                                                          SrcSpanInfo+                                                            { srcInfoSpan =+                                                                SrcSpan+                                                                  "tests/examples/Directory.hs"+                                                                  766+                                                                  52+                                                                  766+                                                                  53+                                                            , srcInfoPoints = []+                                                            }+                                                          "a"))))))                                         (TyFun                                            SrcSpanInfo                                              { srcInfoSpan =
tests/examples/Directory.hs.prettyprinter.golden view
@@ -32,7 +32,7 @@  data Permissions = Permissions{readable, writable, executable,                                searchable :: Bool}-                 deriving (Eq, Ord, Read, Show)+                     deriving (Eq, Ord, Read, Show)  getPermissions :: FilePath -> IO Permissions getPermissions name
tests/examples/DoRec.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE DoRec #-}-module Main (main) where main   = do rec let x = 1        return ()
+ tests/examples/DsStrictData.hs view
@@ -0,0 +1,48 @@+{-# LANGUAGE ScopedTypeVariables, StrictData, GADTs #-}++-- | Tests the StrictData LANGUAGE pragma.+module Main where++import qualified Control.Exception as E+import System.IO.Unsafe (unsafePerformIO)++data Strict a = S a+data Strict2 b = S2 !b+data Strict3 c where+  S3 :: c -> Strict3 c++data UStrict = US {-# UNPACK #-} Int++data Lazy d = L ~d+data Lazy2 e where+  L2 :: ~e -> Lazy2 e++main :: IO ()+main =+  do print (isBottom (S bottom))+     print (isBottom (S2 bottom))+     print (isBottom (US bottom))+     print (isBottom (S3 bottom))+     putStrLn ""+     print (not (isBottom (L bottom)))+     print (not (isBottom (L2 bottom)))+     print (not (isBottom (Just bottom))) -- sanity check++------------------------------------------------------------------------+-- Support for testing for bottom++bottom :: a+bottom = error "_|_"++isBottom :: a -> Bool+isBottom f = unsafePerformIO $+  (E.evaluate f >> return False) `E.catches`+    [ E.Handler (\(_ :: E.ArrayException)   -> return True)+    , E.Handler (\(_ :: E.ErrorCall)        -> return True)+    , E.Handler (\(_ :: E.NoMethodError)    -> return True)+    , E.Handler (\(_ :: E.NonTermination)   -> return True)+    , E.Handler (\(_ :: E.PatternMatchFail) -> return True)+    , E.Handler (\(_ :: E.RecConError)      -> return True)+    , E.Handler (\(_ :: E.RecSelError)      -> return True)+    , E.Handler (\(_ :: E.RecUpdError)      -> return True)+    ]
+ tests/examples/DsStrictData.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/DsStrictData.hs.parser.golden view
@@ -0,0 +1,3591 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 1 1 49 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/DsStrictData.hs" 1 1 1 1+            , SrcSpan "tests/examples/DsStrictData.hs" 4 1 4 1+            , SrcSpan "tests/examples/DsStrictData.hs" 4 1 4 1+            , SrcSpan "tests/examples/DsStrictData.hs" 6 1 6 1+            , SrcSpan "tests/examples/DsStrictData.hs" 7 1 7 1+            , SrcSpan "tests/examples/DsStrictData.hs" 9 1 9 1+            , SrcSpan "tests/examples/DsStrictData.hs" 10 1 10 1+            , SrcSpan "tests/examples/DsStrictData.hs" 11 1 11 1+            , SrcSpan "tests/examples/DsStrictData.hs" 14 1 14 1+            , SrcSpan "tests/examples/DsStrictData.hs" 16 1 16 1+            , SrcSpan "tests/examples/DsStrictData.hs" 17 1 17 1+            , SrcSpan "tests/examples/DsStrictData.hs" 20 1 20 1+            , SrcSpan "tests/examples/DsStrictData.hs" 21 1 21 1+            , SrcSpan "tests/examples/DsStrictData.hs" 34 1 34 1+            , SrcSpan "tests/examples/DsStrictData.hs" 35 1 35 1+            , SrcSpan "tests/examples/DsStrictData.hs" 37 1 37 1+            , SrcSpan "tests/examples/DsStrictData.hs" 38 1 38 1+            , SrcSpan "tests/examples/DsStrictData.hs" 49 1 49 1+            , SrcSpan "tests/examples/DsStrictData.hs" 49 1 49 1+            ]+        }+      (Just+         (ModuleHead+            SrcSpanInfo+              { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 4 1 4 18+              , srcInfoPoints =+                  [ SrcSpan "tests/examples/DsStrictData.hs" 4 1 4 7+                  , SrcSpan "tests/examples/DsStrictData.hs" 4 13 4 18+                  ]+              }+            (ModuleName+               SrcSpanInfo+                 { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 4 8 4 12+                 , srcInfoPoints = []+                 }+               "Main")+            Nothing+            Nothing))+      [ LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 1 1 1 56+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DsStrictData.hs" 1 1 1 13+                , SrcSpan "tests/examples/DsStrictData.hs" 1 33 1 34+                , SrcSpan "tests/examples/DsStrictData.hs" 1 45 1 46+                , SrcSpan "tests/examples/DsStrictData.hs" 1 53 1 56+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 1 14 1 33+                , srcInfoPoints = []+                }+              "ScopedTypeVariables"+          , Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 1 35 1 45+                , srcInfoPoints = []+                }+              "StrictData"+          , Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 1 47 1 52+                , srcInfoPoints = []+                }+              "GADTs"+          ]+      ]+      [ ImportDecl+          { importAnn =+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 6 1 6 40+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DsStrictData.hs" 6 1 6 7+                    , SrcSpan "tests/examples/DsStrictData.hs" 6 8 6 17+                    , SrcSpan "tests/examples/DsStrictData.hs" 6 36 6 38+                    ]+                }+          , importModule =+              ModuleName+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 6 18 6 35+                  , srcInfoPoints = []+                  }+                "Control.Exception"+          , importQualified = True+          , importSrc = False+          , importSafe = False+          , importPkg = Nothing+          , importAs =+              Just+                (ModuleName+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 6 39 6 40+                     , srcInfoPoints = []+                     }+                   "E")+          , importSpecs = Nothing+          }+      , ImportDecl+          { importAnn =+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 7 1 7 42+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DsStrictData.hs" 7 1 7 7 ]+                }+          , importModule =+              ModuleName+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 7 8 7 24+                  , srcInfoPoints = []+                  }+                "System.IO.Unsafe"+          , importQualified = False+          , importSrc = False+          , importSafe = False+          , importPkg = Nothing+          , importAs = Nothing+          , importSpecs =+              Just+                (ImportSpecList+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 7 25 7 42+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DsStrictData.hs" 7 25 7 26+                         , SrcSpan "tests/examples/DsStrictData.hs" 7 41 7 42+                         ]+                     }+                   False+                   [ IVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 7 26 7 41+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 7 26 7 41+                            , srcInfoPoints = []+                            }+                          "unsafePerformIO")+                   ])+          }+      ]+      [ DataDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 1 9 20+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DsStrictData.hs" 9 15 9 16 ]+            }+          (DataType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 1 9 5+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 6 9 14+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 6 9 12+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 6 9 12+                     , srcInfoPoints = []+                     }+                   "Strict"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 13 9 14+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 13 9 14+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 17 9 20+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 17 9 20+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 17 9 18+                      , srcInfoPoints = []+                      }+                    "S")+                 [ TyVar+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 19 9 20+                       , srcInfoPoints = []+                       }+                     (Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 19 9 20+                          , srcInfoPoints = []+                          }+                        "a")+                 ])+          ]+          []+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 10 1 10 23+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DsStrictData.hs" 10 16 10 17 ]+            }+          (DataType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 10 1 10 5+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 10 6 10 15+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 10 6 10 13+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 10 6 10 13+                     , srcInfoPoints = []+                     }+                   "Strict2"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DsStrictData.hs" 10 14 10 15+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DsStrictData.hs" 10 14 10 15+                     , srcInfoPoints = []+                     }+                   "b")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DsStrictData.hs" 10 18 10 23+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DsStrictData.hs" 10 18 10 23+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DsStrictData.hs" 10 18 10 20+                      , srcInfoPoints = []+                      }+                    "S2")+                 [ TyBang+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DsStrictData.hs" 10 21 10 23+                       , srcInfoPoints = []+                       }+                     (BangedTy+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DsStrictData.hs" 10 21 10 22+                          , srcInfoPoints = []+                          })+                     (NoUnpackPragma+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "" (-1) (-1) (-1) (-1)+                          , srcInfoPoints = []+                          })+                     (TyVar+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DsStrictData.hs" 10 22 10 23+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DsStrictData.hs" 10 22 10 23+                             , srcInfoPoints = []+                             }+                           "b"))+                 ])+          ]+          []+      , GDataDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 11 1 14 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DsStrictData.hs" 11 16 11 21+                , SrcSpan "tests/examples/DsStrictData.hs" 12 3 12 3+                , SrcSpan "tests/examples/DsStrictData.hs" 14 1 14 0+                ]+            }+          (DataType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 11 1 11 5+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 11 6 11 15+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 11 6 11 13+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 11 6 11 13+                     , srcInfoPoints = []+                     }+                   "Strict3"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DsStrictData.hs" 11 14 11 15+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DsStrictData.hs" 11 14 11 15+                     , srcInfoPoints = []+                     }+                   "c")))+          Nothing+          [ GadtDecl+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 12 3 12 23+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DsStrictData.hs" 12 6 12 8 ]+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 12 3 12 5+                   , srcInfoPoints = []+                   }+                 "S3")+              Nothing+              Nothing+              Nothing+              (TyFun+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 12 9 12 23+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DsStrictData.hs" 12 11 12 13 ]+                   }+                 (TyVar+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 12 9 12 10+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 12 9 12 10+                         , srcInfoPoints = []+                         }+                       "c"))+                 (TyApp+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DsStrictData.hs" 12 14 12 23+                      , srcInfoPoints = []+                      }+                    (TyCon+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DsStrictData.hs" 12 14 12 21+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DsStrictData.hs" 12 14 12 21+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DsStrictData.hs" 12 14 12 21+                               , srcInfoPoints = []+                               }+                             "Strict3")))+                    (TyVar+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DsStrictData.hs" 12 22 12 23+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DsStrictData.hs" 12 22 12 23+                            , srcInfoPoints = []+                            }+                          "c"))))+          ]+          []+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 14 1 14 37+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DsStrictData.hs" 14 14 14 15 ]+            }+          (DataType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 14 1 14 5+               , srcInfoPoints = []+               })+          Nothing+          (DHead+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 14 6 14 13+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 14 6 14 13+                  , srcInfoPoints = []+                  }+                "UStrict"))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DsStrictData.hs" 14 16 14 37+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DsStrictData.hs" 14 16 14 37+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DsStrictData.hs" 14 16 14 18+                      , srcInfoPoints = []+                      }+                    "US")+                 [ TyBang+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DsStrictData.hs" 14 19 14 37+                       , srcInfoPoints = []+                       }+                     (NoStrictAnnot+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "" (-1) (-1) (-1) (-1)+                          , srcInfoPoints = []+                          })+                     (Unpack+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DsStrictData.hs" 14 19 14 33+                          , srcInfoPoints =+                              [ SrcSpan "tests/examples/DsStrictData.hs" 14 19 14 29+                              , SrcSpan "tests/examples/DsStrictData.hs" 14 30 14 33+                              ]+                          })+                     (TyCon+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DsStrictData.hs" 14 34 14 37+                          , srcInfoPoints = []+                          }+                        (UnQual+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DsStrictData.hs" 14 34 14 37+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/DsStrictData.hs" 14 34 14 37+                                , srcInfoPoints = []+                                }+                              "Int")))+                 ])+          ]+          []+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 16 1 16 19+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DsStrictData.hs" 16 13 16 14 ]+            }+          (DataType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 16 1 16 5+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 16 6 16 12+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 16 6 16 10+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 16 6 16 10+                     , srcInfoPoints = []+                     }+                   "Lazy"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DsStrictData.hs" 16 11 16 12+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DsStrictData.hs" 16 11 16 12+                     , srcInfoPoints = []+                     }+                   "d")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/DsStrictData.hs" 16 15 16 19+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/DsStrictData.hs" 16 15 16 19+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DsStrictData.hs" 16 15 16 16+                      , srcInfoPoints = []+                      }+                    "L")+                 [ TyBang+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DsStrictData.hs" 16 17 16 19+                       , srcInfoPoints = []+                       }+                     (LazyTy+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DsStrictData.hs" 16 17 16 18+                          , srcInfoPoints = []+                          })+                     (NoUnpackPragma+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "" (-1) (-1) (-1) (-1)+                          , srcInfoPoints = []+                          })+                     (TyVar+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/DsStrictData.hs" 16 18 16 19+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/DsStrictData.hs" 16 18 16 19+                             , srcInfoPoints = []+                             }+                           "d"))+                 ])+          ]+          []+      , GDataDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 17 1 20 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DsStrictData.hs" 17 14 17 19+                , SrcSpan "tests/examples/DsStrictData.hs" 18 3 18 3+                , SrcSpan "tests/examples/DsStrictData.hs" 20 1 20 0+                ]+            }+          (DataType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 17 1 17 5+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 17 6 17 13+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 17 6 17 11+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 17 6 17 11+                     , srcInfoPoints = []+                     }+                   "Lazy2"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DsStrictData.hs" 17 12 17 13+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DsStrictData.hs" 17 12 17 13+                     , srcInfoPoints = []+                     }+                   "e")))+          Nothing+          [ GadtDecl+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 18 3 18 22+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/DsStrictData.hs" 18 6 18 8 ]+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 18 3 18 5+                   , srcInfoPoints = []+                   }+                 "L2")+              Nothing+              Nothing+              Nothing+              (TyFun+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 18 9 18 22+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DsStrictData.hs" 18 12 18 14 ]+                   }+                 (TyBang+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 18 9 18 11+                      , srcInfoPoints = []+                      }+                    (LazyTy+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 18 9 18 10+                         , srcInfoPoints = []+                         })+                    (NoUnpackPragma+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "" (-1) (-1) (-1) (-1)+                         , srcInfoPoints = []+                         })+                    (TyVar+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DsStrictData.hs" 18 10 18 11+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DsStrictData.hs" 18 10 18 11+                            , srcInfoPoints = []+                            }+                          "e")))+                 (TyApp+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/DsStrictData.hs" 18 15 18 22+                      , srcInfoPoints = []+                      }+                    (TyCon+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DsStrictData.hs" 18 15 18 20+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DsStrictData.hs" 18 15 18 20+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DsStrictData.hs" 18 15 18 20+                               , srcInfoPoints = []+                               }+                             "Lazy2")))+                    (TyVar+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DsStrictData.hs" 18 21 18 22+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DsStrictData.hs" 18 21 18 22+                            , srcInfoPoints = []+                            }+                          "e"))))+          ]+          []+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 20 1 20 14+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DsStrictData.hs" 20 6 20 8 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 20 1 20 5+                , srcInfoPoints = []+                }+              "main"+          ]+          (TyApp+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 20 9 20 14+               , srcInfoPoints = []+               }+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 20 9 20 11+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 20 9 20 11+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 20 9 20 11+                        , srcInfoPoints = []+                        }+                      "IO")))+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DsStrictData.hs" 20 12 20 14+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/DsStrictData.hs" 20 12 20 13+                      , SrcSpan "tests/examples/DsStrictData.hs" 20 13 20 14+                      ]+                  }+                (Special+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DsStrictData.hs" 20 12 20 14+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/DsStrictData.hs" 20 12 20 13+                         , SrcSpan "tests/examples/DsStrictData.hs" 20 13 20 14+                         ]+                     }+                   (UnitCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DsStrictData.hs" 20 12 20 14+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/DsStrictData.hs" 20 12 20 13+                            , SrcSpan "tests/examples/DsStrictData.hs" 20 13 20 14+                            ]+                        }))))+      , PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 21 1 29 42+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 21 1 21 5+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 21 1 21 5+                  , srcInfoPoints = []+                  }+                "main"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 21 6 29 42+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/DsStrictData.hs" 21 6 21 7 ]+               }+             (Do+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 22 3 29 42+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/DsStrictData.hs" 22 3 22 5+                      , SrcSpan "tests/examples/DsStrictData.hs" 22 6 22 6+                      , SrcSpan "tests/examples/DsStrictData.hs" 23 6 23 6+                      , SrcSpan "tests/examples/DsStrictData.hs" 24 6 24 6+                      , SrcSpan "tests/examples/DsStrictData.hs" 25 6 25 6+                      , SrcSpan "tests/examples/DsStrictData.hs" 26 6 26 6+                      , SrcSpan "tests/examples/DsStrictData.hs" 27 6 27 6+                      , SrcSpan "tests/examples/DsStrictData.hs" 28 6 28 6+                      , SrcSpan "tests/examples/DsStrictData.hs" 29 6 29 6+                      , SrcSpan "tests/examples/DsStrictData.hs" 34 1 34 0+                      ]+                  }+                [ Qualifier+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 22 6 22 33+                      , srcInfoPoints = []+                      }+                    (App+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 22 6 22 33+                         , srcInfoPoints = []+                         }+                       (Var+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 22 6 22 11+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 22 6 22 11+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DsStrictData.hs" 22 6 22 11+                                  , srcInfoPoints = []+                                  }+                                "print")))+                       (Paren+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DsStrictData.hs" 22 12 22 33+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DsStrictData.hs" 22 12 22 13+                                , SrcSpan "tests/examples/DsStrictData.hs" 22 32 22 33+                                ]+                            }+                          (App+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DsStrictData.hs" 22 13 22 32+                               , srcInfoPoints = []+                               }+                             (Var+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DsStrictData.hs" 22 13 22 21+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DsStrictData.hs" 22 13 22 21+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DsStrictData.hs" 22 13 22 21+                                        , srcInfoPoints = []+                                        }+                                      "isBottom")))+                             (Paren+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DsStrictData.hs" 22 22 22 32+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DsStrictData.hs" 22 22 22 23+                                      , SrcSpan "tests/examples/DsStrictData.hs" 22 31 22 32+                                      ]+                                  }+                                (App+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DsStrictData.hs" 22 23 22 31+                                     , srcInfoPoints = []+                                     }+                                   (Con+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DsStrictData.hs" 22 23 22 24+                                        , srcInfoPoints = []+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DsStrictData.hs" 22 23 22 24+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DsStrictData.hs" 22 23 22 24+                                              , srcInfoPoints = []+                                              }+                                            "S")))+                                   (Var+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DsStrictData.hs" 22 25 22 31+                                        , srcInfoPoints = []+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DsStrictData.hs" 22 25 22 31+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DsStrictData.hs" 22 25 22 31+                                              , srcInfoPoints = []+                                              }+                                            "bottom"))))))))+                , Qualifier+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 23 6 23 34+                      , srcInfoPoints = []+                      }+                    (App+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 23 6 23 34+                         , srcInfoPoints = []+                         }+                       (Var+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 23 6 23 11+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 23 6 23 11+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DsStrictData.hs" 23 6 23 11+                                  , srcInfoPoints = []+                                  }+                                "print")))+                       (Paren+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DsStrictData.hs" 23 12 23 34+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DsStrictData.hs" 23 12 23 13+                                , SrcSpan "tests/examples/DsStrictData.hs" 23 33 23 34+                                ]+                            }+                          (App+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DsStrictData.hs" 23 13 23 33+                               , srcInfoPoints = []+                               }+                             (Var+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DsStrictData.hs" 23 13 23 21+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DsStrictData.hs" 23 13 23 21+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DsStrictData.hs" 23 13 23 21+                                        , srcInfoPoints = []+                                        }+                                      "isBottom")))+                             (Paren+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DsStrictData.hs" 23 22 23 33+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DsStrictData.hs" 23 22 23 23+                                      , SrcSpan "tests/examples/DsStrictData.hs" 23 32 23 33+                                      ]+                                  }+                                (App+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DsStrictData.hs" 23 23 23 32+                                     , srcInfoPoints = []+                                     }+                                   (Con+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DsStrictData.hs" 23 23 23 25+                                        , srcInfoPoints = []+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DsStrictData.hs" 23 23 23 25+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DsStrictData.hs" 23 23 23 25+                                              , srcInfoPoints = []+                                              }+                                            "S2")))+                                   (Var+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DsStrictData.hs" 23 26 23 32+                                        , srcInfoPoints = []+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DsStrictData.hs" 23 26 23 32+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DsStrictData.hs" 23 26 23 32+                                              , srcInfoPoints = []+                                              }+                                            "bottom"))))))))+                , Qualifier+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 24 6 24 34+                      , srcInfoPoints = []+                      }+                    (App+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 24 6 24 34+                         , srcInfoPoints = []+                         }+                       (Var+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 24 6 24 11+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 24 6 24 11+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DsStrictData.hs" 24 6 24 11+                                  , srcInfoPoints = []+                                  }+                                "print")))+                       (Paren+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DsStrictData.hs" 24 12 24 34+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DsStrictData.hs" 24 12 24 13+                                , SrcSpan "tests/examples/DsStrictData.hs" 24 33 24 34+                                ]+                            }+                          (App+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DsStrictData.hs" 24 13 24 33+                               , srcInfoPoints = []+                               }+                             (Var+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DsStrictData.hs" 24 13 24 21+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DsStrictData.hs" 24 13 24 21+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DsStrictData.hs" 24 13 24 21+                                        , srcInfoPoints = []+                                        }+                                      "isBottom")))+                             (Paren+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DsStrictData.hs" 24 22 24 33+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DsStrictData.hs" 24 22 24 23+                                      , SrcSpan "tests/examples/DsStrictData.hs" 24 32 24 33+                                      ]+                                  }+                                (App+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DsStrictData.hs" 24 23 24 32+                                     , srcInfoPoints = []+                                     }+                                   (Con+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DsStrictData.hs" 24 23 24 25+                                        , srcInfoPoints = []+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DsStrictData.hs" 24 23 24 25+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DsStrictData.hs" 24 23 24 25+                                              , srcInfoPoints = []+                                              }+                                            "US")))+                                   (Var+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DsStrictData.hs" 24 26 24 32+                                        , srcInfoPoints = []+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DsStrictData.hs" 24 26 24 32+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DsStrictData.hs" 24 26 24 32+                                              , srcInfoPoints = []+                                              }+                                            "bottom"))))))))+                , Qualifier+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 25 6 25 34+                      , srcInfoPoints = []+                      }+                    (App+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 25 6 25 34+                         , srcInfoPoints = []+                         }+                       (Var+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 25 6 25 11+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 25 6 25 11+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DsStrictData.hs" 25 6 25 11+                                  , srcInfoPoints = []+                                  }+                                "print")))+                       (Paren+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DsStrictData.hs" 25 12 25 34+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DsStrictData.hs" 25 12 25 13+                                , SrcSpan "tests/examples/DsStrictData.hs" 25 33 25 34+                                ]+                            }+                          (App+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DsStrictData.hs" 25 13 25 33+                               , srcInfoPoints = []+                               }+                             (Var+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DsStrictData.hs" 25 13 25 21+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DsStrictData.hs" 25 13 25 21+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DsStrictData.hs" 25 13 25 21+                                        , srcInfoPoints = []+                                        }+                                      "isBottom")))+                             (Paren+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DsStrictData.hs" 25 22 25 33+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DsStrictData.hs" 25 22 25 23+                                      , SrcSpan "tests/examples/DsStrictData.hs" 25 32 25 33+                                      ]+                                  }+                                (App+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DsStrictData.hs" 25 23 25 32+                                     , srcInfoPoints = []+                                     }+                                   (Con+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DsStrictData.hs" 25 23 25 25+                                        , srcInfoPoints = []+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DsStrictData.hs" 25 23 25 25+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DsStrictData.hs" 25 23 25 25+                                              , srcInfoPoints = []+                                              }+                                            "S3")))+                                   (Var+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DsStrictData.hs" 25 26 25 32+                                        , srcInfoPoints = []+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DsStrictData.hs" 25 26 25 32+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DsStrictData.hs" 25 26 25 32+                                              , srcInfoPoints = []+                                              }+                                            "bottom"))))))))+                , Qualifier+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 26 6 26 17+                      , srcInfoPoints = []+                      }+                    (App+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 26 6 26 17+                         , srcInfoPoints = []+                         }+                       (Var+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 26 6 26 14+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 26 6 26 14+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DsStrictData.hs" 26 6 26 14+                                  , srcInfoPoints = []+                                  }+                                "putStrLn")))+                       (Lit+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DsStrictData.hs" 26 15 26 17+                            , srcInfoPoints = []+                            }+                          (String+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DsStrictData.hs" 26 15 26 17+                               , srcInfoPoints = []+                               }+                             ""+                             "")))+                , Qualifier+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 27 6 27 39+                      , srcInfoPoints = []+                      }+                    (App+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 27 6 27 39+                         , srcInfoPoints = []+                         }+                       (Var+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 27 6 27 11+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 27 6 27 11+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DsStrictData.hs" 27 6 27 11+                                  , srcInfoPoints = []+                                  }+                                "print")))+                       (Paren+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DsStrictData.hs" 27 12 27 39+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DsStrictData.hs" 27 12 27 13+                                , SrcSpan "tests/examples/DsStrictData.hs" 27 38 27 39+                                ]+                            }+                          (App+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DsStrictData.hs" 27 13 27 38+                               , srcInfoPoints = []+                               }+                             (Var+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DsStrictData.hs" 27 13 27 16+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DsStrictData.hs" 27 13 27 16+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DsStrictData.hs" 27 13 27 16+                                        , srcInfoPoints = []+                                        }+                                      "not")))+                             (Paren+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DsStrictData.hs" 27 17 27 38+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DsStrictData.hs" 27 17 27 18+                                      , SrcSpan "tests/examples/DsStrictData.hs" 27 37 27 38+                                      ]+                                  }+                                (App+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DsStrictData.hs" 27 18 27 37+                                     , srcInfoPoints = []+                                     }+                                   (Var+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DsStrictData.hs" 27 18 27 26+                                        , srcInfoPoints = []+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DsStrictData.hs" 27 18 27 26+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DsStrictData.hs" 27 18 27 26+                                              , srcInfoPoints = []+                                              }+                                            "isBottom")))+                                   (Paren+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DsStrictData.hs" 27 27 27 37+                                        , srcInfoPoints =+                                            [ SrcSpan "tests/examples/DsStrictData.hs" 27 27 27 28+                                            , SrcSpan "tests/examples/DsStrictData.hs" 27 36 27 37+                                            ]+                                        }+                                      (App+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DsStrictData.hs" 27 28 27 36+                                           , srcInfoPoints = []+                                           }+                                         (Con+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DsStrictData.hs" 27 28 27 29+                                              , srcInfoPoints = []+                                              }+                                            (UnQual+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DsStrictData.hs" 27 28 27 29+                                                 , srcInfoPoints = []+                                                 }+                                               (Ident+                                                  SrcSpanInfo+                                                    { srcInfoSpan =+                                                        SrcSpan+                                                          "tests/examples/DsStrictData.hs"+                                                          27+                                                          28+                                                          27+                                                          29+                                                    , srcInfoPoints = []+                                                    }+                                                  "L")))+                                         (Var+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DsStrictData.hs" 27 30 27 36+                                              , srcInfoPoints = []+                                              }+                                            (UnQual+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DsStrictData.hs" 27 30 27 36+                                                 , srcInfoPoints = []+                                                 }+                                               (Ident+                                                  SrcSpanInfo+                                                    { srcInfoSpan =+                                                        SrcSpan+                                                          "tests/examples/DsStrictData.hs"+                                                          27+                                                          30+                                                          27+                                                          36+                                                    , srcInfoPoints = []+                                                    }+                                                  "bottom"))))))))))+                , Qualifier+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 28 6 28 40+                      , srcInfoPoints = []+                      }+                    (App+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 28 6 28 40+                         , srcInfoPoints = []+                         }+                       (Var+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 28 6 28 11+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 28 6 28 11+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DsStrictData.hs" 28 6 28 11+                                  , srcInfoPoints = []+                                  }+                                "print")))+                       (Paren+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DsStrictData.hs" 28 12 28 40+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DsStrictData.hs" 28 12 28 13+                                , SrcSpan "tests/examples/DsStrictData.hs" 28 39 28 40+                                ]+                            }+                          (App+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DsStrictData.hs" 28 13 28 39+                               , srcInfoPoints = []+                               }+                             (Var+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DsStrictData.hs" 28 13 28 16+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DsStrictData.hs" 28 13 28 16+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DsStrictData.hs" 28 13 28 16+                                        , srcInfoPoints = []+                                        }+                                      "not")))+                             (Paren+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DsStrictData.hs" 28 17 28 39+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DsStrictData.hs" 28 17 28 18+                                      , SrcSpan "tests/examples/DsStrictData.hs" 28 38 28 39+                                      ]+                                  }+                                (App+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DsStrictData.hs" 28 18 28 38+                                     , srcInfoPoints = []+                                     }+                                   (Var+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DsStrictData.hs" 28 18 28 26+                                        , srcInfoPoints = []+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DsStrictData.hs" 28 18 28 26+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DsStrictData.hs" 28 18 28 26+                                              , srcInfoPoints = []+                                              }+                                            "isBottom")))+                                   (Paren+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DsStrictData.hs" 28 27 28 38+                                        , srcInfoPoints =+                                            [ SrcSpan "tests/examples/DsStrictData.hs" 28 27 28 28+                                            , SrcSpan "tests/examples/DsStrictData.hs" 28 37 28 38+                                            ]+                                        }+                                      (App+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DsStrictData.hs" 28 28 28 37+                                           , srcInfoPoints = []+                                           }+                                         (Con+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DsStrictData.hs" 28 28 28 30+                                              , srcInfoPoints = []+                                              }+                                            (UnQual+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DsStrictData.hs" 28 28 28 30+                                                 , srcInfoPoints = []+                                                 }+                                               (Ident+                                                  SrcSpanInfo+                                                    { srcInfoSpan =+                                                        SrcSpan+                                                          "tests/examples/DsStrictData.hs"+                                                          28+                                                          28+                                                          28+                                                          30+                                                    , srcInfoPoints = []+                                                    }+                                                  "L2")))+                                         (Var+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DsStrictData.hs" 28 31 28 37+                                              , srcInfoPoints = []+                                              }+                                            (UnQual+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DsStrictData.hs" 28 31 28 37+                                                 , srcInfoPoints = []+                                                 }+                                               (Ident+                                                  SrcSpanInfo+                                                    { srcInfoSpan =+                                                        SrcSpan+                                                          "tests/examples/DsStrictData.hs"+                                                          28+                                                          31+                                                          28+                                                          37+                                                    , srcInfoPoints = []+                                                    }+                                                  "bottom"))))))))))+                , Qualifier+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 29 6 29 42+                      , srcInfoPoints = []+                      }+                    (App+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 29 6 29 42+                         , srcInfoPoints = []+                         }+                       (Var+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 29 6 29 11+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 29 6 29 11+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DsStrictData.hs" 29 6 29 11+                                  , srcInfoPoints = []+                                  }+                                "print")))+                       (Paren+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DsStrictData.hs" 29 12 29 42+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DsStrictData.hs" 29 12 29 13+                                , SrcSpan "tests/examples/DsStrictData.hs" 29 41 29 42+                                ]+                            }+                          (App+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DsStrictData.hs" 29 13 29 41+                               , srcInfoPoints = []+                               }+                             (Var+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DsStrictData.hs" 29 13 29 16+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DsStrictData.hs" 29 13 29 16+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DsStrictData.hs" 29 13 29 16+                                        , srcInfoPoints = []+                                        }+                                      "not")))+                             (Paren+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DsStrictData.hs" 29 17 29 41+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/DsStrictData.hs" 29 17 29 18+                                      , SrcSpan "tests/examples/DsStrictData.hs" 29 40 29 41+                                      ]+                                  }+                                (App+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DsStrictData.hs" 29 18 29 40+                                     , srcInfoPoints = []+                                     }+                                   (Var+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DsStrictData.hs" 29 18 29 26+                                        , srcInfoPoints = []+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DsStrictData.hs" 29 18 29 26+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DsStrictData.hs" 29 18 29 26+                                              , srcInfoPoints = []+                                              }+                                            "isBottom")))+                                   (Paren+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DsStrictData.hs" 29 27 29 40+                                        , srcInfoPoints =+                                            [ SrcSpan "tests/examples/DsStrictData.hs" 29 27 29 28+                                            , SrcSpan "tests/examples/DsStrictData.hs" 29 39 29 40+                                            ]+                                        }+                                      (App+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DsStrictData.hs" 29 28 29 39+                                           , srcInfoPoints = []+                                           }+                                         (Con+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DsStrictData.hs" 29 28 29 32+                                              , srcInfoPoints = []+                                              }+                                            (UnQual+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DsStrictData.hs" 29 28 29 32+                                                 , srcInfoPoints = []+                                                 }+                                               (Ident+                                                  SrcSpanInfo+                                                    { srcInfoSpan =+                                                        SrcSpan+                                                          "tests/examples/DsStrictData.hs"+                                                          29+                                                          28+                                                          29+                                                          32+                                                    , srcInfoPoints = []+                                                    }+                                                  "Just")))+                                         (Var+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/DsStrictData.hs" 29 33 29 39+                                              , srcInfoPoints = []+                                              }+                                            (UnQual+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/DsStrictData.hs" 29 33 29 39+                                                 , srcInfoPoints = []+                                                 }+                                               (Ident+                                                  SrcSpanInfo+                                                    { srcInfoSpan =+                                                        SrcSpan+                                                          "tests/examples/DsStrictData.hs"+                                                          29+                                                          33+                                                          29+                                                          39+                                                    , srcInfoPoints = []+                                                    }+                                                  "bottom"))))))))))+                ]))+          Nothing+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 34 1 34 12+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DsStrictData.hs" 34 8 34 10 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 34 1 34 7+                , srcInfoPoints = []+                }+              "bottom"+          ]+          (TyVar+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DsStrictData.hs" 34 11 34 12+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DsStrictData.hs" 34 11 34 12+                  , srcInfoPoints = []+                  }+                "a"))+      , PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 35 1 35 21+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 35 1 35 7+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 35 1 35 7+                  , srcInfoPoints = []+                  }+                "bottom"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 35 8 35 21+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/DsStrictData.hs" 35 8 35 9 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DsStrictData.hs" 35 10 35 21+                  , srcInfoPoints = []+                  }+                (Var+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DsStrictData.hs" 35 10 35 15+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DsStrictData.hs" 35 10 35 15+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/DsStrictData.hs" 35 10 35 15+                           , srcInfoPoints = []+                           }+                         "error")))+                (Lit+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DsStrictData.hs" 35 16 35 21+                     , srcInfoPoints = []+                     }+                   (String+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DsStrictData.hs" 35 16 35 21+                        , srcInfoPoints = []+                        }+                      "_|_"+                      "_|_"))))+          Nothing+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 37 1 37 22+            , srcInfoPoints =+                [ SrcSpan "tests/examples/DsStrictData.hs" 37 10 37 12 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 37 1 37 9+                , srcInfoPoints = []+                }+              "isBottom"+          ]+          (TyFun+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/DsStrictData.hs" 37 13 37 22+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/DsStrictData.hs" 37 15 37 17 ]+               }+             (TyVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DsStrictData.hs" 37 13 37 14+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DsStrictData.hs" 37 13 37 14+                     , srcInfoPoints = []+                     }+                   "a"))+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/DsStrictData.hs" 37 18 37 22+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/DsStrictData.hs" 37 18 37 22+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/DsStrictData.hs" 37 18 37 22+                        , srcInfoPoints = []+                        }+                      "Bool"))))+      , FunBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 38 1 48 6+            , srcInfoPoints = []+            }+          [ Match+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 38 1 48 6+                , srcInfoPoints = []+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 38 1 38 9+                   , srcInfoPoints = []+                   }+                 "isBottom")+              [ PVar+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/DsStrictData.hs" 38 10 38 11+                    , srcInfoPoints = []+                    }+                  (Ident+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/DsStrictData.hs" 38 10 38 11+                       , srcInfoPoints = []+                       }+                     "f")+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 38 12 48 6+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/DsStrictData.hs" 38 12 38 13 ]+                   }+                 (InfixApp+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 38 14 48 6+                      , srcInfoPoints = []+                      }+                    (Var+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DsStrictData.hs" 38 14 38 29+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DsStrictData.hs" 38 14 38 29+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DsStrictData.hs" 38 14 38 29+                               , srcInfoPoints = []+                               }+                             "unsafePerformIO")))+                    (QVarOp+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/DsStrictData.hs" 38 30 38 31+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DsStrictData.hs" 38 30 38 31+                            , srcInfoPoints = []+                            }+                          (Symbol+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DsStrictData.hs" 38 30 38 31+                               , srcInfoPoints = []+                               }+                             "$")))+                    (InfixApp+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 39 3 48 6+                         , srcInfoPoints = []+                         }+                       (Paren+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 39 3 39 33+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DsStrictData.hs" 39 3 39 4+                                , SrcSpan "tests/examples/DsStrictData.hs" 39 32 39 33+                                ]+                            }+                          (InfixApp+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 39 4 39 32+                               , srcInfoPoints = []+                               }+                             (App+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DsStrictData.hs" 39 4 39 16+                                  , srcInfoPoints = []+                                  }+                                (Var+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DsStrictData.hs" 39 4 39 14+                                     , srcInfoPoints = []+                                     }+                                   (Qual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DsStrictData.hs" 39 4 39 14+                                        , srcInfoPoints = []+                                        }+                                      (ModuleName+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DsStrictData.hs" 39 4 39 14+                                           , srcInfoPoints = []+                                           }+                                         "E")+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DsStrictData.hs" 39 4 39 14+                                           , srcInfoPoints = []+                                           }+                                         "evaluate")))+                                (Var+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DsStrictData.hs" 39 15 39 16+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DsStrictData.hs" 39 15 39 16+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DsStrictData.hs" 39 15 39 16+                                           , srcInfoPoints = []+                                           }+                                         "f"))))+                             (QVarOp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DsStrictData.hs" 39 17 39 19+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DsStrictData.hs" 39 17 39 19+                                     , srcInfoPoints = []+                                     }+                                   (Symbol+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DsStrictData.hs" 39 17 39 19+                                        , srcInfoPoints = []+                                        }+                                      ">>")))+                             (App+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DsStrictData.hs" 39 20 39 32+                                  , srcInfoPoints = []+                                  }+                                (Var+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DsStrictData.hs" 39 20 39 26+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DsStrictData.hs" 39 20 39 26+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DsStrictData.hs" 39 20 39 26+                                           , srcInfoPoints = []+                                           }+                                         "return")))+                                (Con+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/DsStrictData.hs" 39 27 39 32+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/DsStrictData.hs" 39 27 39 32+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/DsStrictData.hs" 39 27 39 32+                                           , srcInfoPoints = []+                                           }+                                         "False"))))))+                       (QVarOp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/DsStrictData.hs" 39 34 39 45+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DsStrictData.hs" 39 34 39 35+                                , SrcSpan "tests/examples/DsStrictData.hs" 39 35 39 44+                                , SrcSpan "tests/examples/DsStrictData.hs" 39 44 39 45+                                ]+                            }+                          (Qual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/DsStrictData.hs" 39 34 39 45+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/DsStrictData.hs" 39 34 39 35+                                   , SrcSpan "tests/examples/DsStrictData.hs" 39 35 39 44+                                   , SrcSpan "tests/examples/DsStrictData.hs" 39 44 39 45+                                   ]+                               }+                             (ModuleName+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DsStrictData.hs" 39 35 39 44+                                  , srcInfoPoints = []+                                  }+                                "E")+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/DsStrictData.hs" 39 35 39 44+                                  , srcInfoPoints = []+                                  }+                                "catches")))+                       (List+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 40 5 48 6+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/DsStrictData.hs" 40 5 40 6+                                , SrcSpan "tests/examples/DsStrictData.hs" 41 5 41 6+                                , SrcSpan "tests/examples/DsStrictData.hs" 42 5 42 6+                                , SrcSpan "tests/examples/DsStrictData.hs" 43 5 43 6+                                , SrcSpan "tests/examples/DsStrictData.hs" 44 5 44 6+                                , SrcSpan "tests/examples/DsStrictData.hs" 45 5 45 6+                                , SrcSpan "tests/examples/DsStrictData.hs" 46 5 46 6+                                , SrcSpan "tests/examples/DsStrictData.hs" 47 5 47 6+                                , SrcSpan "tests/examples/DsStrictData.hs" 48 5 48 6+                                ]+                            }+                          [ App+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 40 7 40 60+                                , srcInfoPoints = []+                                }+                              (Con+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DsStrictData.hs" 40 7 40 16+                                   , srcInfoPoints = []+                                   }+                                 (Qual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DsStrictData.hs" 40 7 40 16+                                      , srcInfoPoints = []+                                      }+                                    (ModuleName+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DsStrictData.hs" 40 7 40 16+                                         , srcInfoPoints = []+                                         }+                                       "E")+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DsStrictData.hs" 40 7 40 16+                                         , srcInfoPoints = []+                                         }+                                       "Handler")))+                              (Paren+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DsStrictData.hs" 40 17 40 60+                                   , srcInfoPoints =+                                       [ SrcSpan "tests/examples/DsStrictData.hs" 40 17 40 18+                                       , SrcSpan "tests/examples/DsStrictData.hs" 40 59 40 60+                                       ]+                                   }+                                 (Lambda+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DsStrictData.hs" 40 18 40 59+                                      , srcInfoPoints =+                                          [ SrcSpan "tests/examples/DsStrictData.hs" 40 18 40 19+                                          , SrcSpan "tests/examples/DsStrictData.hs" 40 45 40 47+                                          ]+                                      }+                                    [ PParen+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/DsStrictData.hs" 40 19 40 42+                                          , srcInfoPoints =+                                              [ SrcSpan "tests/examples/DsStrictData.hs" 40 19 40 20+                                              , SrcSpan "tests/examples/DsStrictData.hs" 40 41 40 42+                                              ]+                                          }+                                        (PatTypeSig+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan+                                                   "tests/examples/DsStrictData.hs" 40 20 40 41+                                             , srcInfoPoints =+                                                 [ SrcSpan+                                                     "tests/examples/DsStrictData.hs" 40 22 40 24+                                                 ]+                                             }+                                           (PWildCard+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan+                                                      "tests/examples/DsStrictData.hs" 40 20 40 21+                                                , srcInfoPoints = []+                                                })+                                           (TyCon+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan+                                                      "tests/examples/DsStrictData.hs" 40 25 40 41+                                                , srcInfoPoints = []+                                                }+                                              (Qual+                                                 SrcSpanInfo+                                                   { srcInfoSpan =+                                                       SrcSpan+                                                         "tests/examples/DsStrictData.hs"+                                                         40+                                                         25+                                                         40+                                                         41+                                                   , srcInfoPoints = []+                                                   }+                                                 (ModuleName+                                                    SrcSpanInfo+                                                      { srcInfoSpan =+                                                          SrcSpan+                                                            "tests/examples/DsStrictData.hs"+                                                            40+                                                            25+                                                            40+                                                            41+                                                      , srcInfoPoints = []+                                                      }+                                                    "E")+                                                 (Ident+                                                    SrcSpanInfo+                                                      { srcInfoSpan =+                                                          SrcSpan+                                                            "tests/examples/DsStrictData.hs"+                                                            40+                                                            25+                                                            40+                                                            41+                                                      , srcInfoPoints = []+                                                      }+                                                    "ArrayException"))))+                                    ]+                                    (App+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DsStrictData.hs" 40 48 40 59+                                         , srcInfoPoints = []+                                         }+                                       (Var+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/DsStrictData.hs" 40 48 40 54+                                            , srcInfoPoints = []+                                            }+                                          (UnQual+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DsStrictData.hs" 40 48 40 54+                                               , srcInfoPoints = []+                                               }+                                             (Ident+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DsStrictData.hs" 40 48 40 54+                                                  , srcInfoPoints = []+                                                  }+                                                "return")))+                                       (Con+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/DsStrictData.hs" 40 55 40 59+                                            , srcInfoPoints = []+                                            }+                                          (UnQual+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DsStrictData.hs" 40 55 40 59+                                               , srcInfoPoints = []+                                               }+                                             (Ident+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DsStrictData.hs" 40 55 40 59+                                                  , srcInfoPoints = []+                                                  }+                                                "True"))))))+                          , App+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 41 7 41 60+                                , srcInfoPoints = []+                                }+                              (Con+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DsStrictData.hs" 41 7 41 16+                                   , srcInfoPoints = []+                                   }+                                 (Qual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DsStrictData.hs" 41 7 41 16+                                      , srcInfoPoints = []+                                      }+                                    (ModuleName+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DsStrictData.hs" 41 7 41 16+                                         , srcInfoPoints = []+                                         }+                                       "E")+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DsStrictData.hs" 41 7 41 16+                                         , srcInfoPoints = []+                                         }+                                       "Handler")))+                              (Paren+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DsStrictData.hs" 41 17 41 60+                                   , srcInfoPoints =+                                       [ SrcSpan "tests/examples/DsStrictData.hs" 41 17 41 18+                                       , SrcSpan "tests/examples/DsStrictData.hs" 41 59 41 60+                                       ]+                                   }+                                 (Lambda+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DsStrictData.hs" 41 18 41 59+                                      , srcInfoPoints =+                                          [ SrcSpan "tests/examples/DsStrictData.hs" 41 18 41 19+                                          , SrcSpan "tests/examples/DsStrictData.hs" 41 45 41 47+                                          ]+                                      }+                                    [ PParen+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/DsStrictData.hs" 41 19 41 37+                                          , srcInfoPoints =+                                              [ SrcSpan "tests/examples/DsStrictData.hs" 41 19 41 20+                                              , SrcSpan "tests/examples/DsStrictData.hs" 41 36 41 37+                                              ]+                                          }+                                        (PatTypeSig+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan+                                                   "tests/examples/DsStrictData.hs" 41 20 41 36+                                             , srcInfoPoints =+                                                 [ SrcSpan+                                                     "tests/examples/DsStrictData.hs" 41 22 41 24+                                                 ]+                                             }+                                           (PWildCard+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan+                                                      "tests/examples/DsStrictData.hs" 41 20 41 21+                                                , srcInfoPoints = []+                                                })+                                           (TyCon+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan+                                                      "tests/examples/DsStrictData.hs" 41 25 41 36+                                                , srcInfoPoints = []+                                                }+                                              (Qual+                                                 SrcSpanInfo+                                                   { srcInfoSpan =+                                                       SrcSpan+                                                         "tests/examples/DsStrictData.hs"+                                                         41+                                                         25+                                                         41+                                                         36+                                                   , srcInfoPoints = []+                                                   }+                                                 (ModuleName+                                                    SrcSpanInfo+                                                      { srcInfoSpan =+                                                          SrcSpan+                                                            "tests/examples/DsStrictData.hs"+                                                            41+                                                            25+                                                            41+                                                            36+                                                      , srcInfoPoints = []+                                                      }+                                                    "E")+                                                 (Ident+                                                    SrcSpanInfo+                                                      { srcInfoSpan =+                                                          SrcSpan+                                                            "tests/examples/DsStrictData.hs"+                                                            41+                                                            25+                                                            41+                                                            36+                                                      , srcInfoPoints = []+                                                      }+                                                    "ErrorCall"))))+                                    ]+                                    (App+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DsStrictData.hs" 41 48 41 59+                                         , srcInfoPoints = []+                                         }+                                       (Var+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/DsStrictData.hs" 41 48 41 54+                                            , srcInfoPoints = []+                                            }+                                          (UnQual+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DsStrictData.hs" 41 48 41 54+                                               , srcInfoPoints = []+                                               }+                                             (Ident+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DsStrictData.hs" 41 48 41 54+                                                  , srcInfoPoints = []+                                                  }+                                                "return")))+                                       (Con+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/DsStrictData.hs" 41 55 41 59+                                            , srcInfoPoints = []+                                            }+                                          (UnQual+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DsStrictData.hs" 41 55 41 59+                                               , srcInfoPoints = []+                                               }+                                             (Ident+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DsStrictData.hs" 41 55 41 59+                                                  , srcInfoPoints = []+                                                  }+                                                "True"))))))+                          , App+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 42 7 42 60+                                , srcInfoPoints = []+                                }+                              (Con+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DsStrictData.hs" 42 7 42 16+                                   , srcInfoPoints = []+                                   }+                                 (Qual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DsStrictData.hs" 42 7 42 16+                                      , srcInfoPoints = []+                                      }+                                    (ModuleName+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DsStrictData.hs" 42 7 42 16+                                         , srcInfoPoints = []+                                         }+                                       "E")+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DsStrictData.hs" 42 7 42 16+                                         , srcInfoPoints = []+                                         }+                                       "Handler")))+                              (Paren+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DsStrictData.hs" 42 17 42 60+                                   , srcInfoPoints =+                                       [ SrcSpan "tests/examples/DsStrictData.hs" 42 17 42 18+                                       , SrcSpan "tests/examples/DsStrictData.hs" 42 59 42 60+                                       ]+                                   }+                                 (Lambda+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DsStrictData.hs" 42 18 42 59+                                      , srcInfoPoints =+                                          [ SrcSpan "tests/examples/DsStrictData.hs" 42 18 42 19+                                          , SrcSpan "tests/examples/DsStrictData.hs" 42 45 42 47+                                          ]+                                      }+                                    [ PParen+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/DsStrictData.hs" 42 19 42 41+                                          , srcInfoPoints =+                                              [ SrcSpan "tests/examples/DsStrictData.hs" 42 19 42 20+                                              , SrcSpan "tests/examples/DsStrictData.hs" 42 40 42 41+                                              ]+                                          }+                                        (PatTypeSig+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan+                                                   "tests/examples/DsStrictData.hs" 42 20 42 40+                                             , srcInfoPoints =+                                                 [ SrcSpan+                                                     "tests/examples/DsStrictData.hs" 42 22 42 24+                                                 ]+                                             }+                                           (PWildCard+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan+                                                      "tests/examples/DsStrictData.hs" 42 20 42 21+                                                , srcInfoPoints = []+                                                })+                                           (TyCon+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan+                                                      "tests/examples/DsStrictData.hs" 42 25 42 40+                                                , srcInfoPoints = []+                                                }+                                              (Qual+                                                 SrcSpanInfo+                                                   { srcInfoSpan =+                                                       SrcSpan+                                                         "tests/examples/DsStrictData.hs"+                                                         42+                                                         25+                                                         42+                                                         40+                                                   , srcInfoPoints = []+                                                   }+                                                 (ModuleName+                                                    SrcSpanInfo+                                                      { srcInfoSpan =+                                                          SrcSpan+                                                            "tests/examples/DsStrictData.hs"+                                                            42+                                                            25+                                                            42+                                                            40+                                                      , srcInfoPoints = []+                                                      }+                                                    "E")+                                                 (Ident+                                                    SrcSpanInfo+                                                      { srcInfoSpan =+                                                          SrcSpan+                                                            "tests/examples/DsStrictData.hs"+                                                            42+                                                            25+                                                            42+                                                            40+                                                      , srcInfoPoints = []+                                                      }+                                                    "NoMethodError"))))+                                    ]+                                    (App+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DsStrictData.hs" 42 48 42 59+                                         , srcInfoPoints = []+                                         }+                                       (Var+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/DsStrictData.hs" 42 48 42 54+                                            , srcInfoPoints = []+                                            }+                                          (UnQual+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DsStrictData.hs" 42 48 42 54+                                               , srcInfoPoints = []+                                               }+                                             (Ident+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DsStrictData.hs" 42 48 42 54+                                                  , srcInfoPoints = []+                                                  }+                                                "return")))+                                       (Con+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/DsStrictData.hs" 42 55 42 59+                                            , srcInfoPoints = []+                                            }+                                          (UnQual+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DsStrictData.hs" 42 55 42 59+                                               , srcInfoPoints = []+                                               }+                                             (Ident+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DsStrictData.hs" 42 55 42 59+                                                  , srcInfoPoints = []+                                                  }+                                                "True"))))))+                          , App+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 43 7 43 60+                                , srcInfoPoints = []+                                }+                              (Con+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DsStrictData.hs" 43 7 43 16+                                   , srcInfoPoints = []+                                   }+                                 (Qual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DsStrictData.hs" 43 7 43 16+                                      , srcInfoPoints = []+                                      }+                                    (ModuleName+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DsStrictData.hs" 43 7 43 16+                                         , srcInfoPoints = []+                                         }+                                       "E")+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DsStrictData.hs" 43 7 43 16+                                         , srcInfoPoints = []+                                         }+                                       "Handler")))+                              (Paren+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DsStrictData.hs" 43 17 43 60+                                   , srcInfoPoints =+                                       [ SrcSpan "tests/examples/DsStrictData.hs" 43 17 43 18+                                       , SrcSpan "tests/examples/DsStrictData.hs" 43 59 43 60+                                       ]+                                   }+                                 (Lambda+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DsStrictData.hs" 43 18 43 59+                                      , srcInfoPoints =+                                          [ SrcSpan "tests/examples/DsStrictData.hs" 43 18 43 19+                                          , SrcSpan "tests/examples/DsStrictData.hs" 43 45 43 47+                                          ]+                                      }+                                    [ PParen+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/DsStrictData.hs" 43 19 43 42+                                          , srcInfoPoints =+                                              [ SrcSpan "tests/examples/DsStrictData.hs" 43 19 43 20+                                              , SrcSpan "tests/examples/DsStrictData.hs" 43 41 43 42+                                              ]+                                          }+                                        (PatTypeSig+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan+                                                   "tests/examples/DsStrictData.hs" 43 20 43 41+                                             , srcInfoPoints =+                                                 [ SrcSpan+                                                     "tests/examples/DsStrictData.hs" 43 22 43 24+                                                 ]+                                             }+                                           (PWildCard+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan+                                                      "tests/examples/DsStrictData.hs" 43 20 43 21+                                                , srcInfoPoints = []+                                                })+                                           (TyCon+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan+                                                      "tests/examples/DsStrictData.hs" 43 25 43 41+                                                , srcInfoPoints = []+                                                }+                                              (Qual+                                                 SrcSpanInfo+                                                   { srcInfoSpan =+                                                       SrcSpan+                                                         "tests/examples/DsStrictData.hs"+                                                         43+                                                         25+                                                         43+                                                         41+                                                   , srcInfoPoints = []+                                                   }+                                                 (ModuleName+                                                    SrcSpanInfo+                                                      { srcInfoSpan =+                                                          SrcSpan+                                                            "tests/examples/DsStrictData.hs"+                                                            43+                                                            25+                                                            43+                                                            41+                                                      , srcInfoPoints = []+                                                      }+                                                    "E")+                                                 (Ident+                                                    SrcSpanInfo+                                                      { srcInfoSpan =+                                                          SrcSpan+                                                            "tests/examples/DsStrictData.hs"+                                                            43+                                                            25+                                                            43+                                                            41+                                                      , srcInfoPoints = []+                                                      }+                                                    "NonTermination"))))+                                    ]+                                    (App+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DsStrictData.hs" 43 48 43 59+                                         , srcInfoPoints = []+                                         }+                                       (Var+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/DsStrictData.hs" 43 48 43 54+                                            , srcInfoPoints = []+                                            }+                                          (UnQual+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DsStrictData.hs" 43 48 43 54+                                               , srcInfoPoints = []+                                               }+                                             (Ident+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DsStrictData.hs" 43 48 43 54+                                                  , srcInfoPoints = []+                                                  }+                                                "return")))+                                       (Con+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/DsStrictData.hs" 43 55 43 59+                                            , srcInfoPoints = []+                                            }+                                          (UnQual+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DsStrictData.hs" 43 55 43 59+                                               , srcInfoPoints = []+                                               }+                                             (Ident+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DsStrictData.hs" 43 55 43 59+                                                  , srcInfoPoints = []+                                                  }+                                                "True"))))))+                          , App+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 44 7 44 60+                                , srcInfoPoints = []+                                }+                              (Con+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DsStrictData.hs" 44 7 44 16+                                   , srcInfoPoints = []+                                   }+                                 (Qual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DsStrictData.hs" 44 7 44 16+                                      , srcInfoPoints = []+                                      }+                                    (ModuleName+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DsStrictData.hs" 44 7 44 16+                                         , srcInfoPoints = []+                                         }+                                       "E")+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DsStrictData.hs" 44 7 44 16+                                         , srcInfoPoints = []+                                         }+                                       "Handler")))+                              (Paren+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DsStrictData.hs" 44 17 44 60+                                   , srcInfoPoints =+                                       [ SrcSpan "tests/examples/DsStrictData.hs" 44 17 44 18+                                       , SrcSpan "tests/examples/DsStrictData.hs" 44 59 44 60+                                       ]+                                   }+                                 (Lambda+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DsStrictData.hs" 44 18 44 59+                                      , srcInfoPoints =+                                          [ SrcSpan "tests/examples/DsStrictData.hs" 44 18 44 19+                                          , SrcSpan "tests/examples/DsStrictData.hs" 44 45 44 47+                                          ]+                                      }+                                    [ PParen+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/DsStrictData.hs" 44 19 44 44+                                          , srcInfoPoints =+                                              [ SrcSpan "tests/examples/DsStrictData.hs" 44 19 44 20+                                              , SrcSpan "tests/examples/DsStrictData.hs" 44 43 44 44+                                              ]+                                          }+                                        (PatTypeSig+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan+                                                   "tests/examples/DsStrictData.hs" 44 20 44 43+                                             , srcInfoPoints =+                                                 [ SrcSpan+                                                     "tests/examples/DsStrictData.hs" 44 22 44 24+                                                 ]+                                             }+                                           (PWildCard+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan+                                                      "tests/examples/DsStrictData.hs" 44 20 44 21+                                                , srcInfoPoints = []+                                                })+                                           (TyCon+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan+                                                      "tests/examples/DsStrictData.hs" 44 25 44 43+                                                , srcInfoPoints = []+                                                }+                                              (Qual+                                                 SrcSpanInfo+                                                   { srcInfoSpan =+                                                       SrcSpan+                                                         "tests/examples/DsStrictData.hs"+                                                         44+                                                         25+                                                         44+                                                         43+                                                   , srcInfoPoints = []+                                                   }+                                                 (ModuleName+                                                    SrcSpanInfo+                                                      { srcInfoSpan =+                                                          SrcSpan+                                                            "tests/examples/DsStrictData.hs"+                                                            44+                                                            25+                                                            44+                                                            43+                                                      , srcInfoPoints = []+                                                      }+                                                    "E")+                                                 (Ident+                                                    SrcSpanInfo+                                                      { srcInfoSpan =+                                                          SrcSpan+                                                            "tests/examples/DsStrictData.hs"+                                                            44+                                                            25+                                                            44+                                                            43+                                                      , srcInfoPoints = []+                                                      }+                                                    "PatternMatchFail"))))+                                    ]+                                    (App+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DsStrictData.hs" 44 48 44 59+                                         , srcInfoPoints = []+                                         }+                                       (Var+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/DsStrictData.hs" 44 48 44 54+                                            , srcInfoPoints = []+                                            }+                                          (UnQual+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DsStrictData.hs" 44 48 44 54+                                               , srcInfoPoints = []+                                               }+                                             (Ident+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DsStrictData.hs" 44 48 44 54+                                                  , srcInfoPoints = []+                                                  }+                                                "return")))+                                       (Con+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/DsStrictData.hs" 44 55 44 59+                                            , srcInfoPoints = []+                                            }+                                          (UnQual+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DsStrictData.hs" 44 55 44 59+                                               , srcInfoPoints = []+                                               }+                                             (Ident+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DsStrictData.hs" 44 55 44 59+                                                  , srcInfoPoints = []+                                                  }+                                                "True"))))))+                          , App+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 45 7 45 60+                                , srcInfoPoints = []+                                }+                              (Con+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DsStrictData.hs" 45 7 45 16+                                   , srcInfoPoints = []+                                   }+                                 (Qual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DsStrictData.hs" 45 7 45 16+                                      , srcInfoPoints = []+                                      }+                                    (ModuleName+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DsStrictData.hs" 45 7 45 16+                                         , srcInfoPoints = []+                                         }+                                       "E")+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DsStrictData.hs" 45 7 45 16+                                         , srcInfoPoints = []+                                         }+                                       "Handler")))+                              (Paren+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DsStrictData.hs" 45 17 45 60+                                   , srcInfoPoints =+                                       [ SrcSpan "tests/examples/DsStrictData.hs" 45 17 45 18+                                       , SrcSpan "tests/examples/DsStrictData.hs" 45 59 45 60+                                       ]+                                   }+                                 (Lambda+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DsStrictData.hs" 45 18 45 59+                                      , srcInfoPoints =+                                          [ SrcSpan "tests/examples/DsStrictData.hs" 45 18 45 19+                                          , SrcSpan "tests/examples/DsStrictData.hs" 45 45 45 47+                                          ]+                                      }+                                    [ PParen+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/DsStrictData.hs" 45 19 45 39+                                          , srcInfoPoints =+                                              [ SrcSpan "tests/examples/DsStrictData.hs" 45 19 45 20+                                              , SrcSpan "tests/examples/DsStrictData.hs" 45 38 45 39+                                              ]+                                          }+                                        (PatTypeSig+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan+                                                   "tests/examples/DsStrictData.hs" 45 20 45 38+                                             , srcInfoPoints =+                                                 [ SrcSpan+                                                     "tests/examples/DsStrictData.hs" 45 22 45 24+                                                 ]+                                             }+                                           (PWildCard+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan+                                                      "tests/examples/DsStrictData.hs" 45 20 45 21+                                                , srcInfoPoints = []+                                                })+                                           (TyCon+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan+                                                      "tests/examples/DsStrictData.hs" 45 25 45 38+                                                , srcInfoPoints = []+                                                }+                                              (Qual+                                                 SrcSpanInfo+                                                   { srcInfoSpan =+                                                       SrcSpan+                                                         "tests/examples/DsStrictData.hs"+                                                         45+                                                         25+                                                         45+                                                         38+                                                   , srcInfoPoints = []+                                                   }+                                                 (ModuleName+                                                    SrcSpanInfo+                                                      { srcInfoSpan =+                                                          SrcSpan+                                                            "tests/examples/DsStrictData.hs"+                                                            45+                                                            25+                                                            45+                                                            38+                                                      , srcInfoPoints = []+                                                      }+                                                    "E")+                                                 (Ident+                                                    SrcSpanInfo+                                                      { srcInfoSpan =+                                                          SrcSpan+                                                            "tests/examples/DsStrictData.hs"+                                                            45+                                                            25+                                                            45+                                                            38+                                                      , srcInfoPoints = []+                                                      }+                                                    "RecConError"))))+                                    ]+                                    (App+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DsStrictData.hs" 45 48 45 59+                                         , srcInfoPoints = []+                                         }+                                       (Var+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/DsStrictData.hs" 45 48 45 54+                                            , srcInfoPoints = []+                                            }+                                          (UnQual+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DsStrictData.hs" 45 48 45 54+                                               , srcInfoPoints = []+                                               }+                                             (Ident+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DsStrictData.hs" 45 48 45 54+                                                  , srcInfoPoints = []+                                                  }+                                                "return")))+                                       (Con+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/DsStrictData.hs" 45 55 45 59+                                            , srcInfoPoints = []+                                            }+                                          (UnQual+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DsStrictData.hs" 45 55 45 59+                                               , srcInfoPoints = []+                                               }+                                             (Ident+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DsStrictData.hs" 45 55 45 59+                                                  , srcInfoPoints = []+                                                  }+                                                "True"))))))+                          , App+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 46 7 46 60+                                , srcInfoPoints = []+                                }+                              (Con+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DsStrictData.hs" 46 7 46 16+                                   , srcInfoPoints = []+                                   }+                                 (Qual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DsStrictData.hs" 46 7 46 16+                                      , srcInfoPoints = []+                                      }+                                    (ModuleName+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DsStrictData.hs" 46 7 46 16+                                         , srcInfoPoints = []+                                         }+                                       "E")+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DsStrictData.hs" 46 7 46 16+                                         , srcInfoPoints = []+                                         }+                                       "Handler")))+                              (Paren+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DsStrictData.hs" 46 17 46 60+                                   , srcInfoPoints =+                                       [ SrcSpan "tests/examples/DsStrictData.hs" 46 17 46 18+                                       , SrcSpan "tests/examples/DsStrictData.hs" 46 59 46 60+                                       ]+                                   }+                                 (Lambda+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DsStrictData.hs" 46 18 46 59+                                      , srcInfoPoints =+                                          [ SrcSpan "tests/examples/DsStrictData.hs" 46 18 46 19+                                          , SrcSpan "tests/examples/DsStrictData.hs" 46 45 46 47+                                          ]+                                      }+                                    [ PParen+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/DsStrictData.hs" 46 19 46 39+                                          , srcInfoPoints =+                                              [ SrcSpan "tests/examples/DsStrictData.hs" 46 19 46 20+                                              , SrcSpan "tests/examples/DsStrictData.hs" 46 38 46 39+                                              ]+                                          }+                                        (PatTypeSig+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan+                                                   "tests/examples/DsStrictData.hs" 46 20 46 38+                                             , srcInfoPoints =+                                                 [ SrcSpan+                                                     "tests/examples/DsStrictData.hs" 46 22 46 24+                                                 ]+                                             }+                                           (PWildCard+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan+                                                      "tests/examples/DsStrictData.hs" 46 20 46 21+                                                , srcInfoPoints = []+                                                })+                                           (TyCon+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan+                                                      "tests/examples/DsStrictData.hs" 46 25 46 38+                                                , srcInfoPoints = []+                                                }+                                              (Qual+                                                 SrcSpanInfo+                                                   { srcInfoSpan =+                                                       SrcSpan+                                                         "tests/examples/DsStrictData.hs"+                                                         46+                                                         25+                                                         46+                                                         38+                                                   , srcInfoPoints = []+                                                   }+                                                 (ModuleName+                                                    SrcSpanInfo+                                                      { srcInfoSpan =+                                                          SrcSpan+                                                            "tests/examples/DsStrictData.hs"+                                                            46+                                                            25+                                                            46+                                                            38+                                                      , srcInfoPoints = []+                                                      }+                                                    "E")+                                                 (Ident+                                                    SrcSpanInfo+                                                      { srcInfoSpan =+                                                          SrcSpan+                                                            "tests/examples/DsStrictData.hs"+                                                            46+                                                            25+                                                            46+                                                            38+                                                      , srcInfoPoints = []+                                                      }+                                                    "RecSelError"))))+                                    ]+                                    (App+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DsStrictData.hs" 46 48 46 59+                                         , srcInfoPoints = []+                                         }+                                       (Var+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/DsStrictData.hs" 46 48 46 54+                                            , srcInfoPoints = []+                                            }+                                          (UnQual+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DsStrictData.hs" 46 48 46 54+                                               , srcInfoPoints = []+                                               }+                                             (Ident+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DsStrictData.hs" 46 48 46 54+                                                  , srcInfoPoints = []+                                                  }+                                                "return")))+                                       (Con+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/DsStrictData.hs" 46 55 46 59+                                            , srcInfoPoints = []+                                            }+                                          (UnQual+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DsStrictData.hs" 46 55 46 59+                                               , srcInfoPoints = []+                                               }+                                             (Ident+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DsStrictData.hs" 46 55 46 59+                                                  , srcInfoPoints = []+                                                  }+                                                "True"))))))+                          , App+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 47 7 47 60+                                , srcInfoPoints = []+                                }+                              (Con+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DsStrictData.hs" 47 7 47 16+                                   , srcInfoPoints = []+                                   }+                                 (Qual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DsStrictData.hs" 47 7 47 16+                                      , srcInfoPoints = []+                                      }+                                    (ModuleName+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DsStrictData.hs" 47 7 47 16+                                         , srcInfoPoints = []+                                         }+                                       "E")+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DsStrictData.hs" 47 7 47 16+                                         , srcInfoPoints = []+                                         }+                                       "Handler")))+                              (Paren+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/DsStrictData.hs" 47 17 47 60+                                   , srcInfoPoints =+                                       [ SrcSpan "tests/examples/DsStrictData.hs" 47 17 47 18+                                       , SrcSpan "tests/examples/DsStrictData.hs" 47 59 47 60+                                       ]+                                   }+                                 (Lambda+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/DsStrictData.hs" 47 18 47 59+                                      , srcInfoPoints =+                                          [ SrcSpan "tests/examples/DsStrictData.hs" 47 18 47 19+                                          , SrcSpan "tests/examples/DsStrictData.hs" 47 45 47 47+                                          ]+                                      }+                                    [ PParen+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/DsStrictData.hs" 47 19 47 39+                                          , srcInfoPoints =+                                              [ SrcSpan "tests/examples/DsStrictData.hs" 47 19 47 20+                                              , SrcSpan "tests/examples/DsStrictData.hs" 47 38 47 39+                                              ]+                                          }+                                        (PatTypeSig+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan+                                                   "tests/examples/DsStrictData.hs" 47 20 47 38+                                             , srcInfoPoints =+                                                 [ SrcSpan+                                                     "tests/examples/DsStrictData.hs" 47 22 47 24+                                                 ]+                                             }+                                           (PWildCard+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan+                                                      "tests/examples/DsStrictData.hs" 47 20 47 21+                                                , srcInfoPoints = []+                                                })+                                           (TyCon+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan+                                                      "tests/examples/DsStrictData.hs" 47 25 47 38+                                                , srcInfoPoints = []+                                                }+                                              (Qual+                                                 SrcSpanInfo+                                                   { srcInfoSpan =+                                                       SrcSpan+                                                         "tests/examples/DsStrictData.hs"+                                                         47+                                                         25+                                                         47+                                                         38+                                                   , srcInfoPoints = []+                                                   }+                                                 (ModuleName+                                                    SrcSpanInfo+                                                      { srcInfoSpan =+                                                          SrcSpan+                                                            "tests/examples/DsStrictData.hs"+                                                            47+                                                            25+                                                            47+                                                            38+                                                      , srcInfoPoints = []+                                                      }+                                                    "E")+                                                 (Ident+                                                    SrcSpanInfo+                                                      { srcInfoSpan =+                                                          SrcSpan+                                                            "tests/examples/DsStrictData.hs"+                                                            47+                                                            25+                                                            47+                                                            38+                                                      , srcInfoPoints = []+                                                      }+                                                    "RecUpdError"))))+                                    ]+                                    (App+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/DsStrictData.hs" 47 48 47 59+                                         , srcInfoPoints = []+                                         }+                                       (Var+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/DsStrictData.hs" 47 48 47 54+                                            , srcInfoPoints = []+                                            }+                                          (UnQual+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DsStrictData.hs" 47 48 47 54+                                               , srcInfoPoints = []+                                               }+                                             (Ident+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DsStrictData.hs" 47 48 47 54+                                                  , srcInfoPoints = []+                                                  }+                                                "return")))+                                       (Con+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/DsStrictData.hs" 47 55 47 59+                                            , srcInfoPoints = []+                                            }+                                          (UnQual+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan+                                                     "tests/examples/DsStrictData.hs" 47 55 47 59+                                               , srcInfoPoints = []+                                               }+                                             (Ident+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/DsStrictData.hs" 47 55 47 59+                                                  , srcInfoPoints = []+                                                  }+                                                "True"))))))+                          ]))))+              Nothing+          ]+      ]+  , [ Comment+        False+        (SrcSpan "tests/examples/DsStrictData.hs" 3 1 3 43)+        " | Tests the StrictData LANGUAGE pragma."+    , Comment+        False+        (SrcSpan "tests/examples/DsStrictData.hs" 29 43 29 58)+        " sanity check"+    , Comment+        False+        (SrcSpan "tests/examples/DsStrictData.hs" 31 1 31 73)+        "----------------------------------------------------------------------"+    , Comment+        False+        (SrcSpan "tests/examples/DsStrictData.hs" 32 1 32 34)+        " Support for testing for bottom"+    ]+  )
+ tests/examples/DsStrictData.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/DsStrictData.hs.prettyprinter.golden view
@@ -0,0 +1,45 @@+{-# LANGUAGE ScopedTypeVariables, StrictData, GADTs #-}+module Main where+import qualified Control.Exception as E+import System.IO.Unsafe (unsafePerformIO)++data Strict a = S a++data Strict2 b = S2 !b++data Strict3 c where+        S3 :: c -> Strict3 c++data UStrict = US {-# UNPACK #-} Int++data Lazy d = L ~d++data Lazy2 e where+        L2 :: ~e -> Lazy2 e++main :: IO ()+main+  = do print (isBottom (S bottom))+       print (isBottom (S2 bottom))+       print (isBottom (US bottom))+       print (isBottom (S3 bottom))+       putStrLn ""+       print (not (isBottom (L bottom)))+       print (not (isBottom (L2 bottom)))+       print (not (isBottom (Just bottom)))++bottom :: a+bottom = error "_|_"++isBottom :: a -> Bool+isBottom f+  = unsafePerformIO $+      (E.evaluate f >> return False) `E.catches`+        [E.Handler (\ (_ :: E.ArrayException) -> return True),+         E.Handler (\ (_ :: E.ErrorCall) -> return True),+         E.Handler (\ (_ :: E.NoMethodError) -> return True),+         E.Handler (\ (_ :: E.NonTermination) -> return True),+         E.Handler (\ (_ :: E.PatternMatchFail) -> return True),+         E.Handler (\ (_ :: E.RecConError) -> return True),+         E.Handler (\ (_ :: E.RecSelError) -> return True),+         E.Handler (\ (_ :: E.RecUpdError) -> return True)]
tests/examples/EmptyAnn.hs.prettyprinter.golden view
@@ -1,2 +1,1 @@ {-# ANN foo "Hlint: ignore Test4" #-}-module Main (main) where
+ tests/examples/EmptyCase.hs view
@@ -0,0 +1,6 @@+{-# LANGUAGE EmptyCase #-}+{-# LANGUAGE LambdaCase #-}++f x = case x of {}++g x = \case {}
+ tests/examples/EmptyCase.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/EmptyCase.hs.parser.golden view
@@ -0,0 +1,159 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 1 1 7 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/EmptyCase.hs" 1 1 1 1+            , SrcSpan "tests/examples/EmptyCase.hs" 2 1 2 1+            , SrcSpan "tests/examples/EmptyCase.hs" 4 1 4 1+            , SrcSpan "tests/examples/EmptyCase.hs" 4 1 4 1+            , SrcSpan "tests/examples/EmptyCase.hs" 4 1 4 1+            , SrcSpan "tests/examples/EmptyCase.hs" 6 1 6 1+            , SrcSpan "tests/examples/EmptyCase.hs" 7 1 7 1+            , SrcSpan "tests/examples/EmptyCase.hs" 7 1 7 1+            ]+        }+      Nothing+      [ LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 1 1 1 27+            , srcInfoPoints =+                [ SrcSpan "tests/examples/EmptyCase.hs" 1 1 1 13+                , SrcSpan "tests/examples/EmptyCase.hs" 1 24 1 27+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 1 14 1 23+                , srcInfoPoints = []+                }+              "EmptyCase"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 2 1 2 28+            , srcInfoPoints =+                [ SrcSpan "tests/examples/EmptyCase.hs" 2 1 2 13+                , SrcSpan "tests/examples/EmptyCase.hs" 2 25 2 28+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 2 14 2 24+                , srcInfoPoints = []+                }+              "LambdaCase"+          ]+      ]+      []+      [ FunBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 4 1 4 19+            , srcInfoPoints = []+            }+          [ Match+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 4 1 4 19+                , srcInfoPoints = []+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 4 1 4 2+                   , srcInfoPoints = []+                   }+                 "f")+              [ PVar+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 4 3 4 4+                    , srcInfoPoints = []+                    }+                  (Ident+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 4 3 4 4+                       , srcInfoPoints = []+                       }+                     "x")+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 4 5 4 19+                   , srcInfoPoints = [ SrcSpan "tests/examples/EmptyCase.hs" 4 5 4 6 ]+                   }+                 (Case+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 4 7 4 19+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/EmptyCase.hs" 4 7 4 11+                          , SrcSpan "tests/examples/EmptyCase.hs" 4 14 4 16+                          , SrcSpan "tests/examples/EmptyCase.hs" 4 17 4 18+                          , SrcSpan "tests/examples/EmptyCase.hs" 4 18 4 19+                          ]+                      }+                    (Var+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 4 12 4 13+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 4 12 4 13+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 4 12 4 13+                               , srcInfoPoints = []+                               }+                             "x")))+                    []))+              Nothing+          ]+      , FunBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 6 1 6 15+            , srcInfoPoints = []+            }+          [ Match+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 6 1 6 15+                , srcInfoPoints = []+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 6 1 6 2+                   , srcInfoPoints = []+                   }+                 "g")+              [ PVar+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 6 3 6 4+                    , srcInfoPoints = []+                    }+                  (Ident+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 6 3 6 4+                       , srcInfoPoints = []+                       }+                     "x")+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 6 5 6 15+                   , srcInfoPoints = [ SrcSpan "tests/examples/EmptyCase.hs" 6 5 6 6 ]+                   }+                 (LCase+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 6 7 6 15+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/EmptyCase.hs" 6 7 6 8+                          , SrcSpan "tests/examples/EmptyCase.hs" 6 8 6 12+                          , SrcSpan "tests/examples/EmptyCase.hs" 6 13 6 14+                          , SrcSpan "tests/examples/EmptyCase.hs" 6 14 6 15+                          ]+                      }+                    []))+              Nothing+          ]+      ]+  , []+  )
+ tests/examples/EmptyCase.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/EmptyCase.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+{-# LANGUAGE EmptyCase #-}+{-# LANGUAGE LambdaCase #-}+f x = case x of { }+g x = \case { }
tests/examples/EmptyContext.hs.prettyparser.golden view
@@ -1,10 +1,1 @@-Roundtrip test failed--AST 1:--Module (SrcLoc "" -1 -1) (ModuleName "Main") [] Nothing (Just [EVar (UnQual (Ident "main"))]) [] [TypeSig (SrcLoc "" -1 -1) [Ident "happyThen"] (TyForall Nothing [] (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a"))))]--AST 2:--Module (SrcLoc "" -1 -1) (ModuleName "Main") [] Nothing (Just [EVar (UnQual (Ident "main"))]) [] [TypeSig (SrcLoc "" -1 -1) [Ident "happyThen"] (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a")))]-+Match
tests/examples/EmptyContext.hs.prettyprinter.golden view
@@ -1,3 +1,1 @@-module Main (main) where--happyThen :: P a+happyThen :: () => P a
tests/examples/EmptyInstance.hs.prettyprinter.golden view
@@ -1,6 +1,4 @@-module Main (main) where--instance Traversable Tree+instance Traversable Tree where  x :: Int x = 1
tests/examples/EmptyWhere.hs.prettyprinter.golden view
@@ -1,3 +1,2 @@-module Main (main) where foo = 5   where
tests/examples/EqualityConstraints1.hs.parser.golden view
@@ -59,49 +59,62 @@                 (CxSingle                    SrcSpanInfo                      { srcInfoSpan =-                         SrcSpan "tests/examples/EqualityConstraints1.hs" 4 8 4 15+                         SrcSpan "tests/examples/EqualityConstraints1.hs" 4 8 4 18                      , srcInfoPoints =-                         [ SrcSpan "tests/examples/EqualityConstraints1.hs" 4 16 4 18 ]+                         [ SrcSpan "tests/examples/EqualityConstraints1.hs" 4 10 4 11+                         , SrcSpan "tests/examples/EqualityConstraints1.hs" 4 16 4 18+                         ]                      }-                   (EqualP+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan =-                            SrcSpan "tests/examples/EqualityConstraints1.hs" 4 8 4 15+                            SrcSpan "tests/examples/EqualityConstraints1.hs" 4 8 4 18                         , srcInfoPoints =-                            [ SrcSpan "tests/examples/EqualityConstraints1.hs" 4 10 4 11 ]+                            [ SrcSpan "tests/examples/EqualityConstraints1.hs" 4 10 4 11+                            , SrcSpan "tests/examples/EqualityConstraints1.hs" 4 16 4 18+                            ]                         }-                      (TyVar+                      (TyEquals                          SrcSpanInfo                            { srcInfoSpan =-                               SrcSpan "tests/examples/EqualityConstraints1.hs" 4 8 4 9-                           , srcInfoPoints = []+                               SrcSpan "tests/examples/EqualityConstraints1.hs" 4 8 4 18+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/EqualityConstraints1.hs" 4 10 4 11+                               , SrcSpan "tests/examples/EqualityConstraints1.hs" 4 16 4 18+                               ]                            }-                         (Ident+                         (TyVar                             SrcSpanInfo                               { srcInfoSpan =                                   SrcSpan "tests/examples/EqualityConstraints1.hs" 4 8 4 9                               , srcInfoPoints = []                               }-                            "a"))-                      (TyCon-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/EqualityConstraints1.hs" 4 12 4 15-                           , srcInfoPoints = []-                           }-                         (UnQual+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/EqualityConstraints1.hs" 4 8 4 9+                                 , srcInfoPoints = []+                                 }+                               "a"))+                         (TyCon                             SrcSpanInfo                               { srcInfoSpan =                                   SrcSpan "tests/examples/EqualityConstraints1.hs" 4 12 4 15                               , srcInfoPoints = []                               }-                            (Ident+                            (UnQual                                SrcSpanInfo                                  { srcInfoSpan =                                      SrcSpan "tests/examples/EqualityConstraints1.hs" 4 12 4 15                                  , srcInfoPoints = []                                  }-                               "Int"))))))+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/EqualityConstraints1.hs" 4 12 4 15+                                    , srcInfoPoints = []+                                    }+                                  "Int")))))))              (TyVar                 SrcSpanInfo                   { srcInfoSpan =
tests/examples/EqualityConstraints1.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE GADTs #-}-module Main (main) where  one :: a ~ Int => a one = 1
tests/examples/ExplicitNamespaces1.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE ExplicitNamespaces #-}-module Main (main) where import Data.Array.Repa (type (++)) import Data.Array.Repa (type (++)) import Data.Array.Repa (type (++))
tests/examples/ExplicitNamespaces3.hs.parser.golden view
@@ -139,7 +139,7 @@                     "Str")                  [])           ]-          Nothing+          []       ]   , []   )
+ tests/examples/ExplicitNamespaces4.hs view
@@ -0,0 +1,5 @@+{-# LANGUAGE ExplicitNamespaces #-}+{-# LANGUAGE TypeOperators #-}+module Foo (type (:-)) where++data (:-) = Foo
+ tests/examples/ExplicitNamespaces4.hs.exactprinter.golden view
@@ -0,0 +1,6 @@+{-# LANGUAGE ExplicitNamespaces #-}+{-# LANGUAGE TypeOperators #-}+module Foo (type (:-)) where++data :-   = Foo+
+ tests/examples/ExplicitNamespaces4.hs.parser.golden view
@@ -0,0 +1,171 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan =+            SrcSpan "tests/examples/ExplicitNamespaces4.hs" 1 1 6 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 1 1 1 1+            , SrcSpan "tests/examples/ExplicitNamespaces4.hs" 2 1 2 1+            , SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 1 3 1+            , SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 1 3 1+            , SrcSpan "tests/examples/ExplicitNamespaces4.hs" 5 1 5 1+            , SrcSpan "tests/examples/ExplicitNamespaces4.hs" 6 1 6 1+            , SrcSpan "tests/examples/ExplicitNamespaces4.hs" 6 1 6 1+            ]+        }+      (Just+         (ModuleHead+            SrcSpanInfo+              { srcInfoSpan =+                  SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 1 3 29+              , srcInfoPoints =+                  [ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 1 3 7+                  , SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 24 3 29+                  ]+              }+            (ModuleName+               SrcSpanInfo+                 { srcInfoSpan =+                     SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 8 3 11+                 , srcInfoPoints = []+                 }+               "Foo")+            Nothing+            (Just+               (ExportSpecList+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 12 3 23+                    , srcInfoPoints =+                        [ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 12 3 13+                        , SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 22 3 23+                        ]+                    }+                  [ EAbs+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 13 3 22+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 13 3 17+                            , SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 18 3 22+                            ]+                        }+                      (TypeNamespace+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 13 3 17+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 13 3 17 ]+                           })+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 18 3 22+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 18 3 19+                               , SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 19 3 21+                               , SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 21 3 22+                               ]+                           }+                         (Symbol+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 19 3 21+                              , srcInfoPoints = []+                              }+                            ":-"))+                  ]))))+      [ LanguagePragma+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/ExplicitNamespaces4.hs" 1 1 1 36+            , srcInfoPoints =+                [ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 1 1 1 13+                , SrcSpan "tests/examples/ExplicitNamespaces4.hs" 1 33 1 36+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/ExplicitNamespaces4.hs" 1 14 1 32+                , srcInfoPoints = []+                }+              "ExplicitNamespaces"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/ExplicitNamespaces4.hs" 2 1 2 31+            , srcInfoPoints =+                [ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 2 1 2 13+                , SrcSpan "tests/examples/ExplicitNamespaces4.hs" 2 28 2 31+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/ExplicitNamespaces4.hs" 2 14 2 27+                , srcInfoPoints = []+                }+              "TypeOperators"+          ]+      ]+      []+      [ DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/ExplicitNamespaces4.hs" 5 1 5 16+            , srcInfoPoints =+                [ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 5 11 5 12 ]+            }+          (DataType+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/ExplicitNamespaces4.hs" 5 1 5 5+               , srcInfoPoints = []+               })+          Nothing+          (DHead+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/ExplicitNamespaces4.hs" 5 6 5 10+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 5 6 5 7+                   , SrcSpan "tests/examples/ExplicitNamespaces4.hs" 5 7 5 9+                   , SrcSpan "tests/examples/ExplicitNamespaces4.hs" 5 9 5 10+                   ]+               }+             (Symbol+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/ExplicitNamespaces4.hs" 5 7 5 9+                  , srcInfoPoints = []+                  }+                ":-"))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/ExplicitNamespaces4.hs" 5 13 5 16+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/ExplicitNamespaces4.hs" 5 13 5 16+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/ExplicitNamespaces4.hs" 5 13 5 16+                      , srcInfoPoints = []+                      }+                    "Foo")+                 [])+          ]+          []+      ]+  , []+  )
+ tests/examples/ExplicitNamespaces4.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ExplicitNamespaces4.hs.prettyprinter.golden view
@@ -0,0 +1,5 @@+{-# LANGUAGE ExplicitNamespaces #-}+{-# LANGUAGE TypeOperators #-}+module Foo (type (:-)) where++data (:-) = Foo
tests/examples/ExprHole.hs.parser.golden view
@@ -37,11 +37,21 @@                { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 2 5 2 8                , srcInfoPoints = [ SrcSpan "tests/examples/ExprHole.hs" 2 5 2 6 ]                }-             (ExprHole+             (Var                 SrcSpanInfo                   { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 2 7 2 8                   , srcInfoPoints = []-                  }))+                  }+                (Special+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 2 7 2 8+                     , srcInfoPoints = []+                     }+                   (ExprHole+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 2 7 2 8+                        , srcInfoPoints = []+                        }))))           Nothing       , PatBind           SrcSpanInfo@@ -69,11 +79,21 @@                   { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 4 7 4 10                   , srcInfoPoints = []                   }-                (ExprHole+                (Var                    SrcSpanInfo                      { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 4 7 4 8                      , srcInfoPoints = []-                     })+                     }+                   (Special+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 4 7 4 8+                        , srcInfoPoints = []+                        }+                      (ExprHole+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 4 7 4 8+                           , srcInfoPoints = []+                           })))                 (Var                    SrcSpanInfo                      { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 4 9 4 10@@ -112,11 +132,21 @@                { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 6 5 6 11                , srcInfoPoints = [ SrcSpan "tests/examples/ExprHole.hs" 6 5 6 6 ]                }-             (ExprHole+             (Var                 SrcSpanInfo                   { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 6 10 6 11                   , srcInfoPoints = []-                  }))+                  }+                (Special+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 6 10 6 11+                     , srcInfoPoints = []+                     }+                   (ExprHole+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 6 10 6 11+                        , srcInfoPoints = []+                        }))))           Nothing       , FunBind           SrcSpanInfo@@ -204,11 +234,23 @@                                  , srcInfoPoints =                                      [ SrcSpan "tests/examples/ExprHole.hs" 10 11 10 12 ]                                  }-                               (ExprHole+                               (Var                                   SrcSpanInfo                                     { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 10 13 10 14                                     , srcInfoPoints = []-                                    }))+                                    }+                                  (Special+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/ExprHole.hs" 10 13 10 14+                                       , srcInfoPoints = []+                                       }+                                     (ExprHole+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/ExprHole.hs" 10 13 10 14+                                          , srcInfoPoints = []+                                          }))))                             Nothing                         ]                     ]))
tests/examples/ExprHole.hs.prettyprinter.golden view
@@ -1,4 +1,3 @@-module Main (main) where foo = _ foo = _ x foo = _
tests/examples/ExtraPrettyParentheses.hs.parser.golden view
@@ -112,7 +112,7 @@                         "a")                  ])           ]-          Nothing+          []       , FunBind           SrcSpanInfo             { srcInfoSpan =
tests/examples/ExtraPrettyParentheses.hs.prettyparser.golden view
@@ -2,9 +2,9 @@  AST 1: -Module (SrcLoc "" -1 -1) (ModuleName "Main") [] Nothing (Just [EVar (UnQual (Ident "main"))]) [] [DataDecl (SrcLoc "" -1 -1) DataType [] (Ident "Q") [UnkindedVar (Ident "a")] [QualConDecl (SrcLoc "" -1 -1) [] [] (ConDecl (Ident "Q") [TyVar (Ident "a"),TyVar (Ident "a")])] [],FunBind [Match (SrcLoc "" -1 -1) (Symbol "*") [PVar (Ident "x"),PLit Negative (Int 1)] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "negate"))) (Var (UnQual (Ident "x"))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Symbol "<>") [PApp (UnQual (Ident "Just")) [PVar (Ident "x")],PApp (UnQual (Ident "Nothing")) []] Nothing (UnGuardedRhs (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "x"))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "f") [PParen (PInfixApp (PLit Negative (Int 1)) (UnQual (Ident "Q")) PWildCard)] Nothing (UnGuardedRhs (Con (Special UnitCon))) Nothing]]+Module () Nothing [] [] [DataDecl () (DataType ()) Nothing (DHApp () (DHead () (Ident () "Q")) (UnkindedVar () (Ident () "a"))) [QualConDecl () Nothing Nothing (ConDecl () (Ident () "Q") [TyVar () (Ident () "a"),TyVar () (Ident () "a")])] [],FunBind () [InfixMatch () (PVar () (Ident () "x")) (Symbol () "*") [PLit () (Negative ()) (Int () 1 "1")] (UnGuardedRhs () (App () (Var () (UnQual () (Ident () "negate"))) (Var () (UnQual () (Ident () "x"))))) Nothing],FunBind () [InfixMatch () (PApp () (UnQual () (Ident () "Just")) [PVar () (Ident () "x")]) (Symbol () "<>") [PApp () (UnQual () (Ident () "Nothing")) []] (UnGuardedRhs () (App () (Con () (UnQual () (Ident () "Just"))) (Var () (UnQual () (Ident () "x"))))) Nothing],FunBind () [Match () (Ident () "f") [PParen () (PInfixApp () (PLit () (Negative ()) (Int () 1 "1")) (UnQual () (Ident () "Q")) (PWildCard ()))] (UnGuardedRhs () (Con () (Special () (UnitCon ())))) Nothing]]  AST 2: -Module (SrcLoc "" -1 -1) (ModuleName "Main") [] Nothing (Just [EVar (UnQual (Ident "main"))]) [] [DataDecl (SrcLoc "" -1 -1) DataType [] (Ident "Q") [UnkindedVar (Ident "a")] [QualConDecl (SrcLoc "" -1 -1) [] [] (ConDecl (Ident "Q") [TyVar (Ident "a"),TyVar (Ident "a")])] [],FunBind [Match (SrcLoc "" -1 -1) (Symbol "*") [PVar (Ident "x"),PParen (PLit Negative (Int 1))] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "negate"))) (Var (UnQual (Ident "x"))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Symbol "<>") [PApp (UnQual (Ident "Just")) [PVar (Ident "x")],PApp (UnQual (Ident "Nothing")) []] Nothing (UnGuardedRhs (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "x"))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "f") [PParen (PInfixApp (PLit Negative (Int 1)) (UnQual (Ident "Q")) PWildCard)] Nothing (UnGuardedRhs (Con (Special UnitCon))) Nothing]]+Module () Nothing [] [] [DataDecl () (DataType ()) Nothing (DHApp () (DHead () (Ident () "Q")) (UnkindedVar () (Ident () "a"))) [QualConDecl () Nothing Nothing (ConDecl () (Ident () "Q") [TyVar () (Ident () "a"),TyVar () (Ident () "a")])] [],FunBind () [InfixMatch () (PVar () (Ident () "x")) (Symbol () "*") [PParen () (PLit () (Negative ()) (Int () 1 "1"))] (UnGuardedRhs () (App () (Var () (UnQual () (Ident () "negate"))) (Var () (UnQual () (Ident () "x"))))) Nothing],FunBind () [InfixMatch () (PApp () (UnQual () (Ident () "Just")) [PVar () (Ident () "x")]) (Symbol () "<>") [PApp () (UnQual () (Ident () "Nothing")) []] (UnGuardedRhs () (App () (Con () (UnQual () (Ident () "Just"))) (Var () (UnQual () (Ident () "x"))))) Nothing],FunBind () [Match () (Ident () "f") [PParen () (PInfixApp () (PLit () (Negative ()) (Int () 1 "1")) (UnQual () (Ident () "Q")) (PWildCard ()))] (UnGuardedRhs () (Con () (Special () (UnitCon ())))) Nothing]] 
tests/examples/ExtraPrettyParentheses.hs.prettyprinter.golden view
@@ -1,5 +1,3 @@-module Main (main) where- data Q a = Q a a x * (-1) = negate x Just x <> Nothing = Just x
tests/examples/FFIExtensions.hs.prettyprinter.golden view
@@ -5,4 +5,4 @@ foreign import ccall interruptible "sleep" sleep ::                CUint -> IO CUint -foreign import capi safe "header.h f" f :: CInt -> IO CInt+foreign import capi "header.h f" f :: CInt -> IO CInt
tests/examples/FFIInterruptible.hs.prettyprinter.golden view
@@ -1,3 +1,2 @@ {-# LANGUAGE InterruptibleFFI #-}-module Main (main) where foo = interruptible
tests/examples/FamilyKindSig.hs.parser.golden view
@@ -84,22 +84,23 @@                      , srcInfoPoints = []                      }                    "a")-                (KindFn+                (TyFun                    SrcSpanInfo                      { srcInfoSpan = SrcSpan "tests/examples/FamilyKindSig.hs" 4 31 4 37                      , srcInfoPoints =                          [ SrcSpan "tests/examples/FamilyKindSig.hs" 4 33 4 35 ]                      }-                   (KindStar+                   (TyStar                       SrcSpanInfo                         { srcInfoSpan = SrcSpan "tests/examples/FamilyKindSig.hs" 4 31 4 32                         , srcInfoPoints = []                         })-                   (KindStar+                   (TyStar                       SrcSpanInfo                         { srcInfoSpan = SrcSpan "tests/examples/FamilyKindSig.hs" 4 36 4 37                         , srcInfoPoints = []                         }))))+          Nothing           Nothing       ]   , []
tests/examples/Fixity2.hs.prettyprinter.golden view
@@ -1,4 +1,3 @@-module Main (main) where foo = pure 1 <^> pure 2 <^> pure (+)   where (<^>) = flip (<*>)         
tests/examples/Fixity3.hs.parser.golden view
@@ -88,37 +88,51 @@                                { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 2 12 2 28                                , srcInfoPoints = [ SrcSpan "tests/examples/Fixity3.hs" 2 26 2 28 ]                                }-                             (ClassA+                             (TypeA                                 SrcSpanInfo                                   { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 2 12 2 28                                   , srcInfoPoints =                                       [ SrcSpan "tests/examples/Fixity3.hs" 2 26 2 28 ]                                   }-                                (UnQual+                                (TyApp                                    SrcSpanInfo-                                     { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 2 12 2 23-                                     , srcInfoPoints = []+                                     { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 2 12 2 28+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/Fixity3.hs" 2 26 2 28 ]                                      }-                                   (Ident+                                   (TyCon                                       SrcSpanInfo                                         { srcInfoSpan =-                                            SrcSpan "tests/examples/Fixity3.hs" 2 12 2 23+                                            SrcSpan "tests/examples/Fixity3.hs" 2 12 2 28+                                        , srcInfoPoints =+                                            [ SrcSpan "tests/examples/Fixity3.hs" 2 26 2 28 ]+                                        }+                                      (UnQual+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/Fixity3.hs" 2 12 2 23+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan "tests/examples/Fixity3.hs" 2 12 2 23+                                              , srcInfoPoints = []+                                              }+                                            "Applicative")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/Fixity3.hs" 2 24 2 25                                         , srcInfoPoints = []                                         }-                                      "Applicative"))-                                [ TyVar-                                    SrcSpanInfo-                                      { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 2 24 2 25-                                      , srcInfoPoints = []-                                      }-                                    (Ident-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/Fixity3.hs" 2 24 2 25-                                         , srcInfoPoints = []-                                         }-                                       "f")-                                ])))+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/Fixity3.hs" 2 24 2 25+                                           , srcInfoPoints = []+                                           }+                                         "f"))))))                        (TyFun                           SrcSpanInfo                             { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 2 29 2 53
tests/examples/Fixity3.hs.prettyprinter.golden view
@@ -1,5 +1,3 @@-module Main (main) where- class Foo f where         (<^>) :: Applicative f => f a -> f (a -> b) -> f b         
tests/examples/FixityTests.hs.prettyprinter.golden view
@@ -1,4 +1,3 @@-module Main (main) where main   = forM_ cmdReports $       \ x ->
+ tests/examples/FlexibleContextsWithoutVars.hs view
@@ -0,0 +1,3 @@+{-# LANGUAGE FlexibleContexts #-}+f :: Log.Stack => a -> a+f = id
+ tests/examples/FlexibleContextsWithoutVars.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/FlexibleContextsWithoutVars.hs.parser.golden view
@@ -0,0 +1,187 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan =+            SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 1 1 4 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 1 1 1 1+            , SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 1 2 1+            , SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 1 2 1+            , SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 1 2 1+            , SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 3 1 3 1+            , SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 4 1 4 1+            , SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 4 1 4 1+            ]+        }+      Nothing+      [ LanguagePragma+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 1 1 1 34+            , srcInfoPoints =+                [ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 1 1 1 13+                , SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 1 31 1 34+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 1 14 1 30+                , srcInfoPoints = []+                }+              "FlexibleContexts"+          ]+      ]+      []+      [ TypeSig+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 1 2 25+            , srcInfoPoints =+                [ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 3 2 5 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 1 2 2+                , srcInfoPoints = []+                }+              "f"+          ]+          (TyForall+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 6 2 25+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxSingle+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 6 2 18+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 16 2 18+                         ]+                     }+                   (TypeA+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 6 2 18+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 16 2 18+                            ]+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 6 2 18+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 16 2 18+                               ]+                           }+                         (Qual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 6 2 15+                              , srcInfoPoints = []+                              }+                            (ModuleName+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan+                                       "tests/examples/FlexibleContextsWithoutVars.hs" 2 6 2 15+                                 , srcInfoPoints = []+                                 }+                               "Log")+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan+                                       "tests/examples/FlexibleContextsWithoutVars.hs" 2 6 2 15+                                 , srcInfoPoints = []+                                 }+                               "Stack"))))))+             (TyFun+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 19 2 25+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 21 2 23+                      ]+                  }+                (TyVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 19 2 20+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 19 2 20+                        , srcInfoPoints = []+                        }+                      "a"))+                (TyVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 24 2 25+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 24 2 25+                        , srcInfoPoints = []+                        }+                      "a"))))+      , PatBind+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 3 1 3 7+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 3 1 3 2+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 3 1 3 2+                  , srcInfoPoints = []+                  }+                "f"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 3 3 3 7+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 3 3 3 4 ]+               }+             (Var+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 3 5 3 7+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 3 5 3 7+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 3 5 3 7+                        , srcInfoPoints = []+                        }+                      "id"))))+          Nothing+      ]+  , []+  )
+ tests/examples/FlexibleContextsWithoutVars.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/FlexibleContextsWithoutVars.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+{-# LANGUAGE FlexibleContexts #-}++f :: Log.Stack => a -> a+f = id
tests/examples/ForallInInstance.hs.parser.golden view
@@ -95,40 +95,53 @@                      , srcInfoPoints =                          [ SrcSpan "tests/examples/ForallInInstance.hs" 4 30 4 32 ]                      }-                   (ClassA+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan =                             SrcSpan "tests/examples/ForallInInstance.hs" 4 20 4 32                         , srcInfoPoints =                             [ SrcSpan "tests/examples/ForallInInstance.hs" 4 30 4 32 ]                         }-                      (UnQual+                      (TyApp                          SrcSpanInfo                            { srcInfoSpan =-                               SrcSpan "tests/examples/ForallInInstance.hs" 4 20 4 27-                           , srcInfoPoints = []+                               SrcSpan "tests/examples/ForallInInstance.hs" 4 20 4 32+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/ForallInInstance.hs" 4 30 4 32 ]                            }-                         (Ident+                         (TyCon                             SrcSpanInfo                               { srcInfoSpan =-                                  SrcSpan "tests/examples/ForallInInstance.hs" 4 20 4 27+                                  SrcSpan "tests/examples/ForallInInstance.hs" 4 20 4 32+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/ForallInInstance.hs" 4 30 4 32 ]+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/ForallInInstance.hs" 4 20 4 27+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/ForallInInstance.hs" 4 20 4 27+                                    , srcInfoPoints = []+                                    }+                                  "MyClass")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/ForallInInstance.hs" 4 28 4 29                               , srcInfoPoints = []                               }-                            "MyClass"))-                      [ TyVar-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/ForallInInstance.hs" 4 28 4 29-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/ForallInInstance.hs" 4 28 4 29-                               , srcInfoPoints = []-                               }-                             "a")-                      ])))+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/ForallInInstance.hs" 4 28 4 29+                                 , srcInfoPoints = []+                                 }+                               "a"))))))              (IHApp                 SrcSpanInfo                   { srcInfoSpan =
tests/examples/ForallInInstance.hs.prettyprinter.golden view
@@ -1,4 +1,4 @@ {-# LANGUAGE ScopedTypeVariables #-} module ForallInInstance where -instance forall a . MyClass a => MyClass [a]+instance forall a . MyClass a => MyClass [a] where
tests/examples/ForeignImport.hs.prettyprinter.golden view
@@ -1,4 +1,2 @@-module Main (main) where- foreign import ccall unsafe "getProgArgv" getProgArgv ::                Ptr CInt -> Ptr (Ptr CString) -> IO ()
tests/examples/ForeignImportJavascript.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE JavascriptFFI #-}-module Main (main) where  foreign import javascript unsafe "somethingUseful_ = $1"                js_set_somethingUseful :: JSFun a -> IO ()
tests/examples/GADTRecord.hs.parser.golden view
@@ -72,6 +72,8 @@                    , srcInfoPoints = []                    }                  "T")+              Nothing+              Nothing               (Just                  [ FieldDecl                      SrcSpanInfo@@ -120,7 +122,7 @@                          }                        "T")))           ]-          Nothing+          []       ]   , []   )
tests/examples/GADTRecord.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE GADTs #-}-module Main (main) where  data T where         T :: {field :: Int} -> T
+ tests/examples/GADTRecord2.hs view
@@ -0,0 +1,4 @@+{-# LANGUAGE GADTs #-}++data T where+  T :: () => { field :: Int } -> T
+ tests/examples/GADTRecord2.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/GADTRecord2.hs.parser.golden view
@@ -0,0 +1,137 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 1 1 5 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/GADTRecord2.hs" 1 1 1 1+            , SrcSpan "tests/examples/GADTRecord2.hs" 3 1 3 1+            , SrcSpan "tests/examples/GADTRecord2.hs" 3 1 3 1+            , SrcSpan "tests/examples/GADTRecord2.hs" 3 1 3 1+            , SrcSpan "tests/examples/GADTRecord2.hs" 5 1 5 1+            , SrcSpan "tests/examples/GADTRecord2.hs" 5 1 5 1+            ]+        }+      Nothing+      [ LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 1 1 1 23+            , srcInfoPoints =+                [ SrcSpan "tests/examples/GADTRecord2.hs" 1 1 1 13+                , SrcSpan "tests/examples/GADTRecord2.hs" 1 20 1 23+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 1 14 1 19+                , srcInfoPoints = []+                }+              "GADTs"+          ]+      ]+      []+      [ GDataDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 3 1 5 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/GADTRecord2.hs" 3 8 3 13+                , SrcSpan "tests/examples/GADTRecord2.hs" 4 3 4 3+                , SrcSpan "tests/examples/GADTRecord2.hs" 5 1 5 0+                ]+            }+          (DataType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 3 1 3 5+               , srcInfoPoints = []+               })+          Nothing+          (DHead+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 3 6 3 7+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 3 6 3 7+                  , srcInfoPoints = []+                  }+                "T"))+          Nothing+          [ GadtDecl+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 4 3 4 35+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/GADTRecord2.hs" 4 5 4 7+                    , SrcSpan "tests/examples/GADTRecord2.hs" 4 14 4 15+                    , SrcSpan "tests/examples/GADTRecord2.hs" 4 29 4 30+                    , SrcSpan "tests/examples/GADTRecord2.hs" 4 31 4 33+                    ]+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 4 3 4 4+                   , srcInfoPoints = []+                   }+                 "T")+              Nothing+              (Just+                 (CxEmpty+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 4 8 4 13+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/GADTRecord2.hs" 4 8 4 9+                          , SrcSpan "tests/examples/GADTRecord2.hs" 4 9 4 10+                          , SrcSpan "tests/examples/GADTRecord2.hs" 4 11 4 13+                          ]+                      }))+              (Just+                 [ FieldDecl+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 4 16 4 28+                       , srcInfoPoints =+                           [ SrcSpan "tests/examples/GADTRecord2.hs" 4 22 4 24 ]+                       }+                     [ Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 4 16 4 21+                           , srcInfoPoints = []+                           }+                         "field"+                     ]+                     (TyCon+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 4 25 4 28+                          , srcInfoPoints = []+                          }+                        (UnQual+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 4 25 4 28+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 4 25 4 28+                                , srcInfoPoints = []+                                }+                              "Int")))+                 ])+              (TyCon+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 4 34 4 35+                   , srcInfoPoints = []+                   }+                 (UnQual+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 4 34 4 35+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 4 34 4 35+                         , srcInfoPoints = []+                         }+                       "T")))+          ]+          []+      ]+  , []+  )
+ tests/examples/GADTRecord2.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/GADTRecord2.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+{-# LANGUAGE GADTs #-}++data T where+        T :: () => {field :: Int} -> T
tests/examples/GadtDeriving.hs.parser.golden view
@@ -70,6 +70,8 @@                    }                  "Foo")               Nothing+              Nothing+              Nothing               (TyFun                  SrcSpanInfo                    { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 4 12 4 22@@ -109,88 +111,89 @@                             }                           "Foo"))))           ]-          (Just-             (Deriving-                SrcSpanInfo-                  { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 5 5 31-                  , srcInfoPoints =-                      [ SrcSpan "tests/examples/GadtDeriving.hs" 5 5 5 13-                      , SrcSpan "tests/examples/GadtDeriving.hs" 5 14 5 15-                      , SrcSpan "tests/examples/GadtDeriving.hs" 5 17 5 18-                      , SrcSpan "tests/examples/GadtDeriving.hs" 5 21 5 22-                      , SrcSpan "tests/examples/GadtDeriving.hs" 5 30 5 31-                      ]-                  }-                [ IRule-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 15 5 17-                      , srcInfoPoints = []-                      }-                    Nothing-                    Nothing-                    (IHCon-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 15 5 17-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 15 5 17-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 15 5 17-                               , srcInfoPoints = []-                               }-                             "Eq")))-                , IRule-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 18 5 21-                      , srcInfoPoints = []-                      }-                    Nothing-                    Nothing-                    (IHCon-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 18 5 21-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 18 5 21-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 18 5 21-                               , srcInfoPoints = []-                               }-                             "Ord")))-                , IRule-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 22 5 30-                      , srcInfoPoints = []-                      }-                    Nothing-                    Nothing-                    (IHCon-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 22 5 30-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 22 5 30-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 22 5 30-                               , srcInfoPoints = []-                               }-                             "Typeable")))-                ]))+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 5 5 31+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/GadtDeriving.hs" 5 5 5 13+                    , SrcSpan "tests/examples/GadtDeriving.hs" 5 14 5 15+                    , SrcSpan "tests/examples/GadtDeriving.hs" 5 17 5 18+                    , SrcSpan "tests/examples/GadtDeriving.hs" 5 21 5 22+                    , SrcSpan "tests/examples/GadtDeriving.hs" 5 30 5 31+                    ]+                }+              Nothing+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 15 5 17+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 15 5 17+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 15 5 17+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 15 5 17+                             , srcInfoPoints = []+                             }+                           "Eq")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 18 5 21+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 18 5 21+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 18 5 21+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 18 5 21+                             , srcInfoPoints = []+                             }+                           "Ord")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 22 5 30+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 22 5 30+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 22 5 30+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 22 5 30+                             , srcInfoPoints = []+                             }+                           "Typeable")))+              ]+          ]       ]   , []   )
tests/examples/GadtDeriving.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE GADTs #-}-module Main (main) where  data Foo where         Foo :: Int -> Foo
tests/examples/GadtRecordFields.hs.parser.golden view
@@ -83,6 +83,8 @@                    , srcInfoPoints = []                    }                  "TCon")+              Nothing+              Nothing               (Just                  [ FieldDecl                      SrcSpanInfo@@ -187,6 +189,8 @@                    }                  "TCon2")               Nothing+              Nothing+              Nothing               (TyCon                  SrcSpanInfo                    { srcInfoSpan =@@ -207,7 +211,7 @@                          }                        "Ty")))           ]-          Nothing+          []       ]   , []   )
tests/examples/GadtRecordFields.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE GADTs #-}-module Main (main) where  data Ty where         TCon :: {field1 :: Int, field2 :: Bool} -> Ty
tests/examples/GadtStrictness.hs.parser.golden view
@@ -70,6 +70,8 @@                    }                  "X")               Nothing+              Nothing+              Nothing               (TyFun                  SrcSpanInfo                    { srcInfoSpan = SrcSpan "tests/examples/GadtStrictness.hs" 4 8 4 17@@ -84,9 +86,13 @@                     (BangedTy                        SrcSpanInfo                          { srcInfoSpan = SrcSpan "tests/examples/GadtStrictness.hs" 4 8 4 9-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/GadtStrictness.hs" 4 8 4 9 ]+                         , srcInfoPoints = []                          })+                    (NoUnpackPragma+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "" (-1) (-1) (-1) (-1)+                         , srcInfoPoints = []+                         })                     (TyCon                        SrcSpanInfo                          { srcInfoSpan = SrcSpan "tests/examples/GadtStrictness.hs" 4 9 4 12@@ -123,7 +129,7 @@                             }                           "X"))))           ]-          Nothing+          []       ]   , []   )
tests/examples/GadtStrictness.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE GADTs #-}-module Main (main) where  data X where         X :: !Int -> X
tests/examples/GenericTree.hs.parser.golden view
@@ -106,34 +106,46 @@                             , SrcSpan "tests/examples/GenericTree.hs" 6 24 6 26                             ]                         }-                      (ClassA+                      (TypeA                          SrcSpanInfo                            { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 12 6 22                            , srcInfoPoints = []                            }-                         (UnQual+                         (TyApp                             SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 12 6 20+                              { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 12 6 22                               , srcInfoPoints = []                               }-                            (Ident+                            (TyCon                                SrcSpanInfo-                                 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 12 6 20+                                 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 12 6 22                                  , srcInfoPoints = []                                  }-                               "Typeable"))-                         [ TyVar-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 21 6 22-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 21 6 22-                                  , srcInfoPoints = []-                                  }-                                "a")-                         ]))))+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/GenericTree.hs" 6 12 6 20+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/GenericTree.hs" 6 12 6 20+                                       , srcInfoPoints = []+                                       }+                                     "Typeable")))+                            (TyVar+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 21 6 22+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/GenericTree.hs" 6 21 6 22+                                    , srcInfoPoints = []+                                    }+                                  "a")))))))              (TyFun                 SrcSpanInfo                   { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 27 6 83@@ -217,39 +229,51 @@                                       , SrcSpan "tests/examples/GenericTree.hs" 6 65 6 67                                       ]                                   }-                                (ClassA+                                (TypeA                                    SrcSpanInfo                                      { srcInfoSpan =                                          SrcSpan "tests/examples/GenericTree.hs" 6 53 6 63                                      , srcInfoPoints = []                                      }-                                   (UnQual+                                   (TyApp                                       SrcSpanInfo                                         { srcInfoSpan =-                                            SrcSpan "tests/examples/GenericTree.hs" 6 53 6 61+                                            SrcSpan "tests/examples/GenericTree.hs" 6 53 6 63                                         , srcInfoPoints = []                                         }-                                      (Ident+                                      (TyCon                                          SrcSpanInfo                                            { srcInfoSpan =-                                               SrcSpan "tests/examples/GenericTree.hs" 6 53 6 61+                                               SrcSpan "tests/examples/GenericTree.hs" 6 53 6 63                                            , srcInfoPoints = []                                            }-                                         "Typeable"))-                                   [ TyVar-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/GenericTree.hs" 6 62 6 63-                                         , srcInfoPoints = []-                                         }-                                       (Ident-                                          SrcSpanInfo-                                            { srcInfoSpan =-                                                SrcSpan "tests/examples/GenericTree.hs" 6 62 6 63-                                            , srcInfoPoints = []-                                            }-                                          "b")-                                   ]))))+                                         (UnQual+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan "tests/examples/GenericTree.hs" 6 53 6 61+                                              , srcInfoPoints = []+                                              }+                                            (Ident+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/GenericTree.hs" 6 53 6 61+                                                 , srcInfoPoints = []+                                                 }+                                               "Typeable")))+                                      (TyVar+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/GenericTree.hs" 6 62 6 63+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan "tests/examples/GenericTree.hs" 6 62 6 63+                                              , srcInfoPoints = []+                                              }+                                            "b")))))))                        (TyFun                           SrcSpanInfo                             { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 68 6 82
tests/examples/GhcDeriving.hs.parser.golden view
@@ -159,112 +159,113 @@                               "a")))                  ])           ]-          (Just-             (Deriving-                SrcSpanInfo-                  { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 4 4 45-                  , srcInfoPoints =-                      [ SrcSpan "tests/examples/GhcDeriving.hs" 4 4 4 12-                      , SrcSpan "tests/examples/GhcDeriving.hs" 4 13 4 14-                      , SrcSpan "tests/examples/GhcDeriving.hs" 4 19 4 20-                      , SrcSpan "tests/examples/GhcDeriving.hs" 4 35 4 36-                      , SrcSpan "tests/examples/GhcDeriving.hs" 4 44 4 45-                      ]-                  }-                [ IRule-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 14 4 19-                      , srcInfoPoints = []-                      }-                    Nothing-                    Nothing-                    (IHCon-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 14 4 19-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 14 4 19-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 14 4 19-                               , srcInfoPoints = []-                               }-                             "Monad")))-                , IRule-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 21 4 35-                      , srcInfoPoints = []-                      }-                    Nothing-                    Nothing-                    (IHApp-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 21 4 35-                         , srcInfoPoints = []-                         }-                       (IHCon-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 21 4 31-                            , srcInfoPoints = []-                            }-                          (UnQual-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 21 4 31-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 21 4 31-                                  , srcInfoPoints = []-                                  }-                                "MonadState")))-                       (TyList-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 32 4 35-                            , srcInfoPoints =-                                [ SrcSpan "tests/examples/GhcDeriving.hs" 4 32 4 33-                                , SrcSpan "tests/examples/GhcDeriving.hs" 4 34 4 35-                                ]-                            }-                          (TyVar-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 33 4 34-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 33 4 34-                                  , srcInfoPoints = []-                                  }-                                "s"))))-                , IRule-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 37 4 44-                      , srcInfoPoints = []-                      }-                    Nothing-                    Nothing-                    (IHCon-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 37 4 44-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 37 4 44-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 37 4 44-                               , srcInfoPoints = []-                               }-                             "MonadIO")))-                ]))+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 4 4 45+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/GhcDeriving.hs" 4 4 4 12+                    , SrcSpan "tests/examples/GhcDeriving.hs" 4 13 4 14+                    , SrcSpan "tests/examples/GhcDeriving.hs" 4 19 4 20+                    , SrcSpan "tests/examples/GhcDeriving.hs" 4 35 4 36+                    , SrcSpan "tests/examples/GhcDeriving.hs" 4 44 4 45+                    ]+                }+              Nothing+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 14 4 19+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 14 4 19+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 14 4 19+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 14 4 19+                             , srcInfoPoints = []+                             }+                           "Monad")))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 21 4 35+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHApp+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 21 4 35+                       , srcInfoPoints = []+                       }+                     (IHCon+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 21 4 31+                          , srcInfoPoints = []+                          }+                        (UnQual+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 21 4 31+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 21 4 31+                                , srcInfoPoints = []+                                }+                              "MonadState")))+                     (TyList+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 32 4 35+                          , srcInfoPoints =+                              [ SrcSpan "tests/examples/GhcDeriving.hs" 4 32 4 33+                              , SrcSpan "tests/examples/GhcDeriving.hs" 4 34 4 35+                              ]+                          }+                        (TyVar+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 33 4 34+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 33 4 34+                                , srcInfoPoints = []+                                }+                              "s"))))+              , IRule+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 37 4 44+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 37 4 44+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 37 4 44+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 37 4 44+                             , srcInfoPoints = []+                             }+                           "MonadIO")))+              ]+          ]       ]   , []   )
tests/examples/GhcDeriving.hs.prettyprinter.golden view
@@ -1,4 +1,2 @@-module Main (main) where- newtype CodeGenModule a = CGM (StateT CGMState IO a)-                        deriving (Monad, MonadState [s], MonadIO)+                            deriving (Monad, MonadState [s], MonadIO)
tests/examples/HaddockComments.hs.parser.golden view
@@ -897,7 +897,7 @@                            "Int"))                  ])           ]-          Nothing+          []       ]   , [ Comment         True
+ tests/examples/HashOperator.hs view
@@ -0,0 +1,6 @@+{-# LANGUAGE OverloadedLabels #-}++(#.) :: Int -> Int -> Int+x #. y = x + y++infixr 9 #.
+ tests/examples/HashOperator.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/HashOperator.hs.parser.golden view
@@ -0,0 +1,237 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 1 1 7 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/HashOperator.hs" 1 1 1 1+            , SrcSpan "tests/examples/HashOperator.hs" 3 1 3 1+            , SrcSpan "tests/examples/HashOperator.hs" 3 1 3 1+            , SrcSpan "tests/examples/HashOperator.hs" 3 1 3 1+            , SrcSpan "tests/examples/HashOperator.hs" 4 1 4 1+            , SrcSpan "tests/examples/HashOperator.hs" 6 1 6 1+            , SrcSpan "tests/examples/HashOperator.hs" 7 1 7 1+            , SrcSpan "tests/examples/HashOperator.hs" 7 1 7 1+            ]+        }+      Nothing+      [ LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 1 1 1 34+            , srcInfoPoints =+                [ SrcSpan "tests/examples/HashOperator.hs" 1 1 1 13+                , SrcSpan "tests/examples/HashOperator.hs" 1 31 1 34+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 1 14 1 30+                , srcInfoPoints = []+                }+              "OverloadedLabels"+          ]+      ]+      []+      [ TypeSig+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 3 1 3 26+            , srcInfoPoints =+                [ SrcSpan "tests/examples/HashOperator.hs" 3 6 3 8 ]+            }+          [ Symbol+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 3 1 3 5+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/HashOperator.hs" 3 1 3 2+                    , SrcSpan "tests/examples/HashOperator.hs" 3 2 3 4+                    , SrcSpan "tests/examples/HashOperator.hs" 3 4 3 5+                    ]+                }+              "#."+          ]+          (TyFun+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 3 9 3 26+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/HashOperator.hs" 3 13 3 15 ]+               }+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 3 9 3 12+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 3 9 3 12+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 3 9 3 12+                        , srcInfoPoints = []+                        }+                      "Int")))+             (TyFun+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 3 16 3 26+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/HashOperator.hs" 3 20 3 22 ]+                  }+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 3 16 3 19+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 3 16 3 19+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 3 16 3 19+                           , srcInfoPoints = []+                           }+                         "Int")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 3 23 3 26+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 3 23 3 26+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 3 23 3 26+                           , srcInfoPoints = []+                           }+                         "Int")))))+      , FunBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 1 4 15+            , srcInfoPoints = []+            }+          [ InfixMatch+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 1 4 15+                , srcInfoPoints = []+                }+              (PVar+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 1 4 2+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 1 4 2+                      , srcInfoPoints = []+                      }+                    "x"))+              (Symbol+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 3 4 5+                   , srcInfoPoints = []+                   }+                 "#.")+              [ PVar+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 6 4 7+                    , srcInfoPoints = []+                    }+                  (Ident+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 6 4 7+                       , srcInfoPoints = []+                       }+                     "y")+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 8 4 15+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/HashOperator.hs" 4 8 4 9 ]+                   }+                 (InfixApp+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 10 4 15+                      , srcInfoPoints = []+                      }+                    (Var+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 10 4 11+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 10 4 11+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 10 4 11+                               , srcInfoPoints = []+                               }+                             "x")))+                    (QVarOp+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 12 4 13+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 12 4 13+                            , srcInfoPoints = []+                            }+                          (Symbol+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 12 4 13+                               , srcInfoPoints = []+                               }+                             "+")))+                    (Var+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 14 4 15+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 14 4 15+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 14 4 15+                               , srcInfoPoints = []+                               }+                             "y")))))+              Nothing+          ]+      , InfixDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 6 1 6 12+            , srcInfoPoints =+                [ SrcSpan "tests/examples/HashOperator.hs" 6 8 6 9 ]+            }+          (AssocRight+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 6 1 6 7+               , srcInfoPoints = []+               })+          (Just 9)+          [ VarOp+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 6 10 6 12+                , srcInfoPoints = []+                }+              (Symbol+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 6 10 6 12+                   , srcInfoPoints = []+                   }+                 "#.")+          ]+      ]+  , []+  )
+ tests/examples/HashOperator.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/HashOperator.hs.prettyprinter.golden view
@@ -0,0 +1,6 @@+{-# LANGUAGE OverloadedLabels #-}++( #. ) :: Int -> Int -> Int+x #. y = x + y++infixr 9 #.
tests/examples/HaskellParser.hs.prettyprinter.golden view
@@ -1,4 +1,3 @@-module Main (main) where import qualified Language.Haskell.Exts.Annotated as Parser import qualified Language.Haskell.Exts.Annotated.Syntax as Syn import qualified Language.Haskell.Exts.Extension as Ext
tests/examples/IllDataTypeDecl.hs.parser.golden view
@@ -156,7 +156,7 @@                     "L")                  [])           ]-          Nothing+          []       ]   , []   )
tests/examples/IllDataTypeDecl.hs.prettyprinter.golden view
@@ -1,4 +1,4 @@ {-# LANGUAGE TypeOperators #-} module IllDataTypeDecl where -data (:+:) f g p = L+data (f :+: g) p = L
tests/examples/ImplicitWhereBlocks.hs.prettyprinter.golden view
@@ -1,4 +1,3 @@-module Main (main) where foo = x   where x = 1         z = 19
+ tests/examples/ImportQualifiedPost.hs view
@@ -0,0 +1,4 @@+{-# LANGUAGE ImportQualifiedPost #-}+module ImportQualifiedPost where++import Data.List qualified as L
+ tests/examples/ImportQualifiedPost.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ImportQualifiedPost.hs.parser.golden view
@@ -0,0 +1,89 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan =+            SrcSpan "tests/examples/ImportQualifiedPost.hs" 1 1 5 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/ImportQualifiedPost.hs" 1 1 1 1+            , SrcSpan "tests/examples/ImportQualifiedPost.hs" 2 1 2 1+            , SrcSpan "tests/examples/ImportQualifiedPost.hs" 2 1 2 1+            , SrcSpan "tests/examples/ImportQualifiedPost.hs" 4 1 4 1+            , SrcSpan "tests/examples/ImportQualifiedPost.hs" 5 1 5 1+            , SrcSpan "tests/examples/ImportQualifiedPost.hs" 5 1 5 1+            ]+        }+      (Just+         (ModuleHead+            SrcSpanInfo+              { srcInfoSpan =+                  SrcSpan "tests/examples/ImportQualifiedPost.hs" 2 1 2 33+              , srcInfoPoints =+                  [ SrcSpan "tests/examples/ImportQualifiedPost.hs" 2 1 2 7+                  , SrcSpan "tests/examples/ImportQualifiedPost.hs" 2 28 2 33+                  ]+              }+            (ModuleName+               SrcSpanInfo+                 { srcInfoSpan =+                     SrcSpan "tests/examples/ImportQualifiedPost.hs" 2 8 2 27+                 , srcInfoPoints = []+                 }+               "ImportQualifiedPost")+            Nothing+            Nothing))+      [ LanguagePragma+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/ImportQualifiedPost.hs" 1 1 1 37+            , srcInfoPoints =+                [ SrcSpan "tests/examples/ImportQualifiedPost.hs" 1 1 1 13+                , SrcSpan "tests/examples/ImportQualifiedPost.hs" 1 34 1 37+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/ImportQualifiedPost.hs" 1 14 1 33+                , srcInfoPoints = []+                }+              "ImportQualifiedPost"+          ]+      ]+      [ ImportDecl+          { importAnn =+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/ImportQualifiedPost.hs" 4 1 4 32+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/ImportQualifiedPost.hs" 4 1 4 7+                    , SrcSpan "tests/examples/ImportQualifiedPost.hs" 4 18 4 27+                    , SrcSpan "tests/examples/ImportQualifiedPost.hs" 4 28 4 30+                    ]+                }+          , importModule =+              ModuleName+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/ImportQualifiedPost.hs" 4 8 4 17+                  , srcInfoPoints = []+                  }+                "Data.List"+          , importQualified = True+          , importSrc = False+          , importSafe = False+          , importPkg = Nothing+          , importAs =+              Just+                (ModuleName+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/ImportQualifiedPost.hs" 4 31 4 32+                     , srcInfoPoints = []+                     }+                   "L")+          , importSpecs = Nothing+          }+      ]+      []+  , []+  )
+ tests/examples/ImportQualifiedPost.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ImportQualifiedPost.hs.prettyprinter.golden view
@@ -0,0 +1,3 @@+{-# LANGUAGE ImportQualifiedPost #-}+module ImportQualifiedPost where+import qualified Data.List as L
tests/examples/IndentedWhere.hs.prettyprinter.golden view
@@ -1,4 +1,3 @@-module Main (main) where f x = g   where g :: Int         g = 0
tests/examples/InfixApp.hs.prettyprinter.golden view
@@ -1,2 +1,1 @@-module Main (main) where f = -w / 2
+ tests/examples/InfixBang.hs view
@@ -0,0 +1,3 @@+{-# LANGUAGE BangPatterns #-}++(!) arr i = arr i
+ tests/examples/InfixBang.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/InfixBang.hs.parser.golden view
@@ -0,0 +1,122 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 1 1 4 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/InfixBang.hs" 1 1 1 1+            , SrcSpan "tests/examples/InfixBang.hs" 3 1 3 1+            , SrcSpan "tests/examples/InfixBang.hs" 3 1 3 1+            , SrcSpan "tests/examples/InfixBang.hs" 3 1 3 1+            , SrcSpan "tests/examples/InfixBang.hs" 4 1 4 1+            , SrcSpan "tests/examples/InfixBang.hs" 4 1 4 1+            ]+        }+      Nothing+      [ LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 1 1 1 30+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InfixBang.hs" 1 1 1 13+                , SrcSpan "tests/examples/InfixBang.hs" 1 27 1 30+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 1 14 1 26+                , srcInfoPoints = []+                }+              "BangPatterns"+          ]+      ]+      []+      [ FunBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 1 3 18+            , srcInfoPoints = []+            }+          [ Match+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 1 3 18+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/InfixBang.hs" 3 1 3 2+                    , SrcSpan "tests/examples/InfixBang.hs" 3 2 3 3+                    , SrcSpan "tests/examples/InfixBang.hs" 3 3 3 4+                    ]+                }+              (Symbol+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 2 3 3+                   , srcInfoPoints = []+                   }+                 "!")+              [ PVar+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 5 3 8+                    , srcInfoPoints = []+                    }+                  (Ident+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 5 3 8+                       , srcInfoPoints = []+                       }+                     "arr")+              , PVar+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 9 3 10+                    , srcInfoPoints = []+                    }+                  (Ident+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 9 3 10+                       , srcInfoPoints = []+                       }+                     "i")+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 11 3 18+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/InfixBang.hs" 3 11 3 12 ]+                   }+                 (App+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 13 3 18+                      , srcInfoPoints = []+                      }+                    (Var+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 13 3 16+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 13 3 16+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 13 3 16+                               , srcInfoPoints = []+                               }+                             "arr")))+                    (Var+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 17 3 18+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 17 3 18+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 17 3 18+                               , srcInfoPoints = []+                               }+                             "i")))))+              Nothing+          ]+      ]+  , []+  )
+ tests/examples/InfixBang.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/InfixBang.hs.prettyprinter.golden view
@@ -0,0 +1,2 @@+{-# LANGUAGE BangPatterns #-}+(!) arr i = arr i
tests/examples/InfixFunBind.hs.prettyprinter.golden view
@@ -1,2 +1,1 @@-module Main (main) where-first left _ = left+left `first` _ = left
tests/examples/InfixTypeMinus.hs.parser.golden view
@@ -121,7 +121,7 @@                      , srcInfoPoints = []                      }                    "n")-                (KindVar+                (TyCon                    SrcSpanInfo                      { srcInfoSpan =                          SrcSpan "tests/examples/InfixTypeMinus.hs" 5 16 5 19@@ -156,6 +156,8 @@                    }                  "VCons")               Nothing+              Nothing+              Nothing               (TyForall                  SrcSpanInfo                    { srcInfoSpan =@@ -184,81 +186,98 @@                                 , SrcSpan "tests/examples/InfixTypeMinus.hs" 5 50 5 52                                 ]                             }-                          (EqualP+                          (TypeA                              SrcSpanInfo                                { srcInfoSpan =                                    SrcSpan "tests/examples/InfixTypeMinus.hs" 5 39 5 48                                , srcInfoPoints =                                    [ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 41 5 42 ]                                }-                             (TyVar+                             (TyEquals                                 SrcSpanInfo                                   { srcInfoSpan =-                                      SrcSpan "tests/examples/InfixTypeMinus.hs" 5 39 5 40-                                  , srcInfoPoints = []+                                      SrcSpan "tests/examples/InfixTypeMinus.hs" 5 39 5 48+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 41 5 42 ]                                   }-                                (Ident+                                (TyVar                                    SrcSpanInfo                                      { srcInfoSpan =                                          SrcSpan "tests/examples/InfixTypeMinus.hs" 5 39 5 40                                      , srcInfoPoints = []                                      }-                                   "m"))-                             (TyParen-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/InfixTypeMinus.hs" 5 43 5 48-                                  , srcInfoPoints =-                                      [ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 43 5 44-                                      , SrcSpan "tests/examples/InfixTypeMinus.hs" 5 47 5 48-                                      ]-                                  }-                                (TyInfix+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/InfixTypeMinus.hs" 5 39 5 40+                                        , srcInfoPoints = []+                                        }+                                      "m"))+                                (TyParen                                    SrcSpanInfo                                      { srcInfoSpan =-                                         SrcSpan "tests/examples/InfixTypeMinus.hs" 5 44 5 47-                                     , srcInfoPoints = []+                                         SrcSpan "tests/examples/InfixTypeMinus.hs" 5 43 5 48+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 43 5 44+                                         , SrcSpan "tests/examples/InfixTypeMinus.hs" 5 47 5 48+                                         ]                                      }-                                   (TyVar+                                   (TyInfix                                       SrcSpanInfo                                         { srcInfoSpan =-                                            SrcSpan "tests/examples/InfixTypeMinus.hs" 5 44 5 45+                                            SrcSpan "tests/examples/InfixTypeMinus.hs" 5 44 5 47                                         , srcInfoPoints = []                                         }-                                      (Ident+                                      (TyVar                                          SrcSpanInfo                                            { srcInfoSpan =                                                SrcSpan "tests/examples/InfixTypeMinus.hs" 5 44 5 45                                            , srcInfoPoints = []                                            }-                                         "n"))-                                   (UnQual-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/InfixTypeMinus.hs" 5 45 5 46-                                        , srcInfoPoints = []-                                        }-                                      (Symbol+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/InfixTypeMinus.hs" 5 44 5 45+                                              , srcInfoPoints = []+                                              }+                                            "n"))+                                      (UnpromotedName                                          SrcSpanInfo                                            { srcInfoSpan =                                                SrcSpan "tests/examples/InfixTypeMinus.hs" 5 45 5 46                                            , srcInfoPoints = []                                            }-                                         "-"))-                                   (TyPromoted-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/InfixTypeMinus.hs" 5 46 5 47-                                        , srcInfoPoints = []-                                        }-                                      (PromotedInteger+                                         (UnQual+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/InfixTypeMinus.hs" 5 45 5 46+                                              , srcInfoPoints = []+                                              }+                                            (Symbol+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/InfixTypeMinus.hs" 5 45 5 46+                                                 , srcInfoPoints = []+                                                 }+                                               "-")))+                                      (TyPromoted                                          SrcSpanInfo                                            { srcInfoSpan =                                                SrcSpan "tests/examples/InfixTypeMinus.hs" 5 46 5 47                                            , srcInfoPoints = []                                            }-                                         1-                                         "1"))))))))+                                         (PromotedInteger+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/InfixTypeMinus.hs" 5 46 5 47+                                              , srcInfoPoints = []+                                              }+                                            1+                                            "1")))))))))                  (TyFun                     SrcSpanInfo                       { srcInfoSpan =@@ -369,7 +388,7 @@                                   }                                 "n"))))))           ]-          Nothing+          []       , GDataDecl           SrcSpanInfo             { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 6 1 6 79@@ -418,7 +437,7 @@                      , srcInfoPoints = []                      }                    "n")-                (KindVar+                (TyCon                    SrcSpanInfo                      { srcInfoSpan =                          SrcSpan "tests/examples/InfixTypeMinus.hs" 6 16 6 19@@ -453,6 +472,8 @@                    }                  "VCons")               Nothing+              Nothing+              Nothing               (TyForall                  SrcSpanInfo                    { srcInfoSpan =@@ -481,81 +502,98 @@                                 , SrcSpan "tests/examples/InfixTypeMinus.hs" 6 50 6 52                                 ]                             }-                          (EqualP+                          (TypeA                              SrcSpanInfo                                { srcInfoSpan =                                    SrcSpan "tests/examples/InfixTypeMinus.hs" 6 39 6 48                                , srcInfoPoints =                                    [ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 45 6 46 ]                                }-                             (TyParen+                             (TyEquals                                 SrcSpanInfo                                   { srcInfoSpan =-                                      SrcSpan "tests/examples/InfixTypeMinus.hs" 6 39 6 44+                                      SrcSpan "tests/examples/InfixTypeMinus.hs" 6 39 6 48                                   , srcInfoPoints =-                                      [ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 39 6 40-                                      , SrcSpan "tests/examples/InfixTypeMinus.hs" 6 43 6 44-                                      ]+                                      [ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 45 6 46 ]                                   }-                                (TyInfix+                                (TyParen                                    SrcSpanInfo                                      { srcInfoSpan =-                                         SrcSpan "tests/examples/InfixTypeMinus.hs" 6 40 6 43-                                     , srcInfoPoints = []+                                         SrcSpan "tests/examples/InfixTypeMinus.hs" 6 39 6 44+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 39 6 40+                                         , SrcSpan "tests/examples/InfixTypeMinus.hs" 6 43 6 44+                                         ]                                      }-                                   (TyVar+                                   (TyInfix                                       SrcSpanInfo                                         { srcInfoSpan =-                                            SrcSpan "tests/examples/InfixTypeMinus.hs" 6 40 6 41+                                            SrcSpan "tests/examples/InfixTypeMinus.hs" 6 40 6 43                                         , srcInfoPoints = []                                         }-                                      (Ident+                                      (TyVar                                          SrcSpanInfo                                            { srcInfoSpan =                                                SrcSpan "tests/examples/InfixTypeMinus.hs" 6 40 6 41                                            , srcInfoPoints = []                                            }-                                         "n"))-                                   (UnQual-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/InfixTypeMinus.hs" 6 41 6 42-                                        , srcInfoPoints = []-                                        }-                                      (Symbol+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/InfixTypeMinus.hs" 6 40 6 41+                                              , srcInfoPoints = []+                                              }+                                            "n"))+                                      (UnpromotedName                                          SrcSpanInfo                                            { srcInfoSpan =                                                SrcSpan "tests/examples/InfixTypeMinus.hs" 6 41 6 42                                            , srcInfoPoints = []                                            }-                                         "-"))-                                   (TyPromoted-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/InfixTypeMinus.hs" 6 42 6 43-                                        , srcInfoPoints = []-                                        }-                                      (PromotedInteger+                                         (UnQual+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/InfixTypeMinus.hs" 6 41 6 42+                                              , srcInfoPoints = []+                                              }+                                            (Symbol+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/InfixTypeMinus.hs" 6 41 6 42+                                                 , srcInfoPoints = []+                                                 }+                                               "-")))+                                      (TyPromoted                                          SrcSpanInfo                                            { srcInfoSpan =                                                SrcSpan "tests/examples/InfixTypeMinus.hs" 6 42 6 43                                            , srcInfoPoints = []                                            }-                                         1-                                         "1"))))-                             (TyVar-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/InfixTypeMinus.hs" 6 47 6 48-                                  , srcInfoPoints = []-                                  }-                                (Ident+                                         (PromotedInteger+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/InfixTypeMinus.hs" 6 42 6 43+                                              , srcInfoPoints = []+                                              }+                                            1+                                            "1"))))+                                (TyVar                                    SrcSpanInfo                                      { srcInfoSpan =                                          SrcSpan "tests/examples/InfixTypeMinus.hs" 6 47 6 48                                      , srcInfoPoints = []                                      }-                                   "m"))))))+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/InfixTypeMinus.hs" 6 47 6 48+                                        , srcInfoPoints = []+                                        }+                                      "m")))))))                  (TyFun                     SrcSpanInfo                       { srcInfoSpan =@@ -666,7 +704,7 @@                                   }                                 "n"))))))           ]-          Nothing+          []       , GDataDecl           SrcSpanInfo             { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 7 1 7 79@@ -715,7 +753,7 @@                      , srcInfoPoints = []                      }                    "n")-                (KindVar+                (TyCon                    SrcSpanInfo                      { srcInfoSpan =                          SrcSpan "tests/examples/InfixTypeMinus.hs" 7 16 7 19@@ -750,6 +788,8 @@                    }                  "VCons")               Nothing+              Nothing+              Nothing               (TyForall                  SrcSpanInfo                    { srcInfoSpan =@@ -778,81 +818,98 @@                                 , SrcSpan "tests/examples/InfixTypeMinus.hs" 7 50 7 52                                 ]                             }-                          (EqualP+                          (TypeA                              SrcSpanInfo                                { srcInfoSpan =                                    SrcSpan "tests/examples/InfixTypeMinus.hs" 7 39 7 48                                , srcInfoPoints =                                    [ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 45 7 46 ]                                }-                             (TyParen+                             (TyEquals                                 SrcSpanInfo                                   { srcInfoSpan =-                                      SrcSpan "tests/examples/InfixTypeMinus.hs" 7 39 7 44+                                      SrcSpan "tests/examples/InfixTypeMinus.hs" 7 39 7 48                                   , srcInfoPoints =-                                      [ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 39 7 40-                                      , SrcSpan "tests/examples/InfixTypeMinus.hs" 7 43 7 44-                                      ]+                                      [ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 45 7 46 ]                                   }-                                (TyInfix+                                (TyParen                                    SrcSpanInfo                                      { srcInfoSpan =-                                         SrcSpan "tests/examples/InfixTypeMinus.hs" 7 40 7 43-                                     , srcInfoPoints = []+                                         SrcSpan "tests/examples/InfixTypeMinus.hs" 7 39 7 44+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 39 7 40+                                         , SrcSpan "tests/examples/InfixTypeMinus.hs" 7 43 7 44+                                         ]                                      }-                                   (TyVar+                                   (TyInfix                                       SrcSpanInfo                                         { srcInfoSpan =-                                            SrcSpan "tests/examples/InfixTypeMinus.hs" 7 40 7 41+                                            SrcSpan "tests/examples/InfixTypeMinus.hs" 7 40 7 43                                         , srcInfoPoints = []                                         }-                                      (Ident+                                      (TyVar                                          SrcSpanInfo                                            { srcInfoSpan =                                                SrcSpan "tests/examples/InfixTypeMinus.hs" 7 40 7 41                                            , srcInfoPoints = []                                            }-                                         "m"))-                                   (UnQual-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/InfixTypeMinus.hs" 7 41 7 42-                                        , srcInfoPoints = []-                                        }-                                      (Symbol+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/InfixTypeMinus.hs" 7 40 7 41+                                              , srcInfoPoints = []+                                              }+                                            "m"))+                                      (UnpromotedName                                          SrcSpanInfo                                            { srcInfoSpan =                                                SrcSpan "tests/examples/InfixTypeMinus.hs" 7 41 7 42                                            , srcInfoPoints = []                                            }-                                         "+"))-                                   (TyPromoted-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/InfixTypeMinus.hs" 7 42 7 43-                                        , srcInfoPoints = []-                                        }-                                      (PromotedInteger+                                         (UnQual+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/InfixTypeMinus.hs" 7 41 7 42+                                              , srcInfoPoints = []+                                              }+                                            (Symbol+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/InfixTypeMinus.hs" 7 41 7 42+                                                 , srcInfoPoints = []+                                                 }+                                               "+")))+                                      (TyPromoted                                          SrcSpanInfo                                            { srcInfoSpan =                                                SrcSpan "tests/examples/InfixTypeMinus.hs" 7 42 7 43                                            , srcInfoPoints = []                                            }-                                         1-                                         "1"))))-                             (TyVar-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/InfixTypeMinus.hs" 7 47 7 48-                                  , srcInfoPoints = []-                                  }-                                (Ident+                                         (PromotedInteger+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/InfixTypeMinus.hs" 7 42 7 43+                                              , srcInfoPoints = []+                                              }+                                            1+                                            "1"))))+                                (TyVar                                    SrcSpanInfo                                      { srcInfoSpan =                                          SrcSpan "tests/examples/InfixTypeMinus.hs" 7 47 7 48                                      , srcInfoPoints = []                                      }-                                   "n"))))))+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/InfixTypeMinus.hs" 7 47 7 48+                                        , srcInfoPoints = []+                                        }+                                      "n")))))))                  (TyFun                     SrcSpanInfo                       { srcInfoSpan =@@ -963,7 +1020,7 @@                                   }                                 "n"))))))           ]-          Nothing+          []       , GDataDecl           SrcSpanInfo             { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 8 1 8 79@@ -1012,7 +1069,7 @@                      , srcInfoPoints = []                      }                    "n")-                (KindVar+                (TyCon                    SrcSpanInfo                      { srcInfoSpan =                          SrcSpan "tests/examples/InfixTypeMinus.hs" 8 16 8 19@@ -1047,6 +1104,8 @@                    }                  "VCons")               Nothing+              Nothing+              Nothing               (TyForall                  SrcSpanInfo                    { srcInfoSpan =@@ -1075,81 +1134,98 @@                                 , SrcSpan "tests/examples/InfixTypeMinus.hs" 8 50 8 52                                 ]                             }-                          (EqualP+                          (TypeA                              SrcSpanInfo                                { srcInfoSpan =                                    SrcSpan "tests/examples/InfixTypeMinus.hs" 8 39 8 48                                , srcInfoPoints =                                    [ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 41 8 42 ]                                }-                             (TyVar+                             (TyEquals                                 SrcSpanInfo                                   { srcInfoSpan =-                                      SrcSpan "tests/examples/InfixTypeMinus.hs" 8 39 8 40-                                  , srcInfoPoints = []+                                      SrcSpan "tests/examples/InfixTypeMinus.hs" 8 39 8 48+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 41 8 42 ]                                   }-                                (Ident+                                (TyVar                                    SrcSpanInfo                                      { srcInfoSpan =                                          SrcSpan "tests/examples/InfixTypeMinus.hs" 8 39 8 40                                      , srcInfoPoints = []                                      }-                                   "n"))-                             (TyParen-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/InfixTypeMinus.hs" 8 43 8 48-                                  , srcInfoPoints =-                                      [ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 43 8 44-                                      , SrcSpan "tests/examples/InfixTypeMinus.hs" 8 47 8 48-                                      ]-                                  }-                                (TyInfix+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/InfixTypeMinus.hs" 8 39 8 40+                                        , srcInfoPoints = []+                                        }+                                      "n"))+                                (TyParen                                    SrcSpanInfo                                      { srcInfoSpan =-                                         SrcSpan "tests/examples/InfixTypeMinus.hs" 8 44 8 47-                                     , srcInfoPoints = []+                                         SrcSpan "tests/examples/InfixTypeMinus.hs" 8 43 8 48+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 43 8 44+                                         , SrcSpan "tests/examples/InfixTypeMinus.hs" 8 47 8 48+                                         ]                                      }-                                   (TyVar+                                   (TyInfix                                       SrcSpanInfo                                         { srcInfoSpan =-                                            SrcSpan "tests/examples/InfixTypeMinus.hs" 8 44 8 45+                                            SrcSpan "tests/examples/InfixTypeMinus.hs" 8 44 8 47                                         , srcInfoPoints = []                                         }-                                      (Ident+                                      (TyVar                                          SrcSpanInfo                                            { srcInfoSpan =                                                SrcSpan "tests/examples/InfixTypeMinus.hs" 8 44 8 45                                            , srcInfoPoints = []                                            }-                                         "m"))-                                   (UnQual-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/InfixTypeMinus.hs" 8 45 8 46-                                        , srcInfoPoints = []-                                        }-                                      (Symbol+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/InfixTypeMinus.hs" 8 44 8 45+                                              , srcInfoPoints = []+                                              }+                                            "m"))+                                      (UnpromotedName                                          SrcSpanInfo                                            { srcInfoSpan =                                                SrcSpan "tests/examples/InfixTypeMinus.hs" 8 45 8 46                                            , srcInfoPoints = []                                            }-                                         "+"))-                                   (TyPromoted-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/InfixTypeMinus.hs" 8 46 8 47-                                        , srcInfoPoints = []-                                        }-                                      (PromotedInteger+                                         (UnQual+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/InfixTypeMinus.hs" 8 45 8 46+                                              , srcInfoPoints = []+                                              }+                                            (Symbol+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/InfixTypeMinus.hs" 8 45 8 46+                                                 , srcInfoPoints = []+                                                 }+                                               "+")))+                                      (TyPromoted                                          SrcSpanInfo                                            { srcInfoSpan =                                                SrcSpan "tests/examples/InfixTypeMinus.hs" 8 46 8 47                                            , srcInfoPoints = []                                            }-                                         1-                                         "1"))))))))+                                         (PromotedInteger+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/InfixTypeMinus.hs" 8 46 8 47+                                              , srcInfoPoints = []+                                              }+                                            1+                                            "1")))))))))                  (TyFun                     SrcSpanInfo                       { srcInfoSpan =@@ -1260,7 +1336,7 @@                                   }                                 "n"))))))           ]-          Nothing+          []       ]   , [ Comment         False
+ tests/examples/InjectiveTypeFamilies.hs view
@@ -0,0 +1,255 @@+{-# LANGUAGE DataKinds                 #-}+{-# LANGUAGE MultiParamTypeClasses     #-}+{-# LANGUAGE PolyKinds                 #-}+{-# LANGUAGE TypeFamilyDependencies     #-}+{-# LANGUAGE TypeFamilies     #-}+{-# LANGUAGE UndecidableInstances      #-}+{-# LANGUAGE ScopedTypeVariables       #-}+{-# LANGUAGE NoMonomorphismRestriction #-}++module T6018 where++import T6018a -- defines G, identical to F++type family F a b c = (result :: k) | result -> a b c+type instance F Int  Char Bool = Bool+type instance F Char Bool Int  = Int+type instance F Bool Int  Char = Char+++type instance G Bool Int  Char = Char++type family I (a :: k) b (c :: k) = r | r -> a b+type instance I Int  Char Bool = Bool+type instance I Int  Char Int  = Bool+type instance I Bool Int  Int  = Int++-- this is injective - a type variable introduced in the LHS is not mentioned on+-- RHS but we don't claim injectivity in that argument.+type family J a (b :: k) = r | r -> a+type instance J Int b = Char++type MaybeSyn a = Maybe a+newtype MaybeNew a = MaybeNew (Maybe a)++-- make sure we look through type synonyms...+type family K a = r | r -> a+type instance K a = MaybeSyn a++-- .. but not newtypes+type family M a = r | r -> a+type instance M (Maybe a)    = MaybeSyn a+type instance M (MaybeNew a) = MaybeNew a++-- Closed type families++-- these are simple conversions from open type families. They should behave the+-- same+type family FClosed a b c = result | result -> a b c where+    FClosed Int  Char Bool = Bool+    FClosed Char Bool Int  = Int+    FClosed Bool Int  Char = Char++type family IClosed (a :: *) (b :: *) (c :: *) = r | r -> a b where+    IClosed Int  Char Bool = Bool+    IClosed Int  Char Int  = Bool+    IClosed Bool Int  Int  = Int++type family JClosed a (b :: k) = r | r -> a where+    JClosed Int b = Char++type family KClosed a = r | r -> a where+    KClosed a = MaybeSyn a++-- Here the last equation might return both Int and Char but we have to+-- recognize that it is not possible due to equation overlap+type family Bak a = r | r -> a where+     Bak Int  = Char+     Bak Char = Int+     Bak a    = a++-- This is similar, except that the last equation contains concrete type.  Since+-- it is overlapped it should be dropped with a warning+type family Foo a = r | r -> a where+    Foo Int  = Bool+    Foo Bool = Int+    Foo Bool = Bool++-- this one was tricky in the early implementation of injectivity.  Now it is+-- identical to the above but we still keep it as a regression test.+type family Bar a = r | r -> a where+    Bar Int  = Bool+    Bar Bool = Int+    Bar Bool = Char++-- Now let's use declared type families. All the below definitions should work++-- No ambiguity for any of the arguments - all are injective+f :: F a b c -> F a b c+f x = x++-- From 1st instance of F: a ~ Int, b ~ Char, c ~ Bool+fapp :: Bool+fapp = f True++-- now the closed variant of F+fc :: FClosed a b c -> FClosed a b c+fc x = x++fcapp :: Bool+fcapp = fc True++-- The last argument is not injective so it must be instantiated+i :: I a b Int -> I a b Int+i x = x++-- From 1st instance of I: a ~ Int, b ~ Char+iapp :: Bool+iapp = i True++-- again, closed variant of I+ic :: IClosed a b Int -> IClosed a b Int+ic x = x++icapp :: Bool+icapp = ic True++-- Now we have to test weird closed type families:+bak :: Bak a -> Bak a+bak x = x++bakapp1 :: Char+bakapp1 = bak 'c'++bakapp2 :: Double+bakapp2 = bak 1.0++bakapp3 :: ()+bakapp3 = bak ()++foo :: Foo a -> Foo a+foo x = x++fooapp1 :: Bool+fooapp1 = foo True++bar :: Bar a -> Bar a+bar x = x++barapp1 :: Bool+barapp1 = bar True++barapp2 :: Int+barapp2 = bar 1++-- Declarations below test more liberal RHSs of injectivity annotations:+-- permiting variables to appear in different order than the one in which they+-- were declared.+type family H a b = r | r -> b a+type family Hc a b = r | r -> b a where+  Hc a b = a b+class Hcl a b where+  type Ht a b = r | r -> b a++-- repeated tyvars in the RHS of injectivity annotation: no warnings or errors+-- (consistent with behaviour for functional dependencies)+type family Jx a b = r | r -> a a+type family Jcx a b = r | r -> a a where+  Jcx a b = a b+class Jcl a b where+  type Jt a b = r | r -> a a++type family Kx a b = r | r -> a b b+type family Kcx a b = r | r -> a b b where+  Kcx a b = a b+class Kcl a b where+  type Kt a b = r | r -> a b b++-- Declaring kind injectivity. Here we only claim that knowing the RHS+-- determines the LHS kind but not the type.+type family L (a :: k1) = (r :: k2) | r -> k1 where+    L 'True  = Int+    L 'False = Int+    L Maybe  = 3+    L IO     = 3++data KProxy (a :: *) = KProxy+type family KP (kproxy :: KProxy k) = r | r -> k+type instance KP ('KProxy :: KProxy Bool) = Int+type instance KP ('KProxy :: KProxy *)    = Char++kproxy_id :: KP ('KProxy :: KProxy k) -> KP ('KProxy :: KProxy k)+kproxy_id x = x++kproxy_id_use = kproxy_id 'a'++-- Now test some awkward cases from The Injectivity Paper.  All should be+-- accepted.+type family Gx a+type family Hx a+type family Gi a = r | r -> a+type instance Gi Int = Char+type family Hi a = r | r -> a++type family F2 a = r | r -> a+type instance F2 [a]       = [Gi a]+type instance F2 (Maybe a) = Hi a -> Int++type family F4 a = r | r -> a+type instance F4 [a]       = (Gx a, a,   a,    a)+type instance F4 (Maybe a) = (Hx a, a, Int, Bool)++type family G2 a b = r | r -> a b+type instance G2 a    Bool = (a, a)+type instance G2 Bool b    = (b, Bool)++type family G6 a = r | r -> a+type instance G6 [a]  = [Gi a]+type instance G6 Bool = Int++g6_id :: G6 a -> G6 a+g6_id x = x++g6_use :: [Char]+g6_use = g6_id "foo"++-- A sole exception to "bare variables in the RHS" rule+type family Id (a :: k) = (result :: k) | result -> a+type instance Id a = a++-- This makes sure that over-saturated type family applications at the top-level+-- are accepted.+type family IdProxy (a :: k) b = r | r -> a+type instance IdProxy a b = (Id a) b++-- make sure we look through type synonyms properly+type IdSyn a = Id a+type family IdProxySyn (a :: k) b = r | r -> a+type instance IdProxySyn a b = (IdSyn a) b++-- this has bare variable in the RHS but all LHS varaiables are also bare so it+-- should be accepted+type family Fa (a :: k) (b :: k) = (r :: k2) | r -> k+type instance Fa a b = a++-- Taken from #9587. This exposed a bug in the solver.+type family Arr (repr :: * -> *) (a :: *) (b :: *) = (r :: *) | r -> repr a b++class ESymantics repr where+    int :: Int  -> repr Int+    add :: repr Int  -> repr Int -> repr Int++    lam :: (repr a -> repr b) -> repr (Arr repr a b)+    app :: repr (Arr repr a b) -> repr a -> repr b++te4 = let c3 = lam (\f -> lam (\x -> f `app` (f `app` (f `app` x))))+      in (c3 `app` (lam (\x -> x `add` int 14))) `app` (int 0)++-- This used to fail during development+class Manifold' a where+    type Base  a = r | r -> a+    project :: a -> Base a+    unproject :: Base a -> a++id' :: forall a. ( Manifold' a ) => Base a -> Base a+id' = project . unproject
+ tests/examples/InjectiveTypeFamilies.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/InjectiveTypeFamilies.hs.parser.golden view
@@ -0,0 +1,15848 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan =+            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 1 1 256 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 1 1 1 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 2 1 2 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 3 1 3 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 4 1 4 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 5 1 5 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 6 1 6 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 7 1 7 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 8 1 8 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 10 1 10 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 10 1 10 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 12 1 12 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 1 14 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 1 15 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 1 16 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 1 17 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 1 20 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 1 22 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 1 23 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 1 24 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 1 25 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 1 29 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 1 30 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 1 32 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 1 33 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 1 36 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 1 37 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 1 40 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 1 41 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 1 42 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 1 48 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 1 53 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 1 58 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 1 61 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 1 66 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 1 73 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 1 80 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 1 88 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 1 89 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 92 1 92 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 1 93 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 1 96 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 1 97 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 99 1 99 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 1 100 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 1 103 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 1 104 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 107 1 107 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 1 108 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 1 111 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 1 112 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 114 1 114 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 1 115 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 1 118 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 1 119 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 121 1 121 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 1 122 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 124 1 124 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 1 125 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 1 127 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 1 128 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 1 130 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 1 131 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 133 1 133 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 1 134 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 1 136 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 1 137 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 139 1 139 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 1 140 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 142 1 142 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 1 143 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 1 148 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 1 149 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 1 151 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 1 156 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 1 157 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 1 159 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 1 162 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 1 163 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 1 165 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 1 170 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 1 176 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 1 177 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 1 178 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 1 179 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 1 181 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 1 182 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 1 184 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 188 1 188 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 189 1 189 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 1 190 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 1 191 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 1 192 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 1 194 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 1 195 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 1 196 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 1 198 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 1 199 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 1 200 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 1 202 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 1 203 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 1 204 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 1 206 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 1 207 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 1 208 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 1 210 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 1 211 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 1 213 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 1 214 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 1 217 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 1 218 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 1 222 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 1 223 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 1 226 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 1 227 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 1 228 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 1 232 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 1 233 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 1 236 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 238 1 238 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 1 245 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 249 1 249 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 1 254 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 1 255 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 256 1 256 1+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 256 1 256 1+            ]+        }+      (Just+         (ModuleHead+            SrcSpanInfo+              { srcInfoSpan =+                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 10 1 10 19+              , srcInfoPoints =+                  [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 10 1 10 7+                  , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 10 14 10 19+                  ]+              }+            (ModuleName+               SrcSpanInfo+                 { srcInfoSpan =+                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 10 8 10 13+                 , srcInfoPoints = []+                 }+               "T6018")+            Nothing+            Nothing))+      [ LanguagePragma+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 1 1 1 43+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 1 1 1 13+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 1 40 1 43+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 1 14 1 23+                , srcInfoPoints = []+                }+              "DataKinds"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 2 1 2 43+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 2 1 2 13+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 2 40 2 43+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 2 14 2 35+                , srcInfoPoints = []+                }+              "MultiParamTypeClasses"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 3 1 3 43+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 3 1 3 13+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 3 40 3 43+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 3 14 3 23+                , srcInfoPoints = []+                }+              "PolyKinds"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 4 1 4 44+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 4 1 4 13+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 4 41 4 44+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 4 14 4 36+                , srcInfoPoints = []+                }+              "TypeFamilyDependencies"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 5 1 5 34+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 5 1 5 13+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 5 31 5 34+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 5 14 5 26+                , srcInfoPoints = []+                }+              "TypeFamilies"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 6 1 6 43+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 6 1 6 13+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 6 40 6 43+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 6 14 6 34+                , srcInfoPoints = []+                }+              "UndecidableInstances"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 7 1 7 43+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 7 1 7 13+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 7 40 7 43+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 7 14 7 33+                , srcInfoPoints = []+                }+              "ScopedTypeVariables"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 8 1 8 43+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 8 1 8 13+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 8 40 8 43+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 8 14 8 39+                , srcInfoPoints = []+                }+              "NoMonomorphismRestriction"+          ]+      ]+      [ ImportDecl+          { importAnn =+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 12 1 12 14+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 12 1 12 7 ]+                }+          , importModule =+              ModuleName+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 12 8 12 14+                  , srcInfoPoints = []+                  }+                "T6018a"+          , importQualified = False+          , importSrc = False+          , importSafe = False+          , importPkg = Nothing+          , importAs = Nothing+          , importSpecs = Nothing+          }+      ]+      [ TypeFamDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 1 14 20+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 1 14 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 6 14 12+                ]+            }+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 13 14 20+               , srcInfoPoints = []+               }+             (DHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 13 14 18+                  , srcInfoPoints = []+                  }+                (DHApp+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 13 14 16+                     , srcInfoPoints = []+                     }+                   (DHead+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 13 14 14+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 13 14 14+                           , srcInfoPoints = []+                           }+                         "F"))+                   (UnkindedVar+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 15 14 16+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 15 14 16+                           , srcInfoPoints = []+                           }+                         "a")))+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 17 14 18+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 17 14 18+                        , srcInfoPoints = []+                        }+                      "b")))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 19 14 20+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 19 14 20+                     , srcInfoPoints = []+                     }+                   "c")))+          (Just+             (TyVarSig+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 21 14 36+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 21 14 22 ]+                  }+                (KindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 23 14 36+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 23 14 24+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 31 14 33+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 35 14 36+                         ]+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 24 14 30+                        , srcInfoPoints = []+                        }+                      "result")+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 34 14 35+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 34 14 35+                           , srcInfoPoints = []+                           }+                         "k")))))+          (Just+             (InjectivityInfo+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 37 14 50+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 37 14 38+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 46 14 48+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 39 14 45+                     , srcInfoPoints = []+                     }+                   "result")+                [ Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 49 14 50+                      , srcInfoPoints = []+                      }+                    "a"+                , Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 51 14 52+                      , srcInfoPoints = []+                      }+                    "b"+                , Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 53 14 54+                      , srcInfoPoints = []+                      }+                    "c"+                ]))+      , TypeInsDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 1 15 38+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 1 15 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 6 15 14+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 32 15 33+                ]+            }+          (TyApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 15 15 31+               , srcInfoPoints = []+               }+             (TyApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 15 15 26+                  , srcInfoPoints = []+                  }+                (TyApp+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 15 15 20+                     , srcInfoPoints = []+                     }+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 15 15 16+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 15 15 16+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 15 15 16+                              , srcInfoPoints = []+                              }+                            "F")))+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 17 15 20+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 17 15 20+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 17 15 20+                              , srcInfoPoints = []+                              }+                            "Int"))))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 22 15 26+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 22 15 26+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 22 15 26+                           , srcInfoPoints = []+                           }+                         "Char"))))+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 27 15 31+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 27 15 31+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 27 15 31+                        , srcInfoPoints = []+                        }+                      "Bool"))))+          (TyCon+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 34 15 38+               , srcInfoPoints = []+               }+             (UnQual+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 34 15 38+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 34 15 38+                     , srcInfoPoints = []+                     }+                   "Bool")))+      , TypeInsDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 1 16 37+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 1 16 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 6 16 14+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 32 16 33+                ]+            }+          (TyApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 15 16 30+               , srcInfoPoints = []+               }+             (TyApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 15 16 26+                  , srcInfoPoints = []+                  }+                (TyApp+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 15 16 21+                     , srcInfoPoints = []+                     }+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 15 16 16+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 15 16 16+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 15 16 16+                              , srcInfoPoints = []+                              }+                            "F")))+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 17 16 21+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 17 16 21+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 17 16 21+                              , srcInfoPoints = []+                              }+                            "Char"))))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 22 16 26+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 22 16 26+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 22 16 26+                           , srcInfoPoints = []+                           }+                         "Bool"))))+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 27 16 30+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 27 16 30+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 27 16 30+                        , srcInfoPoints = []+                        }+                      "Int"))))+          (TyCon+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 34 16 37+               , srcInfoPoints = []+               }+             (UnQual+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 34 16 37+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 34 16 37+                     , srcInfoPoints = []+                     }+                   "Int")))+      , TypeInsDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 1 17 38+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 1 17 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 6 17 14+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 32 17 33+                ]+            }+          (TyApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 15 17 31+               , srcInfoPoints = []+               }+             (TyApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 15 17 25+                  , srcInfoPoints = []+                  }+                (TyApp+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 15 17 21+                     , srcInfoPoints = []+                     }+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 15 17 16+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 15 17 16+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 15 17 16+                              , srcInfoPoints = []+                              }+                            "F")))+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 17 17 21+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 17 17 21+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 17 17 21+                              , srcInfoPoints = []+                              }+                            "Bool"))))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 22 17 25+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 22 17 25+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 22 17 25+                           , srcInfoPoints = []+                           }+                         "Int"))))+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 27 17 31+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 27 17 31+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 27 17 31+                        , srcInfoPoints = []+                        }+                      "Char"))))+          (TyCon+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 34 17 38+               , srcInfoPoints = []+               }+             (UnQual+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 34 17 38+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 34 17 38+                     , srcInfoPoints = []+                     }+                   "Char")))+      , TypeInsDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 1 20 38+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 1 20 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 6 20 14+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 32 20 33+                ]+            }+          (TyApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 15 20 31+               , srcInfoPoints = []+               }+             (TyApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 15 20 25+                  , srcInfoPoints = []+                  }+                (TyApp+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 15 20 21+                     , srcInfoPoints = []+                     }+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 15 20 16+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 15 20 16+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 15 20 16+                              , srcInfoPoints = []+                              }+                            "G")))+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 17 20 21+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 17 20 21+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 17 20 21+                              , srcInfoPoints = []+                              }+                            "Bool"))))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 22 20 25+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 22 20 25+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 22 20 25+                           , srcInfoPoints = []+                           }+                         "Int"))))+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 27 20 31+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 27 20 31+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 27 20 31+                        , srcInfoPoints = []+                        }+                      "Char"))))+          (TyCon+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 34 20 38+               , srcInfoPoints = []+               }+             (UnQual+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 34 20 38+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 34 20 38+                     , srcInfoPoints = []+                     }+                   "Char")))+      , TypeFamDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 1 22 34+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 1 22 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 6 22 12+                ]+            }+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 13 22 34+               , srcInfoPoints = []+               }+             (DHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 13 22 25+                  , srcInfoPoints = []+                  }+                (DHApp+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 13 22 23+                     , srcInfoPoints = []+                     }+                   (DHead+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 13 22 14+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 13 22 14+                           , srcInfoPoints = []+                           }+                         "I"))+                   (KindedVar+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 15 22 23+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 15 22 16+                            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 18 22 20+                            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 22 22 23+                            ]+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 16 22 17+                           , srcInfoPoints = []+                           }+                         "a")+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 21 22 22+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 21 22 22+                              , srcInfoPoints = []+                              }+                            "k"))))+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 24 22 25+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 24 22 25+                        , srcInfoPoints = []+                        }+                      "b")))+             (KindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 26 22 34+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 26 22 27+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 29 22 31+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 33 22 34+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 27 22 28+                     , srcInfoPoints = []+                     }+                   "c")+                (TyVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 32 22 33+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 32 22 33+                        , srcInfoPoints = []+                        }+                      "k"))))+          (Just+             (TyVarSig+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 35 22 38+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 35 22 36 ]+                  }+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 37 22 38+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 37 22 38+                        , srcInfoPoints = []+                        }+                      "r"))))+          (Just+             (InjectivityInfo+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 39 22 47+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 39 22 40+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 43 22 45+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 41 22 42+                     , srcInfoPoints = []+                     }+                   "r")+                [ Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 46 22 47+                      , srcInfoPoints = []+                      }+                    "a"+                , Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 48 22 49+                      , srcInfoPoints = []+                      }+                    "b"+                ]))+      , TypeInsDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 1 23 38+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 1 23 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 6 23 14+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 32 23 33+                ]+            }+          (TyApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 15 23 31+               , srcInfoPoints = []+               }+             (TyApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 15 23 26+                  , srcInfoPoints = []+                  }+                (TyApp+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 15 23 20+                     , srcInfoPoints = []+                     }+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 15 23 16+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 15 23 16+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 15 23 16+                              , srcInfoPoints = []+                              }+                            "I")))+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 17 23 20+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 17 23 20+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 17 23 20+                              , srcInfoPoints = []+                              }+                            "Int"))))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 22 23 26+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 22 23 26+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 22 23 26+                           , srcInfoPoints = []+                           }+                         "Char"))))+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 27 23 31+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 27 23 31+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 27 23 31+                        , srcInfoPoints = []+                        }+                      "Bool"))))+          (TyCon+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 34 23 38+               , srcInfoPoints = []+               }+             (UnQual+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 34 23 38+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 34 23 38+                     , srcInfoPoints = []+                     }+                   "Bool")))+      , TypeInsDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 1 24 38+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 1 24 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 6 24 14+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 32 24 33+                ]+            }+          (TyApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 15 24 30+               , srcInfoPoints = []+               }+             (TyApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 15 24 26+                  , srcInfoPoints = []+                  }+                (TyApp+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 15 24 20+                     , srcInfoPoints = []+                     }+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 15 24 16+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 15 24 16+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 15 24 16+                              , srcInfoPoints = []+                              }+                            "I")))+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 17 24 20+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 17 24 20+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 17 24 20+                              , srcInfoPoints = []+                              }+                            "Int"))))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 22 24 26+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 22 24 26+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 22 24 26+                           , srcInfoPoints = []+                           }+                         "Char"))))+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 27 24 30+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 27 24 30+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 27 24 30+                        , srcInfoPoints = []+                        }+                      "Int"))))+          (TyCon+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 34 24 38+               , srcInfoPoints = []+               }+             (UnQual+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 34 24 38+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 34 24 38+                     , srcInfoPoints = []+                     }+                   "Bool")))+      , TypeInsDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 1 25 37+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 1 25 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 6 25 14+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 32 25 33+                ]+            }+          (TyApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 15 25 30+               , srcInfoPoints = []+               }+             (TyApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 15 25 25+                  , srcInfoPoints = []+                  }+                (TyApp+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 15 25 21+                     , srcInfoPoints = []+                     }+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 15 25 16+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 15 25 16+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 15 25 16+                              , srcInfoPoints = []+                              }+                            "I")))+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 17 25 21+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 17 25 21+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 17 25 21+                              , srcInfoPoints = []+                              }+                            "Bool"))))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 22 25 25+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 22 25 25+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 22 25 25+                           , srcInfoPoints = []+                           }+                         "Int"))))+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 27 25 30+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 27 25 30+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 27 25 30+                        , srcInfoPoints = []+                        }+                      "Int"))))+          (TyCon+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 34 25 37+               , srcInfoPoints = []+               }+             (UnQual+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 34 25 37+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 34 25 37+                     , srcInfoPoints = []+                     }+                   "Int")))+      , TypeFamDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 1 29 25+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 1 29 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 6 29 12+                ]+            }+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 13 29 25+               , srcInfoPoints = []+               }+             (DHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 13 29 16+                  , srcInfoPoints = []+                  }+                (DHead+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 13 29 14+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 13 29 14+                        , srcInfoPoints = []+                        }+                      "J"))+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 15 29 16+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 15 29 16+                        , srcInfoPoints = []+                        }+                      "a")))+             (KindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 17 29 25+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 17 29 18+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 20 29 22+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 24 29 25+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 18 29 19+                     , srcInfoPoints = []+                     }+                   "b")+                (TyVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 23 29 24+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 23 29 24+                        , srcInfoPoints = []+                        }+                      "k"))))+          (Just+             (TyVarSig+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 26 29 29+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 26 29 27 ]+                  }+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 28 29 29+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 28 29 29+                        , srcInfoPoints = []+                        }+                      "r"))))+          (Just+             (InjectivityInfo+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 30 29 38+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 30 29 31+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 34 29 36+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 32 29 33+                     , srcInfoPoints = []+                     }+                   "r")+                [ Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 37 29 38+                      , srcInfoPoints = []+                      }+                    "a"+                ]))+      , TypeInsDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 1 30 29+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 1 30 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 6 30 14+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 23 30 24+                ]+            }+          (TyApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 15 30 22+               , srcInfoPoints = []+               }+             (TyApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 15 30 20+                  , srcInfoPoints = []+                  }+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 15 30 16+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 15 30 16+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 15 30 16+                           , srcInfoPoints = []+                           }+                         "J")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 17 30 20+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 17 30 20+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 17 30 20+                           , srcInfoPoints = []+                           }+                         "Int"))))+             (TyVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 21 30 22+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 21 30 22+                     , srcInfoPoints = []+                     }+                   "b")))+          (TyCon+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 25 30 29+               , srcInfoPoints = []+               }+             (UnQual+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 25 30 29+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 25 30 29+                     , srcInfoPoints = []+                     }+                   "Char")))+      , TypeDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 1 32 26+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 1 32 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 17 32 18+                ]+            }+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 6 32 16+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 6 32 14+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 6 32 14+                     , srcInfoPoints = []+                     }+                   "MaybeSyn"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 15 32 16+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 15 32 16+                     , srcInfoPoints = []+                     }+                   "a")))+          (TyApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 19 32 26+               , srcInfoPoints = []+               }+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 19 32 24+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 19 32 24+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 19 32 24+                        , srcInfoPoints = []+                        }+                      "Maybe")))+             (TyVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 25 32 26+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 25 32 26+                     , srcInfoPoints = []+                     }+                   "a")))+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 1 33 40+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 20 33 21 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 1 33 8+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 9 33 19+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 9 33 17+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 9 33 17+                     , srcInfoPoints = []+                     }+                   "MaybeNew"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 18 33 19+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 18 33 19+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 22 33 40+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 22 33 40+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 22 33 30+                      , srcInfoPoints = []+                      }+                    "MaybeNew")+                 [ TyParen+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 31 33 40+                       , srcInfoPoints =+                           [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 31 33 32+                           , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 39 33 40+                           ]+                       }+                     (TyApp+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 32 33 39+                          , srcInfoPoints = []+                          }+                        (TyCon+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 32 33 37+                             , srcInfoPoints = []+                             }+                           (UnQual+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 32 33 37+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 32 33 37+                                   , srcInfoPoints = []+                                   }+                                 "Maybe")))+                        (TyVar+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 38 33 39+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 38 33 39+                                , srcInfoPoints = []+                                }+                              "a")))+                 ])+          ]+          []+      , TypeFamDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 1 36 16+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 1 36 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 6 36 12+                ]+            }+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 13 36 16+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 13 36 14+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 13 36 14+                     , srcInfoPoints = []+                     }+                   "K"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 15 36 16+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 15 36 16+                     , srcInfoPoints = []+                     }+                   "a")))+          (Just+             (TyVarSig+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 17 36 20+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 17 36 18 ]+                  }+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 19 36 20+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 19 36 20+                        , srcInfoPoints = []+                        }+                      "r"))))+          (Just+             (InjectivityInfo+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 21 36 29+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 21 36 22+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 25 36 27+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 23 36 24+                     , srcInfoPoints = []+                     }+                   "r")+                [ Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 28 36 29+                      , srcInfoPoints = []+                      }+                    "a"+                ]))+      , TypeInsDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 1 37 31+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 1 37 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 6 37 14+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 19 37 20+                ]+            }+          (TyApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 15 37 18+               , srcInfoPoints = []+               }+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 15 37 16+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 15 37 16+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 15 37 16+                        , srcInfoPoints = []+                        }+                      "K")))+             (TyVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 17 37 18+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 17 37 18+                     , srcInfoPoints = []+                     }+                   "a")))+          (TyApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 21 37 31+               , srcInfoPoints = []+               }+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 21 37 29+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 21 37 29+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 21 37 29+                        , srcInfoPoints = []+                        }+                      "MaybeSyn")))+             (TyVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 30 37 31+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 30 37 31+                     , srcInfoPoints = []+                     }+                   "a")))+      , TypeFamDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 1 40 16+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 1 40 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 6 40 12+                ]+            }+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 13 40 16+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 13 40 14+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 13 40 14+                     , srcInfoPoints = []+                     }+                   "M"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 15 40 16+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 15 40 16+                     , srcInfoPoints = []+                     }+                   "a")))+          (Just+             (TyVarSig+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 17 40 20+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 17 40 18 ]+                  }+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 19 40 20+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 19 40 20+                        , srcInfoPoints = []+                        }+                      "r"))))+          (Just+             (InjectivityInfo+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 21 40 29+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 21 40 22+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 25 40 27+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 23 40 24+                     , srcInfoPoints = []+                     }+                   "r")+                [ Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 28 40 29+                      , srcInfoPoints = []+                      }+                    "a"+                ]))+      , TypeInsDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 1 41 42+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 1 41 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 6 41 14+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 30 41 31+                ]+            }+          (TyApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 15 41 26+               , srcInfoPoints = []+               }+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 15 41 16+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 15 41 16+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 15 41 16+                        , srcInfoPoints = []+                        }+                      "M")))+             (TyParen+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 17 41 26+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 17 41 18+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 25 41 26+                      ]+                  }+                (TyApp+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 18 41 25+                     , srcInfoPoints = []+                     }+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 18 41 23+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 18 41 23+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 18 41 23+                              , srcInfoPoints = []+                              }+                            "Maybe")))+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 24 41 25+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 24 41 25+                           , srcInfoPoints = []+                           }+                         "a")))))+          (TyApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 32 41 42+               , srcInfoPoints = []+               }+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 32 41 40+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 32 41 40+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 32 41 40+                        , srcInfoPoints = []+                        }+                      "MaybeSyn")))+             (TyVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 41 41 42+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 41 41 42+                     , srcInfoPoints = []+                     }+                   "a")))+      , TypeInsDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 1 42 42+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 1 42 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 6 42 14+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 30 42 31+                ]+            }+          (TyApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 15 42 29+               , srcInfoPoints = []+               }+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 15 42 16+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 15 42 16+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 15 42 16+                        , srcInfoPoints = []+                        }+                      "M")))+             (TyParen+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 17 42 29+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 17 42 18+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 28 42 29+                      ]+                  }+                (TyApp+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 18 42 28+                     , srcInfoPoints = []+                     }+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 18 42 26+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 18 42 26+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 18 42 26+                              , srcInfoPoints = []+                              }+                            "MaybeNew")))+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 27 42 28+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 27 42 28+                           , srcInfoPoints = []+                           }+                         "a")))))+          (TyApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 32 42 42+               , srcInfoPoints = []+               }+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 32 42 40+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 32 42 40+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 32 42 40+                        , srcInfoPoints = []+                        }+                      "MaybeNew")))+             (TyVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 41 42 42+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 41 42 42+                     , srcInfoPoints = []+                     }+                   "a")))+      , ClosedTypeFamDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 1 48 26+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 1 48 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 6 48 12+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 54 48 59+                ]+            }+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 13 48 26+               , srcInfoPoints = []+               }+             (DHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 13 48 24+                  , srcInfoPoints = []+                  }+                (DHApp+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 13 48 22+                     , srcInfoPoints = []+                     }+                   (DHead+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 13 48 20+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 13 48 20+                           , srcInfoPoints = []+                           }+                         "FClosed"))+                   (UnkindedVar+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 21 48 22+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 21 48 22+                           , srcInfoPoints = []+                           }+                         "a")))+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 23 48 24+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 23 48 24+                        , srcInfoPoints = []+                        }+                      "b")))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 25 48 26+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 25 48 26+                     , srcInfoPoints = []+                     }+                   "c")))+          (Just+             (TyVarSig+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 27 48 35+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 27 48 28 ]+                  }+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 29 48 35+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 29 48 35+                        , srcInfoPoints = []+                        }+                      "result"))))+          (Just+             (InjectivityInfo+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 36 48 49+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 36 48 37+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 45 48 47+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 38 48 44+                     , srcInfoPoints = []+                     }+                   "result")+                [ Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 48 48 49+                      , srcInfoPoints = []+                      }+                    "a"+                , Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 50 48 51+                      , srcInfoPoints = []+                      }+                    "b"+                , Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 52 48 53+                      , srcInfoPoints = []+                      }+                    "c"+                ]))+          [ TypeEqn+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 5 49 34+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 28 49 29 ]+                }+              (TyApp+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 5 49 27+                   , srcInfoPoints = []+                   }+                 (TyApp+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 5 49 22+                      , srcInfoPoints = []+                      }+                    (TyApp+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 5 49 16+                         , srcInfoPoints = []+                         }+                       (TyCon+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 5 49 12+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 5 49 12+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 5 49 12+                                  , srcInfoPoints = []+                                  }+                                "FClosed")))+                       (TyCon+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 13 49 16+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 13 49 16+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 13 49 16+                                  , srcInfoPoints = []+                                  }+                                "Int"))))+                    (TyCon+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 18 49 22+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 18 49 22+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 18 49 22+                               , srcInfoPoints = []+                               }+                             "Char"))))+                 (TyCon+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 23 49 27+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 23 49 27+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 23 49 27+                            , srcInfoPoints = []+                            }+                          "Bool"))))+              (TyCon+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 30 49 34+                   , srcInfoPoints = []+                   }+                 (UnQual+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 30 49 34+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 30 49 34+                         , srcInfoPoints = []+                         }+                       "Bool")))+          , TypeEqn+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 5 50 33+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 28 50 29 ]+                }+              (TyApp+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 5 50 26+                   , srcInfoPoints = []+                   }+                 (TyApp+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 5 50 22+                      , srcInfoPoints = []+                      }+                    (TyApp+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 5 50 17+                         , srcInfoPoints = []+                         }+                       (TyCon+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 5 50 12+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 5 50 12+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 5 50 12+                                  , srcInfoPoints = []+                                  }+                                "FClosed")))+                       (TyCon+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 13 50 17+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 13 50 17+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 13 50 17+                                  , srcInfoPoints = []+                                  }+                                "Char"))))+                    (TyCon+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 18 50 22+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 18 50 22+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 18 50 22+                               , srcInfoPoints = []+                               }+                             "Bool"))))+                 (TyCon+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 23 50 26+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 23 50 26+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 23 50 26+                            , srcInfoPoints = []+                            }+                          "Int"))))+              (TyCon+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 30 50 33+                   , srcInfoPoints = []+                   }+                 (UnQual+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 30 50 33+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 30 50 33+                         , srcInfoPoints = []+                         }+                       "Int")))+          , TypeEqn+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 5 51 34+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 28 51 29 ]+                }+              (TyApp+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 5 51 27+                   , srcInfoPoints = []+                   }+                 (TyApp+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 5 51 21+                      , srcInfoPoints = []+                      }+                    (TyApp+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 5 51 17+                         , srcInfoPoints = []+                         }+                       (TyCon+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 5 51 12+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 5 51 12+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 5 51 12+                                  , srcInfoPoints = []+                                  }+                                "FClosed")))+                       (TyCon+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 13 51 17+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 13 51 17+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 13 51 17+                                  , srcInfoPoints = []+                                  }+                                "Bool"))))+                    (TyCon+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 18 51 21+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 18 51 21+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 18 51 21+                               , srcInfoPoints = []+                               }+                             "Int"))))+                 (TyCon+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 23 51 27+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 23 51 27+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 23 51 27+                            , srcInfoPoints = []+                            }+                          "Char"))))+              (TyCon+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 30 51 34+                   , srcInfoPoints = []+                   }+                 (UnQual+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 30 51 34+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 30 51 34+                         , srcInfoPoints = []+                         }+                       "Char")))+          ]+      , ClosedTypeFamDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 1 53 47+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 1 53 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 6 53 12+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 63 53 68+                ]+            }+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 13 53 47+               , srcInfoPoints = []+               }+             (DHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 13 53 38+                  , srcInfoPoints = []+                  }+                (DHApp+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 13 53 29+                     , srcInfoPoints = []+                     }+                   (DHead+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 13 53 20+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 13 53 20+                           , srcInfoPoints = []+                           }+                         "IClosed"))+                   (KindedVar+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 21 53 29+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 21 53 22+                            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 24 53 26+                            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 28 53 29+                            ]+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 22 53 23+                           , srcInfoPoints = []+                           }+                         "a")+                      (TyStar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 27 53 28+                           , srcInfoPoints = []+                           })))+                (KindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 30 53 38+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 30 53 31+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 33 53 35+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 37 53 38+                         ]+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 31 53 32+                        , srcInfoPoints = []+                        }+                      "b")+                   (TyStar+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 36 53 37+                        , srcInfoPoints = []+                        })))+             (KindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 39 53 47+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 39 53 40+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 42 53 44+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 46 53 47+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 40 53 41+                     , srcInfoPoints = []+                     }+                   "c")+                (TyStar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 45 53 46+                     , srcInfoPoints = []+                     })))+          (Just+             (TyVarSig+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 48 53 51+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 48 53 49 ]+                  }+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 50 53 51+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 50 53 51+                        , srcInfoPoints = []+                        }+                      "r"))))+          (Just+             (InjectivityInfo+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 52 53 60+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 52 53 53+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 56 53 58+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 54 53 55+                     , srcInfoPoints = []+                     }+                   "r")+                [ Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 59 53 60+                      , srcInfoPoints = []+                      }+                    "a"+                , Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 61 53 62+                      , srcInfoPoints = []+                      }+                    "b"+                ]))+          [ TypeEqn+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 5 54 34+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 28 54 29 ]+                }+              (TyApp+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 5 54 27+                   , srcInfoPoints = []+                   }+                 (TyApp+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 5 54 22+                      , srcInfoPoints = []+                      }+                    (TyApp+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 5 54 16+                         , srcInfoPoints = []+                         }+                       (TyCon+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 5 54 12+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 5 54 12+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 5 54 12+                                  , srcInfoPoints = []+                                  }+                                "IClosed")))+                       (TyCon+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 13 54 16+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 13 54 16+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 13 54 16+                                  , srcInfoPoints = []+                                  }+                                "Int"))))+                    (TyCon+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 18 54 22+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 18 54 22+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 18 54 22+                               , srcInfoPoints = []+                               }+                             "Char"))))+                 (TyCon+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 23 54 27+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 23 54 27+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 23 54 27+                            , srcInfoPoints = []+                            }+                          "Bool"))))+              (TyCon+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 30 54 34+                   , srcInfoPoints = []+                   }+                 (UnQual+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 30 54 34+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 30 54 34+                         , srcInfoPoints = []+                         }+                       "Bool")))+          , TypeEqn+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 5 55 34+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 28 55 29 ]+                }+              (TyApp+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 5 55 26+                   , srcInfoPoints = []+                   }+                 (TyApp+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 5 55 22+                      , srcInfoPoints = []+                      }+                    (TyApp+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 5 55 16+                         , srcInfoPoints = []+                         }+                       (TyCon+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 5 55 12+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 5 55 12+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 5 55 12+                                  , srcInfoPoints = []+                                  }+                                "IClosed")))+                       (TyCon+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 13 55 16+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 13 55 16+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 13 55 16+                                  , srcInfoPoints = []+                                  }+                                "Int"))))+                    (TyCon+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 18 55 22+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 18 55 22+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 18 55 22+                               , srcInfoPoints = []+                               }+                             "Char"))))+                 (TyCon+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 23 55 26+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 23 55 26+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 23 55 26+                            , srcInfoPoints = []+                            }+                          "Int"))))+              (TyCon+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 30 55 34+                   , srcInfoPoints = []+                   }+                 (UnQual+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 30 55 34+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 30 55 34+                         , srcInfoPoints = []+                         }+                       "Bool")))+          , TypeEqn+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 5 56 33+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 28 56 29 ]+                }+              (TyApp+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 5 56 26+                   , srcInfoPoints = []+                   }+                 (TyApp+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 5 56 21+                      , srcInfoPoints = []+                      }+                    (TyApp+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 5 56 17+                         , srcInfoPoints = []+                         }+                       (TyCon+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 5 56 12+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 5 56 12+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 5 56 12+                                  , srcInfoPoints = []+                                  }+                                "IClosed")))+                       (TyCon+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 13 56 17+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 13 56 17+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 13 56 17+                                  , srcInfoPoints = []+                                  }+                                "Bool"))))+                    (TyCon+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 18 56 21+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 18 56 21+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 18 56 21+                               , srcInfoPoints = []+                               }+                             "Int"))))+                 (TyCon+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 23 56 26+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 23 56 26+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 23 56 26+                            , srcInfoPoints = []+                            }+                          "Int"))))+              (TyCon+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 30 56 33+                   , srcInfoPoints = []+                   }+                 (UnQual+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 30 56 33+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 30 56 33+                         , srcInfoPoints = []+                         }+                       "Int")))+          ]+      , ClosedTypeFamDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 1 58 31+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 1 58 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 6 58 12+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 45 58 50+                ]+            }+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 13 58 31+               , srcInfoPoints = []+               }+             (DHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 13 58 22+                  , srcInfoPoints = []+                  }+                (DHead+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 13 58 20+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 13 58 20+                        , srcInfoPoints = []+                        }+                      "JClosed"))+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 21 58 22+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 21 58 22+                        , srcInfoPoints = []+                        }+                      "a")))+             (KindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 23 58 31+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 23 58 24+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 26 58 28+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 30 58 31+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 24 58 25+                     , srcInfoPoints = []+                     }+                   "b")+                (TyVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 29 58 30+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 29 58 30+                        , srcInfoPoints = []+                        }+                      "k"))))+          (Just+             (TyVarSig+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 32 58 35+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 32 58 33 ]+                  }+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 34 58 35+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 34 58 35+                        , srcInfoPoints = []+                        }+                      "r"))))+          (Just+             (InjectivityInfo+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 36 58 44+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 36 58 37+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 40 58 42+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 38 58 39+                     , srcInfoPoints = []+                     }+                   "r")+                [ Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 43 58 44+                      , srcInfoPoints = []+                      }+                    "a"+                ]))+          [ TypeEqn+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 5 59 25+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 19 59 20 ]+                }+              (TyApp+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 5 59 18+                   , srcInfoPoints = []+                   }+                 (TyApp+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 5 59 16+                      , srcInfoPoints = []+                      }+                    (TyCon+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 5 59 12+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 5 59 12+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 5 59 12+                               , srcInfoPoints = []+                               }+                             "JClosed")))+                    (TyCon+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 13 59 16+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 13 59 16+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 13 59 16+                               , srcInfoPoints = []+                               }+                             "Int"))))+                 (TyVar+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 17 59 18+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 17 59 18+                         , srcInfoPoints = []+                         }+                       "b")))+              (TyCon+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 21 59 25+                   , srcInfoPoints = []+                   }+                 (UnQual+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 21 59 25+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 21 59 25+                         , srcInfoPoints = []+                         }+                       "Char")))+          ]+      , ClosedTypeFamDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 1 61 22+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 1 61 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 6 61 12+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 36 61 41+                ]+            }+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 13 61 22+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 13 61 20+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 13 61 20+                     , srcInfoPoints = []+                     }+                   "KClosed"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 21 61 22+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 21 61 22+                     , srcInfoPoints = []+                     }+                   "a")))+          (Just+             (TyVarSig+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 23 61 26+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 23 61 24 ]+                  }+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 25 61 26+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 25 61 26+                        , srcInfoPoints = []+                        }+                      "r"))))+          (Just+             (InjectivityInfo+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 27 61 35+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 27 61 28+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 31 61 33+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 29 61 30+                     , srcInfoPoints = []+                     }+                   "r")+                [ Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 34 61 35+                      , srcInfoPoints = []+                      }+                    "a"+                ]))+          [ TypeEqn+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 5 62 27+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 15 62 16 ]+                }+              (TyApp+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 5 62 14+                   , srcInfoPoints = []+                   }+                 (TyCon+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 5 62 12+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 5 62 12+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 5 62 12+                            , srcInfoPoints = []+                            }+                          "KClosed")))+                 (TyVar+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 13 62 14+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 13 62 14+                         , srcInfoPoints = []+                         }+                       "a")))+              (TyApp+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 17 62 27+                   , srcInfoPoints = []+                   }+                 (TyCon+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 17 62 25+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 17 62 25+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 17 62 25+                            , srcInfoPoints = []+                            }+                          "MaybeSyn")))+                 (TyVar+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 26 62 27+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 26 62 27+                         , srcInfoPoints = []+                         }+                       "a")))+          ]+      , ClosedTypeFamDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 1 66 18+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 1 66 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 6 66 12+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 32 66 37+                ]+            }+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 13 66 18+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 13 66 16+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 13 66 16+                     , srcInfoPoints = []+                     }+                   "Bak"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 17 66 18+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 17 66 18+                     , srcInfoPoints = []+                     }+                   "a")))+          (Just+             (TyVarSig+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 19 66 22+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 19 66 20 ]+                  }+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 21 66 22+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 21 66 22+                        , srcInfoPoints = []+                        }+                      "r"))))+          (Just+             (InjectivityInfo+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 23 66 31+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 23 66 24+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 27 66 29+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 25 66 26+                     , srcInfoPoints = []+                     }+                   "r")+                [ Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 30 66 31+                      , srcInfoPoints = []+                      }+                    "a"+                ]))+          [ TypeEqn+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 6 67 21+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 15 67 16 ]+                }+              (TyApp+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 6 67 13+                   , srcInfoPoints = []+                   }+                 (TyCon+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 6 67 9+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 6 67 9+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 6 67 9+                            , srcInfoPoints = []+                            }+                          "Bak")))+                 (TyCon+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 10 67 13+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 10 67 13+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 10 67 13+                            , srcInfoPoints = []+                            }+                          "Int"))))+              (TyCon+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 17 67 21+                   , srcInfoPoints = []+                   }+                 (UnQual+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 17 67 21+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 17 67 21+                         , srcInfoPoints = []+                         }+                       "Char")))+          , TypeEqn+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 6 68 20+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 15 68 16 ]+                }+              (TyApp+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 6 68 14+                   , srcInfoPoints = []+                   }+                 (TyCon+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 6 68 9+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 6 68 9+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 6 68 9+                            , srcInfoPoints = []+                            }+                          "Bak")))+                 (TyCon+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 10 68 14+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 10 68 14+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 10 68 14+                            , srcInfoPoints = []+                            }+                          "Char"))))+              (TyCon+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 17 68 20+                   , srcInfoPoints = []+                   }+                 (UnQual+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 17 68 20+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 17 68 20+                         , srcInfoPoints = []+                         }+                       "Int")))+          , TypeEqn+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 6 69 18+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 15 69 16 ]+                }+              (TyApp+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 6 69 11+                   , srcInfoPoints = []+                   }+                 (TyCon+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 6 69 9+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 6 69 9+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 6 69 9+                            , srcInfoPoints = []+                            }+                          "Bak")))+                 (TyVar+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 10 69 11+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 10 69 11+                         , srcInfoPoints = []+                         }+                       "a")))+              (TyVar+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 17 69 18+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 17 69 18+                      , srcInfoPoints = []+                      }+                    "a"))+          ]+      , ClosedTypeFamDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 1 73 18+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 1 73 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 6 73 12+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 32 73 37+                ]+            }+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 13 73 18+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 13 73 16+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 13 73 16+                     , srcInfoPoints = []+                     }+                   "Foo"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 17 73 18+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 17 73 18+                     , srcInfoPoints = []+                     }+                   "a")))+          (Just+             (TyVarSig+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 19 73 22+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 19 73 20 ]+                  }+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 21 73 22+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 21 73 22+                        , srcInfoPoints = []+                        }+                      "r"))))+          (Just+             (InjectivityInfo+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 23 73 31+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 23 73 24+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 27 73 29+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 25 73 26+                     , srcInfoPoints = []+                     }+                   "r")+                [ Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 30 73 31+                      , srcInfoPoints = []+                      }+                    "a"+                ]))+          [ TypeEqn+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 5 74 20+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 14 74 15 ]+                }+              (TyApp+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 5 74 12+                   , srcInfoPoints = []+                   }+                 (TyCon+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 5 74 8+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 5 74 8+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 5 74 8+                            , srcInfoPoints = []+                            }+                          "Foo")))+                 (TyCon+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 9 74 12+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 9 74 12+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 9 74 12+                            , srcInfoPoints = []+                            }+                          "Int"))))+              (TyCon+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 16 74 20+                   , srcInfoPoints = []+                   }+                 (UnQual+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 16 74 20+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 16 74 20+                         , srcInfoPoints = []+                         }+                       "Bool")))+          , TypeEqn+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 5 75 19+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 14 75 15 ]+                }+              (TyApp+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 5 75 13+                   , srcInfoPoints = []+                   }+                 (TyCon+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 5 75 8+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 5 75 8+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 5 75 8+                            , srcInfoPoints = []+                            }+                          "Foo")))+                 (TyCon+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 9 75 13+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 9 75 13+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 9 75 13+                            , srcInfoPoints = []+                            }+                          "Bool"))))+              (TyCon+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 16 75 19+                   , srcInfoPoints = []+                   }+                 (UnQual+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 16 75 19+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 16 75 19+                         , srcInfoPoints = []+                         }+                       "Int")))+          , TypeEqn+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 5 76 20+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 14 76 15 ]+                }+              (TyApp+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 5 76 13+                   , srcInfoPoints = []+                   }+                 (TyCon+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 5 76 8+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 5 76 8+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 5 76 8+                            , srcInfoPoints = []+                            }+                          "Foo")))+                 (TyCon+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 9 76 13+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 9 76 13+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 9 76 13+                            , srcInfoPoints = []+                            }+                          "Bool"))))+              (TyCon+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 16 76 20+                   , srcInfoPoints = []+                   }+                 (UnQual+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 16 76 20+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 16 76 20+                         , srcInfoPoints = []+                         }+                       "Bool")))+          ]+      , ClosedTypeFamDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 1 80 18+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 1 80 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 6 80 12+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 32 80 37+                ]+            }+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 13 80 18+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 13 80 16+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 13 80 16+                     , srcInfoPoints = []+                     }+                   "Bar"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 17 80 18+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 17 80 18+                     , srcInfoPoints = []+                     }+                   "a")))+          (Just+             (TyVarSig+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 19 80 22+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 19 80 20 ]+                  }+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 21 80 22+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 21 80 22+                        , srcInfoPoints = []+                        }+                      "r"))))+          (Just+             (InjectivityInfo+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 23 80 31+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 23 80 24+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 27 80 29+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 25 80 26+                     , srcInfoPoints = []+                     }+                   "r")+                [ Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 30 80 31+                      , srcInfoPoints = []+                      }+                    "a"+                ]))+          [ TypeEqn+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 5 81 20+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 14 81 15 ]+                }+              (TyApp+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 5 81 12+                   , srcInfoPoints = []+                   }+                 (TyCon+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 5 81 8+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 5 81 8+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 5 81 8+                            , srcInfoPoints = []+                            }+                          "Bar")))+                 (TyCon+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 9 81 12+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 9 81 12+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 9 81 12+                            , srcInfoPoints = []+                            }+                          "Int"))))+              (TyCon+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 16 81 20+                   , srcInfoPoints = []+                   }+                 (UnQual+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 16 81 20+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 16 81 20+                         , srcInfoPoints = []+                         }+                       "Bool")))+          , TypeEqn+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 5 82 19+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 14 82 15 ]+                }+              (TyApp+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 5 82 13+                   , srcInfoPoints = []+                   }+                 (TyCon+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 5 82 8+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 5 82 8+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 5 82 8+                            , srcInfoPoints = []+                            }+                          "Bar")))+                 (TyCon+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 9 82 13+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 9 82 13+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 9 82 13+                            , srcInfoPoints = []+                            }+                          "Bool"))))+              (TyCon+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 16 82 19+                   , srcInfoPoints = []+                   }+                 (UnQual+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 16 82 19+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 16 82 19+                         , srcInfoPoints = []+                         }+                       "Int")))+          , TypeEqn+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 5 83 20+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 14 83 15 ]+                }+              (TyApp+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 5 83 13+                   , srcInfoPoints = []+                   }+                 (TyCon+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 5 83 8+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 5 83 8+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 5 83 8+                            , srcInfoPoints = []+                            }+                          "Bar")))+                 (TyCon+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 9 83 13+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 9 83 13+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 9 83 13+                            , srcInfoPoints = []+                            }+                          "Bool"))))+              (TyCon+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 16 83 20+                   , srcInfoPoints = []+                   }+                 (UnQual+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 16 83 20+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 16 83 20+                         , srcInfoPoints = []+                         }+                       "Char")))+          ]+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 1 88 24+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 3 88 5 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 1 88 2+                , srcInfoPoints = []+                }+              "f"+          ]+          (TyFun+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 6 88 24+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 14 88 16 ]+               }+             (TyApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 6 88 13+                  , srcInfoPoints = []+                  }+                (TyApp+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 6 88 11+                     , srcInfoPoints = []+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 6 88 9+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 6 88 7+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 6 88 7+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 6 88 7+                                 , srcInfoPoints = []+                                 }+                               "F")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 8 88 9+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 8 88 9+                              , srcInfoPoints = []+                              }+                            "a")))+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 10 88 11+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 10 88 11+                           , srcInfoPoints = []+                           }+                         "b")))+                (TyVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 12 88 13+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 12 88 13+                        , srcInfoPoints = []+                        }+                      "c")))+             (TyApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 17 88 24+                  , srcInfoPoints = []+                  }+                (TyApp+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 17 88 22+                     , srcInfoPoints = []+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 17 88 20+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 17 88 18+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 17 88 18+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 17 88 18+                                 , srcInfoPoints = []+                                 }+                               "F")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 19 88 20+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 19 88 20+                              , srcInfoPoints = []+                              }+                            "a")))+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 21 88 22+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 21 88 22+                           , srcInfoPoints = []+                           }+                         "b")))+                (TyVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 23 88 24+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 23 88 24+                        , srcInfoPoints = []+                        }+                      "c"))))+      , FunBind+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 1 89 8+            , srcInfoPoints = []+            }+          [ Match+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 1 89 8+                , srcInfoPoints = []+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 1 89 2+                   , srcInfoPoints = []+                   }+                 "f")+              [ PVar+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 3 89 4+                    , srcInfoPoints = []+                    }+                  (Ident+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 3 89 4+                       , srcInfoPoints = []+                       }+                     "x")+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 5 89 8+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 5 89 6 ]+                   }+                 (Var+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 7 89 8+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 7 89 8+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 7 89 8+                            , srcInfoPoints = []+                            }+                          "x"))))+              Nothing+          ]+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 92 1 92 13+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 92 6 92 8 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 92 1 92 5+                , srcInfoPoints = []+                }+              "fapp"+          ]+          (TyCon+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 92 9 92 13+               , srcInfoPoints = []+               }+             (UnQual+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 92 9 92 13+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 92 9 92 13+                     , srcInfoPoints = []+                     }+                   "Bool")))+      , PatBind+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 1 93 14+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 1 93 5+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 1 93 5+                  , srcInfoPoints = []+                  }+                "fapp"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 6 93 14+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 6 93 7 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 8 93 14+                  , srcInfoPoints = []+                  }+                (Var+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 8 93 9+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 8 93 9+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 8 93 9+                           , srcInfoPoints = []+                           }+                         "f")))+                (Con+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 10 93 14+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 10 93 14+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 10 93 14+                           , srcInfoPoints = []+                           }+                         "True")))))+          Nothing+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 1 96 37+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 4 96 6 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 1 96 3+                , srcInfoPoints = []+                }+              "fc"+          ]+          (TyFun+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 7 96 37+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 21 96 23 ]+               }+             (TyApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 7 96 20+                  , srcInfoPoints = []+                  }+                (TyApp+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 7 96 18+                     , srcInfoPoints = []+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 7 96 16+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 7 96 14+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 7 96 14+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 7 96 14+                                 , srcInfoPoints = []+                                 }+                               "FClosed")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 15 96 16+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 15 96 16+                              , srcInfoPoints = []+                              }+                            "a")))+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 17 96 18+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 17 96 18+                           , srcInfoPoints = []+                           }+                         "b")))+                (TyVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 19 96 20+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 19 96 20+                        , srcInfoPoints = []+                        }+                      "c")))+             (TyApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 24 96 37+                  , srcInfoPoints = []+                  }+                (TyApp+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 24 96 35+                     , srcInfoPoints = []+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 24 96 33+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 24 96 31+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 24 96 31+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 24 96 31+                                 , srcInfoPoints = []+                                 }+                               "FClosed")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 32 96 33+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 32 96 33+                              , srcInfoPoints = []+                              }+                            "a")))+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 34 96 35+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 34 96 35+                           , srcInfoPoints = []+                           }+                         "b")))+                (TyVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 36 96 37+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 36 96 37+                        , srcInfoPoints = []+                        }+                      "c"))))+      , FunBind+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 1 97 9+            , srcInfoPoints = []+            }+          [ Match+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 1 97 9+                , srcInfoPoints = []+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 1 97 3+                   , srcInfoPoints = []+                   }+                 "fc")+              [ PVar+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 4 97 5+                    , srcInfoPoints = []+                    }+                  (Ident+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 4 97 5+                       , srcInfoPoints = []+                       }+                     "x")+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 6 97 9+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 6 97 7 ]+                   }+                 (Var+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 8 97 9+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 8 97 9+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 8 97 9+                            , srcInfoPoints = []+                            }+                          "x"))))+              Nothing+          ]+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 99 1 99 14+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 99 7 99 9 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 99 1 99 6+                , srcInfoPoints = []+                }+              "fcapp"+          ]+          (TyCon+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 99 10 99 14+               , srcInfoPoints = []+               }+             (UnQual+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 99 10 99 14+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 99 10 99 14+                     , srcInfoPoints = []+                     }+                   "Bool")))+      , PatBind+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 1 100 16+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 1 100 6+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 1 100 6+                  , srcInfoPoints = []+                  }+                "fcapp"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 7 100 16+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 7 100 8 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 9 100 16+                  , srcInfoPoints = []+                  }+                (Var+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 9 100 11+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 9 100 11+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 9 100 11+                           , srcInfoPoints = []+                           }+                         "fc")))+                (Con+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 12 100 16+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 12 100 16+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 12 100 16+                           , srcInfoPoints = []+                           }+                         "True")))))+          Nothing+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 1 103 28+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 3 103 5 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 1 103 2+                , srcInfoPoints = []+                }+              "i"+          ]+          (TyFun+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 6 103 28+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 16 103 18 ]+               }+             (TyApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 6 103 15+                  , srcInfoPoints = []+                  }+                (TyApp+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 6 103 11+                     , srcInfoPoints = []+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 6 103 9+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 6 103 7+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 6 103 7+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 6 103 7+                                 , srcInfoPoints = []+                                 }+                               "I")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 8 103 9+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 8 103 9+                              , srcInfoPoints = []+                              }+                            "a")))+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 10 103 11+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 10 103 11+                           , srcInfoPoints = []+                           }+                         "b")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 12 103 15+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 12 103 15+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 12 103 15+                           , srcInfoPoints = []+                           }+                         "Int"))))+             (TyApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 19 103 28+                  , srcInfoPoints = []+                  }+                (TyApp+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 19 103 24+                     , srcInfoPoints = []+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 19 103 22+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 19 103 20+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 19 103 20+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 19 103 20+                                 , srcInfoPoints = []+                                 }+                               "I")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 21 103 22+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 21 103 22+                              , srcInfoPoints = []+                              }+                            "a")))+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 23 103 24+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 23 103 24+                           , srcInfoPoints = []+                           }+                         "b")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 25 103 28+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 25 103 28+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 25 103 28+                           , srcInfoPoints = []+                           }+                         "Int")))))+      , FunBind+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 1 104 8+            , srcInfoPoints = []+            }+          [ Match+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 1 104 8+                , srcInfoPoints = []+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 1 104 2+                   , srcInfoPoints = []+                   }+                 "i")+              [ PVar+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 3 104 4+                    , srcInfoPoints = []+                    }+                  (Ident+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 3 104 4+                       , srcInfoPoints = []+                       }+                     "x")+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 5 104 8+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 5 104 6 ]+                   }+                 (Var+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 7 104 8+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 7 104 8+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 7 104 8+                            , srcInfoPoints = []+                            }+                          "x"))))+              Nothing+          ]+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 107 1 107 13+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 107 6 107 8 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 107 1 107 5+                , srcInfoPoints = []+                }+              "iapp"+          ]+          (TyCon+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 107 9 107 13+               , srcInfoPoints = []+               }+             (UnQual+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 107 9 107 13+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 107 9 107 13+                     , srcInfoPoints = []+                     }+                   "Bool")))+      , PatBind+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 1 108 14+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 1 108 5+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 1 108 5+                  , srcInfoPoints = []+                  }+                "iapp"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 6 108 14+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 6 108 7 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 8 108 14+                  , srcInfoPoints = []+                  }+                (Var+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 8 108 9+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 8 108 9+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 8 108 9+                           , srcInfoPoints = []+                           }+                         "i")))+                (Con+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 10 108 14+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 10 108 14+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 10 108 14+                           , srcInfoPoints = []+                           }+                         "True")))))+          Nothing+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 1 111 41+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 4 111 6 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 1 111 3+                , srcInfoPoints = []+                }+              "ic"+          ]+          (TyFun+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 7 111 41+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 23 111 25 ]+               }+             (TyApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 7 111 22+                  , srcInfoPoints = []+                  }+                (TyApp+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 7 111 18+                     , srcInfoPoints = []+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 7 111 16+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 7 111 14+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 7 111 14+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 7 111 14+                                 , srcInfoPoints = []+                                 }+                               "IClosed")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 15 111 16+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 15 111 16+                              , srcInfoPoints = []+                              }+                            "a")))+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 17 111 18+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 17 111 18+                           , srcInfoPoints = []+                           }+                         "b")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 19 111 22+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 19 111 22+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 19 111 22+                           , srcInfoPoints = []+                           }+                         "Int"))))+             (TyApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 26 111 41+                  , srcInfoPoints = []+                  }+                (TyApp+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 26 111 37+                     , srcInfoPoints = []+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 26 111 35+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 26 111 33+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 26 111 33+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 26 111 33+                                 , srcInfoPoints = []+                                 }+                               "IClosed")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 34 111 35+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 34 111 35+                              , srcInfoPoints = []+                              }+                            "a")))+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 36 111 37+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 36 111 37+                           , srcInfoPoints = []+                           }+                         "b")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 38 111 41+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 38 111 41+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 38 111 41+                           , srcInfoPoints = []+                           }+                         "Int")))))+      , FunBind+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 1 112 9+            , srcInfoPoints = []+            }+          [ Match+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 1 112 9+                , srcInfoPoints = []+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 1 112 3+                   , srcInfoPoints = []+                   }+                 "ic")+              [ PVar+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 4 112 5+                    , srcInfoPoints = []+                    }+                  (Ident+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 4 112 5+                       , srcInfoPoints = []+                       }+                     "x")+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 6 112 9+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 6 112 7 ]+                   }+                 (Var+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 8 112 9+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 8 112 9+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 8 112 9+                            , srcInfoPoints = []+                            }+                          "x"))))+              Nothing+          ]+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 114 1 114 14+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 114 7 114 9 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 114 1 114 6+                , srcInfoPoints = []+                }+              "icapp"+          ]+          (TyCon+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 114 10 114 14+               , srcInfoPoints = []+               }+             (UnQual+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 114 10 114 14+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 114 10 114 14+                     , srcInfoPoints = []+                     }+                   "Bool")))+      , PatBind+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 1 115 16+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 1 115 6+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 1 115 6+                  , srcInfoPoints = []+                  }+                "icapp"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 7 115 16+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 7 115 8 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 9 115 16+                  , srcInfoPoints = []+                  }+                (Var+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 9 115 11+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 9 115 11+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 9 115 11+                           , srcInfoPoints = []+                           }+                         "ic")))+                (Con+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 12 115 16+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 12 115 16+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 12 115 16+                           , srcInfoPoints = []+                           }+                         "True")))))+          Nothing+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 1 118 22+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 5 118 7 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 1 118 4+                , srcInfoPoints = []+                }+              "bak"+          ]+          (TyFun+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 8 118 22+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 14 118 16 ]+               }+             (TyApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 8 118 13+                  , srcInfoPoints = []+                  }+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 8 118 11+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 8 118 11+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 8 118 11+                           , srcInfoPoints = []+                           }+                         "Bak")))+                (TyVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 12 118 13+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 12 118 13+                        , srcInfoPoints = []+                        }+                      "a")))+             (TyApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 17 118 22+                  , srcInfoPoints = []+                  }+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 17 118 20+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 17 118 20+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 17 118 20+                           , srcInfoPoints = []+                           }+                         "Bak")))+                (TyVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 21 118 22+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 21 118 22+                        , srcInfoPoints = []+                        }+                      "a"))))+      , FunBind+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 1 119 10+            , srcInfoPoints = []+            }+          [ Match+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 1 119 10+                , srcInfoPoints = []+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 1 119 4+                   , srcInfoPoints = []+                   }+                 "bak")+              [ PVar+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 5 119 6+                    , srcInfoPoints = []+                    }+                  (Ident+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 5 119 6+                       , srcInfoPoints = []+                       }+                     "x")+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 7 119 10+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 7 119 8 ]+                   }+                 (Var+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 9 119 10+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 9 119 10+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 9 119 10+                            , srcInfoPoints = []+                            }+                          "x"))))+              Nothing+          ]+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 121 1 121 16+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 121 9 121 11 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 121 1 121 8+                , srcInfoPoints = []+                }+              "bakapp1"+          ]+          (TyCon+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 121 12 121 16+               , srcInfoPoints = []+               }+             (UnQual+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 121 12 121 16+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 121 12 121 16+                     , srcInfoPoints = []+                     }+                   "Char")))+      , PatBind+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 1 122 18+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 1 122 8+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 1 122 8+                  , srcInfoPoints = []+                  }+                "bakapp1"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 9 122 18+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 9 122 10 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 11 122 18+                  , srcInfoPoints = []+                  }+                (Var+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 11 122 14+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 11 122 14+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 11 122 14+                           , srcInfoPoints = []+                           }+                         "bak")))+                (Lit+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 15 122 18+                     , srcInfoPoints = []+                     }+                   (Char+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 15 122 18+                        , srcInfoPoints = []+                        }+                      'c'+                      "c"))))+          Nothing+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 124 1 124 18+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 124 9 124 11 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 124 1 124 8+                , srcInfoPoints = []+                }+              "bakapp2"+          ]+          (TyCon+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 124 12 124 18+               , srcInfoPoints = []+               }+             (UnQual+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 124 12 124 18+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 124 12 124 18+                     , srcInfoPoints = []+                     }+                   "Double")))+      , PatBind+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 1 125 18+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 1 125 8+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 1 125 8+                  , srcInfoPoints = []+                  }+                "bakapp2"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 9 125 18+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 9 125 10 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 11 125 18+                  , srcInfoPoints = []+                  }+                (Var+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 11 125 14+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 11 125 14+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 11 125 14+                           , srcInfoPoints = []+                           }+                         "bak")))+                (Lit+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 15 125 18+                     , srcInfoPoints = []+                     }+                   (Frac+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 15 125 18+                        , srcInfoPoints = []+                        }+                      (1 % 1)+                      "1.0"))))+          Nothing+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 1 127 14+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 9 127 11 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 1 127 8+                , srcInfoPoints = []+                }+              "bakapp3"+          ]+          (TyCon+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 12 127 14+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 12 127 13+                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 13 127 14+                   ]+               }+             (Special+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 12 127 14+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 12 127 13+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 13 127 14+                      ]+                  }+                (UnitCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 12 127 14+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 12 127 13+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 13 127 14+                         ]+                     })))+      , PatBind+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 1 128 17+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 1 128 8+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 1 128 8+                  , srcInfoPoints = []+                  }+                "bakapp3"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 9 128 17+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 9 128 10 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 11 128 17+                  , srcInfoPoints = []+                  }+                (Var+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 11 128 14+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 11 128 14+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 11 128 14+                           , srcInfoPoints = []+                           }+                         "bak")))+                (Con+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 15 128 17+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 15 128 16+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 16 128 17+                         ]+                     }+                   (Special+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 15 128 17+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 15 128 16+                            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 16 128 17+                            ]+                        }+                      (UnitCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 15 128 17+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 15 128 16+                               , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 16 128 17+                               ]+                           })))))+          Nothing+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 1 130 22+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 5 130 7 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 1 130 4+                , srcInfoPoints = []+                }+              "foo"+          ]+          (TyFun+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 8 130 22+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 14 130 16 ]+               }+             (TyApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 8 130 13+                  , srcInfoPoints = []+                  }+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 8 130 11+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 8 130 11+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 8 130 11+                           , srcInfoPoints = []+                           }+                         "Foo")))+                (TyVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 12 130 13+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 12 130 13+                        , srcInfoPoints = []+                        }+                      "a")))+             (TyApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 17 130 22+                  , srcInfoPoints = []+                  }+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 17 130 20+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 17 130 20+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 17 130 20+                           , srcInfoPoints = []+                           }+                         "Foo")))+                (TyVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 21 130 22+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 21 130 22+                        , srcInfoPoints = []+                        }+                      "a"))))+      , FunBind+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 1 131 10+            , srcInfoPoints = []+            }+          [ Match+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 1 131 10+                , srcInfoPoints = []+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 1 131 4+                   , srcInfoPoints = []+                   }+                 "foo")+              [ PVar+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 5 131 6+                    , srcInfoPoints = []+                    }+                  (Ident+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 5 131 6+                       , srcInfoPoints = []+                       }+                     "x")+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 7 131 10+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 7 131 8 ]+                   }+                 (Var+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 9 131 10+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 9 131 10+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 9 131 10+                            , srcInfoPoints = []+                            }+                          "x"))))+              Nothing+          ]+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 133 1 133 16+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 133 9 133 11 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 133 1 133 8+                , srcInfoPoints = []+                }+              "fooapp1"+          ]+          (TyCon+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 133 12 133 16+               , srcInfoPoints = []+               }+             (UnQual+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 133 12 133 16+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 133 12 133 16+                     , srcInfoPoints = []+                     }+                   "Bool")))+      , PatBind+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 1 134 19+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 1 134 8+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 1 134 8+                  , srcInfoPoints = []+                  }+                "fooapp1"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 9 134 19+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 9 134 10 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 11 134 19+                  , srcInfoPoints = []+                  }+                (Var+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 11 134 14+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 11 134 14+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 11 134 14+                           , srcInfoPoints = []+                           }+                         "foo")))+                (Con+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 15 134 19+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 15 134 19+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 15 134 19+                           , srcInfoPoints = []+                           }+                         "True")))))+          Nothing+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 1 136 22+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 5 136 7 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 1 136 4+                , srcInfoPoints = []+                }+              "bar"+          ]+          (TyFun+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 8 136 22+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 14 136 16 ]+               }+             (TyApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 8 136 13+                  , srcInfoPoints = []+                  }+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 8 136 11+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 8 136 11+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 8 136 11+                           , srcInfoPoints = []+                           }+                         "Bar")))+                (TyVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 12 136 13+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 12 136 13+                        , srcInfoPoints = []+                        }+                      "a")))+             (TyApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 17 136 22+                  , srcInfoPoints = []+                  }+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 17 136 20+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 17 136 20+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 17 136 20+                           , srcInfoPoints = []+                           }+                         "Bar")))+                (TyVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 21 136 22+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 21 136 22+                        , srcInfoPoints = []+                        }+                      "a"))))+      , FunBind+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 1 137 10+            , srcInfoPoints = []+            }+          [ Match+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 1 137 10+                , srcInfoPoints = []+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 1 137 4+                   , srcInfoPoints = []+                   }+                 "bar")+              [ PVar+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 5 137 6+                    , srcInfoPoints = []+                    }+                  (Ident+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 5 137 6+                       , srcInfoPoints = []+                       }+                     "x")+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 7 137 10+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 7 137 8 ]+                   }+                 (Var+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 9 137 10+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 9 137 10+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 9 137 10+                            , srcInfoPoints = []+                            }+                          "x"))))+              Nothing+          ]+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 139 1 139 16+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 139 9 139 11 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 139 1 139 8+                , srcInfoPoints = []+                }+              "barapp1"+          ]+          (TyCon+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 139 12 139 16+               , srcInfoPoints = []+               }+             (UnQual+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 139 12 139 16+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 139 12 139 16+                     , srcInfoPoints = []+                     }+                   "Bool")))+      , PatBind+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 1 140 19+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 1 140 8+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 1 140 8+                  , srcInfoPoints = []+                  }+                "barapp1"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 9 140 19+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 9 140 10 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 11 140 19+                  , srcInfoPoints = []+                  }+                (Var+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 11 140 14+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 11 140 14+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 11 140 14+                           , srcInfoPoints = []+                           }+                         "bar")))+                (Con+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 15 140 19+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 15 140 19+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 15 140 19+                           , srcInfoPoints = []+                           }+                         "True")))))+          Nothing+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 142 1 142 15+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 142 9 142 11 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 142 1 142 8+                , srcInfoPoints = []+                }+              "barapp2"+          ]+          (TyCon+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 142 12 142 15+               , srcInfoPoints = []+               }+             (UnQual+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 142 12 142 15+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 142 12 142 15+                     , srcInfoPoints = []+                     }+                   "Int")))+      , PatBind+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 1 143 16+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 1 143 8+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 1 143 8+                  , srcInfoPoints = []+                  }+                "barapp2"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 9 143 16+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 9 143 10 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 11 143 16+                  , srcInfoPoints = []+                  }+                (Var+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 11 143 14+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 11 143 14+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 11 143 14+                           , srcInfoPoints = []+                           }+                         "bar")))+                (Lit+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 15 143 16+                     , srcInfoPoints = []+                     }+                   (Int+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 15 143 16+                        , srcInfoPoints = []+                        }+                      1+                      "1"))))+          Nothing+      , TypeFamDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 1 148 18+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 1 148 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 6 148 12+                ]+            }+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 13 148 18+               , srcInfoPoints = []+               }+             (DHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 13 148 16+                  , srcInfoPoints = []+                  }+                (DHead+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 13 148 14+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 13 148 14+                        , srcInfoPoints = []+                        }+                      "H"))+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 15 148 16+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 15 148 16+                        , srcInfoPoints = []+                        }+                      "a")))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 17 148 18+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 17 148 18+                     , srcInfoPoints = []+                     }+                   "b")))+          (Just+             (TyVarSig+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 19 148 22+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 19 148 20 ]+                  }+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 21 148 22+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 21 148 22+                        , srcInfoPoints = []+                        }+                      "r"))))+          (Just+             (InjectivityInfo+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 23 148 31+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 23 148 24+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 27 148 29+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 25 148 26+                     , srcInfoPoints = []+                     }+                   "r")+                [ Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 30 148 31+                      , srcInfoPoints = []+                      }+                    "b"+                , Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 32 148 33+                      , srcInfoPoints = []+                      }+                    "a"+                ]))+      , ClosedTypeFamDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 1 149 19+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 1 149 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 6 149 12+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 35 149 40+                ]+            }+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 13 149 19+               , srcInfoPoints = []+               }+             (DHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 13 149 17+                  , srcInfoPoints = []+                  }+                (DHead+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 13 149 15+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 13 149 15+                        , srcInfoPoints = []+                        }+                      "Hc"))+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 16 149 17+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 16 149 17+                        , srcInfoPoints = []+                        }+                      "a")))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 18 149 19+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 18 149 19+                     , srcInfoPoints = []+                     }+                   "b")))+          (Just+             (TyVarSig+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 20 149 23+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 20 149 21 ]+                  }+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 22 149 23+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 22 149 23+                        , srcInfoPoints = []+                        }+                      "r"))))+          (Just+             (InjectivityInfo+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 24 149 32+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 24 149 25+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 28 149 30+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 26 149 27+                     , srcInfoPoints = []+                     }+                   "r")+                [ Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 31 149 32+                      , srcInfoPoints = []+                      }+                    "b"+                , Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 33 149 34+                      , srcInfoPoints = []+                      }+                    "a"+                ]))+          [ TypeEqn+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 3 150 15+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 10 150 11 ]+                }+              (TyApp+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 3 150 9+                   , srcInfoPoints = []+                   }+                 (TyApp+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 3 150 7+                      , srcInfoPoints = []+                      }+                    (TyCon+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 3 150 5+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 3 150 5+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 3 150 5+                               , srcInfoPoints = []+                               }+                             "Hc")))+                    (TyVar+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 6 150 7+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 6 150 7+                            , srcInfoPoints = []+                            }+                          "a")))+                 (TyVar+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 8 150 9+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 8 150 9+                         , srcInfoPoints = []+                         }+                       "b")))+              (TyApp+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 12 150 15+                   , srcInfoPoints = []+                   }+                 (TyVar+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 12 150 13+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 12 150 13+                         , srcInfoPoints = []+                         }+                       "a"))+                 (TyVar+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 14 150 15+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 14 150 15+                         , srcInfoPoints = []+                         }+                       "b")))+          ]+      , ClassDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 1 152 27+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 1 151 6+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 15 151 20+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 3 152 3+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 1 156 0+                ]+            }+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 7 151 14+               , srcInfoPoints = []+               }+             (DHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 7 151 12+                  , srcInfoPoints = []+                  }+                (DHead+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 7 151 10+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 7 151 10+                        , srcInfoPoints = []+                        }+                      "Hcl"))+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 11 151 12+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 11 151 12+                        , srcInfoPoints = []+                        }+                      "a")))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 13 151 14+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 13 151 14+                     , srcInfoPoints = []+                     }+                   "b")))+          []+          (Just+             [ ClsTyFam+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 3 152 27+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 3 152 7 ]+                   }+                 (DHApp+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 8 152 14+                      , srcInfoPoints = []+                      }+                    (DHApp+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 8 152 12+                         , srcInfoPoints = []+                         }+                       (DHead+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 8 152 10+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 8 152 10+                               , srcInfoPoints = []+                               }+                             "Ht"))+                       (UnkindedVar+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 11 152 12+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 11 152 12+                               , srcInfoPoints = []+                               }+                             "a")))+                    (UnkindedVar+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 13 152 14+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 13 152 14+                            , srcInfoPoints = []+                            }+                          "b")))+                 (Just+                    (TyVarSig+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 15 152 18+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 15 152 16 ]+                         }+                       (UnkindedVar+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 17 152 18+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 17 152 18+                               , srcInfoPoints = []+                               }+                             "r"))))+                 (Just+                    (InjectivityInfo+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 19 152 27+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 19 152 20+                             , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 23 152 25+                             ]+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 21 152 22+                            , srcInfoPoints = []+                            }+                          "r")+                       [ Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 26 152 27+                             , srcInfoPoints = []+                             }+                           "b"+                       , Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 28 152 29+                             , srcInfoPoints = []+                             }+                           "a"+                       ]))+             ])+      , TypeFamDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 1 156 19+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 1 156 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 6 156 12+                ]+            }+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 13 156 19+               , srcInfoPoints = []+               }+             (DHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 13 156 17+                  , srcInfoPoints = []+                  }+                (DHead+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 13 156 15+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 13 156 15+                        , srcInfoPoints = []+                        }+                      "Jx"))+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 16 156 17+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 16 156 17+                        , srcInfoPoints = []+                        }+                      "a")))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 18 156 19+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 18 156 19+                     , srcInfoPoints = []+                     }+                   "b")))+          (Just+             (TyVarSig+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 20 156 23+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 20 156 21 ]+                  }+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 22 156 23+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 22 156 23+                        , srcInfoPoints = []+                        }+                      "r"))))+          (Just+             (InjectivityInfo+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 24 156 32+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 24 156 25+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 28 156 30+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 26 156 27+                     , srcInfoPoints = []+                     }+                   "r")+                [ Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 31 156 32+                      , srcInfoPoints = []+                      }+                    "a"+                , Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 33 156 34+                      , srcInfoPoints = []+                      }+                    "a"+                ]))+      , ClosedTypeFamDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 1 157 20+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 1 157 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 6 157 12+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 36 157 41+                ]+            }+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 13 157 20+               , srcInfoPoints = []+               }+             (DHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 13 157 18+                  , srcInfoPoints = []+                  }+                (DHead+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 13 157 16+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 13 157 16+                        , srcInfoPoints = []+                        }+                      "Jcx"))+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 17 157 18+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 17 157 18+                        , srcInfoPoints = []+                        }+                      "a")))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 19 157 20+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 19 157 20+                     , srcInfoPoints = []+                     }+                   "b")))+          (Just+             (TyVarSig+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 21 157 24+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 21 157 22 ]+                  }+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 23 157 24+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 23 157 24+                        , srcInfoPoints = []+                        }+                      "r"))))+          (Just+             (InjectivityInfo+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 25 157 33+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 25 157 26+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 29 157 31+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 27 157 28+                     , srcInfoPoints = []+                     }+                   "r")+                [ Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 32 157 33+                      , srcInfoPoints = []+                      }+                    "a"+                , Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 34 157 35+                      , srcInfoPoints = []+                      }+                    "a"+                ]))+          [ TypeEqn+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 3 158 16+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 11 158 12 ]+                }+              (TyApp+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 3 158 10+                   , srcInfoPoints = []+                   }+                 (TyApp+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 3 158 8+                      , srcInfoPoints = []+                      }+                    (TyCon+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 3 158 6+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 3 158 6+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 3 158 6+                               , srcInfoPoints = []+                               }+                             "Jcx")))+                    (TyVar+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 7 158 8+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 7 158 8+                            , srcInfoPoints = []+                            }+                          "a")))+                 (TyVar+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 9 158 10+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 9 158 10+                         , srcInfoPoints = []+                         }+                       "b")))+              (TyApp+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 13 158 16+                   , srcInfoPoints = []+                   }+                 (TyVar+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 13 158 14+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 13 158 14+                         , srcInfoPoints = []+                         }+                       "a"))+                 (TyVar+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 15 158 16+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 15 158 16+                         , srcInfoPoints = []+                         }+                       "b")))+          ]+      , ClassDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 1 160 27+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 1 159 6+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 15 159 20+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 3 160 3+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 1 162 0+                ]+            }+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 7 159 14+               , srcInfoPoints = []+               }+             (DHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 7 159 12+                  , srcInfoPoints = []+                  }+                (DHead+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 7 159 10+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 7 159 10+                        , srcInfoPoints = []+                        }+                      "Jcl"))+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 11 159 12+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 11 159 12+                        , srcInfoPoints = []+                        }+                      "a")))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 13 159 14+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 13 159 14+                     , srcInfoPoints = []+                     }+                   "b")))+          []+          (Just+             [ ClsTyFam+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 3 160 27+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 3 160 7 ]+                   }+                 (DHApp+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 8 160 14+                      , srcInfoPoints = []+                      }+                    (DHApp+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 8 160 12+                         , srcInfoPoints = []+                         }+                       (DHead+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 8 160 10+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 8 160 10+                               , srcInfoPoints = []+                               }+                             "Jt"))+                       (UnkindedVar+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 11 160 12+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 11 160 12+                               , srcInfoPoints = []+                               }+                             "a")))+                    (UnkindedVar+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 13 160 14+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 13 160 14+                            , srcInfoPoints = []+                            }+                          "b")))+                 (Just+                    (TyVarSig+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 15 160 18+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 15 160 16 ]+                         }+                       (UnkindedVar+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 17 160 18+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 17 160 18+                               , srcInfoPoints = []+                               }+                             "r"))))+                 (Just+                    (InjectivityInfo+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 19 160 27+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 19 160 20+                             , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 23 160 25+                             ]+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 21 160 22+                            , srcInfoPoints = []+                            }+                          "r")+                       [ Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 26 160 27+                             , srcInfoPoints = []+                             }+                           "a"+                       , Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 28 160 29+                             , srcInfoPoints = []+                             }+                           "a"+                       ]))+             ])+      , TypeFamDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 1 162 19+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 1 162 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 6 162 12+                ]+            }+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 13 162 19+               , srcInfoPoints = []+               }+             (DHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 13 162 17+                  , srcInfoPoints = []+                  }+                (DHead+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 13 162 15+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 13 162 15+                        , srcInfoPoints = []+                        }+                      "Kx"))+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 16 162 17+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 16 162 17+                        , srcInfoPoints = []+                        }+                      "a")))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 18 162 19+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 18 162 19+                     , srcInfoPoints = []+                     }+                   "b")))+          (Just+             (TyVarSig+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 20 162 23+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 20 162 21 ]+                  }+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 22 162 23+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 22 162 23+                        , srcInfoPoints = []+                        }+                      "r"))))+          (Just+             (InjectivityInfo+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 24 162 32+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 24 162 25+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 28 162 30+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 26 162 27+                     , srcInfoPoints = []+                     }+                   "r")+                [ Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 31 162 32+                      , srcInfoPoints = []+                      }+                    "a"+                , Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 33 162 34+                      , srcInfoPoints = []+                      }+                    "b"+                , Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 35 162 36+                      , srcInfoPoints = []+                      }+                    "b"+                ]))+      , ClosedTypeFamDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 1 163 20+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 1 163 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 6 163 12+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 38 163 43+                ]+            }+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 13 163 20+               , srcInfoPoints = []+               }+             (DHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 13 163 18+                  , srcInfoPoints = []+                  }+                (DHead+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 13 163 16+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 13 163 16+                        , srcInfoPoints = []+                        }+                      "Kcx"))+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 17 163 18+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 17 163 18+                        , srcInfoPoints = []+                        }+                      "a")))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 19 163 20+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 19 163 20+                     , srcInfoPoints = []+                     }+                   "b")))+          (Just+             (TyVarSig+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 21 163 24+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 21 163 22 ]+                  }+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 23 163 24+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 23 163 24+                        , srcInfoPoints = []+                        }+                      "r"))))+          (Just+             (InjectivityInfo+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 25 163 33+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 25 163 26+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 29 163 31+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 27 163 28+                     , srcInfoPoints = []+                     }+                   "r")+                [ Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 32 163 33+                      , srcInfoPoints = []+                      }+                    "a"+                , Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 34 163 35+                      , srcInfoPoints = []+                      }+                    "b"+                , Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 36 163 37+                      , srcInfoPoints = []+                      }+                    "b"+                ]))+          [ TypeEqn+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 3 164 16+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 11 164 12 ]+                }+              (TyApp+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 3 164 10+                   , srcInfoPoints = []+                   }+                 (TyApp+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 3 164 8+                      , srcInfoPoints = []+                      }+                    (TyCon+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 3 164 6+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 3 164 6+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 3 164 6+                               , srcInfoPoints = []+                               }+                             "Kcx")))+                    (TyVar+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 7 164 8+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 7 164 8+                            , srcInfoPoints = []+                            }+                          "a")))+                 (TyVar+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 9 164 10+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 9 164 10+                         , srcInfoPoints = []+                         }+                       "b")))+              (TyApp+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 13 164 16+                   , srcInfoPoints = []+                   }+                 (TyVar+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 13 164 14+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 13 164 14+                         , srcInfoPoints = []+                         }+                       "a"))+                 (TyVar+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 15 164 16+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 15 164 16+                         , srcInfoPoints = []+                         }+                       "b")))+          ]+      , ClassDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 1 166 27+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 1 165 6+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 15 165 20+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 3 166 3+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 1 170 0+                ]+            }+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 7 165 14+               , srcInfoPoints = []+               }+             (DHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 7 165 12+                  , srcInfoPoints = []+                  }+                (DHead+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 7 165 10+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 7 165 10+                        , srcInfoPoints = []+                        }+                      "Kcl"))+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 11 165 12+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 11 165 12+                        , srcInfoPoints = []+                        }+                      "a")))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 13 165 14+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 13 165 14+                     , srcInfoPoints = []+                     }+                   "b")))+          []+          (Just+             [ ClsTyFam+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 3 166 27+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 3 166 7 ]+                   }+                 (DHApp+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 8 166 14+                      , srcInfoPoints = []+                      }+                    (DHApp+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 8 166 12+                         , srcInfoPoints = []+                         }+                       (DHead+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 8 166 10+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 8 166 10+                               , srcInfoPoints = []+                               }+                             "Kt"))+                       (UnkindedVar+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 11 166 12+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 11 166 12+                               , srcInfoPoints = []+                               }+                             "a")))+                    (UnkindedVar+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 13 166 14+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 13 166 14+                            , srcInfoPoints = []+                            }+                          "b")))+                 (Just+                    (TyVarSig+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 15 166 18+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 15 166 16 ]+                         }+                       (UnkindedVar+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 17 166 18+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 17 166 18+                               , srcInfoPoints = []+                               }+                             "r"))))+                 (Just+                    (InjectivityInfo+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 19 166 27+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 19 166 20+                             , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 23 166 25+                             ]+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 21 166 22+                            , srcInfoPoints = []+                            }+                          "r")+                       [ Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 26 166 27+                             , srcInfoPoints = []+                             }+                           "a"+                       , Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 28 166 29+                             , srcInfoPoints = []+                             }+                           "b"+                       , Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 30 166 31+                             , srcInfoPoints = []+                             }+                           "b"+                       ]))+             ])+      , ClosedTypeFamDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 1 170 24+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 1 170 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 6 170 12+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 47 170 52+                ]+            }+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 13 170 24+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 13 170 14+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 13 170 14+                     , srcInfoPoints = []+                     }+                   "L"))+             (KindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 15 170 24+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 15 170 16+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 18 170 20+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 23 170 24+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 16 170 17+                     , srcInfoPoints = []+                     }+                   "a")+                (TyVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 21 170 23+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 21 170 23+                        , srcInfoPoints = []+                        }+                      "k1"))))+          (Just+             (TyVarSig+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 25 170 36+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 25 170 26 ]+                  }+                (KindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 27 170 36+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 27 170 28+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 30 170 32+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 35 170 36+                         ]+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 28 170 29+                        , srcInfoPoints = []+                        }+                      "r")+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 33 170 35+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 33 170 35+                           , srcInfoPoints = []+                           }+                         "k2")))))+          (Just+             (InjectivityInfo+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 37 170 46+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 37 170 38+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 41 170 43+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 39 170 40+                     , srcInfoPoints = []+                     }+                   "r")+                [ Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 44 170 46+                      , srcInfoPoints = []+                      }+                    "k1"+                ]))+          [ TypeEqn+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 5 171 19+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 14 171 15 ]+                }+              (TyApp+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 5 171 12+                   , srcInfoPoints = []+                   }+                 (TyCon+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 5 171 6+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 5 171 6+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 5 171 6+                            , srcInfoPoints = []+                            }+                          "L")))+                 (TyPromoted+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 7 171 12+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 7 171 8 ]+                      }+                    (PromotedCon+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 7 171 12+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 7 171 8 ]+                         }+                       True+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 8 171 12+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 8 171 12+                               , srcInfoPoints = []+                               }+                             "True")))))+              (TyCon+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 16 171 19+                   , srcInfoPoints = []+                   }+                 (UnQual+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 16 171 19+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 16 171 19+                         , srcInfoPoints = []+                         }+                       "Int")))+          , TypeEqn+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 5 172 19+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 14 172 15 ]+                }+              (TyApp+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 5 172 13+                   , srcInfoPoints = []+                   }+                 (TyCon+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 5 172 6+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 5 172 6+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 5 172 6+                            , srcInfoPoints = []+                            }+                          "L")))+                 (TyPromoted+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 7 172 13+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 7 172 8 ]+                      }+                    (PromotedCon+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 7 172 13+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 7 172 8 ]+                         }+                       True+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 8 172 13+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 8 172 13+                               , srcInfoPoints = []+                               }+                             "False")))))+              (TyCon+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 16 172 19+                   , srcInfoPoints = []+                   }+                 (UnQual+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 16 172 19+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 16 172 19+                         , srcInfoPoints = []+                         }+                       "Int")))+          , TypeEqn+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 5 173 17+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 14 173 15 ]+                }+              (TyApp+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 5 173 12+                   , srcInfoPoints = []+                   }+                 (TyCon+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 5 173 6+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 5 173 6+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 5 173 6+                            , srcInfoPoints = []+                            }+                          "L")))+                 (TyCon+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 7 173 12+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 7 173 12+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 7 173 12+                            , srcInfoPoints = []+                            }+                          "Maybe"))))+              (TyPromoted+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 16 173 17+                   , srcInfoPoints = []+                   }+                 (PromotedInteger+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 16 173 17+                      , srcInfoPoints = []+                      }+                    3+                    "3"))+          , TypeEqn+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 5 174 17+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 14 174 15 ]+                }+              (TyApp+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 5 174 9+                   , srcInfoPoints = []+                   }+                 (TyCon+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 5 174 6+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 5 174 6+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 5 174 6+                            , srcInfoPoints = []+                            }+                          "L")))+                 (TyCon+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 7 174 9+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 7 174 9+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 7 174 9+                            , srcInfoPoints = []+                            }+                          "IO"))))+              (TyPromoted+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 16 174 17+                   , srcInfoPoints = []+                   }+                 (PromotedInteger+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 16 174 17+                      , srcInfoPoints = []+                      }+                    3+                    "3"))+          ]+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 1 176 30+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 22 176 23 ]+            }+          (DataType+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 1 176 5+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 6 176 21+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 6 176 12+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 6 176 12+                     , srcInfoPoints = []+                     }+                   "KProxy"))+             (KindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 13 176 21+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 13 176 14+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 16 176 18+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 20 176 21+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 14 176 15+                     , srcInfoPoints = []+                     }+                   "a")+                (TyStar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 19 176 20+                     , srcInfoPoints = []+                     })))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 24 176 30+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 24 176 30+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 24 176 30+                      , srcInfoPoints = []+                      }+                    "KProxy")+                 [])+          ]+          []+      , TypeFamDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 1 177 36+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 1 177 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 6 177 12+                ]+            }+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 13 177 36+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 13 177 15+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 13 177 15+                     , srcInfoPoints = []+                     }+                   "KP"))+             (KindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 16 177 36+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 16 177 17+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 24 177 26+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 35 177 36+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 17 177 23+                     , srcInfoPoints = []+                     }+                   "kproxy")+                (TyApp+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 27 177 35+                     , srcInfoPoints = []+                     }+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 27 177 33+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 27 177 33+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 27 177 33+                              , srcInfoPoints = []+                              }+                            "KProxy")))+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 34 177 35+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 34 177 35+                           , srcInfoPoints = []+                           }+                         "k")))))+          (Just+             (TyVarSig+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 37 177 40+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 37 177 38 ]+                  }+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 39 177 40+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 39 177 40+                        , srcInfoPoints = []+                        }+                      "r"))))+          (Just+             (InjectivityInfo+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 41 177 49+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 41 177 42+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 45 177 47+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 43 177 44+                     , srcInfoPoints = []+                     }+                   "r")+                [ Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 48 177 49+                      , srcInfoPoints = []+                      }+                    "k"+                ]))+      , TypeInsDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 1 178 48+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 1 178 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 6 178 14+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 43 178 44+                ]+            }+          (TyApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 15 178 42+               , srcInfoPoints = []+               }+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 15 178 17+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 15 178 17+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 15 178 17+                        , srcInfoPoints = []+                        }+                      "KP")))+             (TyKind+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 18 178 42+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 18 178 19+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 27 178 29+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 41 178 42+                      ]+                  }+                (TyPromoted+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 19 178 26+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 19 178 20 ]+                     }+                   (PromotedCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 19 178 26+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 19 178 20 ]+                        }+                      True+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 20 178 26+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 20 178 26+                              , srcInfoPoints = []+                              }+                            "KProxy"))))+                (TyApp+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 30 178 41+                     , srcInfoPoints = []+                     }+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 30 178 36+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 30 178 36+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 30 178 36+                              , srcInfoPoints = []+                              }+                            "KProxy")))+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 37 178 41+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 37 178 41+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 37 178 41+                              , srcInfoPoints = []+                              }+                            "Bool"))))))+          (TyCon+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 45 178 48+               , srcInfoPoints = []+               }+             (UnQual+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 45 178 48+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 45 178 48+                     , srcInfoPoints = []+                     }+                   "Int")))+      , TypeInsDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 1 179 49+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 1 179 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 6 179 14+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 43 179 44+                ]+            }+          (TyApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 15 179 39+               , srcInfoPoints = []+               }+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 15 179 17+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 15 179 17+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 15 179 17+                        , srcInfoPoints = []+                        }+                      "KP")))+             (TyKind+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 18 179 39+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 18 179 19+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 27 179 29+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 38 179 39+                      ]+                  }+                (TyPromoted+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 19 179 26+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 19 179 20 ]+                     }+                   (PromotedCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 19 179 26+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 19 179 20 ]+                        }+                      True+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 20 179 26+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 20 179 26+                              , srcInfoPoints = []+                              }+                            "KProxy"))))+                (TyApp+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 30 179 38+                     , srcInfoPoints = []+                     }+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 30 179 36+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 30 179 36+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 30 179 36+                              , srcInfoPoints = []+                              }+                            "KProxy")))+                   (TyStar+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 37 179 38+                        , srcInfoPoints = []+                        }))))+          (TyCon+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 45 179 49+               , srcInfoPoints = []+               }+             (UnQual+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 45 179 49+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 45 179 49+                     , srcInfoPoints = []+                     }+                   "Char")))+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 1 181 66+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 11 181 13 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 1 181 10+                , srcInfoPoints = []+                }+              "kproxy_id"+          ]+          (TyFun+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 14 181 66+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 39 181 41 ]+               }+             (TyApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 14 181 38+                  , srcInfoPoints = []+                  }+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 14 181 16+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 14 181 16+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 14 181 16+                           , srcInfoPoints = []+                           }+                         "KP")))+                (TyKind+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 17 181 38+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 17 181 18+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 26 181 28+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 37 181 38+                         ]+                     }+                   (TyPromoted+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 18 181 25+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 18 181 19 ]+                        }+                      (PromotedCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 18 181 25+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 18 181 19 ]+                           }+                         True+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 19 181 25+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 19 181 25+                                 , srcInfoPoints = []+                                 }+                               "KProxy"))))+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 29 181 37+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 29 181 35+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 29 181 35+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 29 181 35+                                 , srcInfoPoints = []+                                 }+                               "KProxy")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 36 181 37+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 36 181 37+                              , srcInfoPoints = []+                              }+                            "k")))))+             (TyApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 42 181 66+                  , srcInfoPoints = []+                  }+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 42 181 44+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 42 181 44+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 42 181 44+                           , srcInfoPoints = []+                           }+                         "KP")))+                (TyKind+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 45 181 66+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 45 181 46+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 54 181 56+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 65 181 66+                         ]+                     }+                   (TyPromoted+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 46 181 53+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 46 181 47 ]+                        }+                      (PromotedCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 46 181 53+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 46 181 47 ]+                           }+                         True+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 47 181 53+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 47 181 53+                                 , srcInfoPoints = []+                                 }+                               "KProxy"))))+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 57 181 65+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 57 181 63+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 57 181 63+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 57 181 63+                                 , srcInfoPoints = []+                                 }+                               "KProxy")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 64 181 65+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 64 181 65+                              , srcInfoPoints = []+                              }+                            "k"))))))+      , FunBind+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 1 182 16+            , srcInfoPoints = []+            }+          [ Match+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 1 182 16+                , srcInfoPoints = []+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 1 182 10+                   , srcInfoPoints = []+                   }+                 "kproxy_id")+              [ PVar+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 11 182 12+                    , srcInfoPoints = []+                    }+                  (Ident+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 11 182 12+                       , srcInfoPoints = []+                       }+                     "x")+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 13 182 16+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 13 182 14 ]+                   }+                 (Var+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 15 182 16+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 15 182 16+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 15 182 16+                            , srcInfoPoints = []+                            }+                          "x"))))+              Nothing+          ]+      , PatBind+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 1 184 30+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 1 184 14+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 1 184 14+                  , srcInfoPoints = []+                  }+                "kproxy_id_use"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 15 184 30+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 15 184 16 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 17 184 30+                  , srcInfoPoints = []+                  }+                (Var+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 17 184 26+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 17 184 26+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 17 184 26+                           , srcInfoPoints = []+                           }+                         "kproxy_id")))+                (Lit+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 27 184 30+                     , srcInfoPoints = []+                     }+                   (Char+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 27 184 30+                        , srcInfoPoints = []+                        }+                      'a'+                      "a"))))+          Nothing+      , TypeFamDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 188 1 188 17+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 188 1 188 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 188 6 188 12+                ]+            }+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 188 13 188 17+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 188 13 188 15+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 188 13 188 15+                     , srcInfoPoints = []+                     }+                   "Gx"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 188 16 188 17+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 188 16 188 17+                     , srcInfoPoints = []+                     }+                   "a")))+          Nothing+          Nothing+      , TypeFamDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 189 1 189 17+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 189 1 189 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 189 6 189 12+                ]+            }+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 189 13 189 17+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 189 13 189 15+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 189 13 189 15+                     , srcInfoPoints = []+                     }+                   "Hx"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 189 16 189 17+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 189 16 189 17+                     , srcInfoPoints = []+                     }+                   "a")))+          Nothing+          Nothing+      , TypeFamDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 1 190 17+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 1 190 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 6 190 12+                ]+            }+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 13 190 17+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 13 190 15+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 13 190 15+                     , srcInfoPoints = []+                     }+                   "Gi"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 16 190 17+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 16 190 17+                     , srcInfoPoints = []+                     }+                   "a")))+          (Just+             (TyVarSig+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 18 190 21+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 18 190 19 ]+                  }+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 20 190 21+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 20 190 21+                        , srcInfoPoints = []+                        }+                      "r"))))+          (Just+             (InjectivityInfo+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 22 190 30+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 22 190 23+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 26 190 28+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 24 190 25+                     , srcInfoPoints = []+                     }+                   "r")+                [ Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 29 190 30+                      , srcInfoPoints = []+                      }+                    "a"+                ]))+      , TypeInsDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 1 191 28+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 1 191 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 6 191 14+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 22 191 23+                ]+            }+          (TyApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 15 191 21+               , srcInfoPoints = []+               }+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 15 191 17+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 15 191 17+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 15 191 17+                        , srcInfoPoints = []+                        }+                      "Gi")))+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 18 191 21+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 18 191 21+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 18 191 21+                        , srcInfoPoints = []+                        }+                      "Int"))))+          (TyCon+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 24 191 28+               , srcInfoPoints = []+               }+             (UnQual+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 24 191 28+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 24 191 28+                     , srcInfoPoints = []+                     }+                   "Char")))+      , TypeFamDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 1 192 17+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 1 192 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 6 192 12+                ]+            }+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 13 192 17+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 13 192 15+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 13 192 15+                     , srcInfoPoints = []+                     }+                   "Hi"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 16 192 17+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 16 192 17+                     , srcInfoPoints = []+                     }+                   "a")))+          (Just+             (TyVarSig+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 18 192 21+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 18 192 19 ]+                  }+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 20 192 21+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 20 192 21+                        , srcInfoPoints = []+                        }+                      "r"))))+          (Just+             (InjectivityInfo+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 22 192 30+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 22 192 23+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 26 192 28+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 24 192 25+                     , srcInfoPoints = []+                     }+                   "r")+                [ Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 29 192 30+                      , srcInfoPoints = []+                      }+                    "a"+                ]))+      , TypeFamDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 1 194 17+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 1 194 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 6 194 12+                ]+            }+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 13 194 17+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 13 194 15+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 13 194 15+                     , srcInfoPoints = []+                     }+                   "F2"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 16 194 17+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 16 194 17+                     , srcInfoPoints = []+                     }+                   "a")))+          (Just+             (TyVarSig+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 18 194 21+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 18 194 19 ]+                  }+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 20 194 21+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 20 194 21+                        , srcInfoPoints = []+                        }+                      "r"))))+          (Just+             (InjectivityInfo+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 22 194 30+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 22 194 23+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 26 194 28+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 24 194 25+                     , srcInfoPoints = []+                     }+                   "r")+                [ Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 29 194 30+                      , srcInfoPoints = []+                      }+                    "a"+                ]))+      , TypeInsDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 1 195 36+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 1 195 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 6 195 14+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 28 195 29+                ]+            }+          (TyApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 15 195 21+               , srcInfoPoints = []+               }+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 15 195 17+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 15 195 17+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 15 195 17+                        , srcInfoPoints = []+                        }+                      "F2")))+             (TyList+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 18 195 21+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 18 195 19+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 20 195 21+                      ]+                  }+                (TyVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 19 195 20+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 19 195 20+                        , srcInfoPoints = []+                        }+                      "a"))))+          (TyList+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 30 195 36+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 30 195 31+                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 35 195 36+                   ]+               }+             (TyApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 31 195 35+                  , srcInfoPoints = []+                  }+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 31 195 33+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 31 195 33+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 31 195 33+                           , srcInfoPoints = []+                           }+                         "Gi")))+                (TyVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 34 195 35+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 34 195 35+                        , srcInfoPoints = []+                        }+                      "a"))))+      , TypeInsDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 1 196 41+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 1 196 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 6 196 14+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 28 196 29+                ]+            }+          (TyApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 15 196 27+               , srcInfoPoints = []+               }+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 15 196 17+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 15 196 17+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 15 196 17+                        , srcInfoPoints = []+                        }+                      "F2")))+             (TyParen+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 18 196 27+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 18 196 19+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 26 196 27+                      ]+                  }+                (TyApp+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 19 196 26+                     , srcInfoPoints = []+                     }+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 19 196 24+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 19 196 24+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 19 196 24+                              , srcInfoPoints = []+                              }+                            "Maybe")))+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 25 196 26+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 25 196 26+                           , srcInfoPoints = []+                           }+                         "a")))))+          (TyFun+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 30 196 41+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 35 196 37 ]+               }+             (TyApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 30 196 34+                  , srcInfoPoints = []+                  }+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 30 196 32+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 30 196 32+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 30 196 32+                           , srcInfoPoints = []+                           }+                         "Hi")))+                (TyVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 33 196 34+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 33 196 34+                        , srcInfoPoints = []+                        }+                      "a")))+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 38 196 41+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 38 196 41+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 38 196 41+                        , srcInfoPoints = []+                        }+                      "Int"))))+      , TypeFamDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 1 198 17+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 1 198 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 6 198 12+                ]+            }+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 13 198 17+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 13 198 15+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 13 198 15+                     , srcInfoPoints = []+                     }+                   "F4"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 16 198 17+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 16 198 17+                     , srcInfoPoints = []+                     }+                   "a")))+          (Just+             (TyVarSig+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 18 198 21+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 18 198 19 ]+                  }+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 20 198 21+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 20 198 21+                        , srcInfoPoints = []+                        }+                      "r"))))+          (Just+             (InjectivityInfo+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 22 198 30+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 22 198 23+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 26 198 28+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 24 198 25+                     , srcInfoPoints = []+                     }+                   "r")+                [ Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 29 198 30+                      , srcInfoPoints = []+                      }+                    "a"+                ]))+      , TypeInsDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 1 199 50+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 1 199 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 6 199 14+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 28 199 29+                ]+            }+          (TyApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 15 199 21+               , srcInfoPoints = []+               }+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 15 199 17+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 15 199 17+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 15 199 17+                        , srcInfoPoints = []+                        }+                      "F4")))+             (TyList+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 18 199 21+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 18 199 19+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 20 199 21+                      ]+                  }+                (TyVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 19 199 20+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 19 199 20+                        , srcInfoPoints = []+                        }+                      "a"))))+          (TyTuple+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 30 199 50+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 30 199 31+                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 35 199 36+                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 38 199 39+                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 43 199 44+                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 49 199 50+                   ]+               }+             Boxed+             [ TyApp+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 31 199 35+                   , srcInfoPoints = []+                   }+                 (TyCon+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 31 199 33+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 31 199 33+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 31 199 33+                            , srcInfoPoints = []+                            }+                          "Gx")))+                 (TyVar+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 34 199 35+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 34 199 35+                         , srcInfoPoints = []+                         }+                       "a"))+             , TyVar+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 37 199 38+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 37 199 38+                      , srcInfoPoints = []+                      }+                    "a")+             , TyVar+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 42 199 43+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 42 199 43+                      , srcInfoPoints = []+                      }+                    "a")+             , TyVar+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 48 199 49+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 48 199 49+                      , srcInfoPoints = []+                      }+                    "a")+             ])+      , TypeInsDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 1 200 50+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 1 200 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 6 200 14+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 28 200 29+                ]+            }+          (TyApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 15 200 27+               , srcInfoPoints = []+               }+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 15 200 17+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 15 200 17+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 15 200 17+                        , srcInfoPoints = []+                        }+                      "F4")))+             (TyParen+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 18 200 27+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 18 200 19+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 26 200 27+                      ]+                  }+                (TyApp+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 19 200 26+                     , srcInfoPoints = []+                     }+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 19 200 24+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 19 200 24+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 19 200 24+                              , srcInfoPoints = []+                              }+                            "Maybe")))+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 25 200 26+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 25 200 26+                           , srcInfoPoints = []+                           }+                         "a")))))+          (TyTuple+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 30 200 50+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 30 200 31+                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 35 200 36+                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 38 200 39+                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 43 200 44+                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 49 200 50+                   ]+               }+             Boxed+             [ TyApp+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 31 200 35+                   , srcInfoPoints = []+                   }+                 (TyCon+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 31 200 33+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 31 200 33+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 31 200 33+                            , srcInfoPoints = []+                            }+                          "Hx")))+                 (TyVar+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 34 200 35+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 34 200 35+                         , srcInfoPoints = []+                         }+                       "a"))+             , TyVar+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 37 200 38+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 37 200 38+                      , srcInfoPoints = []+                      }+                    "a")+             , TyCon+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 40 200 43+                   , srcInfoPoints = []+                   }+                 (UnQual+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 40 200 43+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 40 200 43+                         , srcInfoPoints = []+                         }+                       "Int"))+             , TyCon+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 45 200 49+                   , srcInfoPoints = []+                   }+                 (UnQual+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 45 200 49+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 45 200 49+                         , srcInfoPoints = []+                         }+                       "Bool"))+             ])+      , TypeFamDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 1 202 19+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 1 202 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 6 202 12+                ]+            }+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 13 202 19+               , srcInfoPoints = []+               }+             (DHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 13 202 17+                  , srcInfoPoints = []+                  }+                (DHead+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 13 202 15+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 13 202 15+                        , srcInfoPoints = []+                        }+                      "G2"))+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 16 202 17+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 16 202 17+                        , srcInfoPoints = []+                        }+                      "a")))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 18 202 19+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 18 202 19+                     , srcInfoPoints = []+                     }+                   "b")))+          (Just+             (TyVarSig+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 20 202 23+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 20 202 21 ]+                  }+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 22 202 23+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 22 202 23+                        , srcInfoPoints = []+                        }+                      "r"))))+          (Just+             (InjectivityInfo+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 24 202 32+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 24 202 25+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 28 202 30+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 26 202 27+                     , srcInfoPoints = []+                     }+                   "r")+                [ Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 31 202 32+                      , srcInfoPoints = []+                      }+                    "a"+                , Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 33 202 34+                      , srcInfoPoints = []+                      }+                    "b"+                ]))+      , TypeInsDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 1 203 36+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 1 203 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 6 203 14+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 28 203 29+                ]+            }+          (TyApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 15 203 27+               , srcInfoPoints = []+               }+             (TyApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 15 203 19+                  , srcInfoPoints = []+                  }+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 15 203 17+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 15 203 17+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 15 203 17+                           , srcInfoPoints = []+                           }+                         "G2")))+                (TyVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 18 203 19+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 18 203 19+                        , srcInfoPoints = []+                        }+                      "a")))+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 23 203 27+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 23 203 27+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 23 203 27+                        , srcInfoPoints = []+                        }+                      "Bool"))))+          (TyTuple+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 30 203 36+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 30 203 31+                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 32 203 33+                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 35 203 36+                   ]+               }+             Boxed+             [ TyVar+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 31 203 32+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 31 203 32+                      , srcInfoPoints = []+                      }+                    "a")+             , TyVar+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 34 203 35+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 34 203 35+                      , srcInfoPoints = []+                      }+                    "a")+             ])+      , TypeInsDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 1 204 39+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 1 204 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 6 204 14+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 28 204 29+                ]+            }+          (TyApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 15 204 24+               , srcInfoPoints = []+               }+             (TyApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 15 204 22+                  , srcInfoPoints = []+                  }+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 15 204 17+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 15 204 17+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 15 204 17+                           , srcInfoPoints = []+                           }+                         "G2")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 18 204 22+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 18 204 22+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 18 204 22+                           , srcInfoPoints = []+                           }+                         "Bool"))))+             (TyVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 23 204 24+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 23 204 24+                     , srcInfoPoints = []+                     }+                   "b")))+          (TyTuple+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 30 204 39+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 30 204 31+                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 32 204 33+                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 38 204 39+                   ]+               }+             Boxed+             [ TyVar+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 31 204 32+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 31 204 32+                      , srcInfoPoints = []+                      }+                    "b")+             , TyCon+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 34 204 38+                   , srcInfoPoints = []+                   }+                 (UnQual+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 34 204 38+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 34 204 38+                         , srcInfoPoints = []+                         }+                       "Bool"))+             ])+      , TypeFamDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 1 206 17+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 1 206 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 6 206 12+                ]+            }+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 13 206 17+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 13 206 15+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 13 206 15+                     , srcInfoPoints = []+                     }+                   "G6"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 16 206 17+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 16 206 17+                     , srcInfoPoints = []+                     }+                   "a")))+          (Just+             (TyVarSig+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 18 206 21+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 18 206 19 ]+                  }+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 20 206 21+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 20 206 21+                        , srcInfoPoints = []+                        }+                      "r"))))+          (Just+             (InjectivityInfo+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 22 206 30+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 22 206 23+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 26 206 28+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 24 206 25+                     , srcInfoPoints = []+                     }+                   "r")+                [ Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 29 206 30+                      , srcInfoPoints = []+                      }+                    "a"+                ]))+      , TypeInsDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 1 207 31+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 1 207 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 6 207 14+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 23 207 24+                ]+            }+          (TyApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 15 207 21+               , srcInfoPoints = []+               }+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 15 207 17+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 15 207 17+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 15 207 17+                        , srcInfoPoints = []+                        }+                      "G6")))+             (TyList+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 18 207 21+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 18 207 19+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 20 207 21+                      ]+                  }+                (TyVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 19 207 20+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 19 207 20+                        , srcInfoPoints = []+                        }+                      "a"))))+          (TyList+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 25 207 31+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 25 207 26+                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 30 207 31+                   ]+               }+             (TyApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 26 207 30+                  , srcInfoPoints = []+                  }+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 26 207 28+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 26 207 28+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 26 207 28+                           , srcInfoPoints = []+                           }+                         "Gi")))+                (TyVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 29 207 30+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 29 207 30+                        , srcInfoPoints = []+                        }+                      "a"))))+      , TypeInsDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 1 208 28+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 1 208 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 6 208 14+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 23 208 24+                ]+            }+          (TyApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 15 208 22+               , srcInfoPoints = []+               }+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 15 208 17+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 15 208 17+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 15 208 17+                        , srcInfoPoints = []+                        }+                      "G6")))+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 18 208 22+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 18 208 22+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 18 208 22+                        , srcInfoPoints = []+                        }+                      "Bool"))))+          (TyCon+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 25 208 28+               , srcInfoPoints = []+               }+             (UnQual+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 25 208 28+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 25 208 28+                     , srcInfoPoints = []+                     }+                   "Int")))+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 1 210 22+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 7 210 9 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 1 210 6+                , srcInfoPoints = []+                }+              "g6_id"+          ]+          (TyFun+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 10 210 22+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 15 210 17 ]+               }+             (TyApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 10 210 14+                  , srcInfoPoints = []+                  }+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 10 210 12+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 10 210 12+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 10 210 12+                           , srcInfoPoints = []+                           }+                         "G6")))+                (TyVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 13 210 14+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 13 210 14+                        , srcInfoPoints = []+                        }+                      "a")))+             (TyApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 18 210 22+                  , srcInfoPoints = []+                  }+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 18 210 20+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 18 210 20+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 18 210 20+                           , srcInfoPoints = []+                           }+                         "G6")))+                (TyVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 21 210 22+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 21 210 22+                        , srcInfoPoints = []+                        }+                      "a"))))+      , FunBind+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 1 211 12+            , srcInfoPoints = []+            }+          [ Match+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 1 211 12+                , srcInfoPoints = []+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 1 211 6+                   , srcInfoPoints = []+                   }+                 "g6_id")+              [ PVar+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 7 211 8+                    , srcInfoPoints = []+                    }+                  (Ident+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 7 211 8+                       , srcInfoPoints = []+                       }+                     "x")+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 9 211 12+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 9 211 10 ]+                   }+                 (Var+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 11 211 12+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 11 211 12+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 11 211 12+                            , srcInfoPoints = []+                            }+                          "x"))))+              Nothing+          ]+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 1 213 17+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 8 213 10 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 1 213 7+                , srcInfoPoints = []+                }+              "g6_use"+          ]+          (TyList+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 11 213 17+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 11 213 12+                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 16 213 17+                   ]+               }+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 12 213 16+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 12 213 16+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 12 213 16+                        , srcInfoPoints = []+                        }+                      "Char"))))+      , PatBind+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 1 214 21+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 1 214 7+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 1 214 7+                  , srcInfoPoints = []+                  }+                "g6_use"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 8 214 21+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 8 214 9 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 10 214 21+                  , srcInfoPoints = []+                  }+                (Var+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 10 214 15+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 10 214 15+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 10 214 15+                           , srcInfoPoints = []+                           }+                         "g6_id")))+                (Lit+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 16 214 21+                     , srcInfoPoints = []+                     }+                   (String+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 16 214 21+                        , srcInfoPoints = []+                        }+                      "foo"+                      "foo"))))+          Nothing+      , TypeFamDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 1 217 24+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 1 217 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 6 217 12+                ]+            }+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 13 217 24+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 13 217 15+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 13 217 15+                     , srcInfoPoints = []+                     }+                   "Id"))+             (KindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 16 217 24+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 16 217 17+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 19 217 21+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 23 217 24+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 17 217 18+                     , srcInfoPoints = []+                     }+                   "a")+                (TyVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 22 217 23+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 22 217 23+                        , srcInfoPoints = []+                        }+                      "k"))))+          (Just+             (TyVarSig+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 25 217 40+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 25 217 26 ]+                  }+                (KindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 27 217 40+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 27 217 28+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 35 217 37+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 39 217 40+                         ]+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 28 217 34+                        , srcInfoPoints = []+                        }+                      "result")+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 38 217 39+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 38 217 39+                           , srcInfoPoints = []+                           }+                         "k")))))+          (Just+             (InjectivityInfo+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 41 217 54+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 41 217 42+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 50 217 52+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 43 217 49+                     , srcInfoPoints = []+                     }+                   "result")+                [ Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 53 217 54+                      , srcInfoPoints = []+                      }+                    "a"+                ]))+      , TypeInsDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 1 218 23+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 1 218 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 6 218 14+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 20 218 21+                ]+            }+          (TyApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 15 218 19+               , srcInfoPoints = []+               }+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 15 218 17+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 15 218 17+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 15 218 17+                        , srcInfoPoints = []+                        }+                      "Id")))+             (TyVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 18 218 19+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 18 218 19+                     , srcInfoPoints = []+                     }+                   "a")))+          (TyVar+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 22 218 23+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 22 218 23+                  , srcInfoPoints = []+                  }+                "a"))+      , TypeFamDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 1 222 31+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 1 222 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 6 222 12+                ]+            }+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 13 222 31+               , srcInfoPoints = []+               }+             (DHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 13 222 29+                  , srcInfoPoints = []+                  }+                (DHead+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 13 222 20+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 13 222 20+                        , srcInfoPoints = []+                        }+                      "IdProxy"))+                (KindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 21 222 29+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 21 222 22+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 24 222 26+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 28 222 29+                         ]+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 22 222 23+                        , srcInfoPoints = []+                        }+                      "a")+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 27 222 28+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 27 222 28+                           , srcInfoPoints = []+                           }+                         "k"))))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 30 222 31+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 30 222 31+                     , srcInfoPoints = []+                     }+                   "b")))+          (Just+             (TyVarSig+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 32 222 35+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 32 222 33 ]+                  }+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 34 222 35+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 34 222 35+                        , srcInfoPoints = []+                        }+                      "r"))))+          (Just+             (InjectivityInfo+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 36 222 44+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 36 222 37+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 40 222 42+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 38 222 39+                     , srcInfoPoints = []+                     }+                   "r")+                [ Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 43 222 44+                      , srcInfoPoints = []+                      }+                    "a"+                ]))+      , TypeInsDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 1 223 37+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 1 223 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 6 223 14+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 27 223 28+                ]+            }+          (TyApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 15 223 26+               , srcInfoPoints = []+               }+             (TyApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 15 223 24+                  , srcInfoPoints = []+                  }+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 15 223 22+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 15 223 22+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 15 223 22+                           , srcInfoPoints = []+                           }+                         "IdProxy")))+                (TyVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 23 223 24+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 23 223 24+                        , srcInfoPoints = []+                        }+                      "a")))+             (TyVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 25 223 26+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 25 223 26+                     , srcInfoPoints = []+                     }+                   "b")))+          (TyApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 29 223 37+               , srcInfoPoints = []+               }+             (TyParen+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 29 223 35+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 29 223 30+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 34 223 35+                      ]+                  }+                (TyApp+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 30 223 34+                     , srcInfoPoints = []+                     }+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 30 223 32+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 30 223 32+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 30 223 32+                              , srcInfoPoints = []+                              }+                            "Id")))+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 33 223 34+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 33 223 34+                           , srcInfoPoints = []+                           }+                         "a"))))+             (TyVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 36 223 37+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 36 223 37+                     , srcInfoPoints = []+                     }+                   "b")))+      , TypeDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 1 226 20+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 1 226 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 14 226 15+                ]+            }+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 6 226 13+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 6 226 11+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 6 226 11+                     , srcInfoPoints = []+                     }+                   "IdSyn"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 12 226 13+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 12 226 13+                     , srcInfoPoints = []+                     }+                   "a")))+          (TyApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 16 226 20+               , srcInfoPoints = []+               }+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 16 226 18+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 16 226 18+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 16 226 18+                        , srcInfoPoints = []+                        }+                      "Id")))+             (TyVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 19 226 20+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 19 226 20+                     , srcInfoPoints = []+                     }+                   "a")))+      , TypeFamDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 1 227 34+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 1 227 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 6 227 12+                ]+            }+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 13 227 34+               , srcInfoPoints = []+               }+             (DHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 13 227 32+                  , srcInfoPoints = []+                  }+                (DHead+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 13 227 23+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 13 227 23+                        , srcInfoPoints = []+                        }+                      "IdProxySyn"))+                (KindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 24 227 32+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 24 227 25+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 27 227 29+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 31 227 32+                         ]+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 25 227 26+                        , srcInfoPoints = []+                        }+                      "a")+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 30 227 31+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 30 227 31+                           , srcInfoPoints = []+                           }+                         "k"))))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 33 227 34+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 33 227 34+                     , srcInfoPoints = []+                     }+                   "b")))+          (Just+             (TyVarSig+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 35 227 38+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 35 227 36 ]+                  }+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 37 227 38+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 37 227 38+                        , srcInfoPoints = []+                        }+                      "r"))))+          (Just+             (InjectivityInfo+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 39 227 47+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 39 227 40+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 43 227 45+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 41 227 42+                     , srcInfoPoints = []+                     }+                   "r")+                [ Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 46 227 47+                      , srcInfoPoints = []+                      }+                    "a"+                ]))+      , TypeInsDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 1 228 43+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 1 228 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 6 228 14+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 30 228 31+                ]+            }+          (TyApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 15 228 29+               , srcInfoPoints = []+               }+             (TyApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 15 228 27+                  , srcInfoPoints = []+                  }+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 15 228 25+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 15 228 25+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 15 228 25+                           , srcInfoPoints = []+                           }+                         "IdProxySyn")))+                (TyVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 26 228 27+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 26 228 27+                        , srcInfoPoints = []+                        }+                      "a")))+             (TyVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 28 228 29+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 28 228 29+                     , srcInfoPoints = []+                     }+                   "b")))+          (TyApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 32 228 43+               , srcInfoPoints = []+               }+             (TyParen+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 32 228 41+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 32 228 33+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 40 228 41+                      ]+                  }+                (TyApp+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 33 228 40+                     , srcInfoPoints = []+                     }+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 33 228 38+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 33 228 38+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 33 228 38+                              , srcInfoPoints = []+                              }+                            "IdSyn")))+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 39 228 40+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 39 228 40+                           , srcInfoPoints = []+                           }+                         "a"))))+             (TyVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 42 228 43+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 42 228 43+                     , srcInfoPoints = []+                     }+                   "b")))+      , TypeFamDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 1 232 33+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 1 232 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 6 232 12+                ]+            }+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 13 232 33+               , srcInfoPoints = []+               }+             (DHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 13 232 24+                  , srcInfoPoints = []+                  }+                (DHead+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 13 232 15+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 13 232 15+                        , srcInfoPoints = []+                        }+                      "Fa"))+                (KindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 16 232 24+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 16 232 17+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 19 232 21+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 23 232 24+                         ]+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 17 232 18+                        , srcInfoPoints = []+                        }+                      "a")+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 22 232 23+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 22 232 23+                           , srcInfoPoints = []+                           }+                         "k"))))+             (KindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 25 232 33+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 25 232 26+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 28 232 30+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 32 232 33+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 26 232 27+                     , srcInfoPoints = []+                     }+                   "b")+                (TyVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 31 232 32+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 31 232 32+                        , srcInfoPoints = []+                        }+                      "k"))))+          (Just+             (TyVarSig+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 34 232 45+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 34 232 35 ]+                  }+                (KindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 36 232 45+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 36 232 37+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 39 232 41+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 44 232 45+                         ]+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 37 232 38+                        , srcInfoPoints = []+                        }+                      "r")+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 42 232 44+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 42 232 44+                           , srcInfoPoints = []+                           }+                         "k2")))))+          (Just+             (InjectivityInfo+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 46 232 54+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 46 232 47+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 50 232 52+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 48 232 49+                     , srcInfoPoints = []+                     }+                   "r")+                [ Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 53 232 54+                      , srcInfoPoints = []+                      }+                    "k"+                ]))+      , TypeInsDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 1 233 25+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 1 233 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 6 233 14+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 22 233 23+                ]+            }+          (TyApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 15 233 21+               , srcInfoPoints = []+               }+             (TyApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 15 233 19+                  , srcInfoPoints = []+                  }+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 15 233 17+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 15 233 17+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 15 233 17+                           , srcInfoPoints = []+                           }+                         "Fa")))+                (TyVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 18 233 19+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 18 233 19+                        , srcInfoPoints = []+                        }+                      "a")))+             (TyVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 20 233 21+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 20 233 21+                     , srcInfoPoints = []+                     }+                   "b")))+          (TyVar+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 24 233 25+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 24 233 25+                  , srcInfoPoints = []+                  }+                "a"))+      , TypeFamDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 1 236 51+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 1 236 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 6 236 12+                ]+            }+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 13 236 51+               , srcInfoPoints = []+               }+             (DHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 13 236 42+                  , srcInfoPoints = []+                  }+                (DHApp+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 13 236 33+                     , srcInfoPoints = []+                     }+                   (DHead+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 13 236 16+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 13 236 16+                           , srcInfoPoints = []+                           }+                         "Arr"))+                   (KindedVar+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 17 236 33+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 17 236 18+                            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 23 236 25+                            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 32 236 33+                            ]+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 18 236 22+                           , srcInfoPoints = []+                           }+                         "repr")+                      (TyFun+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 26 236 32+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 28 236 30 ]+                           }+                         (TyStar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 26 236 27+                              , srcInfoPoints = []+                              })+                         (TyStar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 31 236 32+                              , srcInfoPoints = []+                              }))))+                (KindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 34 236 42+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 34 236 35+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 37 236 39+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 41 236 42+                         ]+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 35 236 36+                        , srcInfoPoints = []+                        }+                      "a")+                   (TyStar+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 40 236 41+                        , srcInfoPoints = []+                        })))+             (KindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 43 236 51+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 43 236 44+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 46 236 48+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 50 236 51+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 44 236 45+                     , srcInfoPoints = []+                     }+                   "b")+                (TyStar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 49 236 50+                     , srcInfoPoints = []+                     })))+          (Just+             (TyVarSig+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 52 236 62+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 52 236 53 ]+                  }+                (KindedVar+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 54 236 62+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 54 236 55+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 57 236 59+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 61 236 62+                         ]+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 55 236 56+                        , srcInfoPoints = []+                        }+                      "r")+                   (TyStar+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 60 236 61+                        , srcInfoPoints = []+                        }))))+          (Just+             (InjectivityInfo+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 63 236 74+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 63 236 64+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 67 236 69+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 65 236 66+                     , srcInfoPoints = []+                     }+                   "r")+                [ Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 70 236 74+                      , srcInfoPoints = []+                      }+                    "repr"+                , Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 75 236 76+                      , srcInfoPoints = []+                      }+                    "a"+                , Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 77 236 78+                      , srcInfoPoints = []+                      }+                    "b"+                ]))+      , ClassDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 238 1 243 51+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 238 1 238 6+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 238 23 238 28+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 5 239 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 5 240 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 5 242 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 5 243 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 1 245 0+                ]+            }+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 238 7 238 22+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 238 7 238 17+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 238 7 238 17+                     , srcInfoPoints = []+                     }+                   "ESymantics"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 238 18 238 22+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 238 18 238 22+                     , srcInfoPoints = []+                     }+                   "repr")))+          []+          (Just+             [ ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 5 239 28+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 9 239 11 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 5 239 28+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 9 239 11 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 5 239 8+                          , srcInfoPoints = []+                          }+                        "int"+                    ]+                    (TyFun+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 12 239 28+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 17 239 19 ]+                         }+                       (TyCon+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 12 239 15+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 12 239 15+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan+                                        "tests/examples/InjectiveTypeFamilies.hs" 239 12 239 15+                                  , srcInfoPoints = []+                                  }+                                "Int")))+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 20 239 28+                            , srcInfoPoints = []+                            }+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 20 239 24+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan+                                        "tests/examples/InjectiveTypeFamilies.hs" 239 20 239 24+                                  , srcInfoPoints = []+                                  }+                                "repr"))+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 25 239 28+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan+                                        "tests/examples/InjectiveTypeFamilies.hs" 239 25 239 28+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan+                                           "tests/examples/InjectiveTypeFamilies.hs" 239 25 239 28+                                     , srcInfoPoints = []+                                     }+                                   "Int"))))))+             , ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 5 240 45+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 9 240 11 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 5 240 45+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 9 240 11 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 5 240 8+                          , srcInfoPoints = []+                          }+                        "add"+                    ]+                    (TyFun+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 12 240 45+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 22 240 24 ]+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 12 240 20+                            , srcInfoPoints = []+                            }+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 12 240 16+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan+                                        "tests/examples/InjectiveTypeFamilies.hs" 240 12 240 16+                                  , srcInfoPoints = []+                                  }+                                "repr"))+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 17 240 20+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan+                                        "tests/examples/InjectiveTypeFamilies.hs" 240 17 240 20+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan+                                           "tests/examples/InjectiveTypeFamilies.hs" 240 17 240 20+                                     , srcInfoPoints = []+                                     }+                                   "Int"))))+                       (TyFun+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 25 240 45+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 34 240 36 ]+                            }+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 25 240 33+                               , srcInfoPoints = []+                               }+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan+                                        "tests/examples/InjectiveTypeFamilies.hs" 240 25 240 29+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan+                                           "tests/examples/InjectiveTypeFamilies.hs" 240 25 240 29+                                     , srcInfoPoints = []+                                     }+                                   "repr"))+                             (TyCon+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan+                                        "tests/examples/InjectiveTypeFamilies.hs" 240 30 240 33+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan+                                           "tests/examples/InjectiveTypeFamilies.hs" 240 30 240 33+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan+                                              "tests/examples/InjectiveTypeFamilies.hs"+                                              240+                                              30+                                              240+                                              33+                                        , srcInfoPoints = []+                                        }+                                      "Int"))))+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 37 240 45+                               , srcInfoPoints = []+                               }+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan+                                        "tests/examples/InjectiveTypeFamilies.hs" 240 37 240 41+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan+                                           "tests/examples/InjectiveTypeFamilies.hs" 240 37 240 41+                                     , srcInfoPoints = []+                                     }+                                   "repr"))+                             (TyCon+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan+                                        "tests/examples/InjectiveTypeFamilies.hs" 240 42 240 45+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan+                                           "tests/examples/InjectiveTypeFamilies.hs" 240 42 240 45+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan+                                              "tests/examples/InjectiveTypeFamilies.hs"+                                              240+                                              42+                                              240+                                              45+                                        , srcInfoPoints = []+                                        }+                                      "Int")))))))+             , ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 5 242 53+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 9 242 11 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 5 242 53+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 9 242 11 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 5 242 8+                          , srcInfoPoints = []+                          }+                        "lam"+                    ]+                    (TyFun+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 12 242 53+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 31 242 33 ]+                         }+                       (TyParen+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 12 242 30+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 12 242 13+                                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 29 242 30+                                ]+                            }+                          (TyFun+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 13 242 29+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 20 242 22+                                   ]+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan+                                        "tests/examples/InjectiveTypeFamilies.hs" 242 13 242 19+                                  , srcInfoPoints = []+                                  }+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan+                                           "tests/examples/InjectiveTypeFamilies.hs" 242 13 242 17+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan+                                              "tests/examples/InjectiveTypeFamilies.hs"+                                              242+                                              13+                                              242+                                              17+                                        , srcInfoPoints = []+                                        }+                                      "repr"))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan+                                           "tests/examples/InjectiveTypeFamilies.hs" 242 18 242 19+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan+                                              "tests/examples/InjectiveTypeFamilies.hs"+                                              242+                                              18+                                              242+                                              19+                                        , srcInfoPoints = []+                                        }+                                      "a")))+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan+                                        "tests/examples/InjectiveTypeFamilies.hs" 242 23 242 29+                                  , srcInfoPoints = []+                                  }+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan+                                           "tests/examples/InjectiveTypeFamilies.hs" 242 23 242 27+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan+                                              "tests/examples/InjectiveTypeFamilies.hs"+                                              242+                                              23+                                              242+                                              27+                                        , srcInfoPoints = []+                                        }+                                      "repr"))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan+                                           "tests/examples/InjectiveTypeFamilies.hs" 242 28 242 29+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan+                                              "tests/examples/InjectiveTypeFamilies.hs"+                                              242+                                              28+                                              242+                                              29+                                        , srcInfoPoints = []+                                        }+                                      "b")))))+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 34 242 53+                            , srcInfoPoints = []+                            }+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 34 242 38+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan+                                        "tests/examples/InjectiveTypeFamilies.hs" 242 34 242 38+                                  , srcInfoPoints = []+                                  }+                                "repr"))+                          (TyParen+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 39 242 53+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 39 242 40+                                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 52 242 53+                                   ]+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan+                                        "tests/examples/InjectiveTypeFamilies.hs" 242 40 242 52+                                  , srcInfoPoints = []+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan+                                           "tests/examples/InjectiveTypeFamilies.hs" 242 40 242 50+                                     , srcInfoPoints = []+                                     }+                                   (TyApp+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan+                                              "tests/examples/InjectiveTypeFamilies.hs"+                                              242+                                              40+                                              242+                                              48+                                        , srcInfoPoints = []+                                        }+                                      (TyCon+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan+                                                 "tests/examples/InjectiveTypeFamilies.hs"+                                                 242+                                                 40+                                                 242+                                                 43+                                           , srcInfoPoints = []+                                           }+                                         (UnQual+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/InjectiveTypeFamilies.hs"+                                                    242+                                                    40+                                                    242+                                                    43+                                              , srcInfoPoints = []+                                              }+                                            (Ident+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/InjectiveTypeFamilies.hs"+                                                       242+                                                       40+                                                       242+                                                       43+                                                 , srcInfoPoints = []+                                                 }+                                               "Arr")))+                                      (TyVar+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan+                                                 "tests/examples/InjectiveTypeFamilies.hs"+                                                 242+                                                 44+                                                 242+                                                 48+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/InjectiveTypeFamilies.hs"+                                                    242+                                                    44+                                                    242+                                                    48+                                              , srcInfoPoints = []+                                              }+                                            "repr")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan+                                              "tests/examples/InjectiveTypeFamilies.hs"+                                              242+                                              49+                                              242+                                              50+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan+                                                 "tests/examples/InjectiveTypeFamilies.hs"+                                                 242+                                                 49+                                                 242+                                                 50+                                           , srcInfoPoints = []+                                           }+                                         "a")))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan+                                           "tests/examples/InjectiveTypeFamilies.hs" 242 51 242 52+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan+                                              "tests/examples/InjectiveTypeFamilies.hs"+                                              242+                                              51+                                              242+                                              52+                                        , srcInfoPoints = []+                                        }+                                      "b")))))))+             , ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 5 243 51+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 9 243 11 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 5 243 51+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 9 243 11 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 5 243 8+                          , srcInfoPoints = []+                          }+                        "app"+                    ]+                    (TyFun+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 12 243 51+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 32 243 34 ]+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 12 243 31+                            , srcInfoPoints = []+                            }+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 12 243 16+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan+                                        "tests/examples/InjectiveTypeFamilies.hs" 243 12 243 16+                                  , srcInfoPoints = []+                                  }+                                "repr"))+                          (TyParen+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 17 243 31+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 17 243 18+                                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 30 243 31+                                   ]+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan+                                        "tests/examples/InjectiveTypeFamilies.hs" 243 18 243 30+                                  , srcInfoPoints = []+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan+                                           "tests/examples/InjectiveTypeFamilies.hs" 243 18 243 28+                                     , srcInfoPoints = []+                                     }+                                   (TyApp+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan+                                              "tests/examples/InjectiveTypeFamilies.hs"+                                              243+                                              18+                                              243+                                              26+                                        , srcInfoPoints = []+                                        }+                                      (TyCon+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan+                                                 "tests/examples/InjectiveTypeFamilies.hs"+                                                 243+                                                 18+                                                 243+                                                 21+                                           , srcInfoPoints = []+                                           }+                                         (UnQual+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/InjectiveTypeFamilies.hs"+                                                    243+                                                    18+                                                    243+                                                    21+                                              , srcInfoPoints = []+                                              }+                                            (Ident+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/InjectiveTypeFamilies.hs"+                                                       243+                                                       18+                                                       243+                                                       21+                                                 , srcInfoPoints = []+                                                 }+                                               "Arr")))+                                      (TyVar+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan+                                                 "tests/examples/InjectiveTypeFamilies.hs"+                                                 243+                                                 22+                                                 243+                                                 26+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/InjectiveTypeFamilies.hs"+                                                    243+                                                    22+                                                    243+                                                    26+                                              , srcInfoPoints = []+                                              }+                                            "repr")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan+                                              "tests/examples/InjectiveTypeFamilies.hs"+                                              243+                                              27+                                              243+                                              28+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan+                                                 "tests/examples/InjectiveTypeFamilies.hs"+                                                 243+                                                 27+                                                 243+                                                 28+                                           , srcInfoPoints = []+                                           }+                                         "a")))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan+                                           "tests/examples/InjectiveTypeFamilies.hs" 243 29 243 30+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan+                                              "tests/examples/InjectiveTypeFamilies.hs"+                                              243+                                              29+                                              243+                                              30+                                        , srcInfoPoints = []+                                        }+                                      "b")))))+                       (TyFun+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 35 243 51+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 42 243 44 ]+                            }+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 35 243 41+                               , srcInfoPoints = []+                               }+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan+                                        "tests/examples/InjectiveTypeFamilies.hs" 243 35 243 39+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan+                                           "tests/examples/InjectiveTypeFamilies.hs" 243 35 243 39+                                     , srcInfoPoints = []+                                     }+                                   "repr"))+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan+                                        "tests/examples/InjectiveTypeFamilies.hs" 243 40 243 41+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan+                                           "tests/examples/InjectiveTypeFamilies.hs" 243 40 243 41+                                     , srcInfoPoints = []+                                     }+                                   "a")))+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 45 243 51+                               , srcInfoPoints = []+                               }+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan+                                        "tests/examples/InjectiveTypeFamilies.hs" 243 45 243 49+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan+                                           "tests/examples/InjectiveTypeFamilies.hs" 243 45 243 49+                                     , srcInfoPoints = []+                                     }+                                   "repr"))+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan+                                        "tests/examples/InjectiveTypeFamilies.hs" 243 50 243 51+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan+                                           "tests/examples/InjectiveTypeFamilies.hs" 243 50 243 51+                                     , srcInfoPoints = []+                                     }+                                   "b"))))))+             ])+      , PatBind+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 1 246 63+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 1 245 4+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 1 245 4+                  , srcInfoPoints = []+                  }+                "te4"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 5 246 63+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 5 245 6 ]+               }+             (Let+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 7 246 63+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 7 245 10+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 7 246 9+                      ]+                  }+                (BDecls+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 11 245 69+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 11 245 11+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 7 246 0+                         ]+                     }+                   [ PatBind+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 11 245 69+                         , srcInfoPoints = []+                         }+                       (PVar+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 11 245 13+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 11 245 13+                               , srcInfoPoints = []+                               }+                             "c3"))+                       (UnGuardedRhs+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 14 245 69+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 14 245 15 ]+                            }+                          (App+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 16 245 69+                               , srcInfoPoints = []+                               }+                             (Var+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan+                                        "tests/examples/InjectiveTypeFamilies.hs" 245 16 245 19+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan+                                           "tests/examples/InjectiveTypeFamilies.hs" 245 16 245 19+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan+                                              "tests/examples/InjectiveTypeFamilies.hs"+                                              245+                                              16+                                              245+                                              19+                                        , srcInfoPoints = []+                                        }+                                      "lam")))+                             (Paren+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan+                                        "tests/examples/InjectiveTypeFamilies.hs" 245 20 245 69+                                  , srcInfoPoints =+                                      [ SrcSpan+                                          "tests/examples/InjectiveTypeFamilies.hs" 245 20 245 21+                                      , SrcSpan+                                          "tests/examples/InjectiveTypeFamilies.hs" 245 68 245 69+                                      ]+                                  }+                                (Lambda+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan+                                           "tests/examples/InjectiveTypeFamilies.hs" 245 21 245 68+                                     , srcInfoPoints =+                                         [ SrcSpan+                                             "tests/examples/InjectiveTypeFamilies.hs" 245 21 245 22+                                         , SrcSpan+                                             "tests/examples/InjectiveTypeFamilies.hs" 245 24 245 26+                                         ]+                                     }+                                   [ PVar+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan+                                               "tests/examples/InjectiveTypeFamilies.hs"+                                               245+                                               22+                                               245+                                               23+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan+                                                  "tests/examples/InjectiveTypeFamilies.hs"+                                                  245+                                                  22+                                                  245+                                                  23+                                            , srcInfoPoints = []+                                            }+                                          "f")+                                   ]+                                   (App+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan+                                              "tests/examples/InjectiveTypeFamilies.hs"+                                              245+                                              27+                                              245+                                              68+                                        , srcInfoPoints = []+                                        }+                                      (Var+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan+                                                 "tests/examples/InjectiveTypeFamilies.hs"+                                                 245+                                                 27+                                                 245+                                                 30+                                           , srcInfoPoints = []+                                           }+                                         (UnQual+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/InjectiveTypeFamilies.hs"+                                                    245+                                                    27+                                                    245+                                                    30+                                              , srcInfoPoints = []+                                              }+                                            (Ident+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/InjectiveTypeFamilies.hs"+                                                       245+                                                       27+                                                       245+                                                       30+                                                 , srcInfoPoints = []+                                                 }+                                               "lam")))+                                      (Paren+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan+                                                 "tests/examples/InjectiveTypeFamilies.hs"+                                                 245+                                                 31+                                                 245+                                                 68+                                           , srcInfoPoints =+                                               [ SrcSpan+                                                   "tests/examples/InjectiveTypeFamilies.hs"+                                                   245+                                                   31+                                                   245+                                                   32+                                               , SrcSpan+                                                   "tests/examples/InjectiveTypeFamilies.hs"+                                                   245+                                                   67+                                                   245+                                                   68+                                               ]+                                           }+                                         (Lambda+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/InjectiveTypeFamilies.hs"+                                                    245+                                                    32+                                                    245+                                                    67+                                              , srcInfoPoints =+                                                  [ SrcSpan+                                                      "tests/examples/InjectiveTypeFamilies.hs"+                                                      245+                                                      32+                                                      245+                                                      33+                                                  , SrcSpan+                                                      "tests/examples/InjectiveTypeFamilies.hs"+                                                      245+                                                      35+                                                      245+                                                      37+                                                  ]+                                              }+                                            [ PVar+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/InjectiveTypeFamilies.hs"+                                                        245+                                                        33+                                                        245+                                                        34+                                                  , srcInfoPoints = []+                                                  }+                                                (Ident+                                                   SrcSpanInfo+                                                     { srcInfoSpan =+                                                         SrcSpan+                                                           "tests/examples/InjectiveTypeFamilies.hs"+                                                           245+                                                           33+                                                           245+                                                           34+                                                     , srcInfoPoints = []+                                                     }+                                                   "x")+                                            ]+                                            (InfixApp+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/InjectiveTypeFamilies.hs"+                                                       245+                                                       38+                                                       245+                                                       67+                                                 , srcInfoPoints = []+                                                 }+                                               (Var+                                                  SrcSpanInfo+                                                    { srcInfoSpan =+                                                        SrcSpan+                                                          "tests/examples/InjectiveTypeFamilies.hs"+                                                          245+                                                          38+                                                          245+                                                          39+                                                    , srcInfoPoints = []+                                                    }+                                                  (UnQual+                                                     SrcSpanInfo+                                                       { srcInfoSpan =+                                                           SrcSpan+                                                             "tests/examples/InjectiveTypeFamilies.hs"+                                                             245+                                                             38+                                                             245+                                                             39+                                                       , srcInfoPoints = []+                                                       }+                                                     (Ident+                                                        SrcSpanInfo+                                                          { srcInfoSpan =+                                                              SrcSpan+                                                                "tests/examples/InjectiveTypeFamilies.hs"+                                                                245+                                                                38+                                                                245+                                                                39+                                                          , srcInfoPoints = []+                                                          }+                                                        "f")))+                                               (QVarOp+                                                  SrcSpanInfo+                                                    { srcInfoSpan =+                                                        SrcSpan+                                                          "tests/examples/InjectiveTypeFamilies.hs"+                                                          245+                                                          40+                                                          245+                                                          45+                                                    , srcInfoPoints =+                                                        [ SrcSpan+                                                            "tests/examples/InjectiveTypeFamilies.hs"+                                                            245+                                                            40+                                                            245+                                                            41+                                                        , SrcSpan+                                                            "tests/examples/InjectiveTypeFamilies.hs"+                                                            245+                                                            41+                                                            245+                                                            44+                                                        , SrcSpan+                                                            "tests/examples/InjectiveTypeFamilies.hs"+                                                            245+                                                            44+                                                            245+                                                            45+                                                        ]+                                                    }+                                                  (UnQual+                                                     SrcSpanInfo+                                                       { srcInfoSpan =+                                                           SrcSpan+                                                             "tests/examples/InjectiveTypeFamilies.hs"+                                                             245+                                                             40+                                                             245+                                                             45+                                                       , srcInfoPoints =+                                                           [ SrcSpan+                                                               "tests/examples/InjectiveTypeFamilies.hs"+                                                               245+                                                               40+                                                               245+                                                               41+                                                           , SrcSpan+                                                               "tests/examples/InjectiveTypeFamilies.hs"+                                                               245+                                                               41+                                                               245+                                                               44+                                                           , SrcSpan+                                                               "tests/examples/InjectiveTypeFamilies.hs"+                                                               245+                                                               44+                                                               245+                                                               45+                                                           ]+                                                       }+                                                     (Ident+                                                        SrcSpanInfo+                                                          { srcInfoSpan =+                                                              SrcSpan+                                                                "tests/examples/InjectiveTypeFamilies.hs"+                                                                245+                                                                41+                                                                245+                                                                44+                                                          , srcInfoPoints = []+                                                          }+                                                        "app")))+                                               (Paren+                                                  SrcSpanInfo+                                                    { srcInfoSpan =+                                                        SrcSpan+                                                          "tests/examples/InjectiveTypeFamilies.hs"+                                                          245+                                                          46+                                                          245+                                                          67+                                                    , srcInfoPoints =+                                                        [ SrcSpan+                                                            "tests/examples/InjectiveTypeFamilies.hs"+                                                            245+                                                            46+                                                            245+                                                            47+                                                        , SrcSpan+                                                            "tests/examples/InjectiveTypeFamilies.hs"+                                                            245+                                                            66+                                                            245+                                                            67+                                                        ]+                                                    }+                                                  (InfixApp+                                                     SrcSpanInfo+                                                       { srcInfoSpan =+                                                           SrcSpan+                                                             "tests/examples/InjectiveTypeFamilies.hs"+                                                             245+                                                             47+                                                             245+                                                             66+                                                       , srcInfoPoints = []+                                                       }+                                                     (Var+                                                        SrcSpanInfo+                                                          { srcInfoSpan =+                                                              SrcSpan+                                                                "tests/examples/InjectiveTypeFamilies.hs"+                                                                245+                                                                47+                                                                245+                                                                48+                                                          , srcInfoPoints = []+                                                          }+                                                        (UnQual+                                                           SrcSpanInfo+                                                             { srcInfoSpan =+                                                                 SrcSpan+                                                                   "tests/examples/InjectiveTypeFamilies.hs"+                                                                   245+                                                                   47+                                                                   245+                                                                   48+                                                             , srcInfoPoints = []+                                                             }+                                                           (Ident+                                                              SrcSpanInfo+                                                                { srcInfoSpan =+                                                                    SrcSpan+                                                                      "tests/examples/InjectiveTypeFamilies.hs"+                                                                      245+                                                                      47+                                                                      245+                                                                      48+                                                                , srcInfoPoints = []+                                                                }+                                                              "f")))+                                                     (QVarOp+                                                        SrcSpanInfo+                                                          { srcInfoSpan =+                                                              SrcSpan+                                                                "tests/examples/InjectiveTypeFamilies.hs"+                                                                245+                                                                49+                                                                245+                                                                54+                                                          , srcInfoPoints =+                                                              [ SrcSpan+                                                                  "tests/examples/InjectiveTypeFamilies.hs"+                                                                  245+                                                                  49+                                                                  245+                                                                  50+                                                              , SrcSpan+                                                                  "tests/examples/InjectiveTypeFamilies.hs"+                                                                  245+                                                                  50+                                                                  245+                                                                  53+                                                              , SrcSpan+                                                                  "tests/examples/InjectiveTypeFamilies.hs"+                                                                  245+                                                                  53+                                                                  245+                                                                  54+                                                              ]+                                                          }+                                                        (UnQual+                                                           SrcSpanInfo+                                                             { srcInfoSpan =+                                                                 SrcSpan+                                                                   "tests/examples/InjectiveTypeFamilies.hs"+                                                                   245+                                                                   49+                                                                   245+                                                                   54+                                                             , srcInfoPoints =+                                                                 [ SrcSpan+                                                                     "tests/examples/InjectiveTypeFamilies.hs"+                                                                     245+                                                                     49+                                                                     245+                                                                     50+                                                                 , SrcSpan+                                                                     "tests/examples/InjectiveTypeFamilies.hs"+                                                                     245+                                                                     50+                                                                     245+                                                                     53+                                                                 , SrcSpan+                                                                     "tests/examples/InjectiveTypeFamilies.hs"+                                                                     245+                                                                     53+                                                                     245+                                                                     54+                                                                 ]+                                                             }+                                                           (Ident+                                                              SrcSpanInfo+                                                                { srcInfoSpan =+                                                                    SrcSpan+                                                                      "tests/examples/InjectiveTypeFamilies.hs"+                                                                      245+                                                                      50+                                                                      245+                                                                      53+                                                                , srcInfoPoints = []+                                                                }+                                                              "app")))+                                                     (Paren+                                                        SrcSpanInfo+                                                          { srcInfoSpan =+                                                              SrcSpan+                                                                "tests/examples/InjectiveTypeFamilies.hs"+                                                                245+                                                                55+                                                                245+                                                                66+                                                          , srcInfoPoints =+                                                              [ SrcSpan+                                                                  "tests/examples/InjectiveTypeFamilies.hs"+                                                                  245+                                                                  55+                                                                  245+                                                                  56+                                                              , SrcSpan+                                                                  "tests/examples/InjectiveTypeFamilies.hs"+                                                                  245+                                                                  65+                                                                  245+                                                                  66+                                                              ]+                                                          }+                                                        (InfixApp+                                                           SrcSpanInfo+                                                             { srcInfoSpan =+                                                                 SrcSpan+                                                                   "tests/examples/InjectiveTypeFamilies.hs"+                                                                   245+                                                                   56+                                                                   245+                                                                   65+                                                             , srcInfoPoints = []+                                                             }+                                                           (Var+                                                              SrcSpanInfo+                                                                { srcInfoSpan =+                                                                    SrcSpan+                                                                      "tests/examples/InjectiveTypeFamilies.hs"+                                                                      245+                                                                      56+                                                                      245+                                                                      57+                                                                , srcInfoPoints = []+                                                                }+                                                              (UnQual+                                                                 SrcSpanInfo+                                                                   { srcInfoSpan =+                                                                       SrcSpan+                                                                         "tests/examples/InjectiveTypeFamilies.hs"+                                                                         245+                                                                         56+                                                                         245+                                                                         57+                                                                   , srcInfoPoints = []+                                                                   }+                                                                 (Ident+                                                                    SrcSpanInfo+                                                                      { srcInfoSpan =+                                                                          SrcSpan+                                                                            "tests/examples/InjectiveTypeFamilies.hs"+                                                                            245+                                                                            56+                                                                            245+                                                                            57+                                                                      , srcInfoPoints = []+                                                                      }+                                                                    "f")))+                                                           (QVarOp+                                                              SrcSpanInfo+                                                                { srcInfoSpan =+                                                                    SrcSpan+                                                                      "tests/examples/InjectiveTypeFamilies.hs"+                                                                      245+                                                                      58+                                                                      245+                                                                      63+                                                                , srcInfoPoints =+                                                                    [ SrcSpan+                                                                        "tests/examples/InjectiveTypeFamilies.hs"+                                                                        245+                                                                        58+                                                                        245+                                                                        59+                                                                    , SrcSpan+                                                                        "tests/examples/InjectiveTypeFamilies.hs"+                                                                        245+                                                                        59+                                                                        245+                                                                        62+                                                                    , SrcSpan+                                                                        "tests/examples/InjectiveTypeFamilies.hs"+                                                                        245+                                                                        62+                                                                        245+                                                                        63+                                                                    ]+                                                                }+                                                              (UnQual+                                                                 SrcSpanInfo+                                                                   { srcInfoSpan =+                                                                       SrcSpan+                                                                         "tests/examples/InjectiveTypeFamilies.hs"+                                                                         245+                                                                         58+                                                                         245+                                                                         63+                                                                   , srcInfoPoints =+                                                                       [ SrcSpan+                                                                           "tests/examples/InjectiveTypeFamilies.hs"+                                                                           245+                                                                           58+                                                                           245+                                                                           59+                                                                       , SrcSpan+                                                                           "tests/examples/InjectiveTypeFamilies.hs"+                                                                           245+                                                                           59+                                                                           245+                                                                           62+                                                                       , SrcSpan+                                                                           "tests/examples/InjectiveTypeFamilies.hs"+                                                                           245+                                                                           62+                                                                           245+                                                                           63+                                                                       ]+                                                                   }+                                                                 (Ident+                                                                    SrcSpanInfo+                                                                      { srcInfoSpan =+                                                                          SrcSpan+                                                                            "tests/examples/InjectiveTypeFamilies.hs"+                                                                            245+                                                                            59+                                                                            245+                                                                            62+                                                                      , srcInfoPoints = []+                                                                      }+                                                                    "app")))+                                                           (Var+                                                              SrcSpanInfo+                                                                { srcInfoSpan =+                                                                    SrcSpan+                                                                      "tests/examples/InjectiveTypeFamilies.hs"+                                                                      245+                                                                      64+                                                                      245+                                                                      65+                                                                , srcInfoPoints = []+                                                                }+                                                              (UnQual+                                                                 SrcSpanInfo+                                                                   { srcInfoSpan =+                                                                       SrcSpan+                                                                         "tests/examples/InjectiveTypeFamilies.hs"+                                                                         245+                                                                         64+                                                                         245+                                                                         65+                                                                   , srcInfoPoints = []+                                                                   }+                                                                 (Ident+                                                                    SrcSpanInfo+                                                                      { srcInfoSpan =+                                                                          SrcSpan+                                                                            "tests/examples/InjectiveTypeFamilies.hs"+                                                                            245+                                                                            64+                                                                            245+                                                                            65+                                                                      , srcInfoPoints = []+                                                                      }+                                                                    "x")))))))))))))))+                       Nothing+                   ])+                (InfixApp+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 10 246 63+                     , srcInfoPoints = []+                     }+                   (Paren+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 10 246 49+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 10 246 11+                            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 48 246 49+                            ]+                        }+                      (InfixApp+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 11 246 48+                           , srcInfoPoints = []+                           }+                         (Var+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 11 246 13+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 11 246 13+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan+                                          "tests/examples/InjectiveTypeFamilies.hs" 246 11 246 13+                                    , srcInfoPoints = []+                                    }+                                  "c3")))+                         (QVarOp+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 14 246 19+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 14 246 15+                                  , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 15 246 18+                                  , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 18 246 19+                                  ]+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 14 246 19+                                 , srcInfoPoints =+                                     [ SrcSpan+                                         "tests/examples/InjectiveTypeFamilies.hs" 246 14 246 15+                                     , SrcSpan+                                         "tests/examples/InjectiveTypeFamilies.hs" 246 15 246 18+                                     , SrcSpan+                                         "tests/examples/InjectiveTypeFamilies.hs" 246 18 246 19+                                     ]+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan+                                          "tests/examples/InjectiveTypeFamilies.hs" 246 15 246 18+                                    , srcInfoPoints = []+                                    }+                                  "app")))+                         (Paren+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 20 246 48+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 20 246 21+                                  , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 47 246 48+                                  ]+                              }+                            (App+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 21 246 47+                                 , srcInfoPoints = []+                                 }+                               (Var+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan+                                          "tests/examples/InjectiveTypeFamilies.hs" 246 21 246 24+                                    , srcInfoPoints = []+                                    }+                                  (UnQual+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan+                                             "tests/examples/InjectiveTypeFamilies.hs" 246 21 246 24+                                       , srcInfoPoints = []+                                       }+                                     (Ident+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan+                                                "tests/examples/InjectiveTypeFamilies.hs"+                                                246+                                                21+                                                246+                                                24+                                          , srcInfoPoints = []+                                          }+                                        "lam")))+                               (Paren+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan+                                          "tests/examples/InjectiveTypeFamilies.hs" 246 25 246 47+                                    , srcInfoPoints =+                                        [ SrcSpan+                                            "tests/examples/InjectiveTypeFamilies.hs" 246 25 246 26+                                        , SrcSpan+                                            "tests/examples/InjectiveTypeFamilies.hs" 246 46 246 47+                                        ]+                                    }+                                  (Lambda+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan+                                             "tests/examples/InjectiveTypeFamilies.hs" 246 26 246 46+                                       , srcInfoPoints =+                                           [ SrcSpan+                                               "tests/examples/InjectiveTypeFamilies.hs"+                                               246+                                               26+                                               246+                                               27+                                           , SrcSpan+                                               "tests/examples/InjectiveTypeFamilies.hs"+                                               246+                                               29+                                               246+                                               31+                                           ]+                                       }+                                     [ PVar+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan+                                                 "tests/examples/InjectiveTypeFamilies.hs"+                                                 246+                                                 27+                                                 246+                                                 28+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan+                                                    "tests/examples/InjectiveTypeFamilies.hs"+                                                    246+                                                    27+                                                    246+                                                    28+                                              , srcInfoPoints = []+                                              }+                                            "x")+                                     ]+                                     (InfixApp+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan+                                                "tests/examples/InjectiveTypeFamilies.hs"+                                                246+                                                32+                                                246+                                                46+                                          , srcInfoPoints = []+                                          }+                                        (Var+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan+                                                   "tests/examples/InjectiveTypeFamilies.hs"+                                                   246+                                                   32+                                                   246+                                                   33+                                             , srcInfoPoints = []+                                             }+                                           (UnQual+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan+                                                      "tests/examples/InjectiveTypeFamilies.hs"+                                                      246+                                                      32+                                                      246+                                                      33+                                                , srcInfoPoints = []+                                                }+                                              (Ident+                                                 SrcSpanInfo+                                                   { srcInfoSpan =+                                                       SrcSpan+                                                         "tests/examples/InjectiveTypeFamilies.hs"+                                                         246+                                                         32+                                                         246+                                                         33+                                                   , srcInfoPoints = []+                                                   }+                                                 "x")))+                                        (QVarOp+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan+                                                   "tests/examples/InjectiveTypeFamilies.hs"+                                                   246+                                                   34+                                                   246+                                                   39+                                             , srcInfoPoints =+                                                 [ SrcSpan+                                                     "tests/examples/InjectiveTypeFamilies.hs"+                                                     246+                                                     34+                                                     246+                                                     35+                                                 , SrcSpan+                                                     "tests/examples/InjectiveTypeFamilies.hs"+                                                     246+                                                     35+                                                     246+                                                     38+                                                 , SrcSpan+                                                     "tests/examples/InjectiveTypeFamilies.hs"+                                                     246+                                                     38+                                                     246+                                                     39+                                                 ]+                                             }+                                           (UnQual+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan+                                                      "tests/examples/InjectiveTypeFamilies.hs"+                                                      246+                                                      34+                                                      246+                                                      39+                                                , srcInfoPoints =+                                                    [ SrcSpan+                                                        "tests/examples/InjectiveTypeFamilies.hs"+                                                        246+                                                        34+                                                        246+                                                        35+                                                    , SrcSpan+                                                        "tests/examples/InjectiveTypeFamilies.hs"+                                                        246+                                                        35+                                                        246+                                                        38+                                                    , SrcSpan+                                                        "tests/examples/InjectiveTypeFamilies.hs"+                                                        246+                                                        38+                                                        246+                                                        39+                                                    ]+                                                }+                                              (Ident+                                                 SrcSpanInfo+                                                   { srcInfoSpan =+                                                       SrcSpan+                                                         "tests/examples/InjectiveTypeFamilies.hs"+                                                         246+                                                         35+                                                         246+                                                         38+                                                   , srcInfoPoints = []+                                                   }+                                                 "add")))+                                        (App+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan+                                                   "tests/examples/InjectiveTypeFamilies.hs"+                                                   246+                                                   40+                                                   246+                                                   46+                                             , srcInfoPoints = []+                                             }+                                           (Var+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan+                                                      "tests/examples/InjectiveTypeFamilies.hs"+                                                      246+                                                      40+                                                      246+                                                      43+                                                , srcInfoPoints = []+                                                }+                                              (UnQual+                                                 SrcSpanInfo+                                                   { srcInfoSpan =+                                                       SrcSpan+                                                         "tests/examples/InjectiveTypeFamilies.hs"+                                                         246+                                                         40+                                                         246+                                                         43+                                                   , srcInfoPoints = []+                                                   }+                                                 (Ident+                                                    SrcSpanInfo+                                                      { srcInfoSpan =+                                                          SrcSpan+                                                            "tests/examples/InjectiveTypeFamilies.hs"+                                                            246+                                                            40+                                                            246+                                                            43+                                                      , srcInfoPoints = []+                                                      }+                                                    "int")))+                                           (Lit+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan+                                                      "tests/examples/InjectiveTypeFamilies.hs"+                                                      246+                                                      44+                                                      246+                                                      46+                                                , srcInfoPoints = []+                                                }+                                              (Int+                                                 SrcSpanInfo+                                                   { srcInfoSpan =+                                                       SrcSpan+                                                         "tests/examples/InjectiveTypeFamilies.hs"+                                                         246+                                                         44+                                                         246+                                                         46+                                                   , srcInfoPoints = []+                                                   }+                                                 14+                                                 "14"))))))))))+                   (QVarOp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 50 246 55+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 50 246 51+                            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 51 246 54+                            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 54 246 55+                            ]+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 50 246 55+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 50 246 51+                               , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 51 246 54+                               , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 54 246 55+                               ]+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 51 246 54+                              , srcInfoPoints = []+                              }+                            "app")))+                   (Paren+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 56 246 63+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 56 246 57+                            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 62 246 63+                            ]+                        }+                      (App+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 57 246 62+                           , srcInfoPoints = []+                           }+                         (Var+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 57 246 60+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 57 246 60+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan+                                          "tests/examples/InjectiveTypeFamilies.hs" 246 57 246 60+                                    , srcInfoPoints = []+                                    }+                                  "int")))+                         (Lit+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 61 246 62+                              , srcInfoPoints = []+                              }+                            (Int+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 61 246 62+                                 , srcInfoPoints = []+                                 }+                               0+                               "0")))))))+          Nothing+      , ClassDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 249 1 252 29+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 249 1 249 6+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 249 19 249 24+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 5 250 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 5 251 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 5 252 5+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 1 254 0+                ]+            }+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 249 7 249 18+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 249 7 249 16+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 249 7 249 16+                     , srcInfoPoints = []+                     }+                   "Manifold'"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 249 17 249 18+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 249 17 249 18+                     , srcInfoPoints = []+                     }+                   "a")))+          []+          (Just+             [ ClsTyFam+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 5 250 30+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 5 250 9 ]+                   }+                 (DHApp+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 10 250 17+                      , srcInfoPoints = []+                      }+                    (DHead+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 10 250 14+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 10 250 14+                            , srcInfoPoints = []+                            }+                          "Base"))+                    (UnkindedVar+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 16 250 17+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 16 250 17+                            , srcInfoPoints = []+                            }+                          "a")))+                 (Just+                    (TyVarSig+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 18 250 21+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 18 250 19 ]+                         }+                       (UnkindedVar+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 20 250 21+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 20 250 21+                               , srcInfoPoints = []+                               }+                             "r"))))+                 (Just+                    (InjectivityInfo+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 22 250 30+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 22 250 23+                             , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 26 250 28+                             ]+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 24 250 25+                            , srcInfoPoints = []+                            }+                          "r")+                       [ Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 29 250 30+                             , srcInfoPoints = []+                             }+                           "a"+                       ]))+             , ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 5 251 27+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 13 251 15 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 5 251 27+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 13 251 15 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 5 251 12+                          , srcInfoPoints = []+                          }+                        "project"+                    ]+                    (TyFun+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 16 251 27+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 18 251 20 ]+                         }+                       (TyVar+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 16 251 17+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 16 251 17+                               , srcInfoPoints = []+                               }+                             "a"))+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 21 251 27+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 21 251 25+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan+                                        "tests/examples/InjectiveTypeFamilies.hs" 251 21 251 25+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan+                                           "tests/examples/InjectiveTypeFamilies.hs" 251 21 251 25+                                     , srcInfoPoints = []+                                     }+                                   "Base")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 26 251 27+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan+                                        "tests/examples/InjectiveTypeFamilies.hs" 251 26 251 27+                                  , srcInfoPoints = []+                                  }+                                "a")))))+             , ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 5 252 29+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 15 252 17 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 5 252 29+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 15 252 17 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 5 252 14+                          , srcInfoPoints = []+                          }+                        "unproject"+                    ]+                    (TyFun+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 18 252 29+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 25 252 27 ]+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 18 252 24+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 18 252 22+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan+                                        "tests/examples/InjectiveTypeFamilies.hs" 252 18 252 22+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan+                                           "tests/examples/InjectiveTypeFamilies.hs" 252 18 252 22+                                     , srcInfoPoints = []+                                     }+                                   "Base")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 23 252 24+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan+                                        "tests/examples/InjectiveTypeFamilies.hs" 252 23 252 24+                                  , srcInfoPoints = []+                                  }+                                "a")))+                       (TyVar+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 28 252 29+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 28 252 29+                               , srcInfoPoints = []+                               }+                             "a"))))+             ])+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 1 254 53+            , srcInfoPoints =+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 5 254 7 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 1 254 4+                , srcInfoPoints = []+                }+              "id'"+          ]+          (TyForall+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 8 254 53+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 8 254 14+                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 16 254 17+                   ]+               }+             (Just+                [ UnkindedVar+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 15 254 16+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 15 254 16+                         , srcInfoPoints = []+                         }+                       "a")+                ])+             (Just+                (CxSingle+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 18 254 36+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 18 254 19+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 32 254 33+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 34 254 36+                         ]+                     }+                   (ParenA+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 18 254 36+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 18 254 19+                            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 32 254 33+                            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 34 254 36+                            ]+                        }+                      (TypeA+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 20 254 31+                           , srcInfoPoints = []+                           }+                         (TyApp+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 20 254 31+                              , srcInfoPoints = []+                              }+                            (TyCon+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 20 254 31+                                 , srcInfoPoints = []+                                 }+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan+                                          "tests/examples/InjectiveTypeFamilies.hs" 254 20 254 29+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan+                                             "tests/examples/InjectiveTypeFamilies.hs" 254 20 254 29+                                       , srcInfoPoints = []+                                       }+                                     "Manifold'")))+                            (TyVar+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 30 254 31+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan+                                          "tests/examples/InjectiveTypeFamilies.hs" 254 30 254 31+                                    , srcInfoPoints = []+                                    }+                                  "a")))))))+             (TyFun+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 37 254 53+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 44 254 46 ]+                  }+                (TyApp+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 37 254 43+                     , srcInfoPoints = []+                     }+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 37 254 41+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 37 254 41+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 37 254 41+                              , srcInfoPoints = []+                              }+                            "Base")))+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 42 254 43+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 42 254 43+                           , srcInfoPoints = []+                           }+                         "a")))+                (TyApp+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 47 254 53+                     , srcInfoPoints = []+                     }+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 47 254 51+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 47 254 51+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 47 254 51+                              , srcInfoPoints = []+                              }+                            "Base")))+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 52 254 53+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 52 254 53+                           , srcInfoPoints = []+                           }+                         "a")))))+      , PatBind+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 1 255 26+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 1 255 4+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 1 255 4+                  , srcInfoPoints = []+                  }+                "id'"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 5 255 26+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 5 255 6 ]+               }+             (InfixApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 7 255 26+                  , srcInfoPoints = []+                  }+                (Var+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 7 255 14+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 7 255 14+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 7 255 14+                           , srcInfoPoints = []+                           }+                         "project")))+                (QVarOp+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 15 255 16+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 15 255 16+                        , srcInfoPoints = []+                        }+                      (Symbol+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 15 255 16+                           , srcInfoPoints = []+                           }+                         ".")))+                (Var+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 17 255 26+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 17 255 26+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 17 255 26+                           , srcInfoPoints = []+                           }+                         "unproject")))))+          Nothing+      ]+  , [ Comment+        False+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 12 15 12 43)+        " defines G, identical to F"+    , Comment+        False+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 27 1 27 81)+        " this is injective - a type variable introduced in the LHS is not mentioned on"+    , Comment+        False+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 28 1 28 56)+        " RHS but we don't claim injectivity in that argument."+    , Comment+        False+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 35 1 35 46)+        " make sure we look through type synonyms..."+    , Comment+        False+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 39 1 39 23)+        " .. but not newtypes"+    , Comment+        False+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 44 1 44 24)+        " Closed type families"+    , Comment+        False+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 46 1 46 80)+        " these are simple conversions from open type families. They should behave the"+    , Comment+        False+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 47 1 47 8)+        " same"+    , Comment+        False+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 64 1 64 72)+        " Here the last equation might return both Int and Char but we have to"+    , Comment+        False+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 65 1 65 61)+        " recognize that it is not possible due to equation overlap"+    , Comment+        False+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 71 1 71 81)+        " This is similar, except that the last equation contains concrete type.  Since"+    , Comment+        False+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 72 1 72 56)+        " it is overlapped it should be dropped with a warning"+    , Comment+        False+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 78 1 78 78)+        " this one was tricky in the early implementation of injectivity.  Now it is"+    , Comment+        False+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 79 1 79 69)+        " identical to the above but we still keep it as a regression test."+    , Comment+        False+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 85 1 85 79)+        " Now let's use declared type families. All the below definitions should work"+    , Comment+        False+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 87 1 87 61)+        " No ambiguity for any of the arguments - all are injective"+    , Comment+        False+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 91 1 91 55)+        " From 1st instance of F: a ~ Int, b ~ Char, c ~ Bool"+    , Comment+        False+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 95 1 95 31)+        " now the closed variant of F"+    , Comment+        False+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 102 1 102 65)+        " The last argument is not injective so it must be instantiated"+    , Comment+        False+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 106 1 106 45)+        " From 1st instance of I: a ~ Int, b ~ Char"+    , Comment+        False+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 110 1 110 30)+        " again, closed variant of I"+    , Comment+        False+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 117 1 117 51)+        " Now we have to test weird closed type families:"+    , Comment+        False+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 145 1 145 73)+        " Declarations below test more liberal RHSs of injectivity annotations:"+    , Comment+        False+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 146 1 146 79)+        " permiting variables to appear in different order than the one in which they"+    , Comment+        False+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 147 1 147 18)+        " were declared."+    , Comment+        False+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 154 1 154 79)+        " repeated tyvars in the RHS of injectivity annotation: no warnings or errors"+    , Comment+        False+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 155 1 155 59)+        " (consistent with behaviour for functional dependencies)"+    , Comment+        False+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 168 1 168 71)+        " Declaring kind injectivity. Here we only claim that knowing the RHS"+    , Comment+        False+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 169 1 169 45)+        " determines the LHS kind but not the type."+    , Comment+        False+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 186 1 186 74)+        " Now test some awkward cases from The Injectivity Paper.  All should be"+    , Comment+        False+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 187 1 187 13)+        " accepted."+    , Comment+        False+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 216 1 216 56)+        " A sole exception to \"bare variables in the RHS\" rule"+    , Comment+        False+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 220 1 220 81)+        " This makes sure that over-saturated type family applications at the top-level"+    , Comment+        False+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 221 1 221 17)+        " are accepted."+    , Comment+        False+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 225 1 225 52)+        " make sure we look through type synonyms properly"+    , Comment+        False+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 230 1 230 80)+        " this has bare variable in the RHS but all LHS varaiables are also bare so it"+    , Comment+        False+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 231 1 231 22)+        " should be accepted"+    , Comment+        False+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 235 1 235 55)+        " Taken from #9587. This exposed a bug in the solver."+    , Comment+        False+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 248 1 248 40)+        " This used to fail during development"+    ]+  )
+ tests/examples/InjectiveTypeFamilies.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/InjectiveTypeFamilies.hs.prettyprinter.golden view
@@ -0,0 +1,253 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE PolyKinds #-}+{-# LANGUAGE TypeFamilyDependencies #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE UndecidableInstances #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE NoMonomorphismRestriction #-}+module T6018 where+import T6018a++type family F a b c = (result :: k) | result -> a b c++type instance F Int Char Bool = Bool++type instance F Char Bool Int = Int++type instance F Bool Int Char = Char++type instance G Bool Int Char = Char++type family I (a :: k) b (c :: k) = r | r -> a b++type instance I Int Char Bool = Bool++type instance I Int Char Int = Bool++type instance I Bool Int Int = Int++type family J a (b :: k) = r | r -> a++type instance J Int b = Char++type MaybeSyn a = Maybe a++newtype MaybeNew a = MaybeNew (Maybe a)++type family K a = r | r -> a++type instance K a = MaybeSyn a++type family M a = r | r -> a++type instance M (Maybe a) = MaybeSyn a++type instance M (MaybeNew a) = MaybeNew a++type family FClosed a b c = result | result -> a b c where+        FClosed Int Char Bool = Bool+        FClosed Char Bool Int = Int+        FClosed Bool Int Char = Char++type family IClosed (a :: *) (b :: *) (c :: *) = r | r -> a b where+        IClosed Int Char Bool = Bool+        IClosed Int Char Int = Bool+        IClosed Bool Int Int = Int++type family JClosed a (b :: k) = r | r -> a where+        JClosed Int b = Char++type family KClosed a = r | r -> a where+        KClosed a = MaybeSyn a++type family Bak a = r | r -> a where+        Bak Int = Char+        Bak Char = Int+        Bak a = a++type family Foo a = r | r -> a where+        Foo Int = Bool+        Foo Bool = Int+        Foo Bool = Bool++type family Bar a = r | r -> a where+        Bar Int = Bool+        Bar Bool = Int+        Bar Bool = Char++f :: F a b c -> F a b c+f x = x++fapp :: Bool+fapp = f True++fc :: FClosed a b c -> FClosed a b c+fc x = x++fcapp :: Bool+fcapp = fc True++i :: I a b Int -> I a b Int+i x = x++iapp :: Bool+iapp = i True++ic :: IClosed a b Int -> IClosed a b Int+ic x = x++icapp :: Bool+icapp = ic True++bak :: Bak a -> Bak a+bak x = x++bakapp1 :: Char+bakapp1 = bak 'c'++bakapp2 :: Double+bakapp2 = bak 1.0++bakapp3 :: ()+bakapp3 = bak ()++foo :: Foo a -> Foo a+foo x = x++fooapp1 :: Bool+fooapp1 = foo True++bar :: Bar a -> Bar a+bar x = x++barapp1 :: Bool+barapp1 = bar True++barapp2 :: Int+barapp2 = bar 1++type family H a b = r | r -> b a++type family Hc a b = r | r -> b a where+        Hc a b = a b++class Hcl a b where+        type Ht a b = r | r -> b a++type family Jx a b = r | r -> a a++type family Jcx a b = r | r -> a a where+        Jcx a b = a b++class Jcl a b where+        type Jt a b = r | r -> a a++type family Kx a b = r | r -> a b b++type family Kcx a b = r | r -> a b b where+        Kcx a b = a b++class Kcl a b where+        type Kt a b = r | r -> a b b++type family L (a :: k1) = (r :: k2) | r -> k1 where+        L 'True = Int+        L 'False = Int+        L Maybe = 3+        L IO = 3++data KProxy (a :: *) = KProxy++type family KP (kproxy :: KProxy k) = r | r -> k++type instance KP ('KProxy :: KProxy Bool) = Int++type instance KP ('KProxy :: KProxy *) = Char++kproxy_id :: KP ('KProxy :: KProxy k) -> KP ('KProxy :: KProxy k)+kproxy_id x = x+kproxy_id_use = kproxy_id 'a'++type family Gx a++type family Hx a++type family Gi a = r | r -> a++type instance Gi Int = Char++type family Hi a = r | r -> a++type family F2 a = r | r -> a++type instance F2 [a] = [Gi a]++type instance F2 (Maybe a) = Hi a -> Int++type family F4 a = r | r -> a++type instance F4 [a] = (Gx a, a, a, a)++type instance F4 (Maybe a) = (Hx a, a, Int, Bool)++type family G2 a b = r | r -> a b++type instance G2 a Bool = (a, a)++type instance G2 Bool b = (b, Bool)++type family G6 a = r | r -> a++type instance G6 [a] = [Gi a]++type instance G6 Bool = Int++g6_id :: G6 a -> G6 a+g6_id x = x++g6_use :: [Char]+g6_use = g6_id "foo"++type family Id (a :: k) = (result :: k) | result -> a++type instance Id a = a++type family IdProxy (a :: k) b = r | r -> a++type instance IdProxy a b = (Id a) b++type IdSyn a = Id a++type family IdProxySyn (a :: k) b = r | r -> a++type instance IdProxySyn a b = (IdSyn a) b++type family Fa (a :: k) (b :: k) = (r :: k2) | r -> k++type instance Fa a b = a++type family Arr (repr :: * -> *) (a :: *) (b :: *) = (r :: *)+     | r -> repr a b++class ESymantics repr where+        int :: Int -> repr Int+        +        add :: repr Int -> repr Int -> repr Int+        +        lam :: (repr a -> repr b) -> repr (Arr repr a b)+        +        app :: repr (Arr repr a b) -> repr a -> repr b+te4+  = let c3 = lam (\ f -> lam (\ x -> f `app` (f `app` (f `app` x))))+      in (c3 `app` (lam (\ x -> x `add` int 14))) `app` (int 0)++class Manifold' a where+        type Base a = r | r -> a+        +        project :: a -> Base a+        +        unproject :: Base a -> a++id' :: forall a . (Manifold' a) => Base a -> Base a+id' = project . unproject
tests/examples/InlineConlike.hs.prettyprinter.golden view
@@ -1,5 +1,3 @@-module Main (main) where- {-# INLINE CONLIKE size #-}  size :: Int
tests/examples/InstanceSigs.hs.prettyprinter.golden view
@@ -1,7 +1,6 @@ {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE InstanceSigs #-} {-# LANGUAGE TypeFamilies #-}-module Main (main) where  instance SupportsDelta (Map k v) where         type Delta (Map k v) = Map k v
tests/examples/LanguagePragma.hs.prettyprinter.golden view
@@ -1,3 +1,2 @@ {-# LANGUAGE RecordWildCards #-}-module Main (main) where main = print "hello"
+ tests/examples/Lib.hs view
@@ -0,0 +1,17 @@+{-# LANGUAGE UnboxedSums, MagicHash #-}++module Lib (flip, getInt) where++import GHC.Exts+import Prelude (Int)++{-# NOINLINE flip #-}+flip :: (# Int | Int# #) -> (# Int# | Int #)+flip (# i | #) = (# | i #)+flip (# | i #) = (# i | #)++{-# NOINLINE getInt #-}+getInt :: (# Int# | Int #) -> Int+getInt (# i | #) = I# i+getInt (# | i #) = i+
+ tests/examples/Lib.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Lib.hs.parser.golden view
@@ -0,0 +1,672 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 1 1 18 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/Lib.hs" 1 1 1 1+            , SrcSpan "tests/examples/Lib.hs" 3 1 3 1+            , SrcSpan "tests/examples/Lib.hs" 3 1 3 1+            , SrcSpan "tests/examples/Lib.hs" 5 1 5 1+            , SrcSpan "tests/examples/Lib.hs" 6 1 6 1+            , SrcSpan "tests/examples/Lib.hs" 8 1 8 1+            , SrcSpan "tests/examples/Lib.hs" 9 1 9 1+            , SrcSpan "tests/examples/Lib.hs" 10 1 10 1+            , SrcSpan "tests/examples/Lib.hs" 11 1 11 1+            , SrcSpan "tests/examples/Lib.hs" 13 1 13 1+            , SrcSpan "tests/examples/Lib.hs" 14 1 14 1+            , SrcSpan "tests/examples/Lib.hs" 15 1 15 1+            , SrcSpan "tests/examples/Lib.hs" 16 1 16 1+            , SrcSpan "tests/examples/Lib.hs" 18 1 18 1+            , SrcSpan "tests/examples/Lib.hs" 18 1 18 1+            ]+        }+      (Just+         (ModuleHead+            SrcSpanInfo+              { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 3 1 3 32+              , srcInfoPoints =+                  [ SrcSpan "tests/examples/Lib.hs" 3 1 3 7+                  , SrcSpan "tests/examples/Lib.hs" 3 27 3 32+                  ]+              }+            (ModuleName+               SrcSpanInfo+                 { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 3 8 3 11+                 , srcInfoPoints = []+                 }+               "Lib")+            Nothing+            (Just+               (ExportSpecList+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 3 12 3 26+                    , srcInfoPoints =+                        [ SrcSpan "tests/examples/Lib.hs" 3 12 3 13+                        , SrcSpan "tests/examples/Lib.hs" 3 17 3 18+                        , SrcSpan "tests/examples/Lib.hs" 3 25 3 26+                        ]+                    }+                  [ EVar+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 3 13 3 17+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 3 13 3 17+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 3 13 3 17+                              , srcInfoPoints = []+                              }+                            "flip"))+                  , EVar+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 3 19 3 25+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 3 19 3 25+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 3 19 3 25+                              , srcInfoPoints = []+                              }+                            "getInt"))+                  ]))))+      [ LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 1 1 1 40+            , srcInfoPoints =+                [ SrcSpan "tests/examples/Lib.hs" 1 1 1 13+                , SrcSpan "tests/examples/Lib.hs" 1 25 1 26+                , SrcSpan "tests/examples/Lib.hs" 1 37 1 40+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 1 14 1 25+                , srcInfoPoints = []+                }+              "UnboxedSums"+          , Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 1 27 1 36+                , srcInfoPoints = []+                }+              "MagicHash"+          ]+      ]+      [ ImportDecl+          { importAnn =+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 5 1 5 16+                , srcInfoPoints = [ SrcSpan "tests/examples/Lib.hs" 5 1 5 7 ]+                }+          , importModule =+              ModuleName+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 5 8 5 16+                  , srcInfoPoints = []+                  }+                "GHC.Exts"+          , importQualified = False+          , importSrc = False+          , importSafe = False+          , importPkg = Nothing+          , importAs = Nothing+          , importSpecs = Nothing+          }+      , ImportDecl+          { importAnn =+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 6 1 6 21+                , srcInfoPoints = [ SrcSpan "tests/examples/Lib.hs" 6 1 6 7 ]+                }+          , importModule =+              ModuleName+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 6 8 6 15+                  , srcInfoPoints = []+                  }+                "Prelude"+          , importQualified = False+          , importSrc = False+          , importSafe = False+          , importPkg = Nothing+          , importAs = Nothing+          , importSpecs =+              Just+                (ImportSpecList+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 6 16 6 21+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/Lib.hs" 6 16 6 17+                         , SrcSpan "tests/examples/Lib.hs" 6 20 6 21+                         ]+                     }+                   False+                   [ IAbs+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 6 17 6 20+                         , srcInfoPoints = []+                         }+                       (NoNamespace+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 6 17 6 20+                            , srcInfoPoints = []+                            })+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 6 17 6 20+                            , srcInfoPoints = []+                            }+                          "Int")+                   ])+          }+      ]+      [ InlineSig+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 8 1 8 22+            , srcInfoPoints =+                [ SrcSpan "tests/examples/Lib.hs" 8 1 8 13+                , SrcSpan "tests/examples/Lib.hs" 8 19 8 22+                ]+            }+          False+          Nothing+          (UnQual+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 8 14 8 18+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 8 14 8 18+                  , srcInfoPoints = []+                  }+                "flip"))+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 1 9 45+            , srcInfoPoints = [ SrcSpan "tests/examples/Lib.hs" 9 6 9 8 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 1 9 5+                , srcInfoPoints = []+                }+              "flip"+          ]+          (TyFun+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 9 9 45+               , srcInfoPoints = [ SrcSpan "tests/examples/Lib.hs" 9 26 9 28 ]+               }+             (TyUnboxedSum+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 9 9 25+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/Lib.hs" 9 9 9 11+                      , SrcSpan "tests/examples/Lib.hs" 9 16 9 17+                      , SrcSpan "tests/examples/Lib.hs" 9 23 9 25+                      ]+                  }+                [ TyCon+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 12 9 15+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 12 9 15+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 12 9 15+                            , srcInfoPoints = []+                            }+                          "Int"))+                , TyCon+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 18 9 22+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 18 9 22+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 18 9 22+                            , srcInfoPoints = []+                            }+                          "Int#"))+                ])+             (TyUnboxedSum+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 29 9 45+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/Lib.hs" 9 29 9 31+                      , SrcSpan "tests/examples/Lib.hs" 9 37 9 38+                      , SrcSpan "tests/examples/Lib.hs" 9 43 9 45+                      ]+                  }+                [ TyCon+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 32 9 36+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 32 9 36+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 32 9 36+                            , srcInfoPoints = []+                            }+                          "Int#"))+                , TyCon+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 39 9 42+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 39 9 42+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 39 9 42+                            , srcInfoPoints = []+                            }+                          "Int"))+                ]))+      , FunBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 10 1 11 27+            , srcInfoPoints = []+            }+          [ Match+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 10 1 10 27+                , srcInfoPoints = []+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 10 1 10 5+                   , srcInfoPoints = []+                   }+                 "flip")+              [ PUnboxedSum+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 10 6 10 15+                    , srcInfoPoints =+                        [ SrcSpan "tests/examples/Lib.hs" 10 6 10 8+                        , SrcSpan "tests/examples/Lib.hs" 10 11 10 12+                        , SrcSpan "tests/examples/Lib.hs" 10 13 10 15+                        ]+                    }+                  0+                  1+                  (PVar+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 10 9 10 10+                       , srcInfoPoints = []+                       }+                     (Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 10 9 10 10+                          , srcInfoPoints = []+                          }+                        "i"))+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 10 16 10 27+                   , srcInfoPoints = [ SrcSpan "tests/examples/Lib.hs" 10 16 10 17 ]+                   }+                 (UnboxedSum+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 10 18 10 27+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/Lib.hs" 10 18 10 20+                          , SrcSpan "tests/examples/Lib.hs" 10 21 10 22+                          , SrcSpan "tests/examples/Lib.hs" 10 25 10 27+                          ]+                      }+                    1+                    0+                    (Var+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 10 23 10 24+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 10 23 10 24+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 10 23 10 24+                               , srcInfoPoints = []+                               }+                             "i")))))+              Nothing+          , Match+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 11 1 11 27+                , srcInfoPoints = []+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 11 1 11 5+                   , srcInfoPoints = []+                   }+                 "flip")+              [ PUnboxedSum+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 11 6 11 15+                    , srcInfoPoints =+                        [ SrcSpan "tests/examples/Lib.hs" 11 6 11 8+                        , SrcSpan "tests/examples/Lib.hs" 11 9 11 10+                        , SrcSpan "tests/examples/Lib.hs" 11 13 11 15+                        ]+                    }+                  1+                  0+                  (PVar+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 11 11 11 12+                       , srcInfoPoints = []+                       }+                     (Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 11 11 11 12+                          , srcInfoPoints = []+                          }+                        "i"))+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 11 16 11 27+                   , srcInfoPoints = [ SrcSpan "tests/examples/Lib.hs" 11 16 11 17 ]+                   }+                 (UnboxedSum+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 11 18 11 27+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/Lib.hs" 11 18 11 20+                          , SrcSpan "tests/examples/Lib.hs" 11 23 11 24+                          , SrcSpan "tests/examples/Lib.hs" 11 25 11 27+                          ]+                      }+                    0+                    1+                    (Var+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 11 21 11 22+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 11 21 11 22+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 11 21 11 22+                               , srcInfoPoints = []+                               }+                             "i")))))+              Nothing+          ]+      , InlineSig+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 13 1 13 24+            , srcInfoPoints =+                [ SrcSpan "tests/examples/Lib.hs" 13 1 13 13+                , SrcSpan "tests/examples/Lib.hs" 13 21 13 24+                ]+            }+          False+          Nothing+          (UnQual+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 13 14 13 20+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 13 14 13 20+                  , srcInfoPoints = []+                  }+                "getInt"))+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 14 1 14 34+            , srcInfoPoints = [ SrcSpan "tests/examples/Lib.hs" 14 8 14 10 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 14 1 14 7+                , srcInfoPoints = []+                }+              "getInt"+          ]+          (TyFun+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 14 11 14 34+               , srcInfoPoints = [ SrcSpan "tests/examples/Lib.hs" 14 28 14 30 ]+               }+             (TyUnboxedSum+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 14 11 14 27+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/Lib.hs" 14 11 14 13+                      , SrcSpan "tests/examples/Lib.hs" 14 19 14 20+                      , SrcSpan "tests/examples/Lib.hs" 14 25 14 27+                      ]+                  }+                [ TyCon+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 14 14 14 18+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 14 14 14 18+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 14 14 14 18+                            , srcInfoPoints = []+                            }+                          "Int#"))+                , TyCon+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 14 21 14 24+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 14 21 14 24+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 14 21 14 24+                            , srcInfoPoints = []+                            }+                          "Int"))+                ])+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 14 31 14 34+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 14 31 14 34+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 14 31 14 34+                        , srcInfoPoints = []+                        }+                      "Int"))))+      , FunBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 15 1 16 21+            , srcInfoPoints = []+            }+          [ Match+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 15 1 15 24+                , srcInfoPoints = []+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 15 1 15 7+                   , srcInfoPoints = []+                   }+                 "getInt")+              [ PUnboxedSum+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 15 8 15 17+                    , srcInfoPoints =+                        [ SrcSpan "tests/examples/Lib.hs" 15 8 15 10+                        , SrcSpan "tests/examples/Lib.hs" 15 13 15 14+                        , SrcSpan "tests/examples/Lib.hs" 15 15 15 17+                        ]+                    }+                  0+                  1+                  (PVar+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 15 11 15 12+                       , srcInfoPoints = []+                       }+                     (Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 15 11 15 12+                          , srcInfoPoints = []+                          }+                        "i"))+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 15 18 15 24+                   , srcInfoPoints = [ SrcSpan "tests/examples/Lib.hs" 15 18 15 19 ]+                   }+                 (App+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 15 20 15 24+                      , srcInfoPoints = []+                      }+                    (Con+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 15 20 15 22+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 15 20 15 22+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 15 20 15 22+                               , srcInfoPoints = []+                               }+                             "I#")))+                    (Var+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 15 23 15 24+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 15 23 15 24+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 15 23 15 24+                               , srcInfoPoints = []+                               }+                             "i")))))+              Nothing+          , Match+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 16 1 16 21+                , srcInfoPoints = []+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 16 1 16 7+                   , srcInfoPoints = []+                   }+                 "getInt")+              [ PUnboxedSum+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 16 8 16 17+                    , srcInfoPoints =+                        [ SrcSpan "tests/examples/Lib.hs" 16 8 16 10+                        , SrcSpan "tests/examples/Lib.hs" 16 11 16 12+                        , SrcSpan "tests/examples/Lib.hs" 16 15 16 17+                        ]+                    }+                  1+                  0+                  (PVar+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 16 13 16 14+                       , srcInfoPoints = []+                       }+                     (Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 16 13 16 14+                          , srcInfoPoints = []+                          }+                        "i"))+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 16 18 16 21+                   , srcInfoPoints = [ SrcSpan "tests/examples/Lib.hs" 16 18 16 19 ]+                   }+                 (Var+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 16 20 16 21+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 16 20 16 21+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 16 20 16 21+                            , srcInfoPoints = []+                            }+                          "i"))))+              Nothing+          ]+      ]+  , []+  )
+ tests/examples/Lib.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Lib.hs.prettyprinter.golden view
@@ -0,0 +1,16 @@+{-# LANGUAGE UnboxedSums, MagicHash #-}+module Lib (flip, getInt) where+import GHC.Exts+import Prelude (Int)++{-# NOINLINE flip #-}++flip :: (# Int | Int# #) -> (# Int# | Int #)+flip (# i | #) = (# | i #)+flip (# | i #) = (# i | #)++{-# NOINLINE getInt #-}++getInt :: (# Int# | Int #) -> Int+getInt (# i | #) = I# i+getInt (# | i #) = i
+ tests/examples/List2.hs view
@@ -0,0 +1,35 @@+{-# LANGUAGE TypeFamilyDependencies #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE UndecidableInstances #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE PolyKinds #-}+{-# LANGUAGE GADTs #-}+-----------------------------------------------------------------------------+-- |+-- Module      :  Type.Family.List+-- Copyright   :  Copyright (C) 2015 Kyle Carter+-- License     :  BSD3+--+-- Maintainer  :  Kyle Carter <kylcarte@indiana.edu>+-- Stability   :  experimental+-- Portability :  RankNTypes+--+-- Convenient aliases and type families for working with+-- type-level lists.+----------------------------------------------------------------------------++module Type.Family.List where++type Ø    = '[]+type (:<) = '(:)+infixr 5 :<+
+ tests/examples/List2.hs.exactprinter.golden view
@@ -0,0 +1,36 @@+{-# LANGUAGE TypeFamilyDependencies #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE UndecidableInstances #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE PolyKinds #-}+{-# LANGUAGE GADTs #-}+-----------------------------------------------------------------------------+-- |+-- Module      :  Type.Family.List+-- Copyright   :  Copyright (C) 2015 Kyle Carter+-- License     :  BSD3+--+-- Maintainer  :  Kyle Carter <kylcarte@indiana.edu>+-- Stability   :  experimental+-- Portability :  RankNTypes+--+-- Convenient aliases and type families for working with+-- type-level lists.+----------------------------------------------------------------------------++module Type.Family.List where++type Ø    = '[]+type :<   = ':+infixr 5 :<++
+ tests/examples/List2.hs.parser.golden view
@@ -0,0 +1,427 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 1 1 36 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/List2.hs" 1 1 1 1+            , SrcSpan "tests/examples/List2.hs" 2 1 2 1+            , SrcSpan "tests/examples/List2.hs" 3 1 3 1+            , SrcSpan "tests/examples/List2.hs" 4 1 4 1+            , SrcSpan "tests/examples/List2.hs" 5 1 5 1+            , SrcSpan "tests/examples/List2.hs" 6 1 6 1+            , SrcSpan "tests/examples/List2.hs" 7 1 7 1+            , SrcSpan "tests/examples/List2.hs" 8 1 8 1+            , SrcSpan "tests/examples/List2.hs" 9 1 9 1+            , SrcSpan "tests/examples/List2.hs" 10 1 10 1+            , SrcSpan "tests/examples/List2.hs" 11 1 11 1+            , SrcSpan "tests/examples/List2.hs" 12 1 12 1+            , SrcSpan "tests/examples/List2.hs" 13 1 13 1+            , SrcSpan "tests/examples/List2.hs" 14 1 14 1+            , SrcSpan "tests/examples/List2.hs" 15 1 15 1+            , SrcSpan "tests/examples/List2.hs" 30 1 30 1+            , SrcSpan "tests/examples/List2.hs" 30 1 30 1+            , SrcSpan "tests/examples/List2.hs" 32 1 32 1+            , SrcSpan "tests/examples/List2.hs" 33 1 33 1+            , SrcSpan "tests/examples/List2.hs" 34 1 34 1+            , SrcSpan "tests/examples/List2.hs" 36 1 36 1+            , SrcSpan "tests/examples/List2.hs" 36 1 36 1+            ]+        }+      (Just+         (ModuleHead+            SrcSpanInfo+              { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 30 1 30 30+              , srcInfoPoints =+                  [ SrcSpan "tests/examples/List2.hs" 30 1 30 7+                  , SrcSpan "tests/examples/List2.hs" 30 25 30 30+                  ]+              }+            (ModuleName+               SrcSpanInfo+                 { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 30 8 30 24+                 , srcInfoPoints = []+                 }+               "Type.Family.List")+            Nothing+            Nothing))+      [ LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 1 1 1 40+            , srcInfoPoints =+                [ SrcSpan "tests/examples/List2.hs" 1 1 1 13+                , SrcSpan "tests/examples/List2.hs" 1 37 1 40+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 1 14 1 36+                , srcInfoPoints = []+                }+              "TypeFamilyDependencies"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 2 1 2 33+            , srcInfoPoints =+                [ SrcSpan "tests/examples/List2.hs" 2 1 2 13+                , SrcSpan "tests/examples/List2.hs" 2 30 2 33+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 2 14 2 29+                , srcInfoPoints = []+                }+              "PatternSynonyms"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 3 1 3 33+            , srcInfoPoints =+                [ SrcSpan "tests/examples/List2.hs" 3 1 3 13+                , SrcSpan "tests/examples/List2.hs" 3 30 3 33+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 3 14 3 29+                , srcInfoPoints = []+                }+              "ConstraintKinds"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 4 1 4 28+            , srcInfoPoints =+                [ SrcSpan "tests/examples/List2.hs" 4 1 4 13+                , SrcSpan "tests/examples/List2.hs" 4 25 4 28+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 4 14 4 24+                , srcInfoPoints = []+                }+              "RankNTypes"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 5 1 5 36+            , srcInfoPoints =+                [ SrcSpan "tests/examples/List2.hs" 5 1 5 13+                , SrcSpan "tests/examples/List2.hs" 5 33 5 36+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 5 14 5 32+                , srcInfoPoints = []+                }+              "StandaloneDeriving"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 6 1 6 35+            , srcInfoPoints =+                [ SrcSpan "tests/examples/List2.hs" 6 1 6 13+                , SrcSpan "tests/examples/List2.hs" 6 32 6 35+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 6 14 6 31+                , srcInfoPoints = []+                }+              "FlexibleInstances"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 7 1 7 40+            , srcInfoPoints =+                [ SrcSpan "tests/examples/List2.hs" 7 1 7 13+                , SrcSpan "tests/examples/List2.hs" 7 37 7 40+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 7 14 7 36+                , srcInfoPoints = []+                }+              "FunctionalDependencies"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 8 1 8 38+            , srcInfoPoints =+                [ SrcSpan "tests/examples/List2.hs" 8 1 8 13+                , SrcSpan "tests/examples/List2.hs" 8 35 8 38+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 8 14 8 34+                , srcInfoPoints = []+                }+              "UndecidableInstances"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 9 1 9 30+            , srcInfoPoints =+                [ SrcSpan "tests/examples/List2.hs" 9 1 9 13+                , SrcSpan "tests/examples/List2.hs" 9 27 9 30+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 9 14 9 26+                , srcInfoPoints = []+                }+              "TypeFamilies"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 10 1 10 28+            , srcInfoPoints =+                [ SrcSpan "tests/examples/List2.hs" 10 1 10 13+                , SrcSpan "tests/examples/List2.hs" 10 25 10 28+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 10 14 10 24+                , srcInfoPoints = []+                }+              "LambdaCase"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 11 1 11 31+            , srcInfoPoints =+                [ SrcSpan "tests/examples/List2.hs" 11 1 11 13+                , SrcSpan "tests/examples/List2.hs" 11 28 11 31+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 11 14 11 27+                , srcInfoPoints = []+                }+              "TypeOperators"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 12 1 12 32+            , srcInfoPoints =+                [ SrcSpan "tests/examples/List2.hs" 12 1 12 13+                , SrcSpan "tests/examples/List2.hs" 12 29 12 32+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 12 14 12 28+                , srcInfoPoints = []+                }+              "KindSignatures"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 13 1 13 27+            , srcInfoPoints =+                [ SrcSpan "tests/examples/List2.hs" 13 1 13 13+                , SrcSpan "tests/examples/List2.hs" 13 24 13 27+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 13 14 13 23+                , srcInfoPoints = []+                }+              "DataKinds"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 14 1 14 27+            , srcInfoPoints =+                [ SrcSpan "tests/examples/List2.hs" 14 1 14 13+                , SrcSpan "tests/examples/List2.hs" 14 24 14 27+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 14 14 14 23+                , srcInfoPoints = []+                }+              "PolyKinds"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 15 1 15 23+            , srcInfoPoints =+                [ SrcSpan "tests/examples/List2.hs" 15 1 15 13+                , SrcSpan "tests/examples/List2.hs" 15 20 15 23+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 15 14 15 19+                , srcInfoPoints = []+                }+              "GADTs"+          ]+      ]+      []+      [ TypeDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 32 1 32 16+            , srcInfoPoints =+                [ SrcSpan "tests/examples/List2.hs" 32 1 32 5+                , SrcSpan "tests/examples/List2.hs" 32 11 32 12+                ]+            }+          (DHead+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 32 6 32 7+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 32 6 32 7+                  , srcInfoPoints = []+                  }+                "\216"))+          (TyPromoted+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 32 13 32 16+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/List2.hs" 32 13 32 14+                   , SrcSpan "tests/examples/List2.hs" 32 15 32 16+                   ]+               }+             (PromotedList+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 32 13 32 16+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/List2.hs" 32 13 32 14+                      , SrcSpan "tests/examples/List2.hs" 32 15 32 16+                      ]+                  }+                True+                []))+      , TypeDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 33 1 33 17+            , srcInfoPoints =+                [ SrcSpan "tests/examples/List2.hs" 33 1 33 5+                , SrcSpan "tests/examples/List2.hs" 33 11 33 12+                ]+            }+          (DHead+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 33 6 33 10+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/List2.hs" 33 6 33 7+                   , SrcSpan "tests/examples/List2.hs" 33 7 33 9+                   , SrcSpan "tests/examples/List2.hs" 33 9 33 10+                   ]+               }+             (Symbol+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 33 7 33 9+                  , srcInfoPoints = []+                  }+                ":<"))+          (TyPromoted+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 33 13 33 17+               , srcInfoPoints = [ SrcSpan "tests/examples/List2.hs" 33 13 33 14 ]+               }+             (PromotedCon+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 33 13 33 17+                  , srcInfoPoints = [ SrcSpan "tests/examples/List2.hs" 33 13 33 14 ]+                  }+                True+                (Special+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 33 14 33 17+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/List2.hs" 33 14 33 15+                         , SrcSpan "tests/examples/List2.hs" 33 15 33 16+                         , SrcSpan "tests/examples/List2.hs" 33 16 33 17+                         ]+                     }+                   (Cons+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 33 15 33 16+                        , srcInfoPoints = []+                        }))))+      , InfixDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 34 1 34 12+            , srcInfoPoints = [ SrcSpan "tests/examples/List2.hs" 34 8 34 9 ]+            }+          (AssocRight+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 34 1 34 7+               , srcInfoPoints = []+               })+          (Just 5)+          [ ConOp+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 34 10 34 12+                , srcInfoPoints = []+                }+              (Symbol+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 34 10 34 12+                   , srcInfoPoints = []+                   }+                 ":<")+          ]+      ]+  , [ Comment+        False+        (SrcSpan "tests/examples/List2.hs" 16 1 16 78)+        "---------------------------------------------------------------------------"+    , Comment False (SrcSpan "tests/examples/List2.hs" 17 1 17 5) " |"+    , Comment+        False+        (SrcSpan "tests/examples/List2.hs" 18 1 18 35)+        " Module      :  Type.Family.List"+    , Comment+        False+        (SrcSpan "tests/examples/List2.hs" 19 1 19 49)+        " Copyright   :  Copyright (C) 2015 Kyle Carter"+    , Comment+        False+        (SrcSpan "tests/examples/List2.hs" 20 1 20 23)+        " License     :  BSD3"+    , Comment False (SrcSpan "tests/examples/List2.hs" 21 1 21 3) ""+    , Comment+        False+        (SrcSpan "tests/examples/List2.hs" 22 1 22 53)+        " Maintainer  :  Kyle Carter <kylcarte@indiana.edu>"+    , Comment+        False+        (SrcSpan "tests/examples/List2.hs" 23 1 23 31)+        " Stability   :  experimental"+    , Comment+        False+        (SrcSpan "tests/examples/List2.hs" 24 1 24 29)+        " Portability :  RankNTypes"+    , Comment False (SrcSpan "tests/examples/List2.hs" 25 1 25 3) ""+    , Comment+        False+        (SrcSpan "tests/examples/List2.hs" 26 1 26 57)+        " Convenient aliases and type families for working with"+    , Comment+        False+        (SrcSpan "tests/examples/List2.hs" 27 1 27 21)+        " type-level lists."+    , Comment+        False+        (SrcSpan "tests/examples/List2.hs" 28 1 28 77)+        "--------------------------------------------------------------------------"+    ]+  )
+ tests/examples/List2.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/List2.hs.prettyprinter.golden view
@@ -0,0 +1,22 @@+{-# LANGUAGE TypeFamilyDependencies #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE UndecidableInstances #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE PolyKinds #-}+{-# LANGUAGE GADTs #-}+module Type.Family.List where++type Ø = '[]++type (:<) = '(:)++infixr 5 :<
+ tests/examples/MagicHashN.hs view
@@ -0,0 +1,7 @@+{-# LANGUAGE MagicHash #-}+module MagicHashN where++a# = 1+b## = 2+c### = 3+main = print (a#, b##, c###)
+ tests/examples/MagicHashN.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/MagicHashN.hs.parser.golden view
@@ -0,0 +1,262 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 1 1 8 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/MagicHashN.hs" 1 1 1 1+            , SrcSpan "tests/examples/MagicHashN.hs" 2 1 2 1+            , SrcSpan "tests/examples/MagicHashN.hs" 2 1 2 1+            , SrcSpan "tests/examples/MagicHashN.hs" 4 1 4 1+            , SrcSpan "tests/examples/MagicHashN.hs" 5 1 5 1+            , SrcSpan "tests/examples/MagicHashN.hs" 6 1 6 1+            , SrcSpan "tests/examples/MagicHashN.hs" 7 1 7 1+            , SrcSpan "tests/examples/MagicHashN.hs" 8 1 8 1+            , SrcSpan "tests/examples/MagicHashN.hs" 8 1 8 1+            ]+        }+      (Just+         (ModuleHead+            SrcSpanInfo+              { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 2 1 2 24+              , srcInfoPoints =+                  [ SrcSpan "tests/examples/MagicHashN.hs" 2 1 2 7+                  , SrcSpan "tests/examples/MagicHashN.hs" 2 19 2 24+                  ]+              }+            (ModuleName+               SrcSpanInfo+                 { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 2 8 2 18+                 , srcInfoPoints = []+                 }+               "MagicHashN")+            Nothing+            Nothing))+      [ LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 1 1 1 27+            , srcInfoPoints =+                [ SrcSpan "tests/examples/MagicHashN.hs" 1 1 1 13+                , SrcSpan "tests/examples/MagicHashN.hs" 1 24 1 27+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 1 14 1 23+                , srcInfoPoints = []+                }+              "MagicHash"+          ]+      ]+      []+      [ PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 4 1 4 7+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 4 1 4 3+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 4 1 4 3+                  , srcInfoPoints = []+                  }+                "a#"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 4 4 4 7+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/MagicHashN.hs" 4 4 4 5 ]+               }+             (Lit+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 4 6 4 7+                  , srcInfoPoints = []+                  }+                (Int+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 4 6 4 7+                     , srcInfoPoints = []+                     }+                   1+                   "1")))+          Nothing+      , PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 5 1 5 8+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 5 1 5 4+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 5 1 5 4+                  , srcInfoPoints = []+                  }+                "b##"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 5 5 5 8+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/MagicHashN.hs" 5 5 5 6 ]+               }+             (Lit+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 5 7 5 8+                  , srcInfoPoints = []+                  }+                (Int+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 5 7 5 8+                     , srcInfoPoints = []+                     }+                   2+                   "2")))+          Nothing+      , PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 6 1 6 9+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 6 1 6 5+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 6 1 6 5+                  , srcInfoPoints = []+                  }+                "c###"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 6 6 6 9+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/MagicHashN.hs" 6 6 6 7 ]+               }+             (Lit+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 6 8 6 9+                  , srcInfoPoints = []+                  }+                (Int+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 6 8 6 9+                     , srcInfoPoints = []+                     }+                   3+                   "3")))+          Nothing+      , PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 1 7 29+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 1 7 5+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 1 7 5+                  , srcInfoPoints = []+                  }+                "main"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 6 7 29+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/MagicHashN.hs" 7 6 7 7 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 8 7 29+                  , srcInfoPoints = []+                  }+                (Var+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 8 7 13+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 8 7 13+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 8 7 13+                           , srcInfoPoints = []+                           }+                         "print")))+                (Tuple+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 14 7 29+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/MagicHashN.hs" 7 14 7 15+                         , SrcSpan "tests/examples/MagicHashN.hs" 7 17 7 18+                         , SrcSpan "tests/examples/MagicHashN.hs" 7 22 7 23+                         , SrcSpan "tests/examples/MagicHashN.hs" 7 28 7 29+                         ]+                     }+                   Boxed+                   [ Var+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 15 7 17+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 15 7 17+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 15 7 17+                               , srcInfoPoints = []+                               }+                             "a#"))+                   , Var+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 19 7 22+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 19 7 22+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 19 7 22+                               , srcInfoPoints = []+                               }+                             "b##"))+                   , Var+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 24 7 28+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 24 7 28+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 24 7 28+                               , srcInfoPoints = []+                               }+                             "c###"))+                   ])))+          Nothing+      ]+  , []+  )
+ tests/examples/MagicHashN.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/MagicHashN.hs.prettyprinter.golden view
@@ -0,0 +1,6 @@+{-# LANGUAGE MagicHash #-}+module MagicHashN where+a# = 1+b## = 2+c### = 3+main = print (a#, b##, c###)
tests/examples/MinimalPragma.hs.prettyprinter.golden view
@@ -1,5 +1,3 @@-module Main (main) where- class Eq a where         (==) :: a -> a -> Bool         
tests/examples/MultiCtxt.hs.parser.golden view
@@ -72,35 +72,46 @@                      , srcInfoPoints =                          [ SrcSpan "tests/examples/MultiCtxt.hs" 5 21 5 23 ]                      }-                   (ClassA+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 16 5 23                         , srcInfoPoints =                             [ SrcSpan "tests/examples/MultiCtxt.hs" 5 21 5 23 ]                         }-                      (UnQual+                      (TyApp                          SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 16 5 18-                           , srcInfoPoints = []+                           { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 16 5 23+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/MultiCtxt.hs" 5 21 5 23 ]                            }-                         (Ident+                         (TyCon                             SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 16 5 18+                              { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 16 5 23+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/MultiCtxt.hs" 5 21 5 23 ]+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 16 5 18+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 16 5 18+                                    , srcInfoPoints = []+                                    }+                                  "Eq")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 19 5 20                               , srcInfoPoints = []                               }-                            "Eq"))-                      [ TyVar-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 19 5 20-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 19 5 20-                               , srcInfoPoints = []-                               }-                             "a")-                      ])))+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 19 5 20+                                 , srcInfoPoints = []+                                 }+                               "a"))))))              (TyParen                 SrcSpanInfo                   { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 24 5 37@@ -122,35 +133,49 @@                            , srcInfoPoints =                                [ SrcSpan "tests/examples/MultiCtxt.hs" 5 32 5 34 ]                            }-                         (ClassA+                         (TypeA                             SrcSpanInfo                               { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 25 5 34                               , srcInfoPoints =                                   [ SrcSpan "tests/examples/MultiCtxt.hs" 5 32 5 34 ]                               }-                            (UnQual+                            (TyApp                                SrcSpanInfo-                                 { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 25 5 29-                                 , srcInfoPoints = []+                                 { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 25 5 34+                                 , srcInfoPoints =+                                     [ SrcSpan "tests/examples/MultiCtxt.hs" 5 32 5 34 ]                                  }-                               (Ident+                               (TyCon                                   SrcSpanInfo-                                    { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 25 5 29+                                    { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 25 5 34+                                    , srcInfoPoints =+                                        [ SrcSpan "tests/examples/MultiCtxt.hs" 5 32 5 34 ]+                                    }+                                  (UnQual+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/MultiCtxt.hs" 5 25 5 29+                                       , srcInfoPoints = []+                                       }+                                     (Ident+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/MultiCtxt.hs" 5 25 5 29+                                          , srcInfoPoints = []+                                          }+                                        "Show")))+                               (TyVar+                                  SrcSpanInfo+                                    { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 30 5 31                                     , srcInfoPoints = []                                     }-                                  "Show"))-                            [ TyVar-                                SrcSpanInfo-                                  { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 30 5 31-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 30 5 31-                                     , srcInfoPoints = []-                                     }-                                   "a")-                            ])))+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/MultiCtxt.hs" 5 30 5 31+                                       , srcInfoPoints = []+                                       }+                                     "a"))))))                    (TyVar                       SrcSpanInfo                         { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 35 5 36
tests/examples/MultiLinePragma.hs.prettyprinter.golden view
@@ -10,7 +10,6 @@     -a     -a     -a #-}-module Main (main) where  main :: IO () main = dat
+ tests/examples/MultiParam.hs view
@@ -0,0 +1,4 @@+module MultiParam where++foo :: MonadError e m => e -> m ()+foo = undefined
+ tests/examples/MultiParam.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/MultiParam.hs.parser.golden view
@@ -0,0 +1,215 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 1 1 5 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/MultiParam.hs" 1 1 1 1+            , SrcSpan "tests/examples/MultiParam.hs" 1 1 1 1+            , SrcSpan "tests/examples/MultiParam.hs" 3 1 3 1+            , SrcSpan "tests/examples/MultiParam.hs" 4 1 4 1+            , SrcSpan "tests/examples/MultiParam.hs" 5 1 5 1+            , SrcSpan "tests/examples/MultiParam.hs" 5 1 5 1+            ]+        }+      (Just+         (ModuleHead+            SrcSpanInfo+              { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 1 1 1 24+              , srcInfoPoints =+                  [ SrcSpan "tests/examples/MultiParam.hs" 1 1 1 7+                  , SrcSpan "tests/examples/MultiParam.hs" 1 19 1 24+                  ]+              }+            (ModuleName+               SrcSpanInfo+                 { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 1 8 1 18+                 , srcInfoPoints = []+                 }+               "MultiParam")+            Nothing+            Nothing))+      []+      []+      [ TypeSig+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 1 3 35+            , srcInfoPoints =+                [ SrcSpan "tests/examples/MultiParam.hs" 3 5 3 7 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 1 3 4+                , srcInfoPoints = []+                }+              "foo"+          ]+          (TyForall+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 8 3 35+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxSingle+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 8 3 25+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/MultiParam.hs" 3 23 3 25 ]+                     }+                   (TypeA+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 8 3 25+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/MultiParam.hs" 3 23 3 25 ]+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 8 3 25+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/MultiParam.hs" 3 23 3 25 ]+                           }+                         (TyApp+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 8 3 25+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/MultiParam.hs" 3 23 3 25 ]+                              }+                            (TyCon+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 8 3 25+                                 , srcInfoPoints =+                                     [ SrcSpan "tests/examples/MultiParam.hs" 3 23 3 25 ]+                                 }+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 8 3 18+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/MultiParam.hs" 3 8 3 18+                                       , srcInfoPoints = []+                                       }+                                     "MonadError")))+                            (TyVar+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 19 3 20+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 19 3 20+                                    , srcInfoPoints = []+                                    }+                                  "e")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 21 3 22+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 21 3 22+                                 , srcInfoPoints = []+                                 }+                               "m"))))))+             (TyFun+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 26 3 35+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/MultiParam.hs" 3 28 3 30 ]+                  }+                (TyVar+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 26 3 27+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 26 3 27+                        , srcInfoPoints = []+                        }+                      "e"))+                (TyApp+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 31 3 35+                     , srcInfoPoints = []+                     }+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 31 3 32+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 31 3 32+                           , srcInfoPoints = []+                           }+                         "m"))+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 33 3 35+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/MultiParam.hs" 3 33 3 34+                            , SrcSpan "tests/examples/MultiParam.hs" 3 34 3 35+                            ]+                        }+                      (Special+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 33 3 35+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/MultiParam.hs" 3 33 3 34+                               , SrcSpan "tests/examples/MultiParam.hs" 3 34 3 35+                               ]+                           }+                         (UnitCon+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 33 3 35+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/MultiParam.hs" 3 33 3 34+                                  , SrcSpan "tests/examples/MultiParam.hs" 3 34 3 35+                                  ]+                              }))))))+      , PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 4 1 4 16+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 4 1 4 4+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 4 1 4 4+                  , srcInfoPoints = []+                  }+                "foo"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 4 5 4 16+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/MultiParam.hs" 4 5 4 6 ]+               }+             (Var+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 4 7 4 16+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 4 7 4 16+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 4 7 4 16+                        , srcInfoPoints = []+                        }+                      "undefined"))))+          Nothing+      ]+  , []+  )
+ tests/examples/MultiParam.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/MultiParam.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+module MultiParam where++foo :: MonadError e m => e -> m ()+foo = undefined
tests/examples/NPlusK.hs.prettyprinter.golden view
@@ -1,3 +1,2 @@ {-# LANGUAGE NPlusKPatterns #-}-module Main (main) where f (n + 3) = n
tests/examples/NegativePatterns.hs.parser.golden view
@@ -490,7 +490,7 @@                         "a")                  ])           ]-          Nothing+          []       , InfixDecl           SrcSpanInfo             { srcInfoSpan =
tests/examples/NegativePatterns.hs.prettyprinter.golden view
@@ -1,4 +1,3 @@-module Main (main) where f 1 = -1 f (-1) = 1 f (-2) = 2
+ tests/examples/NoStartNumIdents.hs view
@@ -0,0 +1,1 @@+1a = ()
+ tests/examples/NoStartNumIdents.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/NoStartNumIdents.hs" 2 1) "Parse error in pattern: 1"
+ tests/examples/NoStartNumIdents.hs.parser.golden view
@@ -0,0 +1,3 @@+ParseFailed+  (SrcLoc "tests/examples/NoStartNumIdents.hs" 2 1)+  "Parse error in pattern: 1"
+ tests/examples/NoStartNumIdents.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/NoStartNumIdents.hs" 2 1) "Parse error in pattern: 1"
+ tests/examples/NoStartNumIdents.hs.prettyprinter.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/NoStartNumIdents.hs" 2 1) "Parse error in pattern: 1"
+ tests/examples/Nounpack2.hs view
@@ -0,0 +1,3 @@+++data Foo = Foo {-# NOUNPACK #-} Int
+ tests/examples/Nounpack2.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Nounpack2.hs.parser.golden view
@@ -0,0 +1,96 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 1 4 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/Nounpack2.hs" 3 1 3 1+            , SrcSpan "tests/examples/Nounpack2.hs" 3 1 3 1+            , SrcSpan "tests/examples/Nounpack2.hs" 3 1 3 1+            , SrcSpan "tests/examples/Nounpack2.hs" 4 1 4 1+            , SrcSpan "tests/examples/Nounpack2.hs" 4 1 4 1+            ]+        }+      Nothing+      []+      []+      [ DataDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 1 3 36+            , srcInfoPoints =+                [ SrcSpan "tests/examples/Nounpack2.hs" 3 10 3 11 ]+            }+          (DataType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 1 3 5+               , srcInfoPoints = []+               })+          Nothing+          (DHead+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 6 3 9+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 6 3 9+                  , srcInfoPoints = []+                  }+                "Foo"))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 12 3 36+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 12 3 36+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 12 3 15+                      , srcInfoPoints = []+                      }+                    "Foo")+                 [ TyBang+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 16 3 36+                       , srcInfoPoints = []+                       }+                     (NoStrictAnnot+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "" (-1) (-1) (-1) (-1)+                          , srcInfoPoints = []+                          })+                     (NoUnpack+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 16 3 32+                          , srcInfoPoints =+                              [ SrcSpan "tests/examples/Nounpack2.hs" 3 16 3 28+                              , SrcSpan "tests/examples/Nounpack2.hs" 3 29 3 32+                              ]+                          })+                     (TyCon+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 33 3 36+                          , srcInfoPoints = []+                          }+                        (UnQual+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 33 3 36+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 33 3 36+                                , srcInfoPoints = []+                                }+                              "Int")))+                 ])+          ]+          []+      ]+  , []+  )
+ tests/examples/Nounpack2.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Nounpack2.hs.prettyprinter.golden view
@@ -0,0 +1,1 @@+data Foo = Foo {-# NOUNPACK #-} Int
tests/examples/OptionsPragma.hs.prettyprinter.golden view
@@ -1,2 +1,1 @@ {-# OPTIONS -fno-warn-orphans #-}-module Main (main) where
tests/examples/Overlapable.hs.prettyprinter.golden view
@@ -1,5 +1,3 @@-module Main (main) where- instance {-# OVERLAP #-} C a  instance {-# NO_OVERLAP #-} C a
+ tests/examples/Overlapping.hs view
@@ -0,0 +1,25 @@+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MultiParamTypeClasses #-}++module Overlapping where++class C a b where+  f :: a -> b -> Bool++instance C a b where+  f _ _ = False++instance {-# OVERLAPPING #-} C a a where+  f _ _ = True++instance {-# OVERLAPS #-} C a a where+  f _ _ = True++instance {-# OVERLAPPABLE #-} C a a where+  f _ _ = True++-- >>> f 'a' 'b'+-- True+--+-- >>> f 'a' "starfish"+-- False
+ tests/examples/Overlapping.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Overlapping.hs.parser.golden view
@@ -0,0 +1,730 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 1 1 26 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/Overlapping.hs" 1 1 1 1+            , SrcSpan "tests/examples/Overlapping.hs" 2 1 2 1+            , SrcSpan "tests/examples/Overlapping.hs" 4 1 4 1+            , SrcSpan "tests/examples/Overlapping.hs" 4 1 4 1+            , SrcSpan "tests/examples/Overlapping.hs" 6 1 6 1+            , SrcSpan "tests/examples/Overlapping.hs" 9 1 9 1+            , SrcSpan "tests/examples/Overlapping.hs" 12 1 12 1+            , SrcSpan "tests/examples/Overlapping.hs" 15 1 15 1+            , SrcSpan "tests/examples/Overlapping.hs" 18 1 18 1+            , SrcSpan "tests/examples/Overlapping.hs" 26 1 26 1+            , SrcSpan "tests/examples/Overlapping.hs" 26 1 26 1+            ]+        }+      (Just+         (ModuleHead+            SrcSpanInfo+              { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 4 1 4 25+              , srcInfoPoints =+                  [ SrcSpan "tests/examples/Overlapping.hs" 4 1 4 7+                  , SrcSpan "tests/examples/Overlapping.hs" 4 20 4 25+                  ]+              }+            (ModuleName+               SrcSpanInfo+                 { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 4 8 4 19+                 , srcInfoPoints = []+                 }+               "Overlapping")+            Nothing+            Nothing))+      [ LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 1 1 1 39+            , srcInfoPoints =+                [ SrcSpan "tests/examples/Overlapping.hs" 1 1 1 13+                , SrcSpan "tests/examples/Overlapping.hs" 1 36 1 39+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 1 14 1 31+                , srcInfoPoints = []+                }+              "FlexibleInstances"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 2 1 2 39+            , srcInfoPoints =+                [ SrcSpan "tests/examples/Overlapping.hs" 2 1 2 13+                , SrcSpan "tests/examples/Overlapping.hs" 2 36 2 39+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 2 14 2 35+                , srcInfoPoints = []+                }+              "MultiParamTypeClasses"+          ]+      ]+      []+      [ ClassDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 6 1 7 22+            , srcInfoPoints =+                [ SrcSpan "tests/examples/Overlapping.hs" 6 1 6 6+                , SrcSpan "tests/examples/Overlapping.hs" 6 13 6 18+                , SrcSpan "tests/examples/Overlapping.hs" 7 3 7 3+                , SrcSpan "tests/examples/Overlapping.hs" 9 1 9 0+                ]+            }+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 6 7 6 12+               , srcInfoPoints = []+               }+             (DHApp+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 6 7 6 10+                  , srcInfoPoints = []+                  }+                (DHead+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 6 7 6 8+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 6 7 6 8+                        , srcInfoPoints = []+                        }+                      "C"))+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 6 9 6 10+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 6 9 6 10+                        , srcInfoPoints = []+                        }+                      "a")))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 6 11 6 12+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 6 11 6 12+                     , srcInfoPoints = []+                     }+                   "b")))+          []+          (Just+             [ ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 7 3 7 22+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/Overlapping.hs" 7 5 7 7 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 7 3 7 22+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/Overlapping.hs" 7 5 7 7 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 7 3 7 4+                          , srcInfoPoints = []+                          }+                        "f"+                    ]+                    (TyFun+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 7 8 7 22+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/Overlapping.hs" 7 10 7 12 ]+                         }+                       (TyVar+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 7 8 7 9+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 7 8 7 9+                               , srcInfoPoints = []+                               }+                             "a"))+                       (TyFun+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 7 13 7 22+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/Overlapping.hs" 7 15 7 17 ]+                            }+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 7 13 7 14+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 7 13 7 14+                                  , srcInfoPoints = []+                                  }+                                "b"))+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 7 18 7 22+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 7 18 7 22+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/Overlapping.hs" 7 18 7 22+                                     , srcInfoPoints = []+                                     }+                                   "Bool"))))))+             ])+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 9 1 12 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/Overlapping.hs" 9 1 9 9+                , SrcSpan "tests/examples/Overlapping.hs" 9 16 9 21+                , SrcSpan "tests/examples/Overlapping.hs" 10 3 10 3+                , SrcSpan "tests/examples/Overlapping.hs" 12 1 12 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 9 10 9 15+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 9 10 9 15+                  , srcInfoPoints = []+                  }+                (IHApp+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 9 10 9 13+                     , srcInfoPoints = []+                     }+                   (IHCon+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 9 10 9 11+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 9 10 9 11+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 9 10 9 11+                              , srcInfoPoints = []+                              }+                            "C")))+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 9 12 9 13+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 9 12 9 13+                           , srcInfoPoints = []+                           }+                         "a")))+                (TyVar+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 9 14 9 15+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 9 14 9 15+                        , srcInfoPoints = []+                        }+                      "b"))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 10 3 10 16+                   , srcInfoPoints = []+                   }+                 (FunBind+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 10 3 10 16+                      , srcInfoPoints = []+                      }+                    [ Match+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 10 3 10 16+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 10 3 10 4+                             , srcInfoPoints = []+                             }+                           "f")+                        [ PWildCard+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 10 5 10 6+                              , srcInfoPoints = []+                              }+                        , PWildCard+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 10 7 10 8+                              , srcInfoPoints = []+                              }+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 10 9 10 16+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/Overlapping.hs" 10 9 10 10 ]+                             }+                           (Con+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 10 11 10 16+                                , srcInfoPoints = []+                                }+                              (UnQual+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/Overlapping.hs" 10 11 10 16+                                   , srcInfoPoints = []+                                   }+                                 (Ident+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/Overlapping.hs" 10 11 10 16+                                      , srcInfoPoints = []+                                      }+                                    "False"))))+                        Nothing+                    ])+             ])+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 1 15 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/Overlapping.hs" 12 1 12 9+                , SrcSpan "tests/examples/Overlapping.hs" 12 36 12 41+                , SrcSpan "tests/examples/Overlapping.hs" 13 3 13 3+                , SrcSpan "tests/examples/Overlapping.hs" 15 1 15 0+                ]+            }+          (Just+             (Overlapping+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 10 12 25+                  , srcInfoPoints = []+                  }))+          (IRule+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 30 12 35+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 30 12 35+                  , srcInfoPoints = []+                  }+                (IHApp+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 30 12 33+                     , srcInfoPoints = []+                     }+                   (IHCon+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 30 12 31+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 30 12 31+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 30 12 31+                              , srcInfoPoints = []+                              }+                            "C")))+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 32 12 33+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 32 12 33+                           , srcInfoPoints = []+                           }+                         "a")))+                (TyVar+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 34 12 35+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 34 12 35+                        , srcInfoPoints = []+                        }+                      "a"))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 13 3 13 15+                   , srcInfoPoints = []+                   }+                 (FunBind+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 13 3 13 15+                      , srcInfoPoints = []+                      }+                    [ Match+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 13 3 13 15+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 13 3 13 4+                             , srcInfoPoints = []+                             }+                           "f")+                        [ PWildCard+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 13 5 13 6+                              , srcInfoPoints = []+                              }+                        , PWildCard+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 13 7 13 8+                              , srcInfoPoints = []+                              }+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 13 9 13 15+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/Overlapping.hs" 13 9 13 10 ]+                             }+                           (Con+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 13 11 13 15+                                , srcInfoPoints = []+                                }+                              (UnQual+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/Overlapping.hs" 13 11 13 15+                                   , srcInfoPoints = []+                                   }+                                 (Ident+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/Overlapping.hs" 13 11 13 15+                                      , srcInfoPoints = []+                                      }+                                    "True"))))+                        Nothing+                    ])+             ])+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 1 18 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/Overlapping.hs" 15 1 15 9+                , SrcSpan "tests/examples/Overlapping.hs" 15 33 15 38+                , SrcSpan "tests/examples/Overlapping.hs" 16 3 16 3+                , SrcSpan "tests/examples/Overlapping.hs" 18 1 18 0+                ]+            }+          (Just+             (Overlaps+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 10 15 22+                  , srcInfoPoints = []+                  }))+          (IRule+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 27 15 32+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 27 15 32+                  , srcInfoPoints = []+                  }+                (IHApp+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 27 15 30+                     , srcInfoPoints = []+                     }+                   (IHCon+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 27 15 28+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 27 15 28+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 27 15 28+                              , srcInfoPoints = []+                              }+                            "C")))+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 29 15 30+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 29 15 30+                           , srcInfoPoints = []+                           }+                         "a")))+                (TyVar+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 31 15 32+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 31 15 32+                        , srcInfoPoints = []+                        }+                      "a"))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 16 3 16 15+                   , srcInfoPoints = []+                   }+                 (FunBind+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 16 3 16 15+                      , srcInfoPoints = []+                      }+                    [ Match+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 16 3 16 15+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 16 3 16 4+                             , srcInfoPoints = []+                             }+                           "f")+                        [ PWildCard+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 16 5 16 6+                              , srcInfoPoints = []+                              }+                        , PWildCard+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 16 7 16 8+                              , srcInfoPoints = []+                              }+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 16 9 16 15+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/Overlapping.hs" 16 9 16 10 ]+                             }+                           (Con+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 16 11 16 15+                                , srcInfoPoints = []+                                }+                              (UnQual+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/Overlapping.hs" 16 11 16 15+                                   , srcInfoPoints = []+                                   }+                                 (Ident+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/Overlapping.hs" 16 11 16 15+                                      , srcInfoPoints = []+                                      }+                                    "True"))))+                        Nothing+                    ])+             ])+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 1 26 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/Overlapping.hs" 18 1 18 9+                , SrcSpan "tests/examples/Overlapping.hs" 18 37 18 42+                , SrcSpan "tests/examples/Overlapping.hs" 19 3 19 3+                , SrcSpan "tests/examples/Overlapping.hs" 26 1 26 0+                ]+            }+          (Just+             (Overlappable+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 10 18 26+                  , srcInfoPoints = []+                  }))+          (IRule+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 31 18 36+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 31 18 36+                  , srcInfoPoints = []+                  }+                (IHApp+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 31 18 34+                     , srcInfoPoints = []+                     }+                   (IHCon+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 31 18 32+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 31 18 32+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 31 18 32+                              , srcInfoPoints = []+                              }+                            "C")))+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 33 18 34+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 33 18 34+                           , srcInfoPoints = []+                           }+                         "a")))+                (TyVar+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 35 18 36+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 35 18 36+                        , srcInfoPoints = []+                        }+                      "a"))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 19 3 19 15+                   , srcInfoPoints = []+                   }+                 (FunBind+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 19 3 19 15+                      , srcInfoPoints = []+                      }+                    [ Match+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 19 3 19 15+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 19 3 19 4+                             , srcInfoPoints = []+                             }+                           "f")+                        [ PWildCard+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 19 5 19 6+                              , srcInfoPoints = []+                              }+                        , PWildCard+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 19 7 19 8+                              , srcInfoPoints = []+                              }+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 19 9 19 15+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/Overlapping.hs" 19 9 19 10 ]+                             }+                           (Con+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 19 11 19 15+                                , srcInfoPoints = []+                                }+                              (UnQual+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/Overlapping.hs" 19 11 19 15+                                   , srcInfoPoints = []+                                   }+                                 (Ident+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/Overlapping.hs" 19 11 19 15+                                      , srcInfoPoints = []+                                      }+                                    "True"))))+                        Nothing+                    ])+             ])+      ]+  , [ Comment+        False+        (SrcSpan "tests/examples/Overlapping.hs" 21 1 21 17)+        " >>> f 'a' 'b'"+    , Comment+        False (SrcSpan "tests/examples/Overlapping.hs" 22 1 22 8) " True"+    , Comment+        False (SrcSpan "tests/examples/Overlapping.hs" 23 1 23 3) ""+    , Comment+        False+        (SrcSpan "tests/examples/Overlapping.hs" 24 1 24 24)+        " >>> f 'a' \"starfish\""+    , Comment+        False (SrcSpan "tests/examples/Overlapping.hs" 25 1 25 9) " False"+    ]+  )
+ tests/examples/Overlapping.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Overlapping.hs.prettyprinter.golden view
@@ -0,0 +1,18 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+module Overlapping where++class C a b where+        f :: a -> b -> Bool++instance C a b where+        f _ _ = False++instance {-# OVERLAPPING #-} C a a where+        f _ _ = True++instance {-# OVERLAPS #-} C a a where+        f _ _ = True++instance {-# OVERLAPPABLE #-} C a a where+        f _ _ = True
+ tests/examples/OverloadedLabels.hs view
@@ -0,0 +1,29 @@+-- Basic tests of overloaded labels++{-# LANGUAGE OverloadedLabels+           , DataKinds+           , FlexibleContexts+           , FlexibleInstances+           , MultiParamTypeClasses+           , NoMonomorphismRestriction+  #-}++import GHC.OverloadedLabels++instance IsLabel "true" Bool where+  fromLabel _ = True++instance IsLabel "_False1'" Bool where+  fromLabel _ = False++a :: IsLabel "true" t => t+a = #true++b = #_False1'++c :: Bool+c = #true++main = do print (a :: Bool)+          print (b :: Bool)+          print c
+ tests/examples/OverloadedLabels.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/OverloadedLabels.hs.parser.golden view
@@ -0,0 +1,911 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan =+            SrcSpan "tests/examples/OverloadedLabels.hs" 3 1 30 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/OverloadedLabels.hs" 3 1 3 1+            , SrcSpan "tests/examples/OverloadedLabels.hs" 11 1 11 1+            , SrcSpan "tests/examples/OverloadedLabels.hs" 11 1 11 1+            , SrcSpan "tests/examples/OverloadedLabels.hs" 11 1 11 1+            , SrcSpan "tests/examples/OverloadedLabels.hs" 13 1 13 1+            , SrcSpan "tests/examples/OverloadedLabels.hs" 16 1 16 1+            , SrcSpan "tests/examples/OverloadedLabels.hs" 19 1 19 1+            , SrcSpan "tests/examples/OverloadedLabels.hs" 20 1 20 1+            , SrcSpan "tests/examples/OverloadedLabels.hs" 22 1 22 1+            , SrcSpan "tests/examples/OverloadedLabels.hs" 24 1 24 1+            , SrcSpan "tests/examples/OverloadedLabels.hs" 25 1 25 1+            , SrcSpan "tests/examples/OverloadedLabels.hs" 27 1 27 1+            , SrcSpan "tests/examples/OverloadedLabels.hs" 30 1 30 1+            , SrcSpan "tests/examples/OverloadedLabels.hs" 30 1 30 1+            ]+        }+      Nothing+      [ LanguagePragma+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/OverloadedLabels.hs" 3 1 9 6+            , srcInfoPoints =+                [ SrcSpan "tests/examples/OverloadedLabels.hs" 3 1 3 13+                , SrcSpan "tests/examples/OverloadedLabels.hs" 4 12 4 13+                , SrcSpan "tests/examples/OverloadedLabels.hs" 5 12 5 13+                , SrcSpan "tests/examples/OverloadedLabels.hs" 6 12 6 13+                , SrcSpan "tests/examples/OverloadedLabels.hs" 7 12 7 13+                , SrcSpan "tests/examples/OverloadedLabels.hs" 8 12 8 13+                , SrcSpan "tests/examples/OverloadedLabels.hs" 9 3 9 6+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/OverloadedLabels.hs" 3 14 3 30+                , srcInfoPoints = []+                }+              "OverloadedLabels"+          , Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/OverloadedLabels.hs" 4 14 4 23+                , srcInfoPoints = []+                }+              "DataKinds"+          , Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/OverloadedLabels.hs" 5 14 5 30+                , srcInfoPoints = []+                }+              "FlexibleContexts"+          , Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/OverloadedLabels.hs" 6 14 6 31+                , srcInfoPoints = []+                }+              "FlexibleInstances"+          , Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/OverloadedLabels.hs" 7 14 7 35+                , srcInfoPoints = []+                }+              "MultiParamTypeClasses"+          , Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/OverloadedLabels.hs" 8 14 8 39+                , srcInfoPoints = []+                }+              "NoMonomorphismRestriction"+          ]+      ]+      [ ImportDecl+          { importAnn =+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/OverloadedLabels.hs" 11 1 11 28+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/OverloadedLabels.hs" 11 1 11 7 ]+                }+          , importModule =+              ModuleName+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/OverloadedLabels.hs" 11 8 11 28+                  , srcInfoPoints = []+                  }+                "GHC.OverloadedLabels"+          , importQualified = False+          , importSrc = False+          , importSafe = False+          , importPkg = Nothing+          , importAs = Nothing+          , importSpecs = Nothing+          }+      ]+      [ InstDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/OverloadedLabels.hs" 13 1 16 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/OverloadedLabels.hs" 13 1 13 9+                , SrcSpan "tests/examples/OverloadedLabels.hs" 13 30 13 35+                , SrcSpan "tests/examples/OverloadedLabels.hs" 14 3 14 3+                , SrcSpan "tests/examples/OverloadedLabels.hs" 16 1 16 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/OverloadedLabels.hs" 13 10 13 29+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/OverloadedLabels.hs" 13 10 13 29+                  , srcInfoPoints = []+                  }+                (IHApp+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/OverloadedLabels.hs" 13 10 13 24+                     , srcInfoPoints = []+                     }+                   (IHCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/OverloadedLabels.hs" 13 10 13 17+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/OverloadedLabels.hs" 13 10 13 17+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/OverloadedLabels.hs" 13 10 13 17+                              , srcInfoPoints = []+                              }+                            "IsLabel")))+                   (TyPromoted+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/OverloadedLabels.hs" 13 18 13 24+                        , srcInfoPoints = []+                        }+                      (PromotedString+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/OverloadedLabels.hs" 13 18 13 24+                           , srcInfoPoints = []+                           }+                         "true"+                         "true")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/OverloadedLabels.hs" 13 25 13 29+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/OverloadedLabels.hs" 13 25 13 29+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/OverloadedLabels.hs" 13 25 13 29+                           , srcInfoPoints = []+                           }+                         "Bool")))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/OverloadedLabels.hs" 14 3 14 21+                   , srcInfoPoints = []+                   }+                 (FunBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/OverloadedLabels.hs" 14 3 14 21+                      , srcInfoPoints = []+                      }+                    [ Match+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/OverloadedLabels.hs" 14 3 14 21+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/OverloadedLabels.hs" 14 3 14 12+                             , srcInfoPoints = []+                             }+                           "fromLabel")+                        [ PWildCard+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/OverloadedLabels.hs" 14 13 14 14+                              , srcInfoPoints = []+                              }+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/OverloadedLabels.hs" 14 15 14 21+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/OverloadedLabels.hs" 14 15 14 16 ]+                             }+                           (Con+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/OverloadedLabels.hs" 14 17 14 21+                                , srcInfoPoints = []+                                }+                              (UnQual+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/OverloadedLabels.hs" 14 17 14 21+                                   , srcInfoPoints = []+                                   }+                                 (Ident+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/OverloadedLabels.hs" 14 17 14 21+                                      , srcInfoPoints = []+                                      }+                                    "True"))))+                        Nothing+                    ])+             ])+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/OverloadedLabels.hs" 16 1 19 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/OverloadedLabels.hs" 16 1 16 9+                , SrcSpan "tests/examples/OverloadedLabels.hs" 16 34 16 39+                , SrcSpan "tests/examples/OverloadedLabels.hs" 17 3 17 3+                , SrcSpan "tests/examples/OverloadedLabels.hs" 19 1 19 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/OverloadedLabels.hs" 16 10 16 33+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/OverloadedLabels.hs" 16 10 16 33+                  , srcInfoPoints = []+                  }+                (IHApp+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/OverloadedLabels.hs" 16 10 16 28+                     , srcInfoPoints = []+                     }+                   (IHCon+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/OverloadedLabels.hs" 16 10 16 17+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/OverloadedLabels.hs" 16 10 16 17+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/OverloadedLabels.hs" 16 10 16 17+                              , srcInfoPoints = []+                              }+                            "IsLabel")))+                   (TyPromoted+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/OverloadedLabels.hs" 16 18 16 28+                        , srcInfoPoints = []+                        }+                      (PromotedString+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/OverloadedLabels.hs" 16 18 16 28+                           , srcInfoPoints = []+                           }+                         "_False1'"+                         "_False1'")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/OverloadedLabels.hs" 16 29 16 33+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/OverloadedLabels.hs" 16 29 16 33+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/OverloadedLabels.hs" 16 29 16 33+                           , srcInfoPoints = []+                           }+                         "Bool")))))+          (Just+             [ InsDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/OverloadedLabels.hs" 17 3 17 22+                   , srcInfoPoints = []+                   }+                 (FunBind+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/OverloadedLabels.hs" 17 3 17 22+                      , srcInfoPoints = []+                      }+                    [ Match+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/OverloadedLabels.hs" 17 3 17 22+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/OverloadedLabels.hs" 17 3 17 12+                             , srcInfoPoints = []+                             }+                           "fromLabel")+                        [ PWildCard+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/OverloadedLabels.hs" 17 13 17 14+                              , srcInfoPoints = []+                              }+                        ]+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/OverloadedLabels.hs" 17 15 17 22+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/OverloadedLabels.hs" 17 15 17 16 ]+                             }+                           (Con+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/OverloadedLabels.hs" 17 17 17 22+                                , srcInfoPoints = []+                                }+                              (UnQual+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/OverloadedLabels.hs" 17 17 17 22+                                   , srcInfoPoints = []+                                   }+                                 (Ident+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/OverloadedLabels.hs" 17 17 17 22+                                      , srcInfoPoints = []+                                      }+                                    "False"))))+                        Nothing+                    ])+             ])+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/OverloadedLabels.hs" 19 1 19 27+            , srcInfoPoints =+                [ SrcSpan "tests/examples/OverloadedLabels.hs" 19 3 19 5 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/OverloadedLabels.hs" 19 1 19 2+                , srcInfoPoints = []+                }+              "a"+          ]+          (TyForall+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/OverloadedLabels.hs" 19 6 19 27+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxSingle+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/OverloadedLabels.hs" 19 6 19 25+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/OverloadedLabels.hs" 19 23 19 25 ]+                     }+                   (TypeA+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/OverloadedLabels.hs" 19 6 19 25+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/OverloadedLabels.hs" 19 23 19 25 ]+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/OverloadedLabels.hs" 19 6 19 25+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/OverloadedLabels.hs" 19 23 19 25 ]+                           }+                         (TyApp+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/OverloadedLabels.hs" 19 6 19 25+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/OverloadedLabels.hs" 19 23 19 25 ]+                              }+                            (TyCon+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/OverloadedLabels.hs" 19 6 19 25+                                 , srcInfoPoints =+                                     [ SrcSpan "tests/examples/OverloadedLabels.hs" 19 23 19 25 ]+                                 }+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/OverloadedLabels.hs" 19 6 19 13+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/OverloadedLabels.hs" 19 6 19 13+                                       , srcInfoPoints = []+                                       }+                                     "IsLabel")))+                            (TyPromoted+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/OverloadedLabels.hs" 19 14 19 20+                                 , srcInfoPoints = []+                                 }+                               (PromotedString+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/OverloadedLabels.hs" 19 14 19 20+                                    , srcInfoPoints = []+                                    }+                                  "true"+                                  "true")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/OverloadedLabels.hs" 19 21 19 22+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/OverloadedLabels.hs" 19 21 19 22+                                 , srcInfoPoints = []+                                 }+                               "t"))))))+             (TyVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/OverloadedLabels.hs" 19 26 19 27+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/OverloadedLabels.hs" 19 26 19 27+                     , srcInfoPoints = []+                     }+                   "t")))+      , PatBind+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/OverloadedLabels.hs" 20 1 20 10+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/OverloadedLabels.hs" 20 1 20 2+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/OverloadedLabels.hs" 20 1 20 2+                  , srcInfoPoints = []+                  }+                "a"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/OverloadedLabels.hs" 20 3 20 10+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/OverloadedLabels.hs" 20 3 20 4 ]+               }+             (OverloadedLabel+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/OverloadedLabels.hs" 20 5 20 10+                  , srcInfoPoints = []+                  }+                "true"))+          Nothing+      , PatBind+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/OverloadedLabels.hs" 22 1 22 14+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/OverloadedLabels.hs" 22 1 22 2+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/OverloadedLabels.hs" 22 1 22 2+                  , srcInfoPoints = []+                  }+                "b"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/OverloadedLabels.hs" 22 3 22 14+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/OverloadedLabels.hs" 22 3 22 4 ]+               }+             (OverloadedLabel+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/OverloadedLabels.hs" 22 5 22 14+                  , srcInfoPoints = []+                  }+                "_False1'"))+          Nothing+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/OverloadedLabels.hs" 24 1 24 10+            , srcInfoPoints =+                [ SrcSpan "tests/examples/OverloadedLabels.hs" 24 3 24 5 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/OverloadedLabels.hs" 24 1 24 2+                , srcInfoPoints = []+                }+              "c"+          ]+          (TyCon+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/OverloadedLabels.hs" 24 6 24 10+               , srcInfoPoints = []+               }+             (UnQual+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/OverloadedLabels.hs" 24 6 24 10+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/OverloadedLabels.hs" 24 6 24 10+                     , srcInfoPoints = []+                     }+                   "Bool")))+      , PatBind+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/OverloadedLabels.hs" 25 1 25 10+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/OverloadedLabels.hs" 25 1 25 2+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/OverloadedLabels.hs" 25 1 25 2+                  , srcInfoPoints = []+                  }+                "c"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/OverloadedLabels.hs" 25 3 25 10+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/OverloadedLabels.hs" 25 3 25 4 ]+               }+             (OverloadedLabel+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/OverloadedLabels.hs" 25 5 25 10+                  , srcInfoPoints = []+                  }+                "true"))+          Nothing+      , PatBind+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/OverloadedLabels.hs" 27 1 29 18+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/OverloadedLabels.hs" 27 1 27 5+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/OverloadedLabels.hs" 27 1 27 5+                  , srcInfoPoints = []+                  }+                "main"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/OverloadedLabels.hs" 27 6 29 18+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/OverloadedLabels.hs" 27 6 27 7 ]+               }+             (Do+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/OverloadedLabels.hs" 27 8 29 18+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/OverloadedLabels.hs" 27 8 27 10+                      , SrcSpan "tests/examples/OverloadedLabels.hs" 27 11 27 11+                      , SrcSpan "tests/examples/OverloadedLabels.hs" 28 11 28 11+                      , SrcSpan "tests/examples/OverloadedLabels.hs" 29 11 29 11+                      , SrcSpan "tests/examples/OverloadedLabels.hs" 30 1 30 0+                      ]+                  }+                [ Qualifier+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/OverloadedLabels.hs" 27 11 27 28+                      , srcInfoPoints = []+                      }+                    (App+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/OverloadedLabels.hs" 27 11 27 28+                         , srcInfoPoints = []+                         }+                       (Var+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/OverloadedLabels.hs" 27 11 27 16+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/OverloadedLabels.hs" 27 11 27 16+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/OverloadedLabels.hs" 27 11 27 16+                                  , srcInfoPoints = []+                                  }+                                "print")))+                       (Paren+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/OverloadedLabels.hs" 27 17 27 28+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/OverloadedLabels.hs" 27 17 27 18+                                , SrcSpan "tests/examples/OverloadedLabels.hs" 27 27 27 28+                                ]+                            }+                          (ExpTypeSig+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/OverloadedLabels.hs" 27 18 27 27+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/OverloadedLabels.hs" 27 20 27 22 ]+                               }+                             (Var+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/OverloadedLabels.hs" 27 18 27 19+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/OverloadedLabels.hs" 27 18 27 19+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/OverloadedLabels.hs" 27 18 27 19+                                        , srcInfoPoints = []+                                        }+                                      "a")))+                             (TyCon+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/OverloadedLabels.hs" 27 23 27 27+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/OverloadedLabels.hs" 27 23 27 27+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/OverloadedLabels.hs" 27 23 27 27+                                        , srcInfoPoints = []+                                        }+                                      "Bool"))))))+                , Qualifier+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/OverloadedLabels.hs" 28 11 28 28+                      , srcInfoPoints = []+                      }+                    (App+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/OverloadedLabels.hs" 28 11 28 28+                         , srcInfoPoints = []+                         }+                       (Var+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/OverloadedLabels.hs" 28 11 28 16+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/OverloadedLabels.hs" 28 11 28 16+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/OverloadedLabels.hs" 28 11 28 16+                                  , srcInfoPoints = []+                                  }+                                "print")))+                       (Paren+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/OverloadedLabels.hs" 28 17 28 28+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/OverloadedLabels.hs" 28 17 28 18+                                , SrcSpan "tests/examples/OverloadedLabels.hs" 28 27 28 28+                                ]+                            }+                          (ExpTypeSig+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/OverloadedLabels.hs" 28 18 28 27+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/OverloadedLabels.hs" 28 20 28 22 ]+                               }+                             (Var+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/OverloadedLabels.hs" 28 18 28 19+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/OverloadedLabels.hs" 28 18 28 19+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/OverloadedLabels.hs" 28 18 28 19+                                        , srcInfoPoints = []+                                        }+                                      "b")))+                             (TyCon+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/OverloadedLabels.hs" 28 23 28 27+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/OverloadedLabels.hs" 28 23 28 27+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/OverloadedLabels.hs" 28 23 28 27+                                        , srcInfoPoints = []+                                        }+                                      "Bool"))))))+                , Qualifier+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/OverloadedLabels.hs" 29 11 29 18+                      , srcInfoPoints = []+                      }+                    (App+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/OverloadedLabels.hs" 29 11 29 18+                         , srcInfoPoints = []+                         }+                       (Var+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/OverloadedLabels.hs" 29 11 29 16+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/OverloadedLabels.hs" 29 11 29 16+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/OverloadedLabels.hs" 29 11 29 16+                                  , srcInfoPoints = []+                                  }+                                "print")))+                       (Var+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/OverloadedLabels.hs" 29 17 29 18+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/OverloadedLabels.hs" 29 17 29 18+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/OverloadedLabels.hs" 29 17 29 18+                                  , srcInfoPoints = []+                                  }+                                "c"))))+                ]))+          Nothing+      ]+  , [ Comment+        False+        (SrcSpan "tests/examples/OverloadedLabels.hs" 1 1 1 36)+        " Basic tests of overloaded labels"+    ]+  )
+ tests/examples/OverloadedLabels.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/OverloadedLabels.hs.prettyprinter.golden view
@@ -0,0 +1,21 @@+{-# LANGUAGE OverloadedLabels, DataKinds, FlexibleContexts,+  FlexibleInstances, MultiParamTypeClasses, NoMonomorphismRestriction+  #-}+import GHC.OverloadedLabels++instance IsLabel "true" Bool where+        fromLabel _ = True++instance IsLabel "_False1'" Bool where+        fromLabel _ = False++a :: IsLabel "true" t => t+a = #true+b = #_False1'++c :: Bool+c = #true+main+  = do print (a :: Bool)+       print (b :: Bool)+       print c
tests/examples/ParallelArrays.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE ParallelArrays #-}-module Main (main) where  dotp_double :: [:Double:] -> [:Double:] -> Double dotp_double xs ys = sumP [:x * y| x <- xs| y <- ys:]
tests/examples/ParallelListComp.hs.prettyprinter.golden view
@@ -1,3 +1,2 @@ {-# LANGUAGE ParallelListComp #-}-module Main (main) where f xs ys zs = [(x, y, z)| x <- xs| y <- ys, y > 2| z <- zs]
tests/examples/PartialSignatures.hs.parser.golden view
@@ -4024,14 +4024,21 @@                      , srcInfoPoints =                          [ SrcSpan "tests/examples/PartialSignatures.hs" 51 12 51 14 ]                      }-                   (WildCardA+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan =                             SrcSpan "tests/examples/PartialSignatures.hs" 51 10 51 14                         , srcInfoPoints =                             [ SrcSpan "tests/examples/PartialSignatures.hs" 51 12 51 14 ]                         }-                      Nothing)))+                      (TyWildCard+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/PartialSignatures.hs" 51 10 51 14+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/PartialSignatures.hs" 51 12 51 14 ]+                           }+                         Nothing))))              (TyWildCard                 SrcSpanInfo                   { srcInfoSpan =@@ -4110,14 +4117,21 @@                      , srcInfoPoints =                          [ SrcSpan "tests/examples/PartialSignatures.hs" 55 12 55 14 ]                      }-                   (WildCardA+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan =                             SrcSpan "tests/examples/PartialSignatures.hs" 55 10 55 14                         , srcInfoPoints =                             [ SrcSpan "tests/examples/PartialSignatures.hs" 55 12 55 14 ]                         }-                      Nothing)))+                      (TyWildCard+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/PartialSignatures.hs" 55 10 55 14+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/PartialSignatures.hs" 55 12 55 14 ]+                           }+                         Nothing))))              (TyWildCard                 SrcSpanInfo                   { srcInfoSpan =@@ -4438,49 +4452,62 @@                 (CxSingle                    SrcSpanInfo                      { srcInfoSpan =-                         SrcSpan "tests/examples/PartialSignatures.hs" 61 8 61 16+                         SrcSpan "tests/examples/PartialSignatures.hs" 61 8 61 19                      , srcInfoPoints =-                         [ SrcSpan "tests/examples/PartialSignatures.hs" 61 17 61 19 ]+                         [ SrcSpan "tests/examples/PartialSignatures.hs" 61 10 61 11+                         , SrcSpan "tests/examples/PartialSignatures.hs" 61 17 61 19+                         ]                      }-                   (EqualP+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan =-                            SrcSpan "tests/examples/PartialSignatures.hs" 61 8 61 16+                            SrcSpan "tests/examples/PartialSignatures.hs" 61 8 61 19                         , srcInfoPoints =-                            [ SrcSpan "tests/examples/PartialSignatures.hs" 61 10 61 11 ]+                            [ SrcSpan "tests/examples/PartialSignatures.hs" 61 10 61 11+                            , SrcSpan "tests/examples/PartialSignatures.hs" 61 17 61 19+                            ]                         }-                      (TyVar+                      (TyEquals                          SrcSpanInfo                            { srcInfoSpan =-                               SrcSpan "tests/examples/PartialSignatures.hs" 61 8 61 9-                           , srcInfoPoints = []+                               SrcSpan "tests/examples/PartialSignatures.hs" 61 8 61 19+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/PartialSignatures.hs" 61 10 61 11+                               , SrcSpan "tests/examples/PartialSignatures.hs" 61 17 61 19+                               ]                            }-                         (Ident+                         (TyVar                             SrcSpanInfo                               { srcInfoSpan =                                   SrcSpan "tests/examples/PartialSignatures.hs" 61 8 61 9                               , srcInfoPoints = []                               }-                            "a"))-                      (TyCon-                         SrcSpanInfo-                           { srcInfoSpan =-                               SrcSpan "tests/examples/PartialSignatures.hs" 61 12 61 16-                           , srcInfoPoints = []-                           }-                         (UnQual+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/PartialSignatures.hs" 61 8 61 9+                                 , srcInfoPoints = []+                                 }+                               "a"))+                         (TyCon                             SrcSpanInfo                               { srcInfoSpan =                                   SrcSpan "tests/examples/PartialSignatures.hs" 61 12 61 16                               , srcInfoPoints = []                               }-                            (Ident+                            (UnQual                                SrcSpanInfo                                  { srcInfoSpan =                                      SrcSpan "tests/examples/PartialSignatures.hs" 61 12 61 16                                  , srcInfoPoints = []                                  }-                               "Bool"))))))+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/PartialSignatures.hs" 61 12 61 16+                                    , srcInfoPoints = []+                                    }+                                  "Bool")))))))              (TyTuple                 SrcSpanInfo                   { srcInfoSpan =@@ -5765,14 +5792,21 @@                      , srcInfoPoints =                          [ SrcSpan "tests/examples/PartialSignatures.hs" 82 15 82 17 ]                      }-                   (WildCardA+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan =                             SrcSpan "tests/examples/PartialSignatures.hs" 82 13 82 17                         , srcInfoPoints =                             [ SrcSpan "tests/examples/PartialSignatures.hs" 82 15 82 17 ]                         }-                      Nothing)))+                      (TyWildCard+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/PartialSignatures.hs" 82 13 82 17+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/PartialSignatures.hs" 82 15 82 17 ]+                           }+                         Nothing))))              (TyFun                 SrcSpanInfo                   { srcInfoSpan =@@ -6093,46 +6127,63 @@                          , SrcSpan "tests/examples/PartialSignatures.hs" 85 25 85 27                          ]                      }-                   [ ClassA+                   [ TypeA                        SrcSpanInfo                          { srcInfoSpan =                              SrcSpan "tests/examples/PartialSignatures.hs" 85 14 85 20                          , srcInfoPoints = []                          }-                       (UnQual+                       (TyApp                           SrcSpanInfo                             { srcInfoSpan =-                                SrcSpan "tests/examples/PartialSignatures.hs" 85 14 85 18+                                SrcSpan "tests/examples/PartialSignatures.hs" 85 14 85 20                             , srcInfoPoints = []                             }-                          (Ident+                          (TyCon                              SrcSpanInfo                                { srcInfoSpan =-                                   SrcSpan "tests/examples/PartialSignatures.hs" 85 14 85 18+                                   SrcSpan "tests/examples/PartialSignatures.hs" 85 14 85 20                                , srcInfoPoints = []                                }-                             "Show"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/PartialSignatures.hs" 85 19 85 20-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/PartialSignatures.hs" 85 19 85 20-                                , srcInfoPoints = []-                                }-                              "a")-                       ]-                   , WildCardA+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/PartialSignatures.hs" 85 14 85 18+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/PartialSignatures.hs" 85 14 85 18+                                     , srcInfoPoints = []+                                     }+                                   "Show")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/PartialSignatures.hs" 85 19 85 20+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/PartialSignatures.hs" 85 19 85 20+                                  , srcInfoPoints = []+                                  }+                                "a")))+                   , TypeA                        SrcSpanInfo                          { srcInfoSpan =                              SrcSpan "tests/examples/PartialSignatures.hs" 85 22 85 23                          , srcInfoPoints = []                          }-                       Nothing+                       (TyWildCard+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/PartialSignatures.hs" 85 22 85 23+                            , srcInfoPoints = []+                            }+                          Nothing)                    ]))              (TyFun                 SrcSpanInfo@@ -6294,79 +6345,107 @@                          , SrcSpan "tests/examples/PartialSignatures.hs" 88 33 88 35                          ]                      }-                   [ ClassA+                   [ TypeA                        SrcSpanInfo                          { srcInfoSpan =                              SrcSpan "tests/examples/PartialSignatures.hs" 88 14 88 20                          , srcInfoPoints = []                          }-                       (UnQual+                       (TyApp                           SrcSpanInfo                             { srcInfoSpan =-                                SrcSpan "tests/examples/PartialSignatures.hs" 88 14 88 18+                                SrcSpan "tests/examples/PartialSignatures.hs" 88 14 88 20                             , srcInfoPoints = []                             }-                          (Ident+                          (TyCon                              SrcSpanInfo                                { srcInfoSpan =-                                   SrcSpan "tests/examples/PartialSignatures.hs" 88 14 88 18+                                   SrcSpan "tests/examples/PartialSignatures.hs" 88 14 88 20                                , srcInfoPoints = []                                }-                             "Show"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/PartialSignatures.hs" 88 19 88 20-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/PartialSignatures.hs" 88 19 88 20-                                , srcInfoPoints = []-                                }-                              "a")-                       ]-                   , ClassA+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/PartialSignatures.hs" 88 14 88 18+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/PartialSignatures.hs" 88 14 88 18+                                     , srcInfoPoints = []+                                     }+                                   "Show")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/PartialSignatures.hs" 88 19 88 20+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/PartialSignatures.hs" 88 19 88 20+                                  , srcInfoPoints = []+                                  }+                                "a")))+                   , TypeA                        SrcSpanInfo                          { srcInfoSpan =                              SrcSpan "tests/examples/PartialSignatures.hs" 88 22 88 28                          , srcInfoPoints = []                          }-                       (UnQual+                       (TyApp                           SrcSpanInfo                             { srcInfoSpan =-                                SrcSpan "tests/examples/PartialSignatures.hs" 88 22 88 26+                                SrcSpan "tests/examples/PartialSignatures.hs" 88 22 88 28                             , srcInfoPoints = []                             }-                          (Ident+                          (TyCon                              SrcSpanInfo                                { srcInfoSpan =-                                   SrcSpan "tests/examples/PartialSignatures.hs" 88 22 88 26+                                   SrcSpan "tests/examples/PartialSignatures.hs" 88 22 88 28                                , srcInfoPoints = []                                }-                             "Enum"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/PartialSignatures.hs" 88 27 88 28-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/PartialSignatures.hs" 88 27 88 28-                                , srcInfoPoints = []-                                }-                              "a")-                       ]-                   , WildCardA+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/PartialSignatures.hs" 88 22 88 26+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/PartialSignatures.hs" 88 22 88 26+                                     , srcInfoPoints = []+                                     }+                                   "Enum")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/PartialSignatures.hs" 88 27 88 28+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/PartialSignatures.hs" 88 27 88 28+                                  , srcInfoPoints = []+                                  }+                                "a")))+                   , TypeA                        SrcSpanInfo                          { srcInfoSpan =                              SrcSpan "tests/examples/PartialSignatures.hs" 88 30 88 31                          , srcInfoPoints = []                          }-                       Nothing+                       (TyWildCard+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/PartialSignatures.hs" 88 30 88 31+                            , srcInfoPoints = []+                            }+                          Nothing)                    ]))              (TyFun                 SrcSpanInfo@@ -6527,46 +6606,63 @@                          , SrcSpan "tests/examples/PartialSignatures.hs" 91 23 91 25                          ]                      }-                   [ ClassA+                   [ TypeA                        SrcSpanInfo                          { srcInfoSpan =                              SrcSpan "tests/examples/PartialSignatures.hs" 91 14 91 18                          , srcInfoPoints = []                          }-                       (UnQual+                       (TyApp                           SrcSpanInfo                             { srcInfoSpan =-                                SrcSpan "tests/examples/PartialSignatures.hs" 91 14 91 16+                                SrcSpan "tests/examples/PartialSignatures.hs" 91 14 91 18                             , srcInfoPoints = []                             }-                          (Ident+                          (TyCon                              SrcSpanInfo                                { srcInfoSpan =-                                   SrcSpan "tests/examples/PartialSignatures.hs" 91 14 91 16+                                   SrcSpan "tests/examples/PartialSignatures.hs" 91 14 91 18                                , srcInfoPoints = []                                }-                             "Eq"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/PartialSignatures.hs" 91 17 91 18-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/PartialSignatures.hs" 91 17 91 18-                                , srcInfoPoints = []-                                }-                              "a")-                       ]-                   , WildCardA+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/PartialSignatures.hs" 91 14 91 16+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/PartialSignatures.hs" 91 14 91 16+                                     , srcInfoPoints = []+                                     }+                                   "Eq")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/PartialSignatures.hs" 91 17 91 18+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/PartialSignatures.hs" 91 17 91 18+                                  , srcInfoPoints = []+                                  }+                                "a")))+                   , TypeA                        SrcSpanInfo                          { srcInfoSpan =                              SrcSpan "tests/examples/PartialSignatures.hs" 91 20 91 21                          , srcInfoPoints = []                          }-                       Nothing+                       (TyWildCard+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/PartialSignatures.hs" 91 20 91 21+                            , srcInfoPoints = []+                            }+                          Nothing)                    ]))              (TyFun                 SrcSpanInfo@@ -6729,112 +6825,151 @@                          , SrcSpan "tests/examples/PartialSignatures.hs" 94 39 94 41                          ]                      }-                   [ ClassA+                   [ TypeA                        SrcSpanInfo                          { srcInfoSpan =                              SrcSpan "tests/examples/PartialSignatures.hs" 94 14 94 18                          , srcInfoPoints = []                          }-                       (UnQual+                       (TyApp                           SrcSpanInfo                             { srcInfoSpan =-                                SrcSpan "tests/examples/PartialSignatures.hs" 94 14 94 16+                                SrcSpan "tests/examples/PartialSignatures.hs" 94 14 94 18                             , srcInfoPoints = []                             }-                          (Ident+                          (TyCon                              SrcSpanInfo                                { srcInfoSpan =-                                   SrcSpan "tests/examples/PartialSignatures.hs" 94 14 94 16+                                   SrcSpan "tests/examples/PartialSignatures.hs" 94 14 94 18                                , srcInfoPoints = []                                }-                             "Eq"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/PartialSignatures.hs" 94 17 94 18-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/PartialSignatures.hs" 94 17 94 18-                                , srcInfoPoints = []-                                }-                              "a")-                       ]-                   , ClassA+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/PartialSignatures.hs" 94 14 94 16+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/PartialSignatures.hs" 94 14 94 16+                                     , srcInfoPoints = []+                                     }+                                   "Eq")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/PartialSignatures.hs" 94 17 94 18+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/PartialSignatures.hs" 94 17 94 18+                                  , srcInfoPoints = []+                                  }+                                "a")))+                   , TypeA                        SrcSpanInfo                          { srcInfoSpan =                              SrcSpan "tests/examples/PartialSignatures.hs" 94 20 94 26                          , srcInfoPoints = []                          }-                       (UnQual+                       (TyApp                           SrcSpanInfo                             { srcInfoSpan =-                                SrcSpan "tests/examples/PartialSignatures.hs" 94 20 94 24+                                SrcSpan "tests/examples/PartialSignatures.hs" 94 20 94 26                             , srcInfoPoints = []                             }-                          (Ident+                          (TyCon                              SrcSpanInfo                                { srcInfoSpan =-                                   SrcSpan "tests/examples/PartialSignatures.hs" 94 20 94 24+                                   SrcSpan "tests/examples/PartialSignatures.hs" 94 20 94 26                                , srcInfoPoints = []                                }-                             "Enum"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/PartialSignatures.hs" 94 25 94 26-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/PartialSignatures.hs" 94 25 94 26-                                , srcInfoPoints = []-                                }-                              "a")-                       ]-                   , ClassA+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/PartialSignatures.hs" 94 20 94 24+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/PartialSignatures.hs" 94 20 94 24+                                     , srcInfoPoints = []+                                     }+                                   "Enum")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/PartialSignatures.hs" 94 25 94 26+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/PartialSignatures.hs" 94 25 94 26+                                  , srcInfoPoints = []+                                  }+                                "a")))+                   , TypeA                        SrcSpanInfo                          { srcInfoSpan =                              SrcSpan "tests/examples/PartialSignatures.hs" 94 28 94 34                          , srcInfoPoints = []                          }-                       (UnQual+                       (TyApp                           SrcSpanInfo                             { srcInfoSpan =-                                SrcSpan "tests/examples/PartialSignatures.hs" 94 28 94 32+                                SrcSpan "tests/examples/PartialSignatures.hs" 94 28 94 34                             , srcInfoPoints = []                             }-                          (Ident+                          (TyCon                              SrcSpanInfo                                { srcInfoSpan =-                                   SrcSpan "tests/examples/PartialSignatures.hs" 94 28 94 32+                                   SrcSpan "tests/examples/PartialSignatures.hs" 94 28 94 34                                , srcInfoPoints = []                                }-                             "Show"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/PartialSignatures.hs" 94 33 94 34-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/PartialSignatures.hs" 94 33 94 34-                                , srcInfoPoints = []-                                }-                              "a")-                       ]-                   , WildCardA+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/PartialSignatures.hs" 94 28 94 32+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/PartialSignatures.hs" 94 28 94 32+                                     , srcInfoPoints = []+                                     }+                                   "Show")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/PartialSignatures.hs" 94 33 94 34+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/PartialSignatures.hs" 94 33 94 34+                                  , srcInfoPoints = []+                                  }+                                "a")))+                   , TypeA                        SrcSpanInfo                          { srcInfoSpan =                              SrcSpan "tests/examples/PartialSignatures.hs" 94 36 94 37                          , srcInfoPoints = []                          }-                       Nothing+                       (TyWildCard+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/PartialSignatures.hs" 94 36 94 37+                            , srcInfoPoints = []+                            }+                          Nothing)                    ]))              (TyFun                 SrcSpanInfo@@ -6991,14 +7126,21 @@                      , srcInfoPoints =                          [ SrcSpan "tests/examples/PartialSignatures.hs" 98 10 98 12 ]                      }-                   (WildCardA+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan =                             SrcSpan "tests/examples/PartialSignatures.hs" 98 8 98 12                         , srcInfoPoints =                             [ SrcSpan "tests/examples/PartialSignatures.hs" 98 10 98 12 ]                         }-                      Nothing)))+                      (TyWildCard+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/PartialSignatures.hs" 98 8 98 12+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/PartialSignatures.hs" 98 10 98 12 ]+                           }+                         Nothing))))              (TyCon                 SrcSpanInfo                   { srcInfoSpan =@@ -7089,14 +7231,21 @@                      , srcInfoPoints =                          [ SrcSpan "tests/examples/PartialSignatures.hs" 105 10 105 12 ]                      }-                   (WildCardA+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan =                             SrcSpan "tests/examples/PartialSignatures.hs" 105 8 105 12                         , srcInfoPoints =                             [ SrcSpan "tests/examples/PartialSignatures.hs" 105 10 105 12 ]                         }-                      Nothing)))+                      (TyWildCard+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/PartialSignatures.hs" 105 8 105 12+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/PartialSignatures.hs" 105 10 105 12 ]+                           }+                         Nothing))))              (TyVar                 SrcSpanInfo                   { srcInfoSpan =@@ -7181,14 +7330,21 @@                      , srcInfoPoints =                          [ SrcSpan "tests/examples/PartialSignatures.hs" 109 10 109 12 ]                      }-                   (WildCardA+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan =                             SrcSpan "tests/examples/PartialSignatures.hs" 109 8 109 12                         , srcInfoPoints =                             [ SrcSpan "tests/examples/PartialSignatures.hs" 109 10 109 12 ]                         }-                      Nothing)))+                      (TyWildCard+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/PartialSignatures.hs" 109 8 109 12+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/PartialSignatures.hs" 109 10 109 12 ]+                           }+                         Nothing))))              (TyVar                 SrcSpanInfo                   { srcInfoSpan =@@ -8716,7 +8872,7 @@                      }                    "c")))           []-          Nothing+          []       , InstDecl           SrcSpanInfo             { srcInfoSpan =@@ -10535,13 +10691,19 @@                             , SrcSpan "tests/examples/PartialSignatures.hs" 187 10 187 12                             ]                         }-                      (WildCardA+                      (TypeA                          SrcSpanInfo                            { srcInfoSpan =                                SrcSpan "tests/examples/PartialSignatures.hs" 187 7 187 8                            , srcInfoPoints = []                            }-                         Nothing))))+                         (TyWildCard+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/PartialSignatures.hs" 187 7 187 8+                              , srcInfoPoints = []+                              }+                            Nothing)))))              (TyFun                 SrcSpanInfo                   { srcInfoSpan =@@ -12349,41 +12511,54 @@                      , srcInfoPoints =                          [ SrcSpan "tests/examples/PartialSignatures.hs" 230 20 230 22 ]                      }-                   (ClassA+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan =                             SrcSpan "tests/examples/PartialSignatures.hs" 230 12 230 22                         , srcInfoPoints =                             [ SrcSpan "tests/examples/PartialSignatures.hs" 230 20 230 22 ]                         }-                      (UnQual+                      (TyApp                          SrcSpanInfo                            { srcInfoSpan =-                               SrcSpan "tests/examples/PartialSignatures.hs" 230 12 230 16-                           , srcInfoPoints = []+                               SrcSpan "tests/examples/PartialSignatures.hs" 230 12 230 22+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/PartialSignatures.hs" 230 20 230 22 ]                            }-                         (Ident+                         (TyCon                             SrcSpanInfo                               { srcInfoSpan =-                                  SrcSpan "tests/examples/PartialSignatures.hs" 230 12 230 16+                                  SrcSpan "tests/examples/PartialSignatures.hs" 230 12 230 22+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/PartialSignatures.hs" 230 20 230 22 ]+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/PartialSignatures.hs" 230 12 230 16+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/PartialSignatures.hs" 230 12 230 16+                                    , srcInfoPoints = []+                                    }+                                  "Show")))+                         (TyWildCard+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/PartialSignatures.hs" 230 17 230 19                               , srcInfoPoints = []                               }-                            "Show"))-                      [ TyWildCard-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/PartialSignatures.hs" 230 17 230 19-                            , srcInfoPoints = []-                            }-                          (Just-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/PartialSignatures.hs" 230 18 230 19-                                  , srcInfoPoints = []-                                  }-                                "a"))-                      ])))+                            (Just+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/PartialSignatures.hs" 230 18 230 19+                                    , srcInfoPoints = []+                                    }+                                  "a")))))))              (TyFun                 SrcSpanInfo                   { srcInfoSpan =@@ -12758,7 +12933,7 @@                         "a")                  ])           ]-          Nothing+          []       , TypeSig           SrcSpanInfo             { srcInfoSpan =@@ -13138,41 +13313,54 @@                      , srcInfoPoints =                          [ SrcSpan "tests/examples/PartialSignatures.hs" 246 30 246 32 ]                      }-                   (ClassA+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan =                             SrcSpan "tests/examples/PartialSignatures.hs" 246 22 246 32                         , srcInfoPoints =                             [ SrcSpan "tests/examples/PartialSignatures.hs" 246 30 246 32 ]                         }-                      (UnQual+                      (TyApp                          SrcSpanInfo                            { srcInfoSpan =-                               SrcSpan "tests/examples/PartialSignatures.hs" 246 22 246 26-                           , srcInfoPoints = []+                               SrcSpan "tests/examples/PartialSignatures.hs" 246 22 246 32+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/PartialSignatures.hs" 246 30 246 32 ]                            }-                         (Ident+                         (TyCon                             SrcSpanInfo                               { srcInfoSpan =-                                  SrcSpan "tests/examples/PartialSignatures.hs" 246 22 246 26+                                  SrcSpan "tests/examples/PartialSignatures.hs" 246 22 246 32+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/PartialSignatures.hs" 246 30 246 32 ]+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/PartialSignatures.hs" 246 22 246 26+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/PartialSignatures.hs" 246 22 246 26+                                    , srcInfoPoints = []+                                    }+                                  "Show")))+                         (TyWildCard+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/PartialSignatures.hs" 246 27 246 29                               , srcInfoPoints = []                               }-                            "Show"))-                      [ TyWildCard-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/PartialSignatures.hs" 246 27 246 29-                            , srcInfoPoints = []-                            }-                          (Just-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/PartialSignatures.hs" 246 28 246 29-                                  , srcInfoPoints = []-                                  }-                                "x"))-                      ])))+                            (Just+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/PartialSignatures.hs" 246 28 246 29+                                    , srcInfoPoints = []+                                    }+                                  "x")))))))              (TyFun                 SrcSpanInfo                   { srcInfoSpan =@@ -13403,7 +13591,7 @@                         "a")                  ])           ]-          Nothing+          []       , InstDecl           SrcSpanInfo             { srcInfoSpan =@@ -13766,7 +13954,7 @@                         "a")                  ])           ]-          Nothing+          []       , InstDecl           SrcSpanInfo             { srcInfoSpan =@@ -14180,7 +14368,7 @@                                    }))))                  ])           ]-          Nothing+          []       , TypeSig           SrcSpanInfo             { srcInfoSpan =@@ -14211,14 +14399,21 @@                      , srcInfoPoints =                          [ SrcSpan "tests/examples/PartialSignatures.hs" 261 9 261 11 ]                      }-                   (WildCardA+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan =                             SrcSpan "tests/examples/PartialSignatures.hs" 261 7 261 11                         , srcInfoPoints =                             [ SrcSpan "tests/examples/PartialSignatures.hs" 261 9 261 11 ]                         }-                      Nothing)))+                      (TyWildCard+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/PartialSignatures.hs" 261 7 261 11+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/PartialSignatures.hs" 261 9 261 11 ]+                           }+                         Nothing))))              (TyWildCard                 SrcSpanInfo                   { srcInfoSpan =@@ -16075,47 +16270,64 @@                          , SrcSpan "tests/examples/PartialSignatures.hs" 289 21 289 23                          ]                      }-                   [ ClassA+                   [ TypeA                        SrcSpanInfo                          { srcInfoSpan =                              SrcSpan "tests/examples/PartialSignatures.hs" 289 9 289 16                          , srcInfoPoints = []                          }-                       (UnQual+                       (TyApp                           SrcSpanInfo                             { srcInfoSpan =-                                SrcSpan "tests/examples/PartialSignatures.hs" 289 9 289 13+                                SrcSpan "tests/examples/PartialSignatures.hs" 289 9 289 16                             , srcInfoPoints = []                             }-                          (Ident+                          (TyCon                              SrcSpanInfo                                { srcInfoSpan =-                                   SrcSpan "tests/examples/PartialSignatures.hs" 289 9 289 13+                                   SrcSpan "tests/examples/PartialSignatures.hs" 289 9 289 16                                , srcInfoPoints = []                                }-                             "Show"))-                       [ TyWildCard-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/PartialSignatures.hs" 289 14 289 16-                             , srcInfoPoints = []-                             }-                           (Just-                              (Ident-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/PartialSignatures.hs" 289 15 289 16-                                   , srcInfoPoints = []-                                   }-                                 "a"))-                       ]-                   , WildCardA+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/PartialSignatures.hs" 289 9 289 13+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/PartialSignatures.hs" 289 9 289 13+                                     , srcInfoPoints = []+                                     }+                                   "Show")))+                          (TyWildCard+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/PartialSignatures.hs" 289 14 289 16+                               , srcInfoPoints = []+                               }+                             (Just+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/PartialSignatures.hs" 289 15 289 16+                                     , srcInfoPoints = []+                                     }+                                   "a"))))+                   , TypeA                        SrcSpanInfo                          { srcInfoSpan =                              SrcSpan "tests/examples/PartialSignatures.hs" 289 18 289 19                          , srcInfoPoints = []                          }-                       Nothing+                       (TyWildCard+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/PartialSignatures.hs" 289 18 289 19+                            , srcInfoPoints = []+                            }+                          Nothing)                    ]))              (TyFun                 SrcSpanInfo
tests/examples/PartialSignatures.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE GADTs, NamedWildCards, ScopedTypeVariables #-}-module Main (main) where  bar :: Int -> _ Int bar x = Foo True () x@@ -7,32 +6,32 @@ addAndOr1 :: _ addAndOr1 (a, b) (c, d) = (a `plus` d, b || c)   where plus :: Int -> Int -> Int-        plus x y = x + y+        x `plus` y = x + y  addAndOr2 :: _ -> _ addAndOr2 (a, b) (c, d) = (a `plus` d, b || c)   where plus :: Int -> Int -> Int-        plus x y = x + y+        x `plus` y = x + y  addAndOr3 :: _ -> _ -> _ addAndOr3 (a, b) (c, d) = (a `plus` d, b || c)   where plus :: Int -> Int -> Int-        plus x y = x + y+        x `plus` y = x + y  addAndOr4 :: (_ _ _) -> (_ _ _) -> (_ _ _) addAndOr4 (a, b) (c, d) = (a `plus` d, b || c)   where plus :: Int -> Int -> Int-        plus x y = x + y+        x `plus` y = x + y  addAndOr5 :: (_, _) -> (_, _) -> (_, _) addAndOr5 (a, b) (c, d) = (a `plus` d, b || c)   where plus :: Int -> Int -> Int-        plus x y = x + y+        x `plus` y = x + y  addAndOr6 :: (Int, _) -> (Bool, _) -> (_ Int Bool) addAndOr6 (a, b) (c, d) = (a `plus` d, b || c)   where plus :: Int -> Int -> Int-        plus x y = x + y+        x `plus` y = x + y  bar :: _ -> _ bar x = not x
+ tests/examples/PatSynFix.hs view
@@ -0,0 +1,3 @@+{-# LANGUAGE PatternSynonyms #-}+pattern A <- (True, True) where A = (not $ False && True, True)+exp = not $ False && True
+ tests/examples/PatSynFix.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/PatSynFix.hs.parser.golden view
@@ -0,0 +1,381 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 1 1 4 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/PatSynFix.hs" 1 1 1 1+            , SrcSpan "tests/examples/PatSynFix.hs" 2 1 2 1+            , SrcSpan "tests/examples/PatSynFix.hs" 2 1 2 1+            , SrcSpan "tests/examples/PatSynFix.hs" 2 1 2 1+            , SrcSpan "tests/examples/PatSynFix.hs" 3 1 3 1+            , SrcSpan "tests/examples/PatSynFix.hs" 4 1 4 1+            , SrcSpan "tests/examples/PatSynFix.hs" 4 1 4 1+            ]+        }+      Nothing+      [ LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 1 1 1 33+            , srcInfoPoints =+                [ SrcSpan "tests/examples/PatSynFix.hs" 1 1 1 13+                , SrcSpan "tests/examples/PatSynFix.hs" 1 30 1 33+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 1 14 1 29+                , srcInfoPoints = []+                }+              "PatternSynonyms"+          ]+      ]+      []+      [ PatSyn+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 1 2 26+            , srcInfoPoints =+                [ SrcSpan "tests/examples/PatSynFix.hs" 2 1 2 8+                , SrcSpan "tests/examples/PatSynFix.hs" 2 11 2 13+                ]+            }+          (PApp+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 9 2 10+               , srcInfoPoints = []+               }+             (UnQual+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 9 2 10+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 9 2 10+                     , srcInfoPoints = []+                     }+                   "A"))+             [])+          (PTuple+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 14 2 26+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/PatSynFix.hs" 2 14 2 15+                   , SrcSpan "tests/examples/PatSynFix.hs" 2 19 2 20+                   , SrcSpan "tests/examples/PatSynFix.hs" 2 25 2 26+                   ]+               }+             Boxed+             [ PApp+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 15 2 19+                   , srcInfoPoints = []+                   }+                 (UnQual+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 15 2 19+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 15 2 19+                         , srcInfoPoints = []+                         }+                       "True"))+                 []+             , PApp+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 21 2 25+                   , srcInfoPoints = []+                   }+                 (UnQual+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 21 2 25+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 21 2 25+                         , srcInfoPoints = []+                         }+                       "True"))+                 []+             ])+          (ExplicitBidirectional+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 27 3 0+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/PatSynFix.hs" 2 27 2 32+                   , SrcSpan "tests/examples/PatSynFix.hs" 2 33 2 33+                   , SrcSpan "tests/examples/PatSynFix.hs" 3 1 3 0+                   ]+               }+             [ PatBind+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 33 2 64+                   , srcInfoPoints = []+                   }+                 (PApp+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 33 2 34+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 33 2 34+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 33 2 34+                            , srcInfoPoints = []+                            }+                          "A"))+                    [])+                 (UnGuardedRhs+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 35 2 64+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/PatSynFix.hs" 2 35 2 36 ]+                      }+                    (Tuple+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 37 2 64+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/PatSynFix.hs" 2 37 2 38+                             , SrcSpan "tests/examples/PatSynFix.hs" 2 57 2 58+                             , SrcSpan "tests/examples/PatSynFix.hs" 2 63 2 64+                             ]+                         }+                       Boxed+                       [ InfixApp+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 38 2 57+                             , srcInfoPoints = []+                             }+                           (Var+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 38 2 41+                                , srcInfoPoints = []+                                }+                              (UnQual+                                 SrcSpanInfo+                                   { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 38 2 41+                                   , srcInfoPoints = []+                                   }+                                 (Ident+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/PatSynFix.hs" 2 38 2 41+                                      , srcInfoPoints = []+                                      }+                                    "not")))+                           (QVarOp+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 42 2 43+                                , srcInfoPoints = []+                                }+                              (UnQual+                                 SrcSpanInfo+                                   { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 42 2 43+                                   , srcInfoPoints = []+                                   }+                                 (Symbol+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/PatSynFix.hs" 2 42 2 43+                                      , srcInfoPoints = []+                                      }+                                    "$")))+                           (InfixApp+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 44 2 57+                                , srcInfoPoints = []+                                }+                              (Con+                                 SrcSpanInfo+                                   { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 44 2 49+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/PatSynFix.hs" 2 44 2 49+                                      , srcInfoPoints = []+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/PatSynFix.hs" 2 44 2 49+                                         , srcInfoPoints = []+                                         }+                                       "False")))+                              (QVarOp+                                 SrcSpanInfo+                                   { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 50 2 52+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/PatSynFix.hs" 2 50 2 52+                                      , srcInfoPoints = []+                                      }+                                    (Symbol+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/PatSynFix.hs" 2 50 2 52+                                         , srcInfoPoints = []+                                         }+                                       "&&")))+                              (Con+                                 SrcSpanInfo+                                   { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 53 2 57+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/PatSynFix.hs" 2 53 2 57+                                      , srcInfoPoints = []+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/PatSynFix.hs" 2 53 2 57+                                         , srcInfoPoints = []+                                         }+                                       "True"))))+                       , Con+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 59 2 63+                             , srcInfoPoints = []+                             }+                           (UnQual+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 59 2 63+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 59 2 63+                                   , srcInfoPoints = []+                                   }+                                 "True"))+                       ]))+                 Nothing+             ])+      , PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 1 3 26+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 1 3 4+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 1 3 4+                  , srcInfoPoints = []+                  }+                "exp"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 5 3 26+               , srcInfoPoints = [ SrcSpan "tests/examples/PatSynFix.hs" 3 5 3 6 ]+               }+             (InfixApp+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 7 3 26+                  , srcInfoPoints = []+                  }+                (Var+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 7 3 10+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 7 3 10+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 7 3 10+                           , srcInfoPoints = []+                           }+                         "not")))+                (QVarOp+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 11 3 12+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 11 3 12+                        , srcInfoPoints = []+                        }+                      (Symbol+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 11 3 12+                           , srcInfoPoints = []+                           }+                         "$")))+                (InfixApp+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 13 3 26+                     , srcInfoPoints = []+                     }+                   (Con+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 13 3 18+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 13 3 18+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 13 3 18+                              , srcInfoPoints = []+                              }+                            "False")))+                   (QVarOp+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 19 3 21+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 19 3 21+                           , srcInfoPoints = []+                           }+                         (Symbol+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 19 3 21+                              , srcInfoPoints = []+                              }+                            "&&")))+                   (Con+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 22 3 26+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 22 3 26+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 22 3 26+                              , srcInfoPoints = []+                              }+                            "True"))))))+          Nothing+      ]+  , []+  )
+ tests/examples/PatSynFix.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/PatSynFix.hs.prettyprinter.golden view
@@ -0,0 +1,5 @@+{-# LANGUAGE PatternSynonyms #-}++pattern A <- (True, True)+  where A = (not $ False && True, True)+exp = not $ False && True
+ tests/examples/PatternSplice.hs view
@@ -0,0 +1,6 @@+{-# LANGUAGE TemplateHaskell #-}+module PatternSpliceTest where++foo :: Int -> Bool+foo $( [p| 42 |] ) = True+foo _              = False
+ tests/examples/PatternSplice.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/PatternSplice.hs.parser.golden view
@@ -0,0 +1,235 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 1 1 7 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/PatternSplice.hs" 1 1 1 1+            , SrcSpan "tests/examples/PatternSplice.hs" 2 1 2 1+            , SrcSpan "tests/examples/PatternSplice.hs" 2 1 2 1+            , SrcSpan "tests/examples/PatternSplice.hs" 4 1 4 1+            , SrcSpan "tests/examples/PatternSplice.hs" 5 1 5 1+            , SrcSpan "tests/examples/PatternSplice.hs" 6 1 6 1+            , SrcSpan "tests/examples/PatternSplice.hs" 7 1 7 1+            , SrcSpan "tests/examples/PatternSplice.hs" 7 1 7 1+            ]+        }+      (Just+         (ModuleHead+            SrcSpanInfo+              { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 2 1 2 31+              , srcInfoPoints =+                  [ SrcSpan "tests/examples/PatternSplice.hs" 2 1 2 7+                  , SrcSpan "tests/examples/PatternSplice.hs" 2 26 2 31+                  ]+              }+            (ModuleName+               SrcSpanInfo+                 { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 2 8 2 25+                 , srcInfoPoints = []+                 }+               "PatternSpliceTest")+            Nothing+            Nothing))+      [ LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 1 1 1 33+            , srcInfoPoints =+                [ SrcSpan "tests/examples/PatternSplice.hs" 1 1 1 13+                , SrcSpan "tests/examples/PatternSplice.hs" 1 30 1 33+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 1 14 1 29+                , srcInfoPoints = []+                }+              "TemplateHaskell"+          ]+      ]+      []+      [ TypeSig+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 4 1 4 19+            , srcInfoPoints =+                [ SrcSpan "tests/examples/PatternSplice.hs" 4 5 4 7 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 4 1 4 4+                , srcInfoPoints = []+                }+              "foo"+          ]+          (TyFun+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 4 8 4 19+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/PatternSplice.hs" 4 12 4 14 ]+               }+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 4 8 4 11+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 4 8 4 11+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 4 8 4 11+                        , srcInfoPoints = []+                        }+                      "Int")))+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 4 15 4 19+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 4 15 4 19+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 4 15 4 19+                        , srcInfoPoints = []+                        }+                      "Bool"))))+      , FunBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 5 1 6 27+            , srcInfoPoints = []+            }+          [ Match+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 5 1 5 26+                , srcInfoPoints = []+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 5 1 5 4+                   , srcInfoPoints = []+                   }+                 "foo")+              [ PSplice+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 5 5 5 19+                    , srcInfoPoints =+                        [ SrcSpan "tests/examples/PatternSplice.hs" 5 5 5 7+                        , SrcSpan "tests/examples/PatternSplice.hs" 5 18 5 19+                        ]+                    }+                  (ParenSplice+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 5 5 5 19+                       , srcInfoPoints =+                           [ SrcSpan "tests/examples/PatternSplice.hs" 5 5 5 7+                           , SrcSpan "tests/examples/PatternSplice.hs" 5 18 5 19+                           ]+                       }+                     (BracketExp+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 5 8 5 17+                          , srcInfoPoints =+                              [ SrcSpan "tests/examples/PatternSplice.hs" 5 8 5 11+                              , SrcSpan "tests/examples/PatternSplice.hs" 5 15 5 17+                              ]+                          }+                        (PatBracket+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 5 8 5 17+                             , srcInfoPoints =+                                 [ SrcSpan "tests/examples/PatternSplice.hs" 5 8 5 11+                                 , SrcSpan "tests/examples/PatternSplice.hs" 5 15 5 17+                                 ]+                             }+                           (PLit+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 5 12 5 14+                                , srcInfoPoints = []+                                }+                              (Signless+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/PatternSplice.hs" 5 12 5 14+                                   , srcInfoPoints = []+                                   })+                              (Int+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/PatternSplice.hs" 5 12 5 14+                                   , srcInfoPoints = []+                                   }+                                 42+                                 "42")))))+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 5 20 5 26+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/PatternSplice.hs" 5 20 5 21 ]+                   }+                 (Con+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 5 22 5 26+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 5 22 5 26+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 5 22 5 26+                            , srcInfoPoints = []+                            }+                          "True"))))+              Nothing+          , Match+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 6 1 6 27+                , srcInfoPoints = []+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 6 1 6 4+                   , srcInfoPoints = []+                   }+                 "foo")+              [ PWildCard+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 6 5 6 6+                    , srcInfoPoints = []+                    }+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 6 20 6 27+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/PatternSplice.hs" 6 20 6 21 ]+                   }+                 (Con+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 6 22 6 27+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 6 22 6 27+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 6 22 6 27+                            , srcInfoPoints = []+                            }+                          "False"))))+              Nothing+          ]+      ]+  , []+  )
+ tests/examples/PatternSplice.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/PatternSplice.hs.prettyprinter.golden view
@@ -0,0 +1,6 @@+{-# LANGUAGE TemplateHaskell #-}+module PatternSpliceTest where++foo :: Int -> Bool+foo $( [p| 42 |] ) = True+foo _ = False
tests/examples/PatternSynonymSignatures.hs.parser.golden view
@@ -46,16 +46,18 @@                 , SrcSpan "tests/examples/PatternSynonymSignatures.hs" 4 13 4 15                 ]             }-          (Ident-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/PatternSynonymSignatures.hs" 4 9 4 12-               , srcInfoPoints = []-               }-             "Syn")+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/PatternSynonymSignatures.hs" 4 9 4 12+                , srcInfoPoints = []+                }+              "Syn"+          ]           Nothing           Nothing           Nothing+          Nothing           (TyCon              SrcSpanInfo                { srcInfoSpan =@@ -84,13 +86,14 @@                 , SrcSpan "tests/examples/PatternSynonymSignatures.hs" 6 13 6 15                 ]             }-          (Ident-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/PatternSynonymSignatures.hs" 6 9 6 12-               , srcInfoPoints = []-               }-             "Syn")+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/PatternSynonymSignatures.hs" 6 9 6 12+                , srcInfoPoints = []+                }+              "Syn"+          ]           Nothing           (Just              (CxEmpty@@ -103,6 +106,7 @@                       , SrcSpan "tests/examples/PatternSynonymSignatures.hs" 6 19 6 21                       ]                   }))+          Nothing           (Just              (CxEmpty                 SrcSpanInfo@@ -142,13 +146,14 @@                 , SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 13 8 15                 ]             }-          (Ident-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 9 8 12-               , srcInfoPoints = []-               }-             "Syn")+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 9 8 12+                , srcInfoPoints = []+                }+              "Syn"+          ]           Nothing           (Just              (CxSingle@@ -158,40 +163,54 @@                   , srcInfoPoints =                       [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 23 8 25 ]                   }-                (ClassA+                (TypeA                    SrcSpanInfo                      { srcInfoSpan =                          SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 16 8 25                      , srcInfoPoints =                          [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 23 8 25 ]                      }-                   (UnQual+                   (TyApp                       SrcSpanInfo                         { srcInfoSpan =-                            SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 16 8 20-                        , srcInfoPoints = []+                            SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 16 8 25+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 23 8 25 ]                         }-                      (Ident+                      (TyCon                          SrcSpanInfo                            { srcInfoSpan =-                               SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 16 8 20+                               SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 16 8 25+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 23 8 25 ]+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 16 8 20+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 16 8 20+                                 , srcInfoPoints = []+                                 }+                               "Show")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 21 8 22                            , srcInfoPoints = []                            }-                         "Show"))-                   [ TyVar-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 21 8 22-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 21 8 22-                            , srcInfoPoints = []-                            }-                          "a")-                   ])))+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 21 8 22+                              , srcInfoPoints = []+                              }+                            "a"))))))+          Nothing           (Just              (CxSingle                 SrcSpanInfo@@ -200,40 +219,53 @@                   , srcInfoPoints =                       [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 33 8 35 ]                   }-                (ClassA+                (TypeA                    SrcSpanInfo                      { srcInfoSpan =                          SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 26 8 35                      , srcInfoPoints =                          [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 33 8 35 ]                      }-                   (UnQual+                   (TyApp                       SrcSpanInfo                         { srcInfoSpan =-                            SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 26 8 30-                        , srcInfoPoints = []+                            SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 26 8 35+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 33 8 35 ]                         }-                      (Ident+                      (TyCon                          SrcSpanInfo                            { srcInfoSpan =-                               SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 26 8 30+                               SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 26 8 35+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 33 8 35 ]+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 26 8 30+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 26 8 30+                                 , srcInfoPoints = []+                                 }+                               "Show")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 31 8 32                            , srcInfoPoints = []                            }-                         "Show"))-                   [ TyVar-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 31 8 32-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 31 8 32-                            , srcInfoPoints = []-                            }-                          "b")-                   ])))+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 31 8 32+                              , srcInfoPoints = []+                              }+                            "b"))))))           (TyCon              SrcSpanInfo                { srcInfoSpan =@@ -262,13 +294,14 @@                 , SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 13 10 15                 ]             }-          (Ident-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 9 10 12-               , srcInfoPoints = []-               }-             "Syn")+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 9 10 12+                , srcInfoPoints = []+                }+              "Syn"+          ]           Nothing           (Just              (CxSingle@@ -279,7 +312,7 @@                       [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 23 10 25                       ]                   }-                (ClassA+                (TypeA                    SrcSpanInfo                      { srcInfoSpan =                          SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 16 10 25@@ -287,34 +320,51 @@                          [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 23 10 25                          ]                      }-                   (UnQual+                   (TyApp                       SrcSpanInfo                         { srcInfoSpan =-                            SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 16 10 20-                        , srcInfoPoints = []+                            SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 16 10 25+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 23 10 25+                            ]                         }-                      (Ident+                      (TyCon                          SrcSpanInfo                            { srcInfoSpan =-                               SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 16 10 20+                               SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 16 10 25+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 23 10 25+                               ]+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 16 10 20+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan+                                       "tests/examples/PatternSynonymSignatures.hs" 10 16 10 20+                                 , srcInfoPoints = []+                                 }+                               "Show")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 21 10 22                            , srcInfoPoints = []                            }-                         "Show"))-                   [ TyVar-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 21 10 22-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 21 10 22-                            , srcInfoPoints = []-                            }-                          "b")-                   ])))+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 21 10 22+                              , srcInfoPoints = []+                              }+                            "b"))))))           Nothing+          Nothing           (TyCon              SrcSpanInfo                { srcInfoSpan =@@ -343,13 +393,14 @@                 , SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 13 12 15                 ]             }-          (Ident-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 9 12 12-               , srcInfoPoints = []-               }-             "Syn")+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 9 12 12+                , srcInfoPoints = []+                }+              "Syn"+          ]           Nothing           (Just              (CxSingle@@ -360,7 +411,7 @@                       [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 23 12 25                       ]                   }-                (ClassA+                (TypeA                    SrcSpanInfo                      { srcInfoSpan =                          SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 16 12 25@@ -368,33 +419,50 @@                          [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 23 12 25                          ]                      }-                   (UnQual+                   (TyApp                       SrcSpanInfo                         { srcInfoSpan =-                            SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 16 12 20-                        , srcInfoPoints = []+                            SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 16 12 25+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 23 12 25+                            ]                         }-                      (Ident+                      (TyCon                          SrcSpanInfo                            { srcInfoSpan =-                               SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 16 12 20+                               SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 16 12 25+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 23 12 25+                               ]+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 16 12 20+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan+                                       "tests/examples/PatternSynonymSignatures.hs" 12 16 12 20+                                 , srcInfoPoints = []+                                 }+                               "Show")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 21 12 22                            , srcInfoPoints = []                            }-                         "Show"))-                   [ TyVar-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 21 12 22-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 21 12 22-                            , srcInfoPoints = []-                            }-                          "b")-                   ])))+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 21 12 22+                              , srcInfoPoints = []+                              }+                            "b"))))))+          Nothing           (Just              (CxEmpty                 SrcSpanInfo@@ -434,13 +502,14 @@                 , SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 13 14 15                 ]             }-          (Ident-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 9 14 12-               , srcInfoPoints = []-               }-             "Syn")+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 9 14 12+                , srcInfoPoints = []+                }+              "Syn"+          ]           Nothing           (Just              (CxEmpty@@ -453,6 +522,7 @@                       , SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 19 14 21                       ]                   }))+          Nothing           (Just              (CxSingle                 SrcSpanInfo@@ -462,7 +532,7 @@                       [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 29 14 31                       ]                   }-                (ClassA+                (TypeA                    SrcSpanInfo                      { srcInfoSpan =                          SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 22 14 31@@ -470,33 +540,49 @@                          [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 29 14 31                          ]                      }-                   (UnQual+                   (TyApp                       SrcSpanInfo                         { srcInfoSpan =-                            SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 22 14 26-                        , srcInfoPoints = []+                            SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 22 14 31+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 29 14 31+                            ]                         }-                      (Ident+                      (TyCon                          SrcSpanInfo                            { srcInfoSpan =-                               SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 22 14 26+                               SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 22 14 31+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 29 14 31+                               ]+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 22 14 26+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan+                                       "tests/examples/PatternSynonymSignatures.hs" 14 22 14 26+                                 , srcInfoPoints = []+                                 }+                               "Show")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 27 14 28                            , srcInfoPoints = []                            }-                         "Show"))-                   [ TyVar-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 27 14 28-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 27 14 28-                            , srcInfoPoints = []-                            }-                          "b")-                   ])))+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 27 14 28+                              , srcInfoPoints = []+                              }+                            "b"))))))           (TyCon              SrcSpanInfo                { srcInfoSpan =
tests/examples/PatternSynonymSignatures.hs.prettyprinter.golden view
@@ -1,14 +1,13 @@ {-# LANGUAGE PatternSynonyms #-}-module Main (main) where  pattern Syn :: Typ -pattern Syn :: Typ+pattern Syn :: () => () => Typ  pattern Syn :: Show a => Show b => Typ  pattern Syn :: Show b => Typ -pattern Syn :: Show b => Typ+pattern Syn :: Show b => () => Typ  pattern Syn :: () => Show b => Typ
tests/examples/PatternSynonyms.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE PatternSynonyms #-}-module Main (main) where  pattern A = Nothing 
tests/examples/PatternSynonyms3.hs.parser.golden view
@@ -453,16 +453,18 @@                 , SrcSpan "tests/examples/PatternSynonyms3.hs" 12 16 12 18                 ]             }-          (Ident-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/PatternSynonyms3.hs" 12 9 12 15-               , srcInfoPoints = []-               }-             "Single")+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/PatternSynonyms3.hs" 12 9 12 15+                , srcInfoPoints = []+                }+              "Single"+          ]           Nothing           Nothing           Nothing+          Nothing           (TyFun              SrcSpanInfo                { srcInfoSpan =@@ -580,13 +582,14 @@                 , SrcSpan "tests/examples/PatternSynonyms3.hs" 16 16 16 18                 ]             }-          (Ident-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/PatternSynonyms3.hs" 16 9 16 15-               , srcInfoPoints = []-               }-             "Single")+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/PatternSynonyms3.hs" 16 9 16 15+                , srcInfoPoints = []+                }+              "Single"+          ]           Nothing           (Just              (CxEmpty@@ -599,6 +602,7 @@                       , SrcSpan "tests/examples/PatternSynonyms3.hs" 16 22 16 24                       ]                   }))+          Nothing           (Just              (CxSingle                 SrcSpanInfo@@ -620,39 +624,50 @@                          , SrcSpan "tests/examples/PatternSynonyms3.hs" 16 34 16 36                          ]                      }-                   (ClassA+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan =                             SrcSpan "tests/examples/PatternSynonyms3.hs" 16 26 16 32                         , srcInfoPoints = []                         }-                      (UnQual+                      (TyApp                          SrcSpanInfo                            { srcInfoSpan =-                               SrcSpan "tests/examples/PatternSynonyms3.hs" 16 26 16 30+                               SrcSpan "tests/examples/PatternSynonyms3.hs" 16 26 16 32                            , srcInfoPoints = []                            }-                         (Ident+                         (TyCon                             SrcSpanInfo                               { srcInfoSpan =-                                  SrcSpan "tests/examples/PatternSynonyms3.hs" 16 26 16 30+                                  SrcSpan "tests/examples/PatternSynonyms3.hs" 16 26 16 32                               , srcInfoPoints = []                               }-                            "Show"))-                      [ TyVar-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/PatternSynonyms3.hs" 16 31 16 32-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/PatternSynonyms3.hs" 16 31 16 32-                               , srcInfoPoints = []-                               }-                             "a")-                      ]))))+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/PatternSynonyms3.hs" 16 26 16 30+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/PatternSynonyms3.hs" 16 26 16 30+                                    , srcInfoPoints = []+                                    }+                                  "Show")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/PatternSynonyms3.hs" 16 31 16 32+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/PatternSynonyms3.hs" 16 31 16 32+                                 , srcInfoPoints = []+                                 }+                               "a")))))))           (TyFun              SrcSpanInfo                { srcInfoSpan =@@ -804,39 +819,50 @@                             , SrcSpan "tests/examples/PatternSynonyms3.hs" 19 15 19 17                             ]                         }-                      (ClassA+                      (TypeA                          SrcSpanInfo                            { srcInfoSpan =                                SrcSpan "tests/examples/PatternSynonyms3.hs" 19 7 19 13                            , srcInfoPoints = []                            }-                         (UnQual+                         (TyApp                             SrcSpanInfo                               { srcInfoSpan =-                                  SrcSpan "tests/examples/PatternSynonyms3.hs" 19 7 19 11+                                  SrcSpan "tests/examples/PatternSynonyms3.hs" 19 7 19 13                               , srcInfoPoints = []                               }-                            (Ident+                            (TyCon                                SrcSpanInfo                                  { srcInfoSpan =-                                     SrcSpan "tests/examples/PatternSynonyms3.hs" 19 7 19 11+                                     SrcSpan "tests/examples/PatternSynonyms3.hs" 19 7 19 13                                  , srcInfoPoints = []                                  }-                               "Show"))-                         [ TyVar-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/PatternSynonyms3.hs" 19 12 19 13-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/PatternSynonyms3.hs" 19 12 19 13-                                  , srcInfoPoints = []-                                  }-                                "a")-                         ]))))+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/PatternSynonyms3.hs" 19 7 19 11+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/PatternSynonyms3.hs" 19 7 19 11+                                       , srcInfoPoints = []+                                       }+                                     "Show")))+                            (TyVar+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/PatternSynonyms3.hs" 19 12 19 13+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/PatternSynonyms3.hs" 19 12 19 13+                                    , srcInfoPoints = []+                                    }+                                  "a")))))))              (TyFun                 SrcSpanInfo                   { srcInfoSpan =@@ -978,16 +1004,18 @@                 , SrcSpan "tests/examples/PatternSynonyms3.hs" 22 20 22 22                 ]             }-          (Ident-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/PatternSynonyms3.hs" 22 9 22 19-               , srcInfoPoints = []-               }-             "SinglePair")+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/PatternSynonyms3.hs" 22 9 22 19+                , srcInfoPoints = []+                }+              "SinglePair"+          ]           Nothing           Nothing           Nothing+          Nothing           (TyFun              SrcSpanInfo                { srcInfoSpan =@@ -1189,39 +1217,50 @@                             , SrcSpan "tests/examples/PatternSynonyms3.hs" 25 15 25 17                             ]                         }-                      (ClassA+                      (TypeA                          SrcSpanInfo                            { srcInfoSpan =                                SrcSpan "tests/examples/PatternSynonyms3.hs" 25 7 25 13                            , srcInfoPoints = []                            }-                         (UnQual+                         (TyApp                             SrcSpanInfo                               { srcInfoSpan =-                                  SrcSpan "tests/examples/PatternSynonyms3.hs" 25 7 25 11+                                  SrcSpan "tests/examples/PatternSynonyms3.hs" 25 7 25 13                               , srcInfoPoints = []                               }-                            (Ident+                            (TyCon                                SrcSpanInfo                                  { srcInfoSpan =-                                     SrcSpan "tests/examples/PatternSynonyms3.hs" 25 7 25 11+                                     SrcSpan "tests/examples/PatternSynonyms3.hs" 25 7 25 13                                  , srcInfoPoints = []                                  }-                               "Show"))-                         [ TyVar-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/PatternSynonyms3.hs" 25 12 25 13-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/PatternSynonyms3.hs" 25 12 25 13-                                  , srcInfoPoints = []-                                  }-                                "a")-                         ]))))+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/PatternSynonyms3.hs" 25 7 25 11+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/PatternSynonyms3.hs" 25 7 25 11+                                       , srcInfoPoints = []+                                       }+                                     "Show")))+                            (TyVar+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/PatternSynonyms3.hs" 25 12 25 13+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/PatternSynonyms3.hs" 25 12 25 13+                                    , srcInfoPoints = []+                                    }+                                  "a")))))))              (TyFun                 SrcSpanInfo                   { srcInfoSpan =@@ -1469,16 +1508,18 @@                 , SrcSpan "tests/examples/PatternSynonyms3.hs" 30 11 30 13                 ]             }-          (Ident-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/PatternSynonyms3.hs" 30 9 30 10-               , srcInfoPoints = []-               }-             "C")+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/PatternSynonyms3.hs" 30 9 30 10+                , srcInfoPoints = []+                }+              "C"+          ]           Nothing           Nothing           Nothing+          Nothing           (TyFun              SrcSpanInfo                { srcInfoSpan =@@ -1712,13 +1753,14 @@                 , SrcSpan "tests/examples/PatternSynonyms3.hs" 34 32 34 33                 ]             }-          (Ident-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/PatternSynonyms3.hs" 34 9 34 12-               , srcInfoPoints = []-               }-             "Syn")+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/PatternSynonyms3.hs" 34 9 34 12+                , srcInfoPoints = []+                }+              "Syn"+          ]           (Just              [ UnkindedVar                  SrcSpanInfo@@ -1771,6 +1813,7 @@                       , SrcSpan "tests/examples/PatternSynonyms3.hs" 34 37 34 39                       ]                   }))+          Nothing           (Just              (CxEmpty                 SrcSpanInfo@@ -1810,13 +1853,14 @@                 , SrcSpan "tests/examples/PatternSynonyms3.hs" 36 11 36 13                 ]             }-          (Ident-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/PatternSynonyms3.hs" 36 9 36 10-               , srcInfoPoints = []-               }-             "C")+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/PatternSynonyms3.hs" 36 9 36 10+                , srcInfoPoints = []+                }+              "C"+          ]           Nothing           (Just              (CxSingle@@ -1839,71 +1883,83 @@                          , SrcSpan "tests/examples/PatternSynonyms3.hs" 36 31 36 33                          ]                      }-                   (ClassA+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan =                             SrcSpan "tests/examples/PatternSynonyms3.hs" 36 15 36 29                         , srcInfoPoints = []                         }-                      (UnQual+                      (TyApp                          SrcSpanInfo                            { srcInfoSpan =-                               SrcSpan "tests/examples/PatternSynonyms3.hs" 36 15 36 19+                               SrcSpan "tests/examples/PatternSynonyms3.hs" 36 15 36 29                            , srcInfoPoints = []                            }-                         (Ident+                         (TyCon                             SrcSpanInfo                               { srcInfoSpan =-                                  SrcSpan "tests/examples/PatternSynonyms3.hs" 36 15 36 19+                                  SrcSpan "tests/examples/PatternSynonyms3.hs" 36 15 36 29                               , srcInfoPoints = []                               }-                            "Show"))-                      [ TyTuple-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/PatternSynonyms3.hs" 36 20 36 29-                            , srcInfoPoints =-                                [ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 20 36 21-                                , SrcSpan "tests/examples/PatternSynonyms3.hs" 36 22 36 23-                                , SrcSpan "tests/examples/PatternSynonyms3.hs" 36 28 36 29-                                ]-                            }-                          Boxed-                          [ TyVar-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/PatternSynonyms3.hs" 36 21 36 22-                                , srcInfoPoints = []-                                }-                              (Ident-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/PatternSynonyms3.hs" 36 21 36 22-                                   , srcInfoPoints = []-                                   }-                                 "a")-                          , TyCon-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/PatternSynonyms3.hs" 36 24 36 28-                                , srcInfoPoints = []-                                }-                              (UnQual-                                 SrcSpanInfo-                                   { srcInfoSpan =-                                       SrcSpan "tests/examples/PatternSynonyms3.hs" 36 24 36 28-                                   , srcInfoPoints = []-                                   }-                                 (Ident-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/PatternSynonyms3.hs" 36 24 36 28-                                      , srcInfoPoints = []-                                      }-                                    "Bool"))-                          ]-                      ]))))+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/PatternSynonyms3.hs" 36 15 36 19+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/PatternSynonyms3.hs" 36 15 36 19+                                    , srcInfoPoints = []+                                    }+                                  "Show")))+                         (TyTuple+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/PatternSynonyms3.hs" 36 20 36 29+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 20 36 21+                                  , SrcSpan "tests/examples/PatternSynonyms3.hs" 36 22 36 23+                                  , SrcSpan "tests/examples/PatternSynonyms3.hs" 36 28 36 29+                                  ]+                              }+                            Boxed+                            [ TyVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/PatternSynonyms3.hs" 36 21 36 22+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/PatternSynonyms3.hs" 36 21 36 22+                                     , srcInfoPoints = []+                                     }+                                   "a")+                            , TyCon+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/PatternSynonyms3.hs" 36 24 36 28+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/PatternSynonyms3.hs" 36 24 36 28+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/PatternSynonyms3.hs" 36 24 36 28+                                        , srcInfoPoints = []+                                        }+                                      "Bool"))+                            ]))))))           Nothing+          Nothing           (TyFun              SrcSpanInfo                { srcInfoSpan =@@ -2198,16 +2254,18 @@                 , SrcSpan "tests/examples/PatternSynonyms3.hs" 39 11 39 13                 ]             }-          (Ident-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/PatternSynonyms3.hs" 39 9 39 10-               , srcInfoPoints = []-               }-             "P")+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/PatternSynonyms3.hs" 39 9 39 10+                , srcInfoPoints = []+                }+              "P"+          ]           Nothing           Nothing           Nothing+          Nothing           (TyApp              SrcSpanInfo                { srcInfoSpan =@@ -2350,16 +2408,18 @@                 , SrcSpan "tests/examples/PatternSynonyms3.hs" 42 11 42 13                 ]             }-          (Ident-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/PatternSynonyms3.hs" 42 9 42 10-               , srcInfoPoints = []-               }-             "D")+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/PatternSynonyms3.hs" 42 9 42 10+                , srcInfoPoints = []+                }+              "D"+          ]           Nothing           Nothing           Nothing+          Nothing           (TyFun              SrcSpanInfo                { srcInfoSpan =@@ -3230,6 +3290,8 @@                    }                  "MkT")               Nothing+              Nothing+              Nothing               (TyFun                  SrcSpanInfo                    { srcInfoSpan =@@ -3325,7 +3387,7 @@                                }                              "T")))))           ]-          Nothing+          []       , PatSyn           SrcSpanInfo             { srcInfoSpan =
tests/examples/PatternSynonyms3.hs.prettyprinter.golden view
@@ -1,7 +1,6 @@ {-# LANGUAGE PatternSynonyms, BangPatterns, PolyKinds, DataKinds,   GADTs, FlexibleContexts, ViewPatterns #-} {-# LANGUAGE ExplicitForAll #-}-module Main (main) where  pattern Single x <- [x] @@ -33,7 +32,7 @@  pattern C x = Y (Just x) -pattern Syn :: forall a b c . Int+pattern Syn :: forall a b c . () => () => Int  pattern C :: (Show (a, Bool)) => a -> X Maybe (Maybe (a, Bool)) 
tests/examples/PolyKindSigs.hs.parser.golden view
@@ -89,18 +89,18 @@                   }                 "Foo"))           (Just-             (KindFn+             (TyFun                 SrcSpanInfo                   { srcInfoSpan = SrcSpan "tests/examples/PolyKindSigs.hs" 7 13 7 19                   , srcInfoPoints =                       [ SrcSpan "tests/examples/PolyKindSigs.hs" 7 15 7 17 ]                   }-                (KindStar+                (TyStar                    SrcSpanInfo                      { srcInfoSpan = SrcSpan "tests/examples/PolyKindSigs.hs" 7 13 7 14                      , srcInfoPoints = []                      })-                (KindStar+                (TyStar                    SrcSpanInfo                      { srcInfoSpan = SrcSpan "tests/examples/PolyKindSigs.hs" 7 18 7 19                      , srcInfoPoints = []@@ -118,6 +118,8 @@                    }                  "Foo")               Nothing+              Nothing+              Nothing               (TyApp                  SrcSpanInfo                    { srcInfoSpan = SrcSpan "tests/examples/PolyKindSigs.hs" 8 10 8 15@@ -151,7 +153,7 @@                          }                        "a")))           ]-          Nothing+          []       ]   , [ Comment         False
tests/examples/PolyKinds.hs.parser.golden view
@@ -91,7 +91,7 @@                     "Proxy")                  [])           ]-          Nothing+          []       , ClassDecl           SrcSpanInfo             { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 4 1 5 31
tests/examples/PolyKinds.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE PolyKinds #-}-module Main (main) where  data Proxy t = Proxy 
+ tests/examples/Ppr048.hs view
@@ -0,0 +1,10 @@+module Ppr048 where++{-# SCc foo #-}+foo :: Int -> Int+foo       x = x++{-# SCc foo2 "label" #-}+foo2 :: ()+foo2 = ()+
+ tests/examples/Ppr048.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/Ppr048.hs" 3 9) "Parse error: foo"
+ tests/examples/Ppr048.hs.parser.golden view
@@ -0,0 +1,2 @@+ParseFailed+  (SrcLoc "tests/examples/Ppr048.hs" 3 9) "Parse error: foo"
+ tests/examples/Ppr048.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/Ppr048.hs" 3 9) "Parse error: foo"
+ tests/examples/Ppr048.hs.prettyprinter.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/Ppr048.hs" 3 9) "Parse error: foo"
tests/examples/PrimitiveIntHexLiteral.hs.prettyparser.golden view
@@ -1,1 +1,10 @@-Match+Roundtrip test failed++AST 1:++Module () Nothing [LanguagePragma () [Ident () "MagicHash"]] [] [PatBind () (PVar () (Ident () "minInt")) (UnGuardedRhs () (App () (Con () (UnQual () (Ident () "I#"))) (Paren () (Lit () (PrimInt () 9223372036854775808 "0x8000000000000000"))))) Nothing]++AST 2:++Module () Nothing [LanguagePragma () [Ident () "MagicHash"]] [] [PatBind () (PVar () (Ident () "minInt")) (UnGuardedRhs () (App () (Con () (UnQual () (Ident () "I#"))) (Paren () (Lit () (PrimInt () 9223372036854775808 "9223372036854775808"))))) Nothing]+
tests/examples/PrimitiveIntHexLiteral.hs.prettyprinter.golden view
@@ -1,3 +1,2 @@ {-# LANGUAGE MagicHash #-}-module Main (main) where minInt = I# (9223372036854775808#)
+ tests/examples/PromotedSpace.hs view
@@ -0,0 +1,20 @@+{-# LANGUAGE DataKinds #-}+module PromotedSpace where++-- Promoted list containing promoted constructor with quote+type PL1 = '[ 'True ]++-- Promoted list containing promoted list+type PL2 = '[ '[Int] ]++-- Promoted list containing promoted tuple+type PL3 = '[ '(Int, Bool) ]++-- Promoted tuple containing promoted constructor with quote+type PT1 = '( 'True, False )++-- Promoted tuple containing promoted list+type PT2 = '( '[Int], Bool )++-- Promoted tuple containing promoted tuple+type PT3 = '( '(Int, Bool), Char )
+ tests/examples/PromotedSpace.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/PromotedSpace.hs.parser.golden view
@@ -0,0 +1,617 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 1 1 21 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/PromotedSpace.hs" 1 1 1 1+            , SrcSpan "tests/examples/PromotedSpace.hs" 2 1 2 1+            , SrcSpan "tests/examples/PromotedSpace.hs" 2 1 2 1+            , SrcSpan "tests/examples/PromotedSpace.hs" 5 1 5 1+            , SrcSpan "tests/examples/PromotedSpace.hs" 8 1 8 1+            , SrcSpan "tests/examples/PromotedSpace.hs" 11 1 11 1+            , SrcSpan "tests/examples/PromotedSpace.hs" 14 1 14 1+            , SrcSpan "tests/examples/PromotedSpace.hs" 17 1 17 1+            , SrcSpan "tests/examples/PromotedSpace.hs" 20 1 20 1+            , SrcSpan "tests/examples/PromotedSpace.hs" 21 1 21 1+            , SrcSpan "tests/examples/PromotedSpace.hs" 21 1 21 1+            ]+        }+      (Just+         (ModuleHead+            SrcSpanInfo+              { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 2 1 2 27+              , srcInfoPoints =+                  [ SrcSpan "tests/examples/PromotedSpace.hs" 2 1 2 7+                  , SrcSpan "tests/examples/PromotedSpace.hs" 2 22 2 27+                  ]+              }+            (ModuleName+               SrcSpanInfo+                 { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 2 8 2 21+                 , srcInfoPoints = []+                 }+               "PromotedSpace")+            Nothing+            Nothing))+      [ LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 1 1 1 27+            , srcInfoPoints =+                [ SrcSpan "tests/examples/PromotedSpace.hs" 1 1 1 13+                , SrcSpan "tests/examples/PromotedSpace.hs" 1 24 1 27+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 1 14 1 23+                , srcInfoPoints = []+                }+              "DataKinds"+          ]+      ]+      []+      [ TypeDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 5 1 5 22+            , srcInfoPoints =+                [ SrcSpan "tests/examples/PromotedSpace.hs" 5 1 5 5+                , SrcSpan "tests/examples/PromotedSpace.hs" 5 10 5 11+                ]+            }+          (DHead+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 5 6 5 9+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 5 6 5 9+                  , srcInfoPoints = []+                  }+                "PL1"))+          (TyPromoted+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 5 12 5 22+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/PromotedSpace.hs" 5 12 5 13+                   , SrcSpan "tests/examples/PromotedSpace.hs" 5 21 5 22+                   ]+               }+             (PromotedList+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 5 12 5 22+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/PromotedSpace.hs" 5 12 5 13+                      , SrcSpan "tests/examples/PromotedSpace.hs" 5 21 5 22+                      ]+                  }+                True+                [ TyPromoted+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 5 15 5 20+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/PromotedSpace.hs" 5 15 5 16 ]+                      }+                    (PromotedCon+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 5 15 5 20+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/PromotedSpace.hs" 5 15 5 16 ]+                         }+                       True+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 5 16 5 20+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 5 16 5 20+                               , srcInfoPoints = []+                               }+                             "True")))+                ]))+      , TypeDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 8 1 8 23+            , srcInfoPoints =+                [ SrcSpan "tests/examples/PromotedSpace.hs" 8 1 8 5+                , SrcSpan "tests/examples/PromotedSpace.hs" 8 10 8 11+                ]+            }+          (DHead+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 8 6 8 9+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 8 6 8 9+                  , srcInfoPoints = []+                  }+                "PL2"))+          (TyPromoted+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 8 12 8 23+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/PromotedSpace.hs" 8 12 8 13+                   , SrcSpan "tests/examples/PromotedSpace.hs" 8 22 8 23+                   ]+               }+             (PromotedList+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 8 12 8 23+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/PromotedSpace.hs" 8 12 8 13+                      , SrcSpan "tests/examples/PromotedSpace.hs" 8 22 8 23+                      ]+                  }+                True+                [ TyPromoted+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 8 15 8 21+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/PromotedSpace.hs" 8 15 8 16+                          , SrcSpan "tests/examples/PromotedSpace.hs" 8 20 8 21+                          ]+                      }+                    (PromotedList+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 8 15 8 21+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/PromotedSpace.hs" 8 15 8 16+                             , SrcSpan "tests/examples/PromotedSpace.hs" 8 20 8 21+                             ]+                         }+                       True+                       [ TyCon+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 8 17 8 20+                             , srcInfoPoints = []+                             }+                           (UnQual+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 8 17 8 20+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/PromotedSpace.hs" 8 17 8 20+                                   , srcInfoPoints = []+                                   }+                                 "Int"))+                       ])+                ]))+      , TypeDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/PromotedSpace.hs" 11 1 11 29+            , srcInfoPoints =+                [ SrcSpan "tests/examples/PromotedSpace.hs" 11 1 11 5+                , SrcSpan "tests/examples/PromotedSpace.hs" 11 10 11 11+                ]+            }+          (DHead+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 11 6 11 9+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 11 6 11 9+                  , srcInfoPoints = []+                  }+                "PL3"))+          (TyPromoted+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/PromotedSpace.hs" 11 12 11 29+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/PromotedSpace.hs" 11 12 11 13+                   , SrcSpan "tests/examples/PromotedSpace.hs" 11 28 11 29+                   ]+               }+             (PromotedList+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/PromotedSpace.hs" 11 12 11 29+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/PromotedSpace.hs" 11 12 11 13+                      , SrcSpan "tests/examples/PromotedSpace.hs" 11 28 11 29+                      ]+                  }+                True+                [ TyPromoted+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/PromotedSpace.hs" 11 15 11 27+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/PromotedSpace.hs" 11 15 11 16+                          , SrcSpan "tests/examples/PromotedSpace.hs" 11 20 11 21+                          , SrcSpan "tests/examples/PromotedSpace.hs" 11 26 11 27+                          ]+                      }+                    (PromotedTuple+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/PromotedSpace.hs" 11 15 11 27+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/PromotedSpace.hs" 11 15 11 16+                             , SrcSpan "tests/examples/PromotedSpace.hs" 11 20 11 21+                             , SrcSpan "tests/examples/PromotedSpace.hs" 11 26 11 27+                             ]+                         }+                       [ TyCon+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/PromotedSpace.hs" 11 17 11 20+                             , srcInfoPoints = []+                             }+                           (UnQual+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/PromotedSpace.hs" 11 17 11 20+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/PromotedSpace.hs" 11 17 11 20+                                   , srcInfoPoints = []+                                   }+                                 "Int"))+                       , TyCon+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/PromotedSpace.hs" 11 22 11 26+                             , srcInfoPoints = []+                             }+                           (UnQual+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/PromotedSpace.hs" 11 22 11 26+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/PromotedSpace.hs" 11 22 11 26+                                   , srcInfoPoints = []+                                   }+                                 "Bool"))+                       ])+                ]))+      , TypeDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/PromotedSpace.hs" 14 1 14 29+            , srcInfoPoints =+                [ SrcSpan "tests/examples/PromotedSpace.hs" 14 1 14 5+                , SrcSpan "tests/examples/PromotedSpace.hs" 14 10 14 11+                ]+            }+          (DHead+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 14 6 14 9+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 14 6 14 9+                  , srcInfoPoints = []+                  }+                "PT1"))+          (TyPromoted+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/PromotedSpace.hs" 14 12 14 29+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/PromotedSpace.hs" 14 12 14 13+                   , SrcSpan "tests/examples/PromotedSpace.hs" 14 20 14 21+                   , SrcSpan "tests/examples/PromotedSpace.hs" 14 28 14 29+                   ]+               }+             (PromotedTuple+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/PromotedSpace.hs" 14 12 14 29+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/PromotedSpace.hs" 14 12 14 13+                      , SrcSpan "tests/examples/PromotedSpace.hs" 14 20 14 21+                      , SrcSpan "tests/examples/PromotedSpace.hs" 14 28 14 29+                      ]+                  }+                [ TyPromoted+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/PromotedSpace.hs" 14 15 14 20+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/PromotedSpace.hs" 14 15 14 16 ]+                      }+                    (PromotedCon+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/PromotedSpace.hs" 14 15 14 20+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/PromotedSpace.hs" 14 15 14 16 ]+                         }+                       True+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/PromotedSpace.hs" 14 16 14 20+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/PromotedSpace.hs" 14 16 14 20+                               , srcInfoPoints = []+                               }+                             "True")))+                , TyCon+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/PromotedSpace.hs" 14 22 14 27+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/PromotedSpace.hs" 14 22 14 27+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/PromotedSpace.hs" 14 22 14 27+                            , srcInfoPoints = []+                            }+                          "False"))+                ]))+      , TypeDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/PromotedSpace.hs" 17 1 17 29+            , srcInfoPoints =+                [ SrcSpan "tests/examples/PromotedSpace.hs" 17 1 17 5+                , SrcSpan "tests/examples/PromotedSpace.hs" 17 10 17 11+                ]+            }+          (DHead+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 17 6 17 9+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 17 6 17 9+                  , srcInfoPoints = []+                  }+                "PT2"))+          (TyPromoted+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/PromotedSpace.hs" 17 12 17 29+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/PromotedSpace.hs" 17 12 17 13+                   , SrcSpan "tests/examples/PromotedSpace.hs" 17 21 17 22+                   , SrcSpan "tests/examples/PromotedSpace.hs" 17 28 17 29+                   ]+               }+             (PromotedTuple+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/PromotedSpace.hs" 17 12 17 29+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/PromotedSpace.hs" 17 12 17 13+                      , SrcSpan "tests/examples/PromotedSpace.hs" 17 21 17 22+                      , SrcSpan "tests/examples/PromotedSpace.hs" 17 28 17 29+                      ]+                  }+                [ TyPromoted+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/PromotedSpace.hs" 17 15 17 21+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/PromotedSpace.hs" 17 15 17 16+                          , SrcSpan "tests/examples/PromotedSpace.hs" 17 20 17 21+                          ]+                      }+                    (PromotedList+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/PromotedSpace.hs" 17 15 17 21+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/PromotedSpace.hs" 17 15 17 16+                             , SrcSpan "tests/examples/PromotedSpace.hs" 17 20 17 21+                             ]+                         }+                       True+                       [ TyCon+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/PromotedSpace.hs" 17 17 17 20+                             , srcInfoPoints = []+                             }+                           (UnQual+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/PromotedSpace.hs" 17 17 17 20+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/PromotedSpace.hs" 17 17 17 20+                                   , srcInfoPoints = []+                                   }+                                 "Int"))+                       ])+                , TyCon+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/PromotedSpace.hs" 17 23 17 27+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/PromotedSpace.hs" 17 23 17 27+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/PromotedSpace.hs" 17 23 17 27+                            , srcInfoPoints = []+                            }+                          "Bool"))+                ]))+      , TypeDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/PromotedSpace.hs" 20 1 20 35+            , srcInfoPoints =+                [ SrcSpan "tests/examples/PromotedSpace.hs" 20 1 20 5+                , SrcSpan "tests/examples/PromotedSpace.hs" 20 10 20 11+                ]+            }+          (DHead+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 20 6 20 9+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 20 6 20 9+                  , srcInfoPoints = []+                  }+                "PT3"))+          (TyPromoted+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/PromotedSpace.hs" 20 12 20 35+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/PromotedSpace.hs" 20 12 20 13+                   , SrcSpan "tests/examples/PromotedSpace.hs" 20 27 20 28+                   , SrcSpan "tests/examples/PromotedSpace.hs" 20 34 20 35+                   ]+               }+             (PromotedTuple+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/PromotedSpace.hs" 20 12 20 35+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/PromotedSpace.hs" 20 12 20 13+                      , SrcSpan "tests/examples/PromotedSpace.hs" 20 27 20 28+                      , SrcSpan "tests/examples/PromotedSpace.hs" 20 34 20 35+                      ]+                  }+                [ TyPromoted+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/PromotedSpace.hs" 20 15 20 27+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/PromotedSpace.hs" 20 15 20 16+                          , SrcSpan "tests/examples/PromotedSpace.hs" 20 20 20 21+                          , SrcSpan "tests/examples/PromotedSpace.hs" 20 26 20 27+                          ]+                      }+                    (PromotedTuple+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/PromotedSpace.hs" 20 15 20 27+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/PromotedSpace.hs" 20 15 20 16+                             , SrcSpan "tests/examples/PromotedSpace.hs" 20 20 20 21+                             , SrcSpan "tests/examples/PromotedSpace.hs" 20 26 20 27+                             ]+                         }+                       [ TyCon+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/PromotedSpace.hs" 20 17 20 20+                             , srcInfoPoints = []+                             }+                           (UnQual+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/PromotedSpace.hs" 20 17 20 20+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/PromotedSpace.hs" 20 17 20 20+                                   , srcInfoPoints = []+                                   }+                                 "Int"))+                       , TyCon+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/PromotedSpace.hs" 20 22 20 26+                             , srcInfoPoints = []+                             }+                           (UnQual+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/PromotedSpace.hs" 20 22 20 26+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/PromotedSpace.hs" 20 22 20 26+                                   , srcInfoPoints = []+                                   }+                                 "Bool"))+                       ])+                , TyCon+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/PromotedSpace.hs" 20 29 20 33+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/PromotedSpace.hs" 20 29 20 33+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/PromotedSpace.hs" 20 29 20 33+                            , srcInfoPoints = []+                            }+                          "Char"))+                ]))+      ]+  , [ Comment+        False+        (SrcSpan "tests/examples/PromotedSpace.hs" 4 1 4 60)+        " Promoted list containing promoted constructor with quote"+    , Comment+        False+        (SrcSpan "tests/examples/PromotedSpace.hs" 7 1 7 42)+        " Promoted list containing promoted list"+    , Comment+        False+        (SrcSpan "tests/examples/PromotedSpace.hs" 10 1 10 43)+        " Promoted list containing promoted tuple"+    , Comment+        False+        (SrcSpan "tests/examples/PromotedSpace.hs" 13 1 13 61)+        " Promoted tuple containing promoted constructor with quote"+    , Comment+        False+        (SrcSpan "tests/examples/PromotedSpace.hs" 16 1 16 43)+        " Promoted tuple containing promoted list"+    , Comment+        False+        (SrcSpan "tests/examples/PromotedSpace.hs" 19 1 19 44)+        " Promoted tuple containing promoted tuple"+    ]+  )
+ tests/examples/PromotedSpace.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/PromotedSpace.hs.prettyprinter.golden view
@@ -0,0 +1,14 @@+{-# LANGUAGE DataKinds #-}+module PromotedSpace where++type PL1 = '[ 'True]++type PL2 = '[ '[Int]]++type PL3 = '[ '(Int, Bool)]++type PT1 = '( 'True, False)++type PT2 = '( '[Int], Bool)++type PT3 = '( '(Int, Bool), Char)
tests/examples/QualifiedQQuote.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE QuasiQuotes #-}-module Main (main) where import qualified Language.Haskell.TH as T  x :: T.DecsQ
tests/examples/QualifiedRecordfieldPuns.hs.prettyprinter.golden view
@@ -1,3 +1,2 @@ {-# LANGUAGE NamedFieldPuns #-}-module Main (main) where f (C{M.a}) = a
+ tests/examples/QuantifiedConstraints.hs view
@@ -0,0 +1,4 @@+{-# LANGUAGE ExplicitForAll #-}+{-# LANGUAGE QuantifiedConstraints #-}++class (forall a. Eq (f a)) => C f
+ tests/examples/QuantifiedConstraints.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/QuantifiedConstraints.hs.parser.golden view
@@ -0,0 +1,222 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan =+            SrcSpan "tests/examples/QuantifiedConstraints.hs" 1 1 5 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/QuantifiedConstraints.hs" 1 1 1 1+            , SrcSpan "tests/examples/QuantifiedConstraints.hs" 2 1 2 1+            , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 1 4 1+            , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 1 4 1+            , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 1 4 1+            , SrcSpan "tests/examples/QuantifiedConstraints.hs" 5 1 5 1+            , SrcSpan "tests/examples/QuantifiedConstraints.hs" 5 1 5 1+            ]+        }+      Nothing+      [ LanguagePragma+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/QuantifiedConstraints.hs" 1 1 1 32+            , srcInfoPoints =+                [ SrcSpan "tests/examples/QuantifiedConstraints.hs" 1 1 1 13+                , SrcSpan "tests/examples/QuantifiedConstraints.hs" 1 29 1 32+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/QuantifiedConstraints.hs" 1 14 1 28+                , srcInfoPoints = []+                }+              "ExplicitForAll"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/QuantifiedConstraints.hs" 2 1 2 39+            , srcInfoPoints =+                [ SrcSpan "tests/examples/QuantifiedConstraints.hs" 2 1 2 13+                , SrcSpan "tests/examples/QuantifiedConstraints.hs" 2 36 2 39+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/QuantifiedConstraints.hs" 2 14 2 35+                , srcInfoPoints = []+                }+              "QuantifiedConstraints"+          ]+      ]+      []+      [ ClassDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 1 4 34+            , srcInfoPoints =+                [ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 1 4 6 ]+            }+          (Just+             (CxSingle+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 7 4 30+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 7 4 8+                      , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 26 4 27+                      , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 28 4 30+                      ]+                  }+                (ParenA+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 7 4 30+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 7 4 8+                         , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 26 4 27+                         , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 28 4 30+                         ]+                     }+                   (TypeA+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 8 4 26+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 8 4 14+                            , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 16 4 17+                            ]+                        }+                      (TyForall+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 8 4 26+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 8 4 14+                               , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 16 4 17+                               ]+                           }+                         (Just+                            [ UnkindedVar+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 15 4 16+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 15 4 16+                                     , srcInfoPoints = []+                                     }+                                   "a")+                            ])+                         Nothing+                         (TyApp+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 18 4 26+                              , srcInfoPoints = []+                              }+                            (TyCon+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 18 4 20+                                 , srcInfoPoints = []+                                 }+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 18 4 20+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan+                                             "tests/examples/QuantifiedConstraints.hs" 4 18 4 20+                                       , srcInfoPoints = []+                                       }+                                     "Eq")))+                            (TyParen+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 21 4 26+                                 , srcInfoPoints =+                                     [ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 21 4 22+                                     , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 25 4 26+                                     ]+                                 }+                               (TyApp+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 22 4 25+                                    , srcInfoPoints = []+                                    }+                                  (TyVar+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan+                                             "tests/examples/QuantifiedConstraints.hs" 4 22 4 23+                                       , srcInfoPoints = []+                                       }+                                     (Ident+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan+                                                "tests/examples/QuantifiedConstraints.hs" 4 22 4 23+                                          , srcInfoPoints = []+                                          }+                                        "f"))+                                  (TyVar+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan+                                             "tests/examples/QuantifiedConstraints.hs" 4 24 4 25+                                       , srcInfoPoints = []+                                       }+                                     (Ident+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan+                                                "tests/examples/QuantifiedConstraints.hs" 4 24 4 25+                                          , srcInfoPoints = []+                                          }+                                        "a"))))))))))+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 31 4 34+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 31 4 32+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 31 4 32+                     , srcInfoPoints = []+                     }+                   "C"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 33 4 34+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 33 4 34+                     , srcInfoPoints = []+                     }+                   "f")))+          []+          Nothing+      ]+  , []+  )
+ tests/examples/QuantifiedConstraints.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/QuantifiedConstraints.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+{-# LANGUAGE ExplicitForAll #-}+{-# LANGUAGE QuantifiedConstraints #-}++class (forall a . Eq (f a)) => C f
− tests/examples/QuasiQuoteExpr2.hs
@@ -1,3 +0,0 @@-{-# LANGUAGE QuasiQuotes #-}--foo = [$q| a b |]
− tests/examples/QuasiQuoteExpr2.hs.exactprinter.golden
@@ -1,4 +0,0 @@-{-# LANGUAGE QuasiQuotes #-}--foo = [q| a b |]-
− tests/examples/QuasiQuoteExpr2.hs.parser.golden
@@ -1,69 +0,0 @@-ParseOk-  ( Module-      SrcSpanInfo-        { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 1 1 4 1-        , srcInfoPoints =-            [ SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 1 1 1 1-            , SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 3 1 3 1-            , SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 3 1 3 1-            , SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 3 1 3 1-            , SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 4 1 4 1-            , SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 4 1 4 1-            ]-        }-      Nothing-      [ LanguagePragma-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 1 1 1 29-            , srcInfoPoints =-                [ SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 1 1 1 13-                , SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 1 26 1 29-                ]-            }-          [ Ident-              SrcSpanInfo-                { srcInfoSpan =-                    SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 1 14 1 25-                , srcInfoPoints = []-                }-              "QuasiQuotes"-          ]-      ]-      []-      [ PatBind-          SrcSpanInfo-            { srcInfoSpan =-                SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 3 1 3 18-            , srcInfoPoints = []-            }-          (PVar-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 3 1 3 4-               , srcInfoPoints = []-               }-             (Ident-                SrcSpanInfo-                  { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 3 1 3 4-                  , srcInfoPoints = []-                  }-                "foo"))-          (UnGuardedRhs-             SrcSpanInfo-               { srcInfoSpan =-                   SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 3 5 3 18-               , srcInfoPoints =-                   [ SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 3 5 3 6 ]-               }-             (QuasiQuote-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 3 7 3 18-                  , srcInfoPoints = []-                  }-                "q"-                " a b "))-          Nothing-      ]-  , []-  )
− tests/examples/QuasiQuoteExpr2.hs.prettyparser.golden
@@ -1,1 +0,0 @@-Match
− tests/examples/QuasiQuoteExpr2.hs.prettyprinter.golden
@@ -1,3 +0,0 @@-{-# LANGUAGE QuasiQuotes #-}-module Main (main) where-foo = [q| a b |]
tests/examples/QuasiQuoteLines.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE QuasiQuotes #-}-module Main (main) where import Here  str :: String
tests/examples/QuasiQuoteOld.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE QuasiQuotes #-}-module Main (main) where import Here  str :: String
tests/examples/QuasiQuoteQual2.hs.prettyprinter.golden view
@@ -1,4 +1,3 @@ {-# LANGUAGE QuasiQuotes #-}-module Main (main) where f [True] = 1 f _ = 0
tests/examples/QuasiQuoteSplice.hs.parser.golden view
@@ -165,7 +165,7 @@                     "PF")                  [])           ]-          Nothing+          []       , PatBind           SrcSpanInfo             { srcInfoSpan =
tests/examples/QuasiQuoteSplice.hs.prettyprinter.golden view
@@ -1,6 +1,5 @@ {-# LANGUAGE TemplateHaskell, RankNTypes #-} {-# OPTIONS_GHC -F -pgmFtrhsx #-}-module Main (main) where import Language.Haskell.TH  data PageFunction m a = PF
tests/examples/QuasiQuoteToplevel.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE QuasiQuotes #-}-module Main (main) where  [undefined| this quasiquote is acceptable to ghc's
+ tests/examples/QuasiQuoteUnit.hs view
@@ -0,0 +1,5 @@+{-# LANGUAGE QuasiQuotes #-}+{-# LANGUAGE TemplateHaskell #-}++unNest n = conP '()+
+ tests/examples/QuasiQuoteUnit.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/QuasiQuoteUnit.hs.parser.golden view
@@ -0,0 +1,139 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteUnit.hs" 1 1 6 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 1 1 1 1+            , SrcSpan "tests/examples/QuasiQuoteUnit.hs" 2 1 2 1+            , SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 1 4 1+            , SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 1 4 1+            , SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 1 4 1+            , SrcSpan "tests/examples/QuasiQuoteUnit.hs" 6 1 6 1+            , SrcSpan "tests/examples/QuasiQuoteUnit.hs" 6 1 6 1+            ]+        }+      Nothing+      [ LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteUnit.hs" 1 1 1 29+            , srcInfoPoints =+                [ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 1 1 1 13+                , SrcSpan "tests/examples/QuasiQuoteUnit.hs" 1 26 1 29+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/QuasiQuoteUnit.hs" 1 14 1 25+                , srcInfoPoints = []+                }+              "QuasiQuotes"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteUnit.hs" 2 1 2 33+            , srcInfoPoints =+                [ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 2 1 2 13+                , SrcSpan "tests/examples/QuasiQuoteUnit.hs" 2 30 2 33+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/QuasiQuoteUnit.hs" 2 14 2 29+                , srcInfoPoints = []+                }+              "TemplateHaskell"+          ]+      ]+      []+      [ FunBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 1 4 20+            , srcInfoPoints = []+            }+          [ Match+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 1 4 20+                , srcInfoPoints = []+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 1 4 7+                   , srcInfoPoints = []+                   }+                 "unNest")+              [ PVar+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 8 4 9+                    , srcInfoPoints = []+                    }+                  (Ident+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 8 4 9+                       , srcInfoPoints = []+                       }+                     "n")+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 10 4 20+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 10 4 11 ]+                   }+                 (App+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 12 4 20+                      , srcInfoPoints = []+                      }+                    (Var+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 12 4 16+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 12 4 16+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 12 4 16+                               , srcInfoPoints = []+                               }+                             "conP")))+                    (VarQuote+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 17 4 20+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 17 4 18 ]+                         }+                       (Special+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 18 4 20+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 18 4 19+                                , SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 19 4 20+                                ]+                            }+                          (UnitCon+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 18 4 20+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 18 4 19+                                   , SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 19 4 20+                                   ]+                               })))))+              Nothing+          ]+      ]+  , []+  )
+ tests/examples/QuasiQuoteUnit.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/QuasiQuoteUnit.hs.prettyprinter.golden view
@@ -0,0 +1,3 @@+{-# LANGUAGE QuasiQuotes #-}+{-# LANGUAGE TemplateHaskell #-}+unNest n = conP '()
tests/examples/RCategory.hs.parser.golden view
@@ -218,1713 +218,1996 @@                  SrcSpanInfo                    { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 3 15 43                    , srcInfoPoints =-                       [ SrcSpan "tests/examples/RCategory.hs" 15 3 15 7-                       , SrcSpan "tests/examples/RCategory.hs" 15 30 15 32-                       ]-                   }-                 (DHApp-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 8 15 29-                      , srcInfoPoints = []-                      }-                    (DHApp-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 8 15 27-                         , srcInfoPoints = []-                         }-                       (DHApp-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 8 15 25-                            , srcInfoPoints = []-                            }-                          (DHead-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 8 15 21-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 8 15 21-                                  , srcInfoPoints = []-                                  }-                                "RCategoryCtxt"))-                          (UnkindedVar-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 22 15 25-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 22 15 25-                                  , srcInfoPoints = []-                                  }-                                "cat")))-                       (UnkindedVar-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 26 15 27-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 26 15 27-                               , srcInfoPoints = []-                               }-                             "a")))-                    (UnkindedVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 28 15 29-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 28 15 29-                            , srcInfoPoints = []-                            }-                          "b")))-                 (Just-                    (KindVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 33 15 43-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 33 15 43-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 33 15 43-                               , srcInfoPoints = []-                               }-                             "Constraint"))))-             , ClsDecl-                 SrcSpanInfo-                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 3 19 16-                   , srcInfoPoints =-                       [ SrcSpan "tests/examples/RCategory.hs" 18 6 18 8 ]-                   }-                 (TypeSig-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 3 19 16-                      , srcInfoPoints =-                          [ SrcSpan "tests/examples/RCategory.hs" 18 6 18 8 ]-                      }-                    [ Ident-                        SrcSpanInfo-                          { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 3 18 5-                          , srcInfoPoints = []-                          }-                        "id"-                    ]-                    (TyForall-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 9 19 16-                         , srcInfoPoints = []-                         }-                       Nothing-                       (Just-                          (CxSingle-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 9 19 8-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8 ]-                               }-                             (ClassA-                                SrcSpanInfo-                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 9 19 8-                                  , srcInfoPoints =-                                      [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8 ]-                                  }-                                (UnQual-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/RCategory.hs" 18 9 18 22-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/RCategory.hs" 18 9 18 22-                                        , srcInfoPoints = []-                                        }-                                      "RCategoryCtxt"))-                                [ TyVar-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/RCategory.hs" 18 23 18 26-                                      , srcInfoPoints = []-                                      }-                                    (Ident-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/RCategory.hs" 18 23 18 26-                                         , srcInfoPoints = []-                                         }-                                       "cat")-                                , TyVar-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/RCategory.hs" 18 27 18 28-                                      , srcInfoPoints = []-                                      }-                                    (Ident-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/RCategory.hs" 18 27 18 28-                                         , srcInfoPoints = []-                                         }-                                       "a")-                                , TyVar-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/RCategory.hs" 18 29 18 30-                                      , srcInfoPoints = []-                                      }-                                    (Ident-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/RCategory.hs" 18 29 18 30-                                         , srcInfoPoints = []-                                         }-                                       "a")-                                ])))-                       (TyApp-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 9 19 16-                            , srcInfoPoints = []-                            }-                          (TyApp-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 9 19 14-                               , srcInfoPoints = []-                               }-                             (TyVar-                                SrcSpanInfo-                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 9 19 12-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/RCategory.hs" 19 9 19 12-                                     , srcInfoPoints = []-                                     }-                                   "cat"))-                             (TyVar-                                SrcSpanInfo-                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 13 19 14-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/RCategory.hs" 19 13 19 14-                                     , srcInfoPoints = []-                                     }-                                   "a")))-                          (TyVar-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 15 19 16-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 15 19 16-                                  , srcInfoPoints = []-                                  }-                                "a")))))-             , ClsDecl-                 SrcSpanInfo-                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 3 23 39-                   , srcInfoPoints =-                       [ SrcSpan "tests/examples/RCategory.hs" 22 7 22 9 ]-                   }-                 (TypeSig-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 3 23 39-                      , srcInfoPoints =-                          [ SrcSpan "tests/examples/RCategory.hs" 22 7 22 9 ]-                      }-                    [ Symbol-                        SrcSpanInfo-                          { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 3 22 6-                          , srcInfoPoints =-                              [ SrcSpan "tests/examples/RCategory.hs" 22 3 22 4-                              , SrcSpan "tests/examples/RCategory.hs" 22 4 22 5-                              , SrcSpan "tests/examples/RCategory.hs" 22 5 22 6-                              ]-                          }-                        "."-                    ]-                    (TyForall-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 10 23 39-                         , srcInfoPoints = []-                         }-                       Nothing-                       (Just-                          (CxTuple-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 10 23 9-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/RCategory.hs" 22 10 22 11-                                   , SrcSpan "tests/examples/RCategory.hs" 22 32 22 33-                                   , SrcSpan "tests/examples/RCategory.hs" 22 55 22 56-                                   , SrcSpan "tests/examples/RCategory.hs" 22 78 22 79-                                   , SrcSpan "tests/examples/RCategory.hs" 23 7 23 9-                                   ]-                               }-                             [ ClassA-                                 SrcSpanInfo-                                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 11 22 32-                                   , srcInfoPoints = []-                                   }-                                 (UnQual-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/RCategory.hs" 22 11 22 24-                                      , srcInfoPoints = []-                                      }-                                    (Ident-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/RCategory.hs" 22 11 22 24-                                         , srcInfoPoints = []-                                         }-                                       "RCategoryCtxt"))-                                 [ TyVar-                                     SrcSpanInfo-                                       { srcInfoSpan =-                                           SrcSpan "tests/examples/RCategory.hs" 22 25 22 28-                                       , srcInfoPoints = []-                                       }-                                     (Ident-                                        SrcSpanInfo-                                          { srcInfoSpan =-                                              SrcSpan "tests/examples/RCategory.hs" 22 25 22 28-                                          , srcInfoPoints = []-                                          }-                                        "cat")-                                 , TyVar-                                     SrcSpanInfo-                                       { srcInfoSpan =-                                           SrcSpan "tests/examples/RCategory.hs" 22 29 22 30-                                       , srcInfoPoints = []-                                       }-                                     (Ident-                                        SrcSpanInfo-                                          { srcInfoSpan =-                                              SrcSpan "tests/examples/RCategory.hs" 22 29 22 30-                                          , srcInfoPoints = []-                                          }-                                        "b")-                                 , TyVar-                                     SrcSpanInfo-                                       { srcInfoSpan =-                                           SrcSpan "tests/examples/RCategory.hs" 22 31 22 32-                                       , srcInfoPoints = []-                                       }-                                     (Ident-                                        SrcSpanInfo-                                          { srcInfoSpan =-                                              SrcSpan "tests/examples/RCategory.hs" 22 31 22 32-                                          , srcInfoPoints = []-                                          }-                                        "c")-                                 ]-                             , ClassA-                                 SrcSpanInfo-                                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 34 22 55-                                   , srcInfoPoints = []-                                   }-                                 (UnQual-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/RCategory.hs" 22 34 22 47-                                      , srcInfoPoints = []-                                      }-                                    (Ident-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/RCategory.hs" 22 34 22 47-                                         , srcInfoPoints = []-                                         }-                                       "RCategoryCtxt"))-                                 [ TyVar-                                     SrcSpanInfo-                                       { srcInfoSpan =-                                           SrcSpan "tests/examples/RCategory.hs" 22 48 22 51-                                       , srcInfoPoints = []-                                       }-                                     (Ident-                                        SrcSpanInfo-                                          { srcInfoSpan =-                                              SrcSpan "tests/examples/RCategory.hs" 22 48 22 51-                                          , srcInfoPoints = []-                                          }-                                        "cat")-                                 , TyVar-                                     SrcSpanInfo-                                       { srcInfoSpan =-                                           SrcSpan "tests/examples/RCategory.hs" 22 52 22 53-                                       , srcInfoPoints = []-                                       }-                                     (Ident-                                        SrcSpanInfo-                                          { srcInfoSpan =-                                              SrcSpan "tests/examples/RCategory.hs" 22 52 22 53-                                          , srcInfoPoints = []-                                          }-                                        "a")-                                 , TyVar-                                     SrcSpanInfo-                                       { srcInfoSpan =-                                           SrcSpan "tests/examples/RCategory.hs" 22 54 22 55-                                       , srcInfoPoints = []-                                       }-                                     (Ident-                                        SrcSpanInfo-                                          { srcInfoSpan =-                                              SrcSpan "tests/examples/RCategory.hs" 22 54 22 55-                                          , srcInfoPoints = []-                                          }-                                        "b")-                                 ]-                             , ClassA-                                 SrcSpanInfo-                                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 57 22 78-                                   , srcInfoPoints = []-                                   }-                                 (UnQual-                                    SrcSpanInfo-                                      { srcInfoSpan =-                                          SrcSpan "tests/examples/RCategory.hs" 22 57 22 70-                                      , srcInfoPoints = []-                                      }-                                    (Ident-                                       SrcSpanInfo-                                         { srcInfoSpan =-                                             SrcSpan "tests/examples/RCategory.hs" 22 57 22 70-                                         , srcInfoPoints = []-                                         }-                                       "RCategoryCtxt"))-                                 [ TyVar-                                     SrcSpanInfo-                                       { srcInfoSpan =-                                           SrcSpan "tests/examples/RCategory.hs" 22 71 22 74-                                       , srcInfoPoints = []-                                       }-                                     (Ident-                                        SrcSpanInfo-                                          { srcInfoSpan =-                                              SrcSpan "tests/examples/RCategory.hs" 22 71 22 74-                                          , srcInfoPoints = []-                                          }-                                        "cat")-                                 , TyVar-                                     SrcSpanInfo-                                       { srcInfoSpan =-                                           SrcSpan "tests/examples/RCategory.hs" 22 75 22 76-                                       , srcInfoPoints = []-                                       }-                                     (Ident-                                        SrcSpanInfo-                                          { srcInfoSpan =-                                              SrcSpan "tests/examples/RCategory.hs" 22 75 22 76-                                          , srcInfoPoints = []-                                          }-                                        "a")-                                 , TyVar-                                     SrcSpanInfo-                                       { srcInfoSpan =-                                           SrcSpan "tests/examples/RCategory.hs" 22 77 22 78-                                       , srcInfoPoints = []-                                       }-                                     (Ident-                                        SrcSpanInfo-                                          { srcInfoSpan =-                                              SrcSpan "tests/examples/RCategory.hs" 22 77 22 78-                                          , srcInfoPoints = []-                                          }-                                        "c")-                                 ]-                             ]))-                       (TyFun-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 10 23 39-                            , srcInfoPoints =-                                [ SrcSpan "tests/examples/RCategory.hs" 23 18 23 20 ]-                            }-                          (TyApp-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 10 23 17-                               , srcInfoPoints = []-                               }-                             (TyApp-                                SrcSpanInfo-                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 10 23 15-                                  , srcInfoPoints = []-                                  }-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/RCategory.hs" 23 10 23 13-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/RCategory.hs" 23 10 23 13-                                        , srcInfoPoints = []-                                        }-                                      "cat"))-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/RCategory.hs" 23 14 23 15-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/RCategory.hs" 23 14 23 15-                                        , srcInfoPoints = []-                                        }-                                      "b")))-                             (TyVar-                                SrcSpanInfo-                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 16 23 17-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/RCategory.hs" 23 16 23 17-                                     , srcInfoPoints = []-                                     }-                                   "c")))-                          (TyFun-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 21 23 39-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/RCategory.hs" 23 29 23 31 ]-                               }-                             (TyApp-                                SrcSpanInfo-                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 21 23 28-                                  , srcInfoPoints = []-                                  }-                                (TyApp-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/RCategory.hs" 23 21 23 26-                                     , srcInfoPoints = []-                                     }-                                   (TyVar-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/RCategory.hs" 23 21 23 24-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/RCategory.hs" 23 21 23 24-                                           , srcInfoPoints = []-                                           }-                                         "cat"))-                                   (TyVar-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/RCategory.hs" 23 25 23 26-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/RCategory.hs" 23 25 23 26-                                           , srcInfoPoints = []-                                           }-                                         "a")))-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/RCategory.hs" 23 27 23 28-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/RCategory.hs" 23 27 23 28-                                        , srcInfoPoints = []-                                        }-                                      "b")))-                             (TyApp-                                SrcSpanInfo-                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 32 23 39-                                  , srcInfoPoints = []-                                  }-                                (TyApp-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/RCategory.hs" 23 32 23 37-                                     , srcInfoPoints = []-                                     }-                                   (TyVar-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/RCategory.hs" 23 32 23 35-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/RCategory.hs" 23 32 23 35-                                           , srcInfoPoints = []-                                           }-                                         "cat"))-                                   (TyVar-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/RCategory.hs" 23 36 23 37-                                        , srcInfoPoints = []-                                        }-                                      (Ident-                                         SrcSpanInfo-                                           { srcInfoSpan =-                                               SrcSpan "tests/examples/RCategory.hs" 23 36 23 37-                                           , srcInfoPoints = []-                                           }-                                         "a")))-                                (TyVar-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/RCategory.hs" 23 38 23 39-                                     , srcInfoPoints = []-                                     }-                                   (Ident-                                      SrcSpanInfo-                                        { srcInfoSpan =-                                            SrcSpan "tests/examples/RCategory.hs" 23 38 23 39-                                        , srcInfoPoints = []-                                        }-                                      "c")))))))-             ])-      , RulePragmaDecl-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 25 1 30 5-            , srcInfoPoints =-                [ SrcSpan "tests/examples/RCategory.hs" 25 1 25 10-                , SrcSpan "tests/examples/RCategory.hs" 30 2 30 5-                ]-            }-          [ Rule-              SrcSpanInfo-                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 26 1 27 27-                , srcInfoPoints =-                    [ SrcSpan "tests/examples/RCategory.hs" 26 1 26 16-                    , SrcSpan "tests/examples/RCategory.hs" 26 17 26 23-                    , SrcSpan "tests/examples/RCategory.hs" 26 26 26 27-                    , SrcSpan "tests/examples/RCategory.hs" 27 24 27 25-                    ]-                }-              "identity/left"-              Nothing-              (Just-                 [ RuleVar-                     SrcSpanInfo-                       { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 26 24 26 25-                       , srcInfoPoints = []-                       }-                     (Ident-                        SrcSpanInfo-                          { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 26 24 26 25-                          , srcInfoPoints = []-                          }-                        "p")-                 ])-              (InfixApp-                 SrcSpanInfo-                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 17 27 23-                   , srcInfoPoints = []-                   }-                 (Var-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 17 27 19-                      , srcInfoPoints = []-                      }-                    (UnQual-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 17 27 19-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 17 27 19-                            , srcInfoPoints = []-                            }-                          "id")))-                 (QVarOp-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 20 27 21-                      , srcInfoPoints = []-                      }-                    (UnQual-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 20 27 21-                         , srcInfoPoints = []-                         }-                       (Symbol-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 20 27 21-                            , srcInfoPoints = []-                            }-                          ".")))-                 (Var-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 22 27 23-                      , srcInfoPoints = []-                      }-                    (UnQual-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 22 27 23-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 22 27 23-                            , srcInfoPoints = []-                            }-                          "p"))))-              (Var-                 SrcSpanInfo-                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 26 27 27-                   , srcInfoPoints = []-                   }-                 (UnQual-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 26 27 27-                      , srcInfoPoints = []-                      }-                    (Ident-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 26 27 27-                         , srcInfoPoints = []-                         }-                       "p")))-          , Rule-              SrcSpanInfo-                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 28 1 29 27-                , srcInfoPoints =-                    [ SrcSpan "tests/examples/RCategory.hs" 28 1 28 17-                    , SrcSpan "tests/examples/RCategory.hs" 28 25 28 31-                    , SrcSpan "tests/examples/RCategory.hs" 28 34 28 35-                    , SrcSpan "tests/examples/RCategory.hs" 29 24 29 25-                    ]-                }-              "identity/right"-              Nothing-              (Just-                 [ RuleVar-                     SrcSpanInfo-                       { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 28 32 28 33-                       , srcInfoPoints = []-                       }-                     (Ident-                        SrcSpanInfo-                          { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 28 32 28 33-                          , srcInfoPoints = []-                          }-                        "p")-                 ])-              (InfixApp-                 SrcSpanInfo-                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 17 29 23-                   , srcInfoPoints = []-                   }-                 (Var-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 17 29 18-                      , srcInfoPoints = []-                      }-                    (UnQual-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 17 29 18-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 17 29 18-                            , srcInfoPoints = []-                            }-                          "p")))-                 (QVarOp-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 19 29 20-                      , srcInfoPoints = []-                      }-                    (UnQual-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 19 29 20-                         , srcInfoPoints = []-                         }-                       (Symbol-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 19 29 20-                            , srcInfoPoints = []-                            }-                          ".")))-                 (Var-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 21 29 23-                      , srcInfoPoints = []-                      }-                    (UnQual-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 21 29 23-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 21 29 23-                            , srcInfoPoints = []-                            }-                          "id"))))-              (Var-                 SrcSpanInfo-                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 26 29 27-                   , srcInfoPoints = []-                   }-                 (UnQual-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 26 29 27-                      , srcInfoPoints = []-                      }-                    (Ident-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 26 29 27-                         , srcInfoPoints = []-                         }-                       "p")))-          ]-      , InstDecl-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 1 38 0-            , srcInfoPoints =-                [ SrcSpan "tests/examples/RCategory.hs" 32 1 32 9-                , SrcSpan "tests/examples/RCategory.hs" 32 25 32 30-                , SrcSpan "tests/examples/RCategory.hs" 33 3 33 3-                , SrcSpan "tests/examples/RCategory.hs" 34 3 34 3-                , SrcSpan "tests/examples/RCategory.hs" 35 3 35 3-                , SrcSpan "tests/examples/RCategory.hs" 38 1 38 0-                ]-            }-          Nothing-          (IRule-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 24-               , srcInfoPoints = []-               }-             Nothing-             Nothing-             (IHApp-                SrcSpanInfo-                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 24-                  , srcInfoPoints = []-                  }-                (IHCon-                   SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 19-                     , srcInfoPoints = []-                     }-                   (UnQual-                      SrcSpanInfo-                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 19-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 19-                           , srcInfoPoints = []-                           }-                         "RCategory")))-                (TyCon-                   SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 20 32 24-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/RCategory.hs" 32 20 32 21-                         , SrcSpan "tests/examples/RCategory.hs" 32 21 32 23-                         , SrcSpan "tests/examples/RCategory.hs" 32 23 32 24-                         ]-                     }-                   (Special-                      SrcSpanInfo-                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 20 32 24-                        , srcInfoPoints =-                            [ SrcSpan "tests/examples/RCategory.hs" 32 20 32 21-                            , SrcSpan "tests/examples/RCategory.hs" 32 21 32 23-                            , SrcSpan "tests/examples/RCategory.hs" 32 23 32 24-                            ]-                        }-                      (FunCon-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 20 32 24-                           , srcInfoPoints =-                               [ SrcSpan "tests/examples/RCategory.hs" 32 20 32 21-                               , SrcSpan "tests/examples/RCategory.hs" 32 21 32 23-                               , SrcSpan "tests/examples/RCategory.hs" 32 23 32 24-                               ]-                           })))))-          (Just-             [ InsType-                 SrcSpanInfo-                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 3 33 35-                   , srcInfoPoints =-                       [ SrcSpan "tests/examples/RCategory.hs" 33 3 33 7-                       , SrcSpan "tests/examples/RCategory.hs" 33 31 33 32-                       ]-                   }-                 (TyApp-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 30-                      , srcInfoPoints = []-                      }-                    (TyApp-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 28-                         , srcInfoPoints = []-                         }-                       (TyApp-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 26-                            , srcInfoPoints = []-                            }-                          (TyCon-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 21-                               , srcInfoPoints = []-                               }-                             (UnQual-                                SrcSpanInfo-                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 21-                                  , srcInfoPoints = []-                                  }-                                (Ident-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/RCategory.hs" 33 8 33 21-                                     , srcInfoPoints = []-                                     }-                                   "RCategoryCtxt")))-                          (TyCon-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 22 33 26-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/RCategory.hs" 33 22 33 23-                                   , SrcSpan "tests/examples/RCategory.hs" 33 23 33 25-                                   , SrcSpan "tests/examples/RCategory.hs" 33 25 33 26-                                   ]-                               }-                             (Special-                                SrcSpanInfo-                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 22 33 26-                                  , srcInfoPoints =-                                      [ SrcSpan "tests/examples/RCategory.hs" 33 22 33 23-                                      , SrcSpan "tests/examples/RCategory.hs" 33 23 33 25-                                      , SrcSpan "tests/examples/RCategory.hs" 33 25 33 26-                                      ]-                                  }-                                (FunCon-                                   SrcSpanInfo-                                     { srcInfoSpan =-                                         SrcSpan "tests/examples/RCategory.hs" 33 22 33 26-                                     , srcInfoPoints =-                                         [ SrcSpan "tests/examples/RCategory.hs" 33 22 33 23-                                         , SrcSpan "tests/examples/RCategory.hs" 33 23 33 25-                                         , SrcSpan "tests/examples/RCategory.hs" 33 25 33 26-                                         ]-                                     }))))-                       (TyVar-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 27 33 28-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 27 33 28-                               , srcInfoPoints = []-                               }-                             "a")))-                    (TyVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 29 33 30-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 29 33 30-                            , srcInfoPoints = []-                            }-                          "a")))-                 (TyCon-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 33 33 35-                      , srcInfoPoints =-                          [ SrcSpan "tests/examples/RCategory.hs" 33 33 33 34-                          , SrcSpan "tests/examples/RCategory.hs" 33 34 33 35-                          ]-                      }-                    (Special-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 33 33 35-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/RCategory.hs" 33 33 33 34-                             , SrcSpan "tests/examples/RCategory.hs" 33 34 33 35-                             ]-                         }-                       (UnitCon-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 33 33 35-                            , srcInfoPoints =-                                [ SrcSpan "tests/examples/RCategory.hs" 33 33 33 34-                                , SrcSpan "tests/examples/RCategory.hs" 33 34 33 35-                                ]-                            })))-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 3 34 18-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 3 34 18-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 3 34 5-                         , srcInfoPoints = []-                         }-                       (Ident-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 3 34 5-                            , srcInfoPoints = []-                            }-                          "id"))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 6 34 18-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/RCategory.hs" 34 6 34 7 ]-                         }-                       (Var-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 8 34 18-                            , srcInfoPoints = []-                            }-                          (Qual-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 8 34 18-                               , srcInfoPoints = []-                               }-                             (ModuleName-                                SrcSpanInfo-                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 8 34 18-                                  , srcInfoPoints = []-                                  }-                                "Prelude")-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 8 34 18-                                  , srcInfoPoints = []-                                  }-                                "id"))))-                    Nothing)-             , InsDecl-                 SrcSpanInfo-                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 3 35 20-                   , srcInfoPoints = []-                   }-                 (PatBind-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 3 35 20-                      , srcInfoPoints = []-                      }-                    (PVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 3 35 6-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/RCategory.hs" 35 3 35 4-                             , SrcSpan "tests/examples/RCategory.hs" 35 4 35 5-                             , SrcSpan "tests/examples/RCategory.hs" 35 5 35 6-                             ]-                         }-                       (Symbol-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 4 35 5-                            , srcInfoPoints = []-                            }-                          "."))-                    (UnGuardedRhs-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 7 35 20-                         , srcInfoPoints =-                             [ SrcSpan "tests/examples/RCategory.hs" 35 7 35 8 ]-                         }-                       (Var-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 9 35 20-                            , srcInfoPoints =-                                [ SrcSpan "tests/examples/RCategory.hs" 35 9 35 10-                                , SrcSpan "tests/examples/RCategory.hs" 35 10 35 19-                                , SrcSpan "tests/examples/RCategory.hs" 35 19 35 20-                                ]-                            }-                          (Qual-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 9 35 20-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/RCategory.hs" 35 9 35 10-                                   , SrcSpan "tests/examples/RCategory.hs" 35 10 35 19-                                   , SrcSpan "tests/examples/RCategory.hs" 35 19 35 20-                                   ]-                               }-                             (ModuleName-                                SrcSpanInfo-                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 10 35 19-                                  , srcInfoPoints = []-                                  }-                                "Prelude")-                             (Symbol-                                SrcSpanInfo-                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 10 35 19-                                  , srcInfoPoints = []-                                  }-                                "."))))-                    Nothing)-             ])-      , TypeSig-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 1 39 39-            , srcInfoPoints =-                [ SrcSpan "tests/examples/RCategory.hs" 38 7 38 9 ]-            }-          [ Symbol-              SrcSpanInfo-                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 1 38 6-                , srcInfoPoints =-                    [ SrcSpan "tests/examples/RCategory.hs" 38 1 38 2-                    , SrcSpan "tests/examples/RCategory.hs" 38 2 38 5-                    , SrcSpan "tests/examples/RCategory.hs" 38 5 38 6-                    ]-                }-              "<<<"-          ]-          (TyForall-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 10 39 39-               , srcInfoPoints = []-               }-             Nothing-             (Just-                (CxTuple-                   SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 10 39 9-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/RCategory.hs" 38 10 38 11-                         , SrcSpan "tests/examples/RCategory.hs" 38 32 38 33-                         , SrcSpan "tests/examples/RCategory.hs" 38 55 38 56-                         , SrcSpan "tests/examples/RCategory.hs" 38 78 38 79-                         , SrcSpan "tests/examples/RCategory.hs" 38 93 38 94-                         , SrcSpan "tests/examples/RCategory.hs" 39 7 39 9-                         ]-                     }-                   [ ClassA-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 11 38 32-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 11 38 24-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 11 38 24-                               , srcInfoPoints = []-                               }-                             "RCategoryCtxt"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 25 38 28-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 25 38 28-                                , srcInfoPoints = []-                                }-                              "cat")-                       , TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 29 38 30-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 29 38 30-                                , srcInfoPoints = []-                                }-                              "a")-                       , TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 31 38 32-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 31 38 32-                                , srcInfoPoints = []-                                }-                              "c")-                       ]-                   , ClassA-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 34 38 55-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 34 38 47-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 34 38 47-                               , srcInfoPoints = []-                               }-                             "RCategoryCtxt"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 48 38 51-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 48 38 51-                                , srcInfoPoints = []-                                }-                              "cat")-                       , TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 52 38 53-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 52 38 53-                                , srcInfoPoints = []-                                }-                              "a")-                       , TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 54 38 55-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 54 38 55-                                , srcInfoPoints = []-                                }-                              "b")-                       ]-                   , ClassA-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 57 38 78-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 57 38 70-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 57 38 70-                               , srcInfoPoints = []-                               }-                             "RCategoryCtxt"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 71 38 74-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 71 38 74-                                , srcInfoPoints = []-                                }-                              "cat")-                       , TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 75 38 76-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 75 38 76-                                , srcInfoPoints = []-                                }-                              "b")-                       , TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 77 38 78-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 77 38 78-                                , srcInfoPoints = []-                                }-                              "c")-                       ]-                   , ClassA-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 80 38 93-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 80 38 89-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 80 38 89-                               , srcInfoPoints = []-                               }-                             "RCategory"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 90 38 93-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 90 38 93-                                , srcInfoPoints = []-                                }-                              "cat")-                       ]-                   ]))-             (TyFun-                SrcSpanInfo-                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 39-                  , srcInfoPoints =-                      [ SrcSpan "tests/examples/RCategory.hs" 39 18 39 20 ]-                  }-                (TyApp-                   SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 17-                     , srcInfoPoints = []-                     }-                   (TyApp-                      SrcSpanInfo-                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 15-                        , srcInfoPoints = []-                        }-                      (TyVar-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 13-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 13-                              , srcInfoPoints = []-                              }-                            "cat"))-                      (TyVar-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 14 39 15-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 14 39 15-                              , srcInfoPoints = []-                              }-                            "b")))-                   (TyVar-                      SrcSpanInfo-                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 16 39 17-                        , srcInfoPoints = []-                        }-                      (Ident-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 16 39 17-                           , srcInfoPoints = []-                           }-                         "c")))-                (TyFun-                   SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 39-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/RCategory.hs" 39 29 39 31 ]-                     }-                   (TyApp-                      SrcSpanInfo-                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 28-                        , srcInfoPoints = []-                        }-                      (TyApp-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 26-                           , srcInfoPoints = []-                           }-                         (TyVar-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 24-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 24-                                 , srcInfoPoints = []-                                 }-                               "cat"))-                         (TyVar-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 25 39 26-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 25 39 26-                                 , srcInfoPoints = []-                                 }-                               "a")))-                      (TyVar-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 27 39 28-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 27 39 28-                              , srcInfoPoints = []-                              }-                            "b")))-                   (TyApp-                      SrcSpanInfo-                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 32 39 39-                        , srcInfoPoints = []-                        }-                      (TyApp-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 32 39 37-                           , srcInfoPoints = []-                           }-                         (TyVar-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 32 39 35-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 32 39 35-                                 , srcInfoPoints = []-                                 }-                               "cat"))-                         (TyVar-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 36 39 37-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 36 39 37-                                 , srcInfoPoints = []-                                 }-                               "a")))-                      (TyVar-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 38 39 39-                           , srcInfoPoints = []-                           }-                         (Ident-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 38 39 39-                              , srcInfoPoints = []-                              }-                            "c"))))))-      , PatBind-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 1 40 12-            , srcInfoPoints = []-            }-          (PVar-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 1 40 6-               , srcInfoPoints =-                   [ SrcSpan "tests/examples/RCategory.hs" 40 1 40 2-                   , SrcSpan "tests/examples/RCategory.hs" 40 2 40 5-                   , SrcSpan "tests/examples/RCategory.hs" 40 5 40 6-                   ]-               }-             (Symbol-                SrcSpanInfo-                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 2 40 5-                  , srcInfoPoints = []-                  }-                "<<<"))-          (UnGuardedRhs-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 7 40 12-               , srcInfoPoints =-                   [ SrcSpan "tests/examples/RCategory.hs" 40 7 40 8 ]-               }-             (Var-                SrcSpanInfo-                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 9 40 12-                  , srcInfoPoints =-                      [ SrcSpan "tests/examples/RCategory.hs" 40 9 40 10-                      , SrcSpan "tests/examples/RCategory.hs" 40 10 40 11-                      , SrcSpan "tests/examples/RCategory.hs" 40 11 40 12-                      ]-                  }-                (UnQual-                   SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 9 40 12-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/RCategory.hs" 40 9 40 10-                         , SrcSpan "tests/examples/RCategory.hs" 40 10 40 11-                         , SrcSpan "tests/examples/RCategory.hs" 40 11 40 12-                         ]-                     }-                   (Symbol-                      SrcSpanInfo-                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 10 40 11-                        , srcInfoPoints = []-                        }-                      "."))))-          Nothing-      , TypeSig-          SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 1 44 39-            , srcInfoPoints =-                [ SrcSpan "tests/examples/RCategory.hs" 43 7 43 9 ]-            }-          [ Symbol-              SrcSpanInfo-                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 1 43 6-                , srcInfoPoints =-                    [ SrcSpan "tests/examples/RCategory.hs" 43 1 43 2-                    , SrcSpan "tests/examples/RCategory.hs" 43 2 43 5-                    , SrcSpan "tests/examples/RCategory.hs" 43 5 43 6-                    ]-                }-              ">>>"-          ]-          (TyForall-             SrcSpanInfo-               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 10 44 39-               , srcInfoPoints = []-               }-             Nothing-             (Just-                (CxTuple-                   SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 10 44 9-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/RCategory.hs" 43 10 43 11-                         , SrcSpan "tests/examples/RCategory.hs" 43 32 43 33-                         , SrcSpan "tests/examples/RCategory.hs" 43 55 43 56-                         , SrcSpan "tests/examples/RCategory.hs" 43 78 43 79-                         , SrcSpan "tests/examples/RCategory.hs" 43 93 43 94-                         , SrcSpan "tests/examples/RCategory.hs" 44 7 44 9-                         ]-                     }-                   [ ClassA-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 11 43 32-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 11 43 24-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 11 43 24-                               , srcInfoPoints = []-                               }-                             "RCategoryCtxt"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 25 43 28-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 25 43 28-                                , srcInfoPoints = []-                                }-                              "cat")-                       , TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 29 43 30-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 29 43 30-                                , srcInfoPoints = []-                                }-                              "a")-                       , TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 31 43 32-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 31 43 32-                                , srcInfoPoints = []-                                }-                              "c")-                       ]-                   , ClassA-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 34 43 55-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 34 43 47-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 34 43 47-                               , srcInfoPoints = []-                               }-                             "RCategoryCtxt"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 48 43 51-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 48 43 51-                                , srcInfoPoints = []-                                }-                              "cat")-                       , TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 52 43 53-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 52 43 53-                                , srcInfoPoints = []-                                }-                              "a")-                       , TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 54 43 55-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 54 43 55-                                , srcInfoPoints = []-                                }-                              "b")-                       ]-                   , ClassA-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 57 43 78-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 57 43 70-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 57 43 70-                               , srcInfoPoints = []-                               }-                             "RCategoryCtxt"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 71 43 74-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 71 43 74-                                , srcInfoPoints = []-                                }-                              "cat")-                       , TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 75 43 76-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 75 43 76-                                , srcInfoPoints = []-                                }-                              "b")-                       , TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 77 43 78-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 77 43 78-                                , srcInfoPoints = []-                                }-                              "c")-                       ]-                   , ClassA-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 80 43 93-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 80 43 89-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 80 43 89-                               , srcInfoPoints = []-                               }-                             "RCategory"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 90 43 93-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 90 43 93-                                , srcInfoPoints = []-                                }-                              "cat")-                       ]+                       [ SrcSpan "tests/examples/RCategory.hs" 15 3 15 7 ]+                   }+                 (DHApp+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 8 15 29+                      , srcInfoPoints = []+                      }+                    (DHApp+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 8 15 27+                         , srcInfoPoints = []+                         }+                       (DHApp+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 8 15 25+                            , srcInfoPoints = []+                            }+                          (DHead+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 8 15 21+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 8 15 21+                                  , srcInfoPoints = []+                                  }+                                "RCategoryCtxt"))+                          (UnkindedVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 22 15 25+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 22 15 25+                                  , srcInfoPoints = []+                                  }+                                "cat")))+                       (UnkindedVar+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 26 15 27+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 26 15 27+                               , srcInfoPoints = []+                               }+                             "a")))+                    (UnkindedVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 28 15 29+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 28 15 29+                            , srcInfoPoints = []+                            }+                          "b")))+                 (Just+                    (KindSig+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 30 15 43+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/RCategory.hs" 15 30 15 32 ]+                         }+                       (TyCon+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 33 15 43+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 33 15 43+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 33 15 43+                                  , srcInfoPoints = []+                                  }+                                "Constraint")))))+                 Nothing+             , ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 3 19 16+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/RCategory.hs" 18 6 18 8 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 3 19 16+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/RCategory.hs" 18 6 18 8 ]+                      }+                    [ Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 3 18 5+                          , srcInfoPoints = []+                          }+                        "id"+                    ]+                    (TyForall+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 9 19 16+                         , srcInfoPoints = []+                         }+                       Nothing+                       (Just+                          (CxSingle+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 9 19 8+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8 ]+                               }+                             (TypeA+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 9 19 8+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8 ]+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 9 19 8+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8 ]+                                     }+                                   (TyApp+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/RCategory.hs" 18 9 19 8+                                        , srcInfoPoints =+                                            [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8 ]+                                        }+                                      (TyApp+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/RCategory.hs" 18 9 19 8+                                           , srcInfoPoints =+                                               [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8 ]+                                           }+                                         (TyCon+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan "tests/examples/RCategory.hs" 18 9 19 8+                                              , srcInfoPoints =+                                                  [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8+                                                  ]+                                              }+                                            (UnQual+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/RCategory.hs" 18 9 18 22+                                                 , srcInfoPoints = []+                                                 }+                                               (Ident+                                                  SrcSpanInfo+                                                    { srcInfoSpan =+                                                        SrcSpan+                                                          "tests/examples/RCategory.hs" 18 9 18 22+                                                    , srcInfoPoints = []+                                                    }+                                                  "RCategoryCtxt")))+                                         (TyVar+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan "tests/examples/RCategory.hs" 18 23 18 26+                                              , srcInfoPoints = []+                                              }+                                            (Ident+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan+                                                       "tests/examples/RCategory.hs" 18 23 18 26+                                                 , srcInfoPoints = []+                                                 }+                                               "cat")))+                                      (TyVar+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/RCategory.hs" 18 27 18 28+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan "tests/examples/RCategory.hs" 18 27 18 28+                                              , srcInfoPoints = []+                                              }+                                            "a")))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/RCategory.hs" 18 29 18 30+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/RCategory.hs" 18 29 18 30+                                           , srcInfoPoints = []+                                           }+                                         "a"))))))+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 9 19 16+                            , srcInfoPoints = []+                            }+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 9 19 14+                               , srcInfoPoints = []+                               }+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 9 19 12+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 19 9 19 12+                                     , srcInfoPoints = []+                                     }+                                   "cat"))+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 13 19 14+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 19 13 19 14+                                     , srcInfoPoints = []+                                     }+                                   "a")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 15 19 16+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 15 19 16+                                  , srcInfoPoints = []+                                  }+                                "a")))))+             , ClsDecl+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 3 23 39+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/RCategory.hs" 22 7 22 9 ]+                   }+                 (TypeSig+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 3 23 39+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/RCategory.hs" 22 7 22 9 ]+                      }+                    [ Symbol+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 3 22 6+                          , srcInfoPoints =+                              [ SrcSpan "tests/examples/RCategory.hs" 22 3 22 4+                              , SrcSpan "tests/examples/RCategory.hs" 22 4 22 5+                              , SrcSpan "tests/examples/RCategory.hs" 22 5 22 6+                              ]+                          }+                        "."+                    ]+                    (TyForall+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 10 23 39+                         , srcInfoPoints = []+                         }+                       Nothing+                       (Just+                          (CxTuple+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 10 23 9+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/RCategory.hs" 22 10 22 11+                                   , SrcSpan "tests/examples/RCategory.hs" 22 32 22 33+                                   , SrcSpan "tests/examples/RCategory.hs" 22 55 22 56+                                   , SrcSpan "tests/examples/RCategory.hs" 22 78 22 79+                                   , SrcSpan "tests/examples/RCategory.hs" 23 7 23 9+                                   ]+                               }+                             [ TypeA+                                 SrcSpanInfo+                                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 11 22 32+                                   , srcInfoPoints = []+                                   }+                                 (TyApp+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/RCategory.hs" 22 11 22 32+                                      , srcInfoPoints = []+                                      }+                                    (TyApp+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/RCategory.hs" 22 11 22 32+                                         , srcInfoPoints = []+                                         }+                                       (TyApp+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/RCategory.hs" 22 11 22 32+                                            , srcInfoPoints = []+                                            }+                                          (TyCon+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan "tests/examples/RCategory.hs" 22 11 22 32+                                               , srcInfoPoints = []+                                               }+                                             (UnQual+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/RCategory.hs" 22 11 22 24+                                                  , srcInfoPoints = []+                                                  }+                                                (Ident+                                                   SrcSpanInfo+                                                     { srcInfoSpan =+                                                         SrcSpan+                                                           "tests/examples/RCategory.hs" 22 11 22 24+                                                     , srcInfoPoints = []+                                                     }+                                                   "RCategoryCtxt")))+                                          (TyVar+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan "tests/examples/RCategory.hs" 22 25 22 28+                                               , srcInfoPoints = []+                                               }+                                             (Ident+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/RCategory.hs" 22 25 22 28+                                                  , srcInfoPoints = []+                                                  }+                                                "cat")))+                                       (TyVar+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/RCategory.hs" 22 29 22 30+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan "tests/examples/RCategory.hs" 22 29 22 30+                                               , srcInfoPoints = []+                                               }+                                             "b")))+                                    (TyVar+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/RCategory.hs" 22 31 22 32+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/RCategory.hs" 22 31 22 32+                                            , srcInfoPoints = []+                                            }+                                          "c")))+                             , TypeA+                                 SrcSpanInfo+                                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 34 22 55+                                   , srcInfoPoints = []+                                   }+                                 (TyApp+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/RCategory.hs" 22 34 22 55+                                      , srcInfoPoints = []+                                      }+                                    (TyApp+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/RCategory.hs" 22 34 22 55+                                         , srcInfoPoints = []+                                         }+                                       (TyApp+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/RCategory.hs" 22 34 22 55+                                            , srcInfoPoints = []+                                            }+                                          (TyCon+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan "tests/examples/RCategory.hs" 22 34 22 55+                                               , srcInfoPoints = []+                                               }+                                             (UnQual+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/RCategory.hs" 22 34 22 47+                                                  , srcInfoPoints = []+                                                  }+                                                (Ident+                                                   SrcSpanInfo+                                                     { srcInfoSpan =+                                                         SrcSpan+                                                           "tests/examples/RCategory.hs" 22 34 22 47+                                                     , srcInfoPoints = []+                                                     }+                                                   "RCategoryCtxt")))+                                          (TyVar+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan "tests/examples/RCategory.hs" 22 48 22 51+                                               , srcInfoPoints = []+                                               }+                                             (Ident+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/RCategory.hs" 22 48 22 51+                                                  , srcInfoPoints = []+                                                  }+                                                "cat")))+                                       (TyVar+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/RCategory.hs" 22 52 22 53+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan "tests/examples/RCategory.hs" 22 52 22 53+                                               , srcInfoPoints = []+                                               }+                                             "a")))+                                    (TyVar+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/RCategory.hs" 22 54 22 55+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/RCategory.hs" 22 54 22 55+                                            , srcInfoPoints = []+                                            }+                                          "b")))+                             , TypeA+                                 SrcSpanInfo+                                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 57 22 78+                                   , srcInfoPoints = []+                                   }+                                 (TyApp+                                    SrcSpanInfo+                                      { srcInfoSpan =+                                          SrcSpan "tests/examples/RCategory.hs" 22 57 22 78+                                      , srcInfoPoints = []+                                      }+                                    (TyApp+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/RCategory.hs" 22 57 22 78+                                         , srcInfoPoints = []+                                         }+                                       (TyApp+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/RCategory.hs" 22 57 22 78+                                            , srcInfoPoints = []+                                            }+                                          (TyCon+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan "tests/examples/RCategory.hs" 22 57 22 78+                                               , srcInfoPoints = []+                                               }+                                             (UnQual+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/RCategory.hs" 22 57 22 70+                                                  , srcInfoPoints = []+                                                  }+                                                (Ident+                                                   SrcSpanInfo+                                                     { srcInfoSpan =+                                                         SrcSpan+                                                           "tests/examples/RCategory.hs" 22 57 22 70+                                                     , srcInfoPoints = []+                                                     }+                                                   "RCategoryCtxt")))+                                          (TyVar+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan "tests/examples/RCategory.hs" 22 71 22 74+                                               , srcInfoPoints = []+                                               }+                                             (Ident+                                                SrcSpanInfo+                                                  { srcInfoSpan =+                                                      SrcSpan+                                                        "tests/examples/RCategory.hs" 22 71 22 74+                                                  , srcInfoPoints = []+                                                  }+                                                "cat")))+                                       (TyVar+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/RCategory.hs" 22 75 22 76+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan "tests/examples/RCategory.hs" 22 75 22 76+                                               , srcInfoPoints = []+                                               }+                                             "a")))+                                    (TyVar+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/RCategory.hs" 22 77 22 78+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/RCategory.hs" 22 77 22 78+                                            , srcInfoPoints = []+                                            }+                                          "c")))+                             ]))+                       (TyFun+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 10 23 39+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/RCategory.hs" 23 18 23 20 ]+                            }+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 10 23 17+                               , srcInfoPoints = []+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 10 23 15+                                  , srcInfoPoints = []+                                  }+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 23 10 23 13+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/RCategory.hs" 23 10 23 13+                                        , srcInfoPoints = []+                                        }+                                      "cat"))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 23 14 23 15+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/RCategory.hs" 23 14 23 15+                                        , srcInfoPoints = []+                                        }+                                      "b")))+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 16 23 17+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 23 16 23 17+                                     , srcInfoPoints = []+                                     }+                                   "c")))+                          (TyFun+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 21 23 39+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/RCategory.hs" 23 29 23 31 ]+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 21 23 28+                                  , srcInfoPoints = []+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 23 21 23 26+                                     , srcInfoPoints = []+                                     }+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/RCategory.hs" 23 21 23 24+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/RCategory.hs" 23 21 23 24+                                           , srcInfoPoints = []+                                           }+                                         "cat"))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/RCategory.hs" 23 25 23 26+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/RCategory.hs" 23 25 23 26+                                           , srcInfoPoints = []+                                           }+                                         "a")))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 23 27 23 28+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/RCategory.hs" 23 27 23 28+                                        , srcInfoPoints = []+                                        }+                                      "b")))+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 32 23 39+                                  , srcInfoPoints = []+                                  }+                                (TyApp+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 23 32 23 37+                                     , srcInfoPoints = []+                                     }+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/RCategory.hs" 23 32 23 35+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/RCategory.hs" 23 32 23 35+                                           , srcInfoPoints = []+                                           }+                                         "cat"))+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/RCategory.hs" 23 36 23 37+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/RCategory.hs" 23 36 23 37+                                           , srcInfoPoints = []+                                           }+                                         "a")))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 23 38 23 39+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/RCategory.hs" 23 38 23 39+                                        , srcInfoPoints = []+                                        }+                                      "c")))))))+             ])+      , RulePragmaDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 25 1 30 5+            , srcInfoPoints =+                [ SrcSpan "tests/examples/RCategory.hs" 25 1 25 10+                , SrcSpan "tests/examples/RCategory.hs" 30 2 30 5+                ]+            }+          [ Rule+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 26 1 27 27+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/RCategory.hs" 26 1 26 16+                    , SrcSpan "tests/examples/RCategory.hs" 26 17 26 23+                    , SrcSpan "tests/examples/RCategory.hs" 26 26 26 27+                    , SrcSpan "tests/examples/RCategory.hs" 27 24 27 25+                    ]+                }+              "identity/left"+              Nothing+              (Just+                 [ RuleVar+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 26 24 26 25+                       , srcInfoPoints = []+                       }+                     (Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 26 24 26 25+                          , srcInfoPoints = []+                          }+                        "p")+                 ])+              (InfixApp+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 17 27 23+                   , srcInfoPoints = []+                   }+                 (Var+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 17 27 19+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 17 27 19+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 17 27 19+                            , srcInfoPoints = []+                            }+                          "id")))+                 (QVarOp+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 20 27 21+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 20 27 21+                         , srcInfoPoints = []+                         }+                       (Symbol+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 20 27 21+                            , srcInfoPoints = []+                            }+                          ".")))+                 (Var+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 22 27 23+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 22 27 23+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 22 27 23+                            , srcInfoPoints = []+                            }+                          "p"))))+              (Var+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 26 27 27+                   , srcInfoPoints = []+                   }+                 (UnQual+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 26 27 27+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 26 27 27+                         , srcInfoPoints = []+                         }+                       "p")))+          , Rule+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 28 1 29 27+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/RCategory.hs" 28 1 28 17+                    , SrcSpan "tests/examples/RCategory.hs" 28 25 28 31+                    , SrcSpan "tests/examples/RCategory.hs" 28 34 28 35+                    , SrcSpan "tests/examples/RCategory.hs" 29 24 29 25+                    ]+                }+              "identity/right"+              Nothing+              (Just+                 [ RuleVar+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 28 32 28 33+                       , srcInfoPoints = []+                       }+                     (Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 28 32 28 33+                          , srcInfoPoints = []+                          }+                        "p")+                 ])+              (InfixApp+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 17 29 23+                   , srcInfoPoints = []+                   }+                 (Var+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 17 29 18+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 17 29 18+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 17 29 18+                            , srcInfoPoints = []+                            }+                          "p")))+                 (QVarOp+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 19 29 20+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 19 29 20+                         , srcInfoPoints = []+                         }+                       (Symbol+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 19 29 20+                            , srcInfoPoints = []+                            }+                          ".")))+                 (Var+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 21 29 23+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 21 29 23+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 21 29 23+                            , srcInfoPoints = []+                            }+                          "id"))))+              (Var+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 26 29 27+                   , srcInfoPoints = []+                   }+                 (UnQual+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 26 29 27+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 26 29 27+                         , srcInfoPoints = []+                         }+                       "p")))+          ]+      , InstDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 1 38 0+            , srcInfoPoints =+                [ SrcSpan "tests/examples/RCategory.hs" 32 1 32 9+                , SrcSpan "tests/examples/RCategory.hs" 32 25 32 30+                , SrcSpan "tests/examples/RCategory.hs" 33 3 33 3+                , SrcSpan "tests/examples/RCategory.hs" 34 3 34 3+                , SrcSpan "tests/examples/RCategory.hs" 35 3 35 3+                , SrcSpan "tests/examples/RCategory.hs" 38 1 38 0+                ]+            }+          Nothing+          (IRule+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 24+               , srcInfoPoints = []+               }+             Nothing+             Nothing+             (IHApp+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 24+                  , srcInfoPoints = []+                  }+                (IHCon+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 19+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 19+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 19+                           , srcInfoPoints = []+                           }+                         "RCategory")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 20 32 24+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/RCategory.hs" 32 20 32 21+                         , SrcSpan "tests/examples/RCategory.hs" 32 21 32 23+                         , SrcSpan "tests/examples/RCategory.hs" 32 23 32 24+                         ]+                     }+                   (Special+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 20 32 24+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/RCategory.hs" 32 20 32 21+                            , SrcSpan "tests/examples/RCategory.hs" 32 21 32 23+                            , SrcSpan "tests/examples/RCategory.hs" 32 23 32 24+                            ]+                        }+                      (FunCon+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 20 32 24+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/RCategory.hs" 32 20 32 21+                               , SrcSpan "tests/examples/RCategory.hs" 32 21 32 23+                               , SrcSpan "tests/examples/RCategory.hs" 32 23 32 24+                               ]+                           })))))+          (Just+             [ InsType+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 3 33 35+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/RCategory.hs" 33 3 33 7+                       , SrcSpan "tests/examples/RCategory.hs" 33 31 33 32+                       ]+                   }+                 (TyApp+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 30+                      , srcInfoPoints = []+                      }+                    (TyApp+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 28+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 26+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 21+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 21+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 33 8 33 21+                                     , srcInfoPoints = []+                                     }+                                   "RCategoryCtxt")))+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 22 33 26+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/RCategory.hs" 33 22 33 23+                                   , SrcSpan "tests/examples/RCategory.hs" 33 23 33 25+                                   , SrcSpan "tests/examples/RCategory.hs" 33 25 33 26+                                   ]+                               }+                             (Special+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 22 33 26+                                  , srcInfoPoints =+                                      [ SrcSpan "tests/examples/RCategory.hs" 33 22 33 23+                                      , SrcSpan "tests/examples/RCategory.hs" 33 23 33 25+                                      , SrcSpan "tests/examples/RCategory.hs" 33 25 33 26+                                      ]+                                  }+                                (FunCon+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 33 22 33 26+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/RCategory.hs" 33 22 33 23+                                         , SrcSpan "tests/examples/RCategory.hs" 33 23 33 25+                                         , SrcSpan "tests/examples/RCategory.hs" 33 25 33 26+                                         ]+                                     }))))+                       (TyVar+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 27 33 28+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 27 33 28+                               , srcInfoPoints = []+                               }+                             "a")))+                    (TyVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 29 33 30+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 29 33 30+                            , srcInfoPoints = []+                            }+                          "a")))+                 (TyCon+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 33 33 35+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/RCategory.hs" 33 33 33 34+                          , SrcSpan "tests/examples/RCategory.hs" 33 34 33 35+                          ]+                      }+                    (Special+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 33 33 35+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/RCategory.hs" 33 33 33 34+                             , SrcSpan "tests/examples/RCategory.hs" 33 34 33 35+                             ]+                         }+                       (UnitCon+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 33 33 35+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/RCategory.hs" 33 33 33 34+                                , SrcSpan "tests/examples/RCategory.hs" 33 34 33 35+                                ]+                            })))+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 3 34 18+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 3 34 18+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 3 34 5+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 3 34 5+                            , srcInfoPoints = []+                            }+                          "id"))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 6 34 18+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/RCategory.hs" 34 6 34 7 ]+                         }+                       (Var+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 8 34 18+                            , srcInfoPoints = []+                            }+                          (Qual+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 8 34 18+                               , srcInfoPoints = []+                               }+                             (ModuleName+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 8 34 18+                                  , srcInfoPoints = []+                                  }+                                "Prelude")+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 8 34 18+                                  , srcInfoPoints = []+                                  }+                                "id"))))+                    Nothing)+             , InsDecl+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 3 35 20+                   , srcInfoPoints = []+                   }+                 (PatBind+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 3 35 20+                      , srcInfoPoints = []+                      }+                    (PVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 3 35 6+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/RCategory.hs" 35 3 35 4+                             , SrcSpan "tests/examples/RCategory.hs" 35 4 35 5+                             , SrcSpan "tests/examples/RCategory.hs" 35 5 35 6+                             ]+                         }+                       (Symbol+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 4 35 5+                            , srcInfoPoints = []+                            }+                          "."))+                    (UnGuardedRhs+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 7 35 20+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/RCategory.hs" 35 7 35 8 ]+                         }+                       (Var+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 9 35 20+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/RCategory.hs" 35 9 35 10+                                , SrcSpan "tests/examples/RCategory.hs" 35 10 35 19+                                , SrcSpan "tests/examples/RCategory.hs" 35 19 35 20+                                ]+                            }+                          (Qual+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 9 35 20+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/RCategory.hs" 35 9 35 10+                                   , SrcSpan "tests/examples/RCategory.hs" 35 10 35 19+                                   , SrcSpan "tests/examples/RCategory.hs" 35 19 35 20+                                   ]+                               }+                             (ModuleName+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 10 35 19+                                  , srcInfoPoints = []+                                  }+                                "Prelude")+                             (Symbol+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 10 35 19+                                  , srcInfoPoints = []+                                  }+                                "."))))+                    Nothing)+             ])+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 1 39 39+            , srcInfoPoints =+                [ SrcSpan "tests/examples/RCategory.hs" 38 7 38 9 ]+            }+          [ Symbol+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 1 38 6+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/RCategory.hs" 38 1 38 2+                    , SrcSpan "tests/examples/RCategory.hs" 38 2 38 5+                    , SrcSpan "tests/examples/RCategory.hs" 38 5 38 6+                    ]+                }+              "<<<"+          ]+          (TyForall+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 10 39 39+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxTuple+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 10 39 9+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/RCategory.hs" 38 10 38 11+                         , SrcSpan "tests/examples/RCategory.hs" 38 32 38 33+                         , SrcSpan "tests/examples/RCategory.hs" 38 55 38 56+                         , SrcSpan "tests/examples/RCategory.hs" 38 78 38 79+                         , SrcSpan "tests/examples/RCategory.hs" 38 93 38 94+                         , SrcSpan "tests/examples/RCategory.hs" 39 7 39 9+                         ]+                     }+                   [ TypeA+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 11 38 32+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 11 38 32+                            , srcInfoPoints = []+                            }+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 11 38 32+                               , srcInfoPoints = []+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 11 38 32+                                  , srcInfoPoints = []+                                  }+                                (TyCon+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 38 11 38 32+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/RCategory.hs" 38 11 38 24+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/RCategory.hs" 38 11 38 24+                                           , srcInfoPoints = []+                                           }+                                         "RCategoryCtxt")))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 38 25 38 28+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/RCategory.hs" 38 25 38 28+                                        , srcInfoPoints = []+                                        }+                                      "cat")))+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 29 38 30+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 38 29 38 30+                                     , srcInfoPoints = []+                                     }+                                   "a")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 31 38 32+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 31 38 32+                                  , srcInfoPoints = []+                                  }+                                "c")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 34 38 55+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 34 38 55+                            , srcInfoPoints = []+                            }+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 34 38 55+                               , srcInfoPoints = []+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 34 38 55+                                  , srcInfoPoints = []+                                  }+                                (TyCon+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 38 34 38 55+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/RCategory.hs" 38 34 38 47+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/RCategory.hs" 38 34 38 47+                                           , srcInfoPoints = []+                                           }+                                         "RCategoryCtxt")))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 38 48 38 51+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/RCategory.hs" 38 48 38 51+                                        , srcInfoPoints = []+                                        }+                                      "cat")))+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 52 38 53+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 38 52 38 53+                                     , srcInfoPoints = []+                                     }+                                   "a")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 54 38 55+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 54 38 55+                                  , srcInfoPoints = []+                                  }+                                "b")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 57 38 78+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 57 38 78+                            , srcInfoPoints = []+                            }+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 57 38 78+                               , srcInfoPoints = []+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 57 38 78+                                  , srcInfoPoints = []+                                  }+                                (TyCon+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 38 57 38 78+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/RCategory.hs" 38 57 38 70+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/RCategory.hs" 38 57 38 70+                                           , srcInfoPoints = []+                                           }+                                         "RCategoryCtxt")))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 38 71 38 74+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/RCategory.hs" 38 71 38 74+                                        , srcInfoPoints = []+                                        }+                                      "cat")))+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 75 38 76+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 38 75 38 76+                                     , srcInfoPoints = []+                                     }+                                   "b")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 77 38 78+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 77 38 78+                                  , srcInfoPoints = []+                                  }+                                "c")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 80 38 93+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 80 38 93+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 80 38 93+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 80 38 89+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 38 80 38 89+                                     , srcInfoPoints = []+                                     }+                                   "RCategory")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 90 38 93+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 90 38 93+                                  , srcInfoPoints = []+                                  }+                                "cat")))+                   ]))+             (TyFun+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 39+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/RCategory.hs" 39 18 39 20 ]+                  }+                (TyApp+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 17+                     , srcInfoPoints = []+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 15+                        , srcInfoPoints = []+                        }+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 13+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 13+                              , srcInfoPoints = []+                              }+                            "cat"))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 14 39 15+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 14 39 15+                              , srcInfoPoints = []+                              }+                            "b")))+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 16 39 17+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 16 39 17+                           , srcInfoPoints = []+                           }+                         "c")))+                (TyFun+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 39+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/RCategory.hs" 39 29 39 31 ]+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 28+                        , srcInfoPoints = []+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 26+                           , srcInfoPoints = []+                           }+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 24+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 24+                                 , srcInfoPoints = []+                                 }+                               "cat"))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 25 39 26+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 25 39 26+                                 , srcInfoPoints = []+                                 }+                               "a")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 27 39 28+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 27 39 28+                              , srcInfoPoints = []+                              }+                            "b")))+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 32 39 39+                        , srcInfoPoints = []+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 32 39 37+                           , srcInfoPoints = []+                           }+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 32 39 35+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 32 39 35+                                 , srcInfoPoints = []+                                 }+                               "cat"))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 36 39 37+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 36 39 37+                                 , srcInfoPoints = []+                                 }+                               "a")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 38 39 39+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 38 39 39+                              , srcInfoPoints = []+                              }+                            "c"))))))+      , PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 1 40 12+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 1 40 6+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/RCategory.hs" 40 1 40 2+                   , SrcSpan "tests/examples/RCategory.hs" 40 2 40 5+                   , SrcSpan "tests/examples/RCategory.hs" 40 5 40 6+                   ]+               }+             (Symbol+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 2 40 5+                  , srcInfoPoints = []+                  }+                "<<<"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 7 40 12+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/RCategory.hs" 40 7 40 8 ]+               }+             (Var+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 9 40 12+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/RCategory.hs" 40 9 40 10+                      , SrcSpan "tests/examples/RCategory.hs" 40 10 40 11+                      , SrcSpan "tests/examples/RCategory.hs" 40 11 40 12+                      ]+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 9 40 12+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/RCategory.hs" 40 9 40 10+                         , SrcSpan "tests/examples/RCategory.hs" 40 10 40 11+                         , SrcSpan "tests/examples/RCategory.hs" 40 11 40 12+                         ]+                     }+                   (Symbol+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 10 40 11+                        , srcInfoPoints = []+                        }+                      "."))))+          Nothing+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 1 44 39+            , srcInfoPoints =+                [ SrcSpan "tests/examples/RCategory.hs" 43 7 43 9 ]+            }+          [ Symbol+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 1 43 6+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/RCategory.hs" 43 1 43 2+                    , SrcSpan "tests/examples/RCategory.hs" 43 2 43 5+                    , SrcSpan "tests/examples/RCategory.hs" 43 5 43 6+                    ]+                }+              ">>>"+          ]+          (TyForall+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 10 44 39+               , srcInfoPoints = []+               }+             Nothing+             (Just+                (CxTuple+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 10 44 9+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/RCategory.hs" 43 10 43 11+                         , SrcSpan "tests/examples/RCategory.hs" 43 32 43 33+                         , SrcSpan "tests/examples/RCategory.hs" 43 55 43 56+                         , SrcSpan "tests/examples/RCategory.hs" 43 78 43 79+                         , SrcSpan "tests/examples/RCategory.hs" 43 93 43 94+                         , SrcSpan "tests/examples/RCategory.hs" 44 7 44 9+                         ]+                     }+                   [ TypeA+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 11 43 32+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 11 43 32+                            , srcInfoPoints = []+                            }+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 11 43 32+                               , srcInfoPoints = []+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 11 43 32+                                  , srcInfoPoints = []+                                  }+                                (TyCon+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 43 11 43 32+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/RCategory.hs" 43 11 43 24+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/RCategory.hs" 43 11 43 24+                                           , srcInfoPoints = []+                                           }+                                         "RCategoryCtxt")))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 43 25 43 28+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/RCategory.hs" 43 25 43 28+                                        , srcInfoPoints = []+                                        }+                                      "cat")))+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 29 43 30+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 43 29 43 30+                                     , srcInfoPoints = []+                                     }+                                   "a")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 31 43 32+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 31 43 32+                                  , srcInfoPoints = []+                                  }+                                "c")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 34 43 55+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 34 43 55+                            , srcInfoPoints = []+                            }+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 34 43 55+                               , srcInfoPoints = []+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 34 43 55+                                  , srcInfoPoints = []+                                  }+                                (TyCon+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 43 34 43 55+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/RCategory.hs" 43 34 43 47+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/RCategory.hs" 43 34 43 47+                                           , srcInfoPoints = []+                                           }+                                         "RCategoryCtxt")))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 43 48 43 51+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/RCategory.hs" 43 48 43 51+                                        , srcInfoPoints = []+                                        }+                                      "cat")))+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 52 43 53+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 43 52 43 53+                                     , srcInfoPoints = []+                                     }+                                   "a")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 54 43 55+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 54 43 55+                                  , srcInfoPoints = []+                                  }+                                "b")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 57 43 78+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 57 43 78+                            , srcInfoPoints = []+                            }+                          (TyApp+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 57 43 78+                               , srcInfoPoints = []+                               }+                             (TyApp+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 57 43 78+                                  , srcInfoPoints = []+                                  }+                                (TyCon+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 43 57 43 78+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/RCategory.hs" 43 57 43 70+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/RCategory.hs" 43 57 43 70+                                           , srcInfoPoints = []+                                           }+                                         "RCategoryCtxt")))+                                (TyVar+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 43 71 43 74+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/RCategory.hs" 43 71 43 74+                                        , srcInfoPoints = []+                                        }+                                      "cat")))+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 75 43 76+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 43 75 43 76+                                     , srcInfoPoints = []+                                     }+                                   "b")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 77 43 78+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 77 43 78+                                  , srcInfoPoints = []+                                  }+                                "c")))+                   , TypeA+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 80 43 93+                         , srcInfoPoints = []+                         }+                       (TyApp+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 80 43 93+                            , srcInfoPoints = []+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 80 43 93+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 80 43 89+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/RCategory.hs" 43 80 43 89+                                     , srcInfoPoints = []+                                     }+                                   "RCategory")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 90 43 93+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 90 43 93+                                  , srcInfoPoints = []+                                  }+                                "cat")))                    ]))              (TyFun                 SrcSpanInfo
tests/examples/RCategory2.hs.parser.golden view
@@ -102,9 +102,7 @@                  SrcSpanInfo                    { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 6 3 6 43                    , srcInfoPoints =-                       [ SrcSpan "tests/examples/RCategory2.hs" 6 3 6 7-                       , SrcSpan "tests/examples/RCategory2.hs" 6 30 6 32-                       ]+                       [ SrcSpan "tests/examples/RCategory2.hs" 6 3 6 7 ]                    }                  (DHApp                     SrcSpanInfo@@ -166,22 +164,29 @@                             }                           "b")))                  (Just-                    (KindVar+                    (KindSig                        SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 6 33 6 43-                         , srcInfoPoints = []+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 6 30 6 43+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/RCategory2.hs" 6 30 6 32 ]                          }-                       (UnQual+                       (TyCon                           SrcSpanInfo                             { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 6 33 6 43                             , srcInfoPoints = []                             }-                          (Ident+                          (UnQual                              SrcSpanInfo                                { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 6 33 6 43                                , srcInfoPoints = []                                }-                             "Constraint"))))+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 6 33 6 43+                                  , srcInfoPoints = []+                                  }+                                "Constraint")))))+                 Nothing              ])       ]   , []
tests/examples/RCategory2.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE TypeFamilies, ConstraintKinds #-}-module Main (main) where import GHC.Prim  class RCategory cat where
tests/examples/RCategory3.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE TypeFamilies, ConstraintKinds #-}-module Main (main) where  instance RCategory (->) where         type RCategoryCtxt (->) a a = ()
tests/examples/ReadP.hs.parser.golden view
@@ -125,17 +125,22 @@                                    , srcInfoPoints = []                                    }                                  "b")))-                        (UnQual+                        (UnpromotedName                            SrcSpanInfo                              { srcInfoSpan = SrcSpan "tests/examples/ReadP.hs" 2 31 2 32                              , srcInfoPoints = []                              }-                           (Symbol+                           (UnQual                               SrcSpanInfo                                 { srcInfoSpan = SrcSpan "tests/examples/ReadP.hs" 2 31 2 32                                 , srcInfoPoints = []                                 }-                              "."))+                              (Symbol+                                 SrcSpanInfo+                                   { srcInfoSpan = SrcSpan "tests/examples/ReadP.hs" 2 31 2 32+                                   , srcInfoPoints = []+                                   }+                                 ".")))                         (TyFun                            SrcSpanInfo                              { srcInfoSpan = SrcSpan "tests/examples/ReadP.hs" 2 33 2 50@@ -234,7 +239,7 @@                                     "b")))))                  ])           ]-          Nothing+          []       ]   , []   )
tests/examples/ReadP.hs.prettyprinter.golden view
@@ -1,4 +1,3 @@ {-# LANGUAGE TypeOperators #-}-module Main (main) where  newtype ReadP a = R (forall b . (a -> P b) -> P b)
tests/examples/RealGHC.lhs.parser.golden view

file too large to diff

tests/examples/RecordInfixSelector.hs.parser.golden view
@@ -135,7 +135,7 @@                                  "Int"))))                  ])           ]-          Nothing+          []       , PatBind           SrcSpanInfo             { srcInfoSpan =
tests/examples/RecordInfixSelector.hs.prettyprinter.golden view
@@ -1,4 +1,2 @@-module Main (main) where- data RecordWithInfixSelector = Cons{(<>) :: Int -> Int} idRecord = Cons{(<>) = id}
+ tests/examples/RecordPatternSynonyms.hs view
@@ -0,0 +1,16 @@+{-# LANGUAGE PatternSynonyms #-}+module ShouldCompile where++pattern Single{x} = [x]++pattern Double{y,z} = (y,z)++pattern More{x} <- (x,_) where+  More x = (x, Nothing)++-- Selector+selector :: Int+selector = x [5]++update :: [String]+update = ["String"] { x = "updated" }
+ tests/examples/RecordPatternSynonyms.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/RecordPatternSynonyms.hs.parser.golden view
@@ -0,0 +1,688 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan =+            SrcSpan "tests/examples/RecordPatternSynonyms.hs" 1 1 17 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 1 1 1 1+            , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 2 1 2 1+            , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 2 1 2 1+            , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 1 4 1+            , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 1 6 1+            , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 1 8 1+            , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 12 1 12 1+            , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 1 13 1+            , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 15 1 15 1+            , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 1 16 1+            , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 17 1 17 1+            , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 17 1 17 1+            ]+        }+      (Just+         (ModuleHead+            SrcSpanInfo+              { srcInfoSpan =+                  SrcSpan "tests/examples/RecordPatternSynonyms.hs" 2 1 2 27+              , srcInfoPoints =+                  [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 2 1 2 7+                  , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 2 22 2 27+                  ]+              }+            (ModuleName+               SrcSpanInfo+                 { srcInfoSpan =+                     SrcSpan "tests/examples/RecordPatternSynonyms.hs" 2 8 2 21+                 , srcInfoPoints = []+                 }+               "ShouldCompile")+            Nothing+            Nothing))+      [ LanguagePragma+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/RecordPatternSynonyms.hs" 1 1 1 33+            , srcInfoPoints =+                [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 1 1 1 13+                , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 1 30 1 33+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/RecordPatternSynonyms.hs" 1 14 1 29+                , srcInfoPoints = []+                }+              "PatternSynonyms"+          ]+      ]+      []+      [ PatSyn+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 1 4 24+            , srcInfoPoints =+                [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 1 4 8+                , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 19 4 20+                ]+            }+          (PRec+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 9 4 18+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 15 4 16+                   , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 17 4 18+                   ]+               }+             (UnQual+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 9 4 15+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 9 4 15+                     , srcInfoPoints = []+                     }+                   "Single"))+             [ PFieldPun+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 16 4 17+                   , srcInfoPoints = []+                   }+                 (UnQual+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 16 4 17+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 16 4 17+                         , srcInfoPoints = []+                         }+                       "x"))+             ])+          (PList+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 21 4 24+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 21 4 22+                   , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 23 4 24+                   ]+               }+             [ PVar+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 22 4 23+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 22 4 23+                      , srcInfoPoints = []+                      }+                    "x")+             ])+          ImplicitBidirectional+      , PatSyn+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 1 6 28+            , srcInfoPoints =+                [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 1 6 8+                , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 21 6 22+                ]+            }+          (PRec+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 9 6 20+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 15 6 16+                   , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 17 6 18+                   , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 19 6 20+                   ]+               }+             (UnQual+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 9 6 15+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 9 6 15+                     , srcInfoPoints = []+                     }+                   "Double"))+             [ PFieldPun+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 16 6 17+                   , srcInfoPoints = []+                   }+                 (UnQual+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 16 6 17+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 16 6 17+                         , srcInfoPoints = []+                         }+                       "y"))+             , PFieldPun+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 18 6 19+                   , srcInfoPoints = []+                   }+                 (UnQual+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 18 6 19+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 18 6 19+                         , srcInfoPoints = []+                         }+                       "z"))+             ])+          (PTuple+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 23 6 28+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 23 6 24+                   , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 25 6 26+                   , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 27 6 28+                   ]+               }+             Boxed+             [ PVar+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 24 6 25+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 24 6 25+                      , srcInfoPoints = []+                      }+                    "y")+             , PVar+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 26 6 27+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 26 6 27+                      , srcInfoPoints = []+                      }+                    "z")+             ])+          ImplicitBidirectional+      , PatSyn+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 1 8 25+            , srcInfoPoints =+                [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 1 8 8+                , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 17 8 19+                ]+            }+          (PRec+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 9 8 16+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 13 8 14+                   , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 15 8 16+                   ]+               }+             (UnQual+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 9 8 13+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 9 8 13+                     , srcInfoPoints = []+                     }+                   "More"))+             [ PFieldPun+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 14 8 15+                   , srcInfoPoints = []+                   }+                 (UnQual+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 14 8 15+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 14 8 15+                         , srcInfoPoints = []+                         }+                       "x"))+             ])+          (PTuple+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 20 8 25+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 20 8 21+                   , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 22 8 23+                   , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 24 8 25+                   ]+               }+             Boxed+             [ PVar+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 21 8 22+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 21 8 22+                      , srcInfoPoints = []+                      }+                    "x")+             , PWildCard+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 23 8 24+                   , srcInfoPoints = []+                   }+             ])+          (ExplicitBidirectional+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 26 12 0+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 26 8 31+                   , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 3 9 3+                   , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 12 1 12 0+                   ]+               }+             [ PatBind+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 3 9 24+                   , srcInfoPoints = []+                   }+                 (PApp+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 3 9 9+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 3 9 7+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 3 9 7+                            , srcInfoPoints = []+                            }+                          "More"))+                    [ PVar+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 8 9 9+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 8 9 9+                             , srcInfoPoints = []+                             }+                           "x")+                    ])+                 (UnGuardedRhs+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 10 9 24+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 10 9 11 ]+                      }+                    (Tuple+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 12 9 24+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 12 9 13+                             , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 14 9 15+                             , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 23 9 24+                             ]+                         }+                       Boxed+                       [ Var+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 13 9 14+                             , srcInfoPoints = []+                             }+                           (UnQual+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 13 9 14+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 13 9 14+                                   , srcInfoPoints = []+                                   }+                                 "x"))+                       , Con+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 16 9 23+                             , srcInfoPoints = []+                             }+                           (UnQual+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 16 9 23+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan =+                                       SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 16 9 23+                                   , srcInfoPoints = []+                                   }+                                 "Nothing"))+                       ]))+                 Nothing+             ])+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/RecordPatternSynonyms.hs" 12 1 12 16+            , srcInfoPoints =+                [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 12 10 12 12 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/RecordPatternSynonyms.hs" 12 1 12 9+                , srcInfoPoints = []+                }+              "selector"+          ]+          (TyCon+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/RecordPatternSynonyms.hs" 12 13 12 16+               , srcInfoPoints = []+               }+             (UnQual+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/RecordPatternSynonyms.hs" 12 13 12 16+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/RecordPatternSynonyms.hs" 12 13 12 16+                     , srcInfoPoints = []+                     }+                   "Int")))+      , PatBind+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 1 13 17+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 1 13 9+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 1 13 9+                  , srcInfoPoints = []+                  }+                "selector"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 10 13 17+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 10 13 11 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 12 13 17+                  , srcInfoPoints = []+                  }+                (Var+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 12 13 13+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 12 13 13+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 12 13 13+                           , srcInfoPoints = []+                           }+                         "x")))+                (List+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 14 13 17+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 14 13 15+                         , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 16 13 17+                         ]+                     }+                   [ Lit+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 15 13 16+                         , srcInfoPoints = []+                         }+                       (Int+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 15 13 16+                            , srcInfoPoints = []+                            }+                          5+                          "5")+                   ])))+          Nothing+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/RecordPatternSynonyms.hs" 15 1 15 19+            , srcInfoPoints =+                [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 15 8 15 10 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/RecordPatternSynonyms.hs" 15 1 15 7+                , srcInfoPoints = []+                }+              "update"+          ]+          (TyList+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/RecordPatternSynonyms.hs" 15 11 15 19+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 15 11 15 12+                   , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 15 18 15 19+                   ]+               }+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/RecordPatternSynonyms.hs" 15 12 15 18+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/RecordPatternSynonyms.hs" 15 12 15 18+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/RecordPatternSynonyms.hs" 15 12 15 18+                        , srcInfoPoints = []+                        }+                      "String"))))+      , PatBind+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 1 16 38+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 1 16 7+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 1 16 7+                  , srcInfoPoints = []+                  }+                "update"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 8 16 38+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 8 16 9 ]+               }+             (RecUpdate+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 10 16 38+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 21 16 22+                      , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 37 16 38+                      ]+                  }+                (List+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 10 16 20+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 10 16 11+                         , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 19 16 20+                         ]+                     }+                   [ Lit+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 11 16 19+                         , srcInfoPoints = []+                         }+                       (String+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 11 16 19+                            , srcInfoPoints = []+                            }+                          "String"+                          "String")+                   ])+                [ FieldUpdate+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 23 16 36+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 25 16 26 ]+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 23 16 24+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 23 16 24+                            , srcInfoPoints = []+                            }+                          "x"))+                    (Lit+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 27 16 36+                         , srcInfoPoints = []+                         }+                       (String+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 27 16 36+                            , srcInfoPoints = []+                            }+                          "updated"+                          "updated"))+                ]))+          Nothing+      ]+  , [ Comment+        False+        (SrcSpan "tests/examples/RecordPatternSynonyms.hs" 11 1 11 12)+        " Selector"+    ]+  )
+ tests/examples/RecordPatternSynonyms.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/RecordPatternSynonyms.hs.prettyprinter.golden view
@@ -0,0 +1,15 @@+{-# LANGUAGE PatternSynonyms #-}+module ShouldCompile where++pattern Single{x} = [x]++pattern Double{y, z} = (y, z)++pattern More{x} <- (x, _)+  where More x = (x, Nothing)++selector :: Int+selector = x [5]++update :: [String]+update = ["String"]{x = "updated"}
tests/examples/RecursiveDo.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE RecursiveDo #-}-module Main (main) where justOnes   = do rec xs <- Just (1 : xs)        return (map negate xs)
tests/examples/RoleAnnotations.hs.parser.golden view
@@ -154,7 +154,7 @@                         "a")                  ])           ]-          Nothing+          []       , DataDecl           SrcSpanInfo             { srcInfoSpan =@@ -234,7 +234,7 @@                         "a")                  ])           ]-          Nothing+          []       , DataDecl           SrcSpanInfo             { srcInfoSpan =@@ -314,7 +314,7 @@                         "a")                  ])           ]-          Nothing+          []       , DataDecl           SrcSpanInfo             { srcInfoSpan =@@ -381,7 +381,7 @@                     "K6")                  [])           ]-          Nothing+          []       , DataDecl           SrcSpanInfo             { srcInfoSpan =@@ -483,7 +483,7 @@                         "b")                  ])           ]-          Nothing+          []       , RoleAnnotDecl           SrcSpanInfo             { srcInfoSpan =
+ tests/examples/RoleAnnotations2.hs view
@@ -0,0 +1,9 @@+{-# LANGUAGE RoleAnnotations #-}++data Foo a = Foo a+type role Foo representational++main = print $ foo 1++foo :: Int -> Int+foo role = 42
+ tests/examples/RoleAnnotations2.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/RoleAnnotations2.hs.parser.golden view
@@ -0,0 +1,379 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan =+            SrcSpan "tests/examples/RoleAnnotations2.hs" 1 1 10 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/RoleAnnotations2.hs" 1 1 1 1+            , SrcSpan "tests/examples/RoleAnnotations2.hs" 3 1 3 1+            , SrcSpan "tests/examples/RoleAnnotations2.hs" 3 1 3 1+            , SrcSpan "tests/examples/RoleAnnotations2.hs" 3 1 3 1+            , SrcSpan "tests/examples/RoleAnnotations2.hs" 4 1 4 1+            , SrcSpan "tests/examples/RoleAnnotations2.hs" 6 1 6 1+            , SrcSpan "tests/examples/RoleAnnotations2.hs" 8 1 8 1+            , SrcSpan "tests/examples/RoleAnnotations2.hs" 9 1 9 1+            , SrcSpan "tests/examples/RoleAnnotations2.hs" 10 1 10 1+            , SrcSpan "tests/examples/RoleAnnotations2.hs" 10 1 10 1+            ]+        }+      Nothing+      [ LanguagePragma+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/RoleAnnotations2.hs" 1 1 1 33+            , srcInfoPoints =+                [ SrcSpan "tests/examples/RoleAnnotations2.hs" 1 1 1 13+                , SrcSpan "tests/examples/RoleAnnotations2.hs" 1 30 1 33+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/RoleAnnotations2.hs" 1 14 1 29+                , srcInfoPoints = []+                }+              "RoleAnnotations"+          ]+      ]+      []+      [ DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/RoleAnnotations2.hs" 3 1 3 19+            , srcInfoPoints =+                [ SrcSpan "tests/examples/RoleAnnotations2.hs" 3 12 3 13 ]+            }+          (DataType+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/RoleAnnotations2.hs" 3 1 3 5+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/RoleAnnotations2.hs" 3 6 3 11+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/RoleAnnotations2.hs" 3 6 3 9+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/RoleAnnotations2.hs" 3 6 3 9+                     , srcInfoPoints = []+                     }+                   "Foo"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/RoleAnnotations2.hs" 3 10 3 11+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/RoleAnnotations2.hs" 3 10 3 11+                     , srcInfoPoints = []+                     }+                   "a")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/RoleAnnotations2.hs" 3 14 3 19+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/RoleAnnotations2.hs" 3 14 3 19+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/RoleAnnotations2.hs" 3 14 3 17+                      , srcInfoPoints = []+                      }+                    "Foo")+                 [ TyVar+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/RoleAnnotations2.hs" 3 18 3 19+                       , srcInfoPoints = []+                       }+                     (Ident+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/RoleAnnotations2.hs" 3 18 3 19+                          , srcInfoPoints = []+                          }+                        "a")+                 ])+          ]+          []+      , RoleAnnotDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/RoleAnnotations2.hs" 4 1 4 31+            , srcInfoPoints =+                [ SrcSpan "tests/examples/RoleAnnotations2.hs" 4 1 4 5+                , SrcSpan "tests/examples/RoleAnnotations2.hs" 4 6 4 10+                ]+            }+          (UnQual+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/RoleAnnotations2.hs" 4 11 4 14+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/RoleAnnotations2.hs" 4 11 4 14+                  , srcInfoPoints = []+                  }+                "Foo"))+          [ Representational+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/RoleAnnotations2.hs" 4 15 4 31+                , srcInfoPoints = []+                }+          ]+      , PatBind+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/RoleAnnotations2.hs" 6 1 6 21+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/RoleAnnotations2.hs" 6 1 6 5+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/RoleAnnotations2.hs" 6 1 6 5+                  , srcInfoPoints = []+                  }+                "main"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/RoleAnnotations2.hs" 6 6 6 21+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/RoleAnnotations2.hs" 6 6 6 7 ]+               }+             (InfixApp+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/RoleAnnotations2.hs" 6 8 6 21+                  , srcInfoPoints = []+                  }+                (Var+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/RoleAnnotations2.hs" 6 8 6 13+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/RoleAnnotations2.hs" 6 8 6 13+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/RoleAnnotations2.hs" 6 8 6 13+                           , srcInfoPoints = []+                           }+                         "print")))+                (QVarOp+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/RoleAnnotations2.hs" 6 14 6 15+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/RoleAnnotations2.hs" 6 14 6 15+                        , srcInfoPoints = []+                        }+                      (Symbol+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/RoleAnnotations2.hs" 6 14 6 15+                           , srcInfoPoints = []+                           }+                         "$")))+                (App+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/RoleAnnotations2.hs" 6 16 6 21+                     , srcInfoPoints = []+                     }+                   (Var+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/RoleAnnotations2.hs" 6 16 6 19+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/RoleAnnotations2.hs" 6 16 6 19+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/RoleAnnotations2.hs" 6 16 6 19+                              , srcInfoPoints = []+                              }+                            "foo")))+                   (Lit+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/RoleAnnotations2.hs" 6 20 6 21+                        , srcInfoPoints = []+                        }+                      (Int+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/RoleAnnotations2.hs" 6 20 6 21+                           , srcInfoPoints = []+                           }+                         1+                         "1")))))+          Nothing+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/RoleAnnotations2.hs" 8 1 8 18+            , srcInfoPoints =+                [ SrcSpan "tests/examples/RoleAnnotations2.hs" 8 5 8 7 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/RoleAnnotations2.hs" 8 1 8 4+                , srcInfoPoints = []+                }+              "foo"+          ]+          (TyFun+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/RoleAnnotations2.hs" 8 8 8 18+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/RoleAnnotations2.hs" 8 12 8 14 ]+               }+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/RoleAnnotations2.hs" 8 8 8 11+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/RoleAnnotations2.hs" 8 8 8 11+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/RoleAnnotations2.hs" 8 8 8 11+                        , srcInfoPoints = []+                        }+                      "Int")))+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/RoleAnnotations2.hs" 8 15 8 18+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/RoleAnnotations2.hs" 8 15 8 18+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/RoleAnnotations2.hs" 8 15 8 18+                        , srcInfoPoints = []+                        }+                      "Int"))))+      , FunBind+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/RoleAnnotations2.hs" 9 1 9 14+            , srcInfoPoints = []+            }+          [ Match+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/RoleAnnotations2.hs" 9 1 9 14+                , srcInfoPoints = []+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/RoleAnnotations2.hs" 9 1 9 4+                   , srcInfoPoints = []+                   }+                 "foo")+              [ PVar+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/RoleAnnotations2.hs" 9 5 9 9+                    , srcInfoPoints = []+                    }+                  (Ident+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/RoleAnnotations2.hs" 9 5 9 9+                       , srcInfoPoints = []+                       }+                     "role")+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/RoleAnnotations2.hs" 9 10 9 14+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/RoleAnnotations2.hs" 9 10 9 11 ]+                   }+                 (Lit+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/RoleAnnotations2.hs" 9 12 9 14+                      , srcInfoPoints = []+                      }+                    (Int+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/RoleAnnotations2.hs" 9 12 9 14+                         , srcInfoPoints = []+                         }+                       42+                       "42")))+              Nothing+          ]+      ]+  , []+  )
+ tests/examples/RoleAnnotations2.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/RoleAnnotations2.hs.prettyprinter.golden view
@@ -0,0 +1,9 @@+{-# LANGUAGE RoleAnnotations #-}++data Foo a = Foo a++type role Foo representational+main = print $ foo 1++foo :: Int -> Int+foo role = 42
tests/examples/Rules.hs.prettyprinter.golden view
@@ -1,5 +1,3 @@-module Main (main) where- {-# RULES "head/build" forall (g :: forall b . (a -> b -> b) -> b -> b) .              head (build g) = g (\ x _ -> x) badHead
tests/examples/SafeImports1.hs.prettyprinter.golden view
@@ -1,3 +1,2 @@ {-# LANGUAGE SafeImports #-}-module Main (main) where import safe Prelude as P
tests/examples/SafeImports2.hs.prettyprinter.golden view
@@ -1,3 +1,2 @@ {-# LANGUAGE Safe #-}-module Main (main) where import safe Prelude as P
tests/examples/SafeImports3.hs.prettyprinter.golden view
@@ -1,3 +1,2 @@ {-# LANGUAGE Trustworthy #-}-module Main (main) where import safe Prelude as P
tests/examples/ScopedTypeVariables.hs.parser.golden view
@@ -363,40 +363,53 @@                      , srcInfoPoints =                          [ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 31 11 33 ]                      }-                   (ClassA+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan =                             SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 26 11 33                         , srcInfoPoints =                             [ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 31 11 33 ]                         }-                      (UnQual+                      (TyApp                          SrcSpanInfo                            { srcInfoSpan =-                               SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 26 11 28-                           , srcInfoPoints = []+                               SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 26 11 33+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 31 11 33 ]                            }-                         (Ident+                         (TyCon                             SrcSpanInfo                               { srcInfoSpan =-                                  SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 26 11 28+                                  SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 26 11 33+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 31 11 33 ]+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 26 11 28+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 26 11 28+                                    , srcInfoPoints = []+                                    }+                                  "Eq")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 29 11 30                               , srcInfoPoints = []                               }-                            "Eq"))-                      [ TyVar-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 29 11 30-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 29 11 30-                               , srcInfoPoints = []-                               }-                             "x")-                      ])))+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 29 11 30+                                 , srcInfoPoints = []+                                 }+                               "x"))))))              (TyFun                 SrcSpanInfo                   { srcInfoSpan =
tests/examples/ScopedTypeVariables.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE ScopedTypeVariables #-}-module Main (main) where  test :: IO Char test
tests/examples/SimpleDeriving.hs.parser.golden view
@@ -59,42 +59,43 @@                     "T")                  [])           ]-          (Just-             (Deriving-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/SimpleDeriving.hs" 1 12 1 23-                  , srcInfoPoints =-                      [ SrcSpan "tests/examples/SimpleDeriving.hs" 1 12 1 20 ]-                  }-                [ IRule-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/SimpleDeriving.hs" 1 21 1 23-                      , srcInfoPoints = []-                      }-                    Nothing-                    Nothing-                    (IHCon-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/SimpleDeriving.hs" 1 21 1 23-                         , srcInfoPoints = []-                         }-                       (UnQual-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/SimpleDeriving.hs" 1 21 1 23-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/SimpleDeriving.hs" 1 21 1 23-                               , srcInfoPoints = []-                               }-                             "Eq")))-                ]))+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/SimpleDeriving.hs" 1 12 1 23+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/SimpleDeriving.hs" 1 12 1 20 ]+                }+              Nothing+              [ IRule+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/SimpleDeriving.hs" 1 21 1 23+                    , srcInfoPoints = []+                    }+                  Nothing+                  Nothing+                  (IHCon+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/SimpleDeriving.hs" 1 21 1 23+                       , srcInfoPoints = []+                       }+                     (UnQual+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/SimpleDeriving.hs" 1 21 1 23+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/SimpleDeriving.hs" 1 21 1 23+                             , srcInfoPoints = []+                             }+                           "Eq")))+              ]+          ]       ]   , []   )
tests/examples/SimpleDeriving.hs.prettyprinter.golden view
@@ -1,4 +1,1 @@-module Main (main) where--data T = T-       deriving Eq+data T = T deriving Eq
tests/examples/SingleClassAsst.hs.parser.golden view
@@ -74,39 +74,50 @@                             , SrcSpan "tests/examples/SingleClassAsst.hs" 3 15 3 17                             ]                         }-                      (ClassA+                      (TypeA                          SrcSpanInfo                            { srcInfoSpan =                                SrcSpan "tests/examples/SingleClassAsst.hs" 3 9 3 13                            , srcInfoPoints = []                            }-                         (UnQual+                         (TyApp                             SrcSpanInfo                               { srcInfoSpan =-                                  SrcSpan "tests/examples/SingleClassAsst.hs" 3 9 3 11+                                  SrcSpan "tests/examples/SingleClassAsst.hs" 3 9 3 13                               , srcInfoPoints = []                               }-                            (Ident+                            (TyCon                                SrcSpanInfo                                  { srcInfoSpan =-                                     SrcSpan "tests/examples/SingleClassAsst.hs" 3 9 3 11+                                     SrcSpan "tests/examples/SingleClassAsst.hs" 3 9 3 13                                  , srcInfoPoints = []                                  }-                               "Eq"))-                         [ TyVar-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/SingleClassAsst.hs" 3 12 3 13-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/SingleClassAsst.hs" 3 12 3 13-                                  , srcInfoPoints = []-                                  }-                                "a")-                         ]))))+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/SingleClassAsst.hs" 3 9 3 11+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/SingleClassAsst.hs" 3 9 3 11+                                       , srcInfoPoints = []+                                       }+                                     "Eq")))+                            (TyVar+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/SingleClassAsst.hs" 3 12 3 13+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/SingleClassAsst.hs" 3 12 3 13+                                    , srcInfoPoints = []+                                    }+                                  "a")))))))              (TyFun                 SrcSpanInfo                   { srcInfoSpan =
tests/examples/SpecializeInstance.hs.parser.golden view
@@ -43,40 +43,53 @@                      , srcInfoPoints =                          [ SrcSpan "tests/examples/SpecializeInstance.hs" 1 18 1 20 ]                      }-                   (ClassA+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan =                             SrcSpan "tests/examples/SpecializeInstance.hs" 1 10 1 20                         , srcInfoPoints =                             [ SrcSpan "tests/examples/SpecializeInstance.hs" 1 18 1 20 ]                         }-                      (UnQual+                      (TyApp                          SrcSpanInfo                            { srcInfoSpan =-                               SrcSpan "tests/examples/SpecializeInstance.hs" 1 10 1 15-                           , srcInfoPoints = []+                               SrcSpan "tests/examples/SpecializeInstance.hs" 1 10 1 20+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/SpecializeInstance.hs" 1 18 1 20 ]                            }-                         (Ident+                         (TyCon                             SrcSpanInfo                               { srcInfoSpan =-                                  SrcSpan "tests/examples/SpecializeInstance.hs" 1 10 1 15+                                  SrcSpan "tests/examples/SpecializeInstance.hs" 1 10 1 20+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/SpecializeInstance.hs" 1 18 1 20 ]+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/SpecializeInstance.hs" 1 10 1 15+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/SpecializeInstance.hs" 1 10 1 15+                                    , srcInfoPoints = []+                                    }+                                  "Sized")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/SpecializeInstance.hs" 1 16 1 17                               , srcInfoPoints = []                               }-                            "Sized"))-                      [ TyVar-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/SpecializeInstance.hs" 1 16 1 17-                            , srcInfoPoints = []-                            }-                          (Ident-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/SpecializeInstance.hs" 1 16 1 17-                               , srcInfoPoints = []-                               }-                             "a")-                      ])))+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/SpecializeInstance.hs" 1 16 1 17+                                 , srcInfoPoints = []+                                 }+                               "a"))))))              (IHApp                 SrcSpanInfo                   { srcInfoSpan =
tests/examples/SpecializeInstance.hs.prettyprinter.golden view
@@ -1,5 +1,3 @@-module Main (main) where- instance Sized a => Sized (Digit a) where         {-# SPECIALISE instance Sized (Digit (Elem a)) #-}         
tests/examples/SpecializePhaseControl.hs.parser.golden view
@@ -331,72 +331,95 @@                          , SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 26 6 28                          ]                      }-                   [ ClassA+                   [ TypeA                        SrcSpanInfo                          { srcInfoSpan =                              SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 7 6 12                          , srcInfoPoints = []                          }-                       (UnQual+                       (TyApp                           SrcSpanInfo                             { srcInfoSpan =-                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 7 6 10+                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 7 6 12                             , srcInfoPoints = []                             }-                          (Ident+                          (TyCon                              SrcSpanInfo                                { srcInfoSpan =-                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 7 6 10+                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 7 6 12                                , srcInfoPoints = []                                }-                             "Num"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 11 6 12-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 11 6 12-                                , srcInfoPoints = []-                                }-                              "a")-                       ]-                   , ClassA+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 7 6 10+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 7 6 10+                                     , srcInfoPoints = []+                                     }+                                   "Num")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 11 6 12+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 11 6 12+                                  , srcInfoPoints = []+                                  }+                                "a")))+                   , TypeA                        SrcSpanInfo                          { srcInfoSpan =                              SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 14 6 24                          , srcInfoPoints = []                          }-                       (UnQual+                       (TyApp                           SrcSpanInfo                             { srcInfoSpan =-                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 14 6 22+                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 14 6 24                             , srcInfoPoints = []                             }-                          (Ident+                          (TyCon                              SrcSpanInfo                                { srcInfoSpan =-                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 14 6 22+                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 14 6 24                                , srcInfoPoints = []                                }-                             "Integral"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 23 6 24-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 23 6 24-                                , srcInfoPoints = []-                                }-                              "b")-                       ]+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 14 6 22+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan+                                           "tests/examples/SpecializePhaseControl.hs" 6 14 6 22+                                     , srcInfoPoints = []+                                     }+                                   "Integral")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 23 6 24+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 23 6 24+                                  , srcInfoPoints = []+                                  }+                                "b")))                    ]))              (TyFun                 SrcSpanInfo@@ -810,72 +833,96 @@                          , SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 26 14 28                          ]                      }-                   [ ClassA+                   [ TypeA                        SrcSpanInfo                          { srcInfoSpan =                              SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 7 14 12                          , srcInfoPoints = []                          }-                       (UnQual+                       (TyApp                           SrcSpanInfo                             { srcInfoSpan =-                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 7 14 10+                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 7 14 12                             , srcInfoPoints = []                             }-                          (Ident+                          (TyCon                              SrcSpanInfo                                { srcInfoSpan =-                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 7 14 10+                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 7 14 12                                , srcInfoPoints = []                                }-                             "Num"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 11 14 12-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 11 14 12-                                , srcInfoPoints = []-                                }-                              "a")-                       ]-                   , ClassA+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 7 14 10+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan+                                           "tests/examples/SpecializePhaseControl.hs" 14 7 14 10+                                     , srcInfoPoints = []+                                     }+                                   "Num")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 11 14 12+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 11 14 12+                                  , srcInfoPoints = []+                                  }+                                "a")))+                   , TypeA                        SrcSpanInfo                          { srcInfoSpan =                              SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 14 14 24                          , srcInfoPoints = []                          }-                       (UnQual+                       (TyApp                           SrcSpanInfo                             { srcInfoSpan =-                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 14 14 22+                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 14 14 24                             , srcInfoPoints = []                             }-                          (Ident+                          (TyCon                              SrcSpanInfo                                { srcInfoSpan =-                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 14 14 22+                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 14 14 24                                , srcInfoPoints = []                                }-                             "Integral"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 23 14 24-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 23 14 24-                                , srcInfoPoints = []-                                }-                              "b")-                       ]+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 14 14 22+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan+                                           "tests/examples/SpecializePhaseControl.hs" 14 14 14 22+                                     , srcInfoPoints = []+                                     }+                                   "Integral")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 23 14 24+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 23 14 24+                                  , srcInfoPoints = []+                                  }+                                "b")))                    ]))              (TyFun                 SrcSpanInfo
tests/examples/SpecializePhaseControl.hs.prettyprinter.golden view
@@ -1,5 +1,3 @@-module Main (main) where- {-# SPECIALISE [1] x :: Integer -> Integer -> Integer,                  Integer -> Int -> Integer, Int -> Int -> Int #-} 
+ tests/examples/StarInType.hs view
@@ -0,0 +1,5 @@+{-# language TypeOperators, KindSignatures #-}+data B = B+data a * b = Foo+type A = B * B+main = print 1
+ tests/examples/StarInType.hs.exactprinter.golden view
@@ -0,0 +1,6 @@+{-# LANGUAGE TypeOperators, KindSignatures #-}+data B = B+data a * b = Foo+type A = B * B+main = print 1+
+ tests/examples/StarInType.hs.parser.golden view
@@ -0,0 +1,287 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 1 1 6 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/StarInType.hs" 1 1 1 1+            , SrcSpan "tests/examples/StarInType.hs" 2 1 2 1+            , SrcSpan "tests/examples/StarInType.hs" 2 1 2 1+            , SrcSpan "tests/examples/StarInType.hs" 2 1 2 1+            , SrcSpan "tests/examples/StarInType.hs" 3 1 3 1+            , SrcSpan "tests/examples/StarInType.hs" 4 1 4 1+            , SrcSpan "tests/examples/StarInType.hs" 5 1 5 1+            , SrcSpan "tests/examples/StarInType.hs" 6 1 6 1+            , SrcSpan "tests/examples/StarInType.hs" 6 1 6 1+            ]+        }+      Nothing+      [ LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 1 1 1 47+            , srcInfoPoints =+                [ SrcSpan "tests/examples/StarInType.hs" 1 1 1 13+                , SrcSpan "tests/examples/StarInType.hs" 1 27 1 28+                , SrcSpan "tests/examples/StarInType.hs" 1 44 1 47+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 1 14 1 27+                , srcInfoPoints = []+                }+              "TypeOperators"+          , Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 1 29 1 43+                , srcInfoPoints = []+                }+              "KindSignatures"+          ]+      ]+      []+      [ DataDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 2 1 2 11+            , srcInfoPoints =+                [ SrcSpan "tests/examples/StarInType.hs" 2 8 2 9 ]+            }+          (DataType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 2 1 2 5+               , srcInfoPoints = []+               })+          Nothing+          (DHead+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 2 6 2 7+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 2 6 2 7+                  , srcInfoPoints = []+                  }+                "B"))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 2 10 2 11+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 2 10 2 11+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 2 10 2 11+                      , srcInfoPoints = []+                      }+                    "B")+                 [])+          ]+          []+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 3 1 3 17+            , srcInfoPoints =+                [ SrcSpan "tests/examples/StarInType.hs" 3 12 3 13 ]+            }+          (DataType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 3 1 3 5+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 3 6 3 11+               , srcInfoPoints = []+               }+             (DHInfix+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 3 6 3 11+                  , srcInfoPoints = []+                  }+                (UnkindedVar+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 3 6 3 7+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 3 6 3 7+                        , srcInfoPoints = []+                        }+                      "a"))+                (Symbol+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 3 8 3 9+                     , srcInfoPoints = []+                     }+                   "*"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 3 10 3 11+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 3 10 3 11+                     , srcInfoPoints = []+                     }+                   "b")))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 3 14 3 17+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 3 14 3 17+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 3 14 3 17+                      , srcInfoPoints = []+                      }+                    "Foo")+                 [])+          ]+          []+      , TypeDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 4 1 4 15+            , srcInfoPoints =+                [ SrcSpan "tests/examples/StarInType.hs" 4 1 4 5+                , SrcSpan "tests/examples/StarInType.hs" 4 8 4 9+                ]+            }+          (DHead+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 4 6 4 7+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 4 6 4 7+                  , srcInfoPoints = []+                  }+                "A"))+          (TyInfix+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 4 10 4 15+               , srcInfoPoints = []+               }+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 4 10 4 11+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 4 10 4 11+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 4 10 4 11+                        , srcInfoPoints = []+                        }+                      "B")))+             (UnpromotedName+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 4 12 4 13+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 4 12 4 13+                     , srcInfoPoints = []+                     }+                   (Symbol+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 4 12 4 13+                        , srcInfoPoints = []+                        }+                      "*")))+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 4 14 4 15+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 4 14 4 15+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 4 14 4 15+                        , srcInfoPoints = []+                        }+                      "B"))))+      , PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 5 1 5 15+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 5 1 5 5+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 5 1 5 5+                  , srcInfoPoints = []+                  }+                "main"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 5 6 5 15+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/StarInType.hs" 5 6 5 7 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 5 8 5 15+                  , srcInfoPoints = []+                  }+                (Var+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 5 8 5 13+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 5 8 5 13+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 5 8 5 13+                           , srcInfoPoints = []+                           }+                         "print")))+                (Lit+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 5 14 5 15+                     , srcInfoPoints = []+                     }+                   (Int+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 5 14 5 15+                        , srcInfoPoints = []+                        }+                      1+                      "1"))))+          Nothing+      ]+  , []+  )
+ tests/examples/StarInType.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/StarInType.hs.prettyprinter.golden view
@@ -0,0 +1,8 @@+{-# LANGUAGE TypeOperators, KindSignatures #-}++data B = B++data a * b = Foo++type A = B * B+main = print 1
+ tests/examples/T11727.hs view
@@ -0,0 +1,8 @@+{-# LANGUAGE PatternSynonyms #-}++module T11727 where++pattern A,B :: Int+pattern A = 5+pattern B = 5+
+ tests/examples/T11727.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/T11727.hs.parser.golden view
@@ -0,0 +1,180 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 1 1 9 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/T11727.hs" 1 1 1 1+            , SrcSpan "tests/examples/T11727.hs" 3 1 3 1+            , SrcSpan "tests/examples/T11727.hs" 3 1 3 1+            , SrcSpan "tests/examples/T11727.hs" 5 1 5 1+            , SrcSpan "tests/examples/T11727.hs" 6 1 6 1+            , SrcSpan "tests/examples/T11727.hs" 7 1 7 1+            , SrcSpan "tests/examples/T11727.hs" 9 1 9 1+            , SrcSpan "tests/examples/T11727.hs" 9 1 9 1+            ]+        }+      (Just+         (ModuleHead+            SrcSpanInfo+              { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 3 1 3 20+              , srcInfoPoints =+                  [ SrcSpan "tests/examples/T11727.hs" 3 1 3 7+                  , SrcSpan "tests/examples/T11727.hs" 3 15 3 20+                  ]+              }+            (ModuleName+               SrcSpanInfo+                 { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 3 8 3 14+                 , srcInfoPoints = []+                 }+               "T11727")+            Nothing+            Nothing))+      [ LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 1 1 1 33+            , srcInfoPoints =+                [ SrcSpan "tests/examples/T11727.hs" 1 1 1 13+                , SrcSpan "tests/examples/T11727.hs" 1 30 1 33+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 1 14 1 29+                , srcInfoPoints = []+                }+              "PatternSynonyms"+          ]+      ]+      []+      [ PatSynSig+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 5 1 5 19+            , srcInfoPoints =+                [ SrcSpan "tests/examples/T11727.hs" 5 1 5 8+                , SrcSpan "tests/examples/T11727.hs" 5 10 5 11+                , SrcSpan "tests/examples/T11727.hs" 5 13 5 15+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 5 9 5 10+                , srcInfoPoints = []+                }+              "A"+          , Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 5 11 5 12+                , srcInfoPoints = []+                }+              "B"+          ]+          Nothing+          Nothing+          Nothing+          Nothing+          (TyCon+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 5 16 5 19+               , srcInfoPoints = []+               }+             (UnQual+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 5 16 5 19+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 5 16 5 19+                     , srcInfoPoints = []+                     }+                   "Int")))+      , PatSyn+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 6 1 6 14+            , srcInfoPoints =+                [ SrcSpan "tests/examples/T11727.hs" 6 1 6 8+                , SrcSpan "tests/examples/T11727.hs" 6 11 6 12+                ]+            }+          (PApp+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 6 9 6 10+               , srcInfoPoints = []+               }+             (UnQual+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 6 9 6 10+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 6 9 6 10+                     , srcInfoPoints = []+                     }+                   "A"))+             [])+          (PLit+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 6 13 6 14+               , srcInfoPoints = []+               }+             (Signless+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 6 13 6 14+                  , srcInfoPoints = []+                  })+             (Int+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 6 13 6 14+                  , srcInfoPoints = []+                  }+                5+                "5"))+          ImplicitBidirectional+      , PatSyn+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 7 1 7 14+            , srcInfoPoints =+                [ SrcSpan "tests/examples/T11727.hs" 7 1 7 8+                , SrcSpan "tests/examples/T11727.hs" 7 11 7 12+                ]+            }+          (PApp+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 7 9 7 10+               , srcInfoPoints = []+               }+             (UnQual+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 7 9 7 10+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 7 9 7 10+                     , srcInfoPoints = []+                     }+                   "B"))+             [])+          (PLit+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 7 13 7 14+               , srcInfoPoints = []+               }+             (Signless+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 7 13 7 14+                  , srcInfoPoints = []+                  })+             (Int+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 7 13 7 14+                  , srcInfoPoints = []+                  }+                5+                "5"))+          ImplicitBidirectional+      ]+  , []+  )
+ tests/examples/T11727.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/T11727.hs.prettyprinter.golden view
@@ -0,0 +1,8 @@+{-# LANGUAGE PatternSynonyms #-}+module T11727 where++pattern A, B :: Int++pattern A = 5++pattern B = 5
+ tests/examples/T13050.hs view
@@ -0,0 +1,7 @@+module HolesInfix where++f, g, q :: Int -> Int -> Int+f x y = _ x y+g x y = x `_` y+q x y = x `_a` y+
+ tests/examples/T13050.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/T13050.hs.parser.golden view
@@ -0,0 +1,439 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 1 1 8 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/T13050.hs" 1 1 1 1+            , SrcSpan "tests/examples/T13050.hs" 1 1 1 1+            , SrcSpan "tests/examples/T13050.hs" 3 1 3 1+            , SrcSpan "tests/examples/T13050.hs" 4 1 4 1+            , SrcSpan "tests/examples/T13050.hs" 5 1 5 1+            , SrcSpan "tests/examples/T13050.hs" 6 1 6 1+            , SrcSpan "tests/examples/T13050.hs" 8 1 8 1+            , SrcSpan "tests/examples/T13050.hs" 8 1 8 1+            ]+        }+      (Just+         (ModuleHead+            SrcSpanInfo+              { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 1 1 1 24+              , srcInfoPoints =+                  [ SrcSpan "tests/examples/T13050.hs" 1 1 1 7+                  , SrcSpan "tests/examples/T13050.hs" 1 19 1 24+                  ]+              }+            (ModuleName+               SrcSpanInfo+                 { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 1 8 1 18+                 , srcInfoPoints = []+                 }+               "HolesInfix")+            Nothing+            Nothing))+      []+      []+      [ TypeSig+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 3 1 3 29+            , srcInfoPoints =+                [ SrcSpan "tests/examples/T13050.hs" 3 2 3 3+                , SrcSpan "tests/examples/T13050.hs" 3 5 3 6+                , SrcSpan "tests/examples/T13050.hs" 3 9 3 11+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 3 1 3 2+                , srcInfoPoints = []+                }+              "f"+          , Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 3 4 3 5+                , srcInfoPoints = []+                }+              "g"+          , Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 3 7 3 8+                , srcInfoPoints = []+                }+              "q"+          ]+          (TyFun+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 3 12 3 29+               , srcInfoPoints = [ SrcSpan "tests/examples/T13050.hs" 3 16 3 18 ]+               }+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 3 12 3 15+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 3 12 3 15+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 3 12 3 15+                        , srcInfoPoints = []+                        }+                      "Int")))+             (TyFun+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 3 19 3 29+                  , srcInfoPoints = [ SrcSpan "tests/examples/T13050.hs" 3 23 3 25 ]+                  }+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 3 19 3 22+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 3 19 3 22+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 3 19 3 22+                           , srcInfoPoints = []+                           }+                         "Int")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 3 26 3 29+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 3 26 3 29+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 3 26 3 29+                           , srcInfoPoints = []+                           }+                         "Int")))))+      , FunBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 1 4 14+            , srcInfoPoints = []+            }+          [ Match+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 1 4 14+                , srcInfoPoints = []+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 1 4 2+                   , srcInfoPoints = []+                   }+                 "f")+              [ PVar+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 3 4 4+                    , srcInfoPoints = []+                    }+                  (Ident+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 3 4 4+                       , srcInfoPoints = []+                       }+                     "x")+              , PVar+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 5 4 6+                    , srcInfoPoints = []+                    }+                  (Ident+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 5 4 6+                       , srcInfoPoints = []+                       }+                     "y")+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 7 4 14+                   , srcInfoPoints = [ SrcSpan "tests/examples/T13050.hs" 4 7 4 8 ]+                   }+                 (App+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 9 4 14+                      , srcInfoPoints = []+                      }+                    (App+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 9 4 12+                         , srcInfoPoints = []+                         }+                       (Var+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 9 4 10+                            , srcInfoPoints = []+                            }+                          (Special+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 9 4 10+                               , srcInfoPoints = []+                               }+                             (ExprHole+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 9 4 10+                                  , srcInfoPoints = []+                                  })))+                       (Var+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 11 4 12+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 11 4 12+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 11 4 12+                                  , srcInfoPoints = []+                                  }+                                "x"))))+                    (Var+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 13 4 14+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 13 4 14+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 13 4 14+                               , srcInfoPoints = []+                               }+                             "y")))))+              Nothing+          ]+      , FunBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 1 5 16+            , srcInfoPoints = []+            }+          [ Match+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 1 5 16+                , srcInfoPoints = []+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 1 5 2+                   , srcInfoPoints = []+                   }+                 "g")+              [ PVar+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 3 5 4+                    , srcInfoPoints = []+                    }+                  (Ident+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 3 5 4+                       , srcInfoPoints = []+                       }+                     "x")+              , PVar+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 5 5 6+                    , srcInfoPoints = []+                    }+                  (Ident+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 5 5 6+                       , srcInfoPoints = []+                       }+                     "y")+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 7 5 16+                   , srcInfoPoints = [ SrcSpan "tests/examples/T13050.hs" 5 7 5 8 ]+                   }+                 (InfixApp+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 9 5 16+                      , srcInfoPoints = []+                      }+                    (Var+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 9 5 10+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 9 5 10+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 9 5 10+                               , srcInfoPoints = []+                               }+                             "x")))+                    (QVarOp+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 11 5 14+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/T13050.hs" 5 11 5 12+                             , SrcSpan "tests/examples/T13050.hs" 5 12 5 13+                             , SrcSpan "tests/examples/T13050.hs" 5 13 5 14+                             ]+                         }+                       (Special+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 11 5 14+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/T13050.hs" 5 11 5 12+                                , SrcSpan "tests/examples/T13050.hs" 5 12 5 13+                                , SrcSpan "tests/examples/T13050.hs" 5 13 5 14+                                ]+                            }+                          (ExprHole+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 12 5 13+                               , srcInfoPoints = []+                               })))+                    (Var+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 15 5 16+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 15 5 16+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 15 5 16+                               , srcInfoPoints = []+                               }+                             "y")))))+              Nothing+          ]+      , FunBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 1 6 17+            , srcInfoPoints = []+            }+          [ Match+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 1 6 17+                , srcInfoPoints = []+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 1 6 2+                   , srcInfoPoints = []+                   }+                 "q")+              [ PVar+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 3 6 4+                    , srcInfoPoints = []+                    }+                  (Ident+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 3 6 4+                       , srcInfoPoints = []+                       }+                     "x")+              , PVar+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 5 6 6+                    , srcInfoPoints = []+                    }+                  (Ident+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 5 6 6+                       , srcInfoPoints = []+                       }+                     "y")+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 7 6 17+                   , srcInfoPoints = [ SrcSpan "tests/examples/T13050.hs" 6 7 6 8 ]+                   }+                 (InfixApp+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 9 6 17+                      , srcInfoPoints = []+                      }+                    (Var+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 9 6 10+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 9 6 10+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 9 6 10+                               , srcInfoPoints = []+                               }+                             "x")))+                    (QVarOp+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 11 6 15+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/T13050.hs" 6 11 6 12+                             , SrcSpan "tests/examples/T13050.hs" 6 12 6 14+                             , SrcSpan "tests/examples/T13050.hs" 6 14 6 15+                             ]+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 11 6 15+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/T13050.hs" 6 11 6 12+                                , SrcSpan "tests/examples/T13050.hs" 6 12 6 14+                                , SrcSpan "tests/examples/T13050.hs" 6 14 6 15+                                ]+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 12 6 14+                               , srcInfoPoints = []+                               }+                             "_a")))+                    (Var+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 16 6 17+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 16 6 17+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 16 6 17+                               , srcInfoPoints = []+                               }+                             "y")))))+              Nothing+          ]+      ]+  , []+  )
+ tests/examples/T13050.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/T13050.hs.prettyprinter.golden view
@@ -0,0 +1,6 @@+module HolesInfix where++f, g, q :: Int -> Int -> Int+f x y = _ x y+g x y = x `_` y+q x y = x `_a` y
+ tests/examples/T326.hs view
@@ -0,0 +1,4 @@+{-# LANGUAGE TypeApplications #-}+module T326 where++(@:) a b = a
+ tests/examples/T326.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/T326.hs.parser.golden view
@@ -0,0 +1,116 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 1 1 5 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/T326.hs" 1 1 1 1+            , SrcSpan "tests/examples/T326.hs" 2 1 2 1+            , SrcSpan "tests/examples/T326.hs" 2 1 2 1+            , SrcSpan "tests/examples/T326.hs" 4 1 4 1+            , SrcSpan "tests/examples/T326.hs" 5 1 5 1+            , SrcSpan "tests/examples/T326.hs" 5 1 5 1+            ]+        }+      (Just+         (ModuleHead+            SrcSpanInfo+              { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 2 1 2 18+              , srcInfoPoints =+                  [ SrcSpan "tests/examples/T326.hs" 2 1 2 7+                  , SrcSpan "tests/examples/T326.hs" 2 13 2 18+                  ]+              }+            (ModuleName+               SrcSpanInfo+                 { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 2 8 2 12+                 , srcInfoPoints = []+                 }+               "T326")+            Nothing+            Nothing))+      [ LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 1 1 1 34+            , srcInfoPoints =+                [ SrcSpan "tests/examples/T326.hs" 1 1 1 13+                , SrcSpan "tests/examples/T326.hs" 1 31 1 34+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 1 14 1 30+                , srcInfoPoints = []+                }+              "TypeApplications"+          ]+      ]+      []+      [ FunBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 4 1 4 13+            , srcInfoPoints = []+            }+          [ Match+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 4 1 4 13+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/T326.hs" 4 1 4 2+                    , SrcSpan "tests/examples/T326.hs" 4 2 4 4+                    , SrcSpan "tests/examples/T326.hs" 4 4 4 5+                    ]+                }+              (Symbol+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 4 2 4 4+                   , srcInfoPoints = []+                   }+                 "@:")+              [ PVar+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 4 6 4 7+                    , srcInfoPoints = []+                    }+                  (Ident+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 4 6 4 7+                       , srcInfoPoints = []+                       }+                     "a")+              , PVar+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 4 8 4 9+                    , srcInfoPoints = []+                    }+                  (Ident+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 4 8 4 9+                       , srcInfoPoints = []+                       }+                     "b")+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 4 10 4 13+                   , srcInfoPoints = [ SrcSpan "tests/examples/T326.hs" 4 10 4 11 ]+                   }+                 (Var+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 4 12 4 13+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 4 12 4 13+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 4 12 4 13+                            , srcInfoPoints = []+                            }+                          "a"))))+              Nothing+          ]+      ]+  , []+  )
+ tests/examples/T326.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/T326.hs.prettyprinter.golden view
@@ -0,0 +1,3 @@+{-# LANGUAGE TypeApplications #-}+module T326 where+(@:) a b = a
tests/examples/THTSplices.hs.prettyprinter.golden view
@@ -1,4 +1,3 @@ {-# LANGUAGE TemplateHaskell #-}-module Main (main) where import Language.Haskell.TH main = undefined :: $( undefined )
+ tests/examples/THTypedSplices.hs view
@@ -0,0 +1,6 @@+{-# LANGUAGE TemplateHaskell #-}+import Language.Haskell.TH++import THTypedSplices.Defs++main = $$justTH ($$([e|| 2 ||]))
+ tests/examples/THTypedSplices.hs.exactprinter.golden view
@@ -0,0 +1,7 @@+{-# LANGUAGE TemplateHaskell #-}+import Language.Haskell.TH++import THTypedSplices.Defs++main = $$justTH ($$([||  2 ||]))+
+ tests/examples/THTypedSplices.hs.parser.golden view
@@ -0,0 +1,177 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 1 1 7 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/THTypedSplices.hs" 1 1 1 1+            , SrcSpan "tests/examples/THTypedSplices.hs" 2 1 2 1+            , SrcSpan "tests/examples/THTypedSplices.hs" 2 1 2 1+            , SrcSpan "tests/examples/THTypedSplices.hs" 2 1 2 1+            , SrcSpan "tests/examples/THTypedSplices.hs" 4 1 4 1+            , SrcSpan "tests/examples/THTypedSplices.hs" 6 1 6 1+            , SrcSpan "tests/examples/THTypedSplices.hs" 7 1 7 1+            , SrcSpan "tests/examples/THTypedSplices.hs" 7 1 7 1+            ]+        }+      Nothing+      [ LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 1 1 1 33+            , srcInfoPoints =+                [ SrcSpan "tests/examples/THTypedSplices.hs" 1 1 1 13+                , SrcSpan "tests/examples/THTypedSplices.hs" 1 30 1 33+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/THTypedSplices.hs" 1 14 1 29+                , srcInfoPoints = []+                }+              "TemplateHaskell"+          ]+      ]+      [ ImportDecl+          { importAnn =+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 2 1 2 27+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/THTypedSplices.hs" 2 1 2 7 ]+                }+          , importModule =+              ModuleName+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 2 8 2 27+                  , srcInfoPoints = []+                  }+                "Language.Haskell.TH"+          , importQualified = False+          , importSrc = False+          , importSafe = False+          , importPkg = Nothing+          , importAs = Nothing+          , importSpecs = Nothing+          }+      , ImportDecl+          { importAnn =+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 4 1 4 27+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/THTypedSplices.hs" 4 1 4 7 ]+                }+          , importModule =+              ModuleName+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 4 8 4 27+                  , srcInfoPoints = []+                  }+                "THTypedSplices.Defs"+          , importQualified = False+          , importSrc = False+          , importSafe = False+          , importPkg = Nothing+          , importAs = Nothing+          , importSpecs = Nothing+          }+      ]+      [ PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 6 1 6 33+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 6 1 6 5+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 6 1 6 5+                  , srcInfoPoints = []+                  }+                "main"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 6 6 6 33+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/THTypedSplices.hs" 6 6 6 7 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 6 8 6 33+                  , srcInfoPoints = []+                  }+                (SpliceExp+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 6 8 6 16+                     , srcInfoPoints = []+                     }+                   (TIdSplice+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 6 8 6 16+                        , srcInfoPoints = []+                        }+                      "justTH"))+                (Paren+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/THTypedSplices.hs" 6 17 6 33+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/THTypedSplices.hs" 6 17 6 18+                         , SrcSpan "tests/examples/THTypedSplices.hs" 6 32 6 33+                         ]+                     }+                   (SpliceExp+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/THTypedSplices.hs" 6 18 6 32+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/THTypedSplices.hs" 6 18 6 21+                            , SrcSpan "tests/examples/THTypedSplices.hs" 6 31 6 32+                            ]+                        }+                      (TParenSplice+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/THTypedSplices.hs" 6 18 6 32+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/THTypedSplices.hs" 6 18 6 21+                               , SrcSpan "tests/examples/THTypedSplices.hs" 6 31 6 32+                               ]+                           }+                         (BracketExp+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/THTypedSplices.hs" 6 21 6 31+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/THTypedSplices.hs" 6 21 6 25+                                  , SrcSpan "tests/examples/THTypedSplices.hs" 6 28 6 31+                                  ]+                              }+                            (TExpBracket+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/THTypedSplices.hs" 6 21 6 31+                                 , srcInfoPoints =+                                     [ SrcSpan "tests/examples/THTypedSplices.hs" 6 21 6 25+                                     , SrcSpan "tests/examples/THTypedSplices.hs" 6 28 6 31+                                     ]+                                 }+                               (Lit+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/THTypedSplices.hs" 6 26 6 27+                                    , srcInfoPoints = []+                                    }+                                  (Int+                                     SrcSpanInfo+                                       { srcInfoSpan =+                                           SrcSpan "tests/examples/THTypedSplices.hs" 6 26 6 27+                                       , srcInfoPoints = []+                                       }+                                     2+                                     "2")))))))))+          Nothing+      ]+  , []+  )
+ tests/examples/THTypedSplices.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/THTypedSplices.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+{-# LANGUAGE TemplateHaskell #-}+import Language.Haskell.TH+import THTypedSplices.Defs+main = $$justTH ($$( [|| 2 ||] ))
tests/examples/TabWhitespace.hs.prettyprinter.golden view
@@ -1,1 +1,1 @@-module Main (main) where+
+ tests/examples/TemplateHaskellQuotedNames.hs view
@@ -0,0 +1,3 @@+{-# LANGUAGE TemplateHaskell #-}+f = g 'Constructor 'function+h = g '() '[]
+ tests/examples/TemplateHaskellQuotedNames.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/TemplateHaskellQuotedNames.hs.parser.golden view
@@ -0,0 +1,246 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan =+            SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 1 1 4 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 1 1 1 1+            , SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 1 2 1+            , SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 1 2 1+            , SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 1 2 1+            , SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 1 3 1+            , SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 4 1 4 1+            , SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 4 1 4 1+            ]+        }+      Nothing+      [ LanguagePragma+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 1 1 1 33+            , srcInfoPoints =+                [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 1 1 1 13+                , SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 1 30 1 33+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 1 14 1 29+                , srcInfoPoints = []+                }+              "TemplateHaskell"+          ]+      ]+      []+      [ PatBind+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 1 2 29+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 1 2 2+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 1 2 2+                  , srcInfoPoints = []+                  }+                "f"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 3 2 29+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 3 2 4 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 5 2 29+                  , srcInfoPoints = []+                  }+                (App+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 5 2 19+                     , srcInfoPoints = []+                     }+                   (Var+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 5 2 6+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 5 2 6+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 5 2 6+                              , srcInfoPoints = []+                              }+                            "g")))+                   (VarQuote+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 7 2 19+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 7 2 8 ]+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 8 2 19+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 8 2 19+                              , srcInfoPoints = []+                              }+                            "Constructor"))))+                (VarQuote+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 20 2 29+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 20 2 21+                         ]+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 21 2 29+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 21 2 29+                           , srcInfoPoints = []+                           }+                         "function")))))+          Nothing+      , PatBind+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 1 3 14+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 1 3 2+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 1 3 2+                  , srcInfoPoints = []+                  }+                "h"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 3 3 14+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 3 3 4 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 5 3 14+                  , srcInfoPoints = []+                  }+                (App+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 5 3 10+                     , srcInfoPoints = []+                     }+                   (Var+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 5 3 6+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 5 3 6+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 5 3 6+                              , srcInfoPoints = []+                              }+                            "g")))+                   (VarQuote+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 7 3 10+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 7 3 8 ]+                        }+                      (Special+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 8 3 10+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 8 3 9+                               , SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 9 3 10+                               ]+                           }+                         (UnitCon+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 8 3 10+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 8 3 9+                                  , SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 9 3 10+                                  ]+                              }))))+                (VarQuote+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 11 3 14+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 11 3 12+                         ]+                     }+                   (Special+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 12 3 14+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 12 3 13+                            , SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 13 3 14+                            ]+                        }+                      (ListCon+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 12 3 14+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 12 3 13+                               , SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 13 3 14+                               ]+                           })))))+          Nothing+      ]+  , []+  )
+ tests/examples/TemplateHaskellQuotedNames.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/TemplateHaskellQuotedNames.hs.prettyprinter.golden view
@@ -0,0 +1,3 @@+{-# LANGUAGE TemplateHaskell #-}+f = g 'Constructor 'function+h = g '() '[]
+ tests/examples/TensorTests.hs view
@@ -0,0 +1,20 @@+{-# LANGUAGE ConstraintKinds, FlexibleContexts, DataKinds, NoImplicitPrelude,+             RebindableSyntax, ScopedTypeVariables, TypeFamilies, TypeOperators,+             UndecidableInstances #-}++module TensorTests (tensorTests) where++type TMRParams = ( '(,) <$> Tensors) <*> MRCombos+tmrParams :: Proxy TMRParams+tmrParams = Proxy++--type ExtParams = ( '(,) <$> Tensors) <*> MRExtCombos+type TrEmParams = ( '(,) <$> Tensors) <*> MM'RCombos+tremParams :: Proxy TrEmParams+tremParams = Proxy++type NormParams = ( '(,) <$> '[RT]) <*> (Filter Liftable MRCombos)++--data Liftable :: TyFun (Factored, *) Bool -> *+type instance Apply Liftable '(m,zq) = Int64 :== (LiftOf zq)+
+ tests/examples/TensorTests.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/TensorTests.hs.parser.golden view
@@ -0,0 +1,965 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 1 1 21 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/TensorTests.hs" 1 1 1 1+            , SrcSpan "tests/examples/TensorTests.hs" 5 1 5 1+            , SrcSpan "tests/examples/TensorTests.hs" 5 1 5 1+            , SrcSpan "tests/examples/TensorTests.hs" 7 1 7 1+            , SrcSpan "tests/examples/TensorTests.hs" 8 1 8 1+            , SrcSpan "tests/examples/TensorTests.hs" 9 1 9 1+            , SrcSpan "tests/examples/TensorTests.hs" 12 1 12 1+            , SrcSpan "tests/examples/TensorTests.hs" 13 1 13 1+            , SrcSpan "tests/examples/TensorTests.hs" 14 1 14 1+            , SrcSpan "tests/examples/TensorTests.hs" 16 1 16 1+            , SrcSpan "tests/examples/TensorTests.hs" 19 1 19 1+            , SrcSpan "tests/examples/TensorTests.hs" 21 1 21 1+            , SrcSpan "tests/examples/TensorTests.hs" 21 1 21 1+            ]+        }+      (Just+         (ModuleHead+            SrcSpanInfo+              { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 5 1 5 39+              , srcInfoPoints =+                  [ SrcSpan "tests/examples/TensorTests.hs" 5 1 5 7+                  , SrcSpan "tests/examples/TensorTests.hs" 5 34 5 39+                  ]+              }+            (ModuleName+               SrcSpanInfo+                 { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 5 8 5 19+                 , srcInfoPoints = []+                 }+               "TensorTests")+            Nothing+            (Just+               (ExportSpecList+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 5 20 5 33+                    , srcInfoPoints =+                        [ SrcSpan "tests/examples/TensorTests.hs" 5 20 5 21+                        , SrcSpan "tests/examples/TensorTests.hs" 5 32 5 33+                        ]+                    }+                  [ EVar+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 5 21 5 32+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 5 21 5 32+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 5 21 5 32+                              , srcInfoPoints = []+                              }+                            "tensorTests"))+                  ]))))+      [ LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 1 1 3 38+            , srcInfoPoints =+                [ SrcSpan "tests/examples/TensorTests.hs" 1 1 1 13+                , SrcSpan "tests/examples/TensorTests.hs" 1 29 1 30+                , SrcSpan "tests/examples/TensorTests.hs" 1 47 1 48+                , SrcSpan "tests/examples/TensorTests.hs" 1 58 1 59+                , SrcSpan "tests/examples/TensorTests.hs" 1 77 1 78+                , SrcSpan "tests/examples/TensorTests.hs" 2 30 2 31+                , SrcSpan "tests/examples/TensorTests.hs" 2 51 2 52+                , SrcSpan "tests/examples/TensorTests.hs" 2 65 2 66+                , SrcSpan "tests/examples/TensorTests.hs" 2 80 2 81+                , SrcSpan "tests/examples/TensorTests.hs" 3 35 3 38+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 1 14 1 29+                , srcInfoPoints = []+                }+              "ConstraintKinds"+          , Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 1 31 1 47+                , srcInfoPoints = []+                }+              "FlexibleContexts"+          , Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 1 49 1 58+                , srcInfoPoints = []+                }+              "DataKinds"+          , Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 1 60 1 77+                , srcInfoPoints = []+                }+              "NoImplicitPrelude"+          , Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 2 14 2 30+                , srcInfoPoints = []+                }+              "RebindableSyntax"+          , Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 2 32 2 51+                , srcInfoPoints = []+                }+              "ScopedTypeVariables"+          , Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 2 53 2 65+                , srcInfoPoints = []+                }+              "TypeFamilies"+          , Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 2 67 2 80+                , srcInfoPoints = []+                }+              "TypeOperators"+          , Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 3 14 3 34+                , srcInfoPoints = []+                }+              "UndecidableInstances"+          ]+      ]+      []+      [ TypeDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 1 7 50+            , srcInfoPoints =+                [ SrcSpan "tests/examples/TensorTests.hs" 7 1 7 5+                , SrcSpan "tests/examples/TensorTests.hs" 7 16 7 17+                ]+            }+          (DHead+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 6 7 15+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 6 7 15+                  , srcInfoPoints = []+                  }+                "TMRParams"))+          (TyInfix+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 18 7 50+               , srcInfoPoints = []+               }+             (TyParen+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 18 7 37+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/TensorTests.hs" 7 18 7 19+                      , SrcSpan "tests/examples/TensorTests.hs" 7 36 7 37+                      ]+                  }+                (TyInfix+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 20 7 36+                     , srcInfoPoints = []+                     }+                   (TyPromoted+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 20 7 24+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/TensorTests.hs" 7 20 7 21 ]+                        }+                      (PromotedCon+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 20 7 24+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/TensorTests.hs" 7 20 7 21 ]+                           }+                         True+                         (Special+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 21 7 24+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/TensorTests.hs" 7 21 7 22+                                  , SrcSpan "tests/examples/TensorTests.hs" 7 22 7 23+                                  , SrcSpan "tests/examples/TensorTests.hs" 7 23 7 24+                                  ]+                              }+                            (TupleCon+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 21 7 24+                                 , srcInfoPoints =+                                     [ SrcSpan "tests/examples/TensorTests.hs" 7 21 7 22+                                     , SrcSpan "tests/examples/TensorTests.hs" 7 22 7 23+                                     , SrcSpan "tests/examples/TensorTests.hs" 7 23 7 24+                                     ]+                                 }+                               Boxed+                               2))))+                   (UnpromotedName+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 25 7 28+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 25 7 28+                           , srcInfoPoints = []+                           }+                         (Symbol+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 25 7 28+                              , srcInfoPoints = []+                              }+                            "<$>")))+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 29 7 36+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 29 7 36+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 29 7 36+                              , srcInfoPoints = []+                              }+                            "Tensors")))))+             (UnpromotedName+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 38 7 41+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 38 7 41+                     , srcInfoPoints = []+                     }+                   (Symbol+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 38 7 41+                        , srcInfoPoints = []+                        }+                      "<*>")))+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 42 7 50+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 42 7 50+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 42 7 50+                        , srcInfoPoints = []+                        }+                      "MRCombos"))))+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 8 1 8 29+            , srcInfoPoints =+                [ SrcSpan "tests/examples/TensorTests.hs" 8 11 8 13 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 8 1 8 10+                , srcInfoPoints = []+                }+              "tmrParams"+          ]+          (TyApp+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 8 14 8 29+               , srcInfoPoints = []+               }+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 8 14 8 19+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 8 14 8 19+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 8 14 8 19+                        , srcInfoPoints = []+                        }+                      "Proxy")))+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 8 20 8 29+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 8 20 8 29+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 8 20 8 29+                        , srcInfoPoints = []+                        }+                      "TMRParams"))))+      , PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 9 1 9 18+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 9 1 9 10+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 9 1 9 10+                  , srcInfoPoints = []+                  }+                "tmrParams"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 9 11 9 18+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/TensorTests.hs" 9 11 9 12 ]+               }+             (Con+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 9 13 9 18+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 9 13 9 18+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 9 13 9 18+                        , srcInfoPoints = []+                        }+                      "Proxy"))))+          Nothing+      , TypeDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 1 12 53+            , srcInfoPoints =+                [ SrcSpan "tests/examples/TensorTests.hs" 12 1 12 5+                , SrcSpan "tests/examples/TensorTests.hs" 12 17 12 18+                ]+            }+          (DHead+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 6 12 16+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 6 12 16+                  , srcInfoPoints = []+                  }+                "TrEmParams"))+          (TyInfix+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 19 12 53+               , srcInfoPoints = []+               }+             (TyParen+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 19 12 38+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/TensorTests.hs" 12 19 12 20+                      , SrcSpan "tests/examples/TensorTests.hs" 12 37 12 38+                      ]+                  }+                (TyInfix+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 21 12 37+                     , srcInfoPoints = []+                     }+                   (TyPromoted+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 21 12 25+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/TensorTests.hs" 12 21 12 22 ]+                        }+                      (PromotedCon+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 21 12 25+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/TensorTests.hs" 12 21 12 22 ]+                           }+                         True+                         (Special+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 22 12 25+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/TensorTests.hs" 12 22 12 23+                                  , SrcSpan "tests/examples/TensorTests.hs" 12 23 12 24+                                  , SrcSpan "tests/examples/TensorTests.hs" 12 24 12 25+                                  ]+                              }+                            (TupleCon+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 22 12 25+                                 , srcInfoPoints =+                                     [ SrcSpan "tests/examples/TensorTests.hs" 12 22 12 23+                                     , SrcSpan "tests/examples/TensorTests.hs" 12 23 12 24+                                     , SrcSpan "tests/examples/TensorTests.hs" 12 24 12 25+                                     ]+                                 }+                               Boxed+                               2))))+                   (UnpromotedName+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 26 12 29+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 26 12 29+                           , srcInfoPoints = []+                           }+                         (Symbol+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 26 12 29+                              , srcInfoPoints = []+                              }+                            "<$>")))+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 30 12 37+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 30 12 37+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 30 12 37+                              , srcInfoPoints = []+                              }+                            "Tensors")))))+             (UnpromotedName+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 39 12 42+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 39 12 42+                     , srcInfoPoints = []+                     }+                   (Symbol+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 39 12 42+                        , srcInfoPoints = []+                        }+                      "<*>")))+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 43 12 53+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 43 12 53+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 43 12 53+                        , srcInfoPoints = []+                        }+                      "MM'RCombos"))))+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 13 1 13 31+            , srcInfoPoints =+                [ SrcSpan "tests/examples/TensorTests.hs" 13 12 13 14 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 13 1 13 11+                , srcInfoPoints = []+                }+              "tremParams"+          ]+          (TyApp+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 13 15 13 31+               , srcInfoPoints = []+               }+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 13 15 13 20+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 13 15 13 20+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 13 15 13 20+                        , srcInfoPoints = []+                        }+                      "Proxy")))+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 13 21 13 31+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 13 21 13 31+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 13 21 13 31+                        , srcInfoPoints = []+                        }+                      "TrEmParams"))))+      , PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 14 1 14 19+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 14 1 14 11+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 14 1 14 11+                  , srcInfoPoints = []+                  }+                "tremParams"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 14 12 14 19+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/TensorTests.hs" 14 12 14 13 ]+               }+             (Con+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 14 14 14 19+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 14 14 14 19+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 14 14 14 19+                        , srcInfoPoints = []+                        }+                      "Proxy"))))+          Nothing+      , TypeDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 1 16 67+            , srcInfoPoints =+                [ SrcSpan "tests/examples/TensorTests.hs" 16 1 16 5+                , SrcSpan "tests/examples/TensorTests.hs" 16 17 16 18+                ]+            }+          (DHead+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 6 16 16+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 6 16 16+                  , srcInfoPoints = []+                  }+                "NormParams"))+          (TyInfix+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 19 16 67+               , srcInfoPoints = []+               }+             (TyParen+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 19 16 36+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/TensorTests.hs" 16 19 16 20+                      , SrcSpan "tests/examples/TensorTests.hs" 16 35 16 36+                      ]+                  }+                (TyInfix+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 21 16 35+                     , srcInfoPoints = []+                     }+                   (TyPromoted+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 21 16 25+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/TensorTests.hs" 16 21 16 22 ]+                        }+                      (PromotedCon+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 21 16 25+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/TensorTests.hs" 16 21 16 22 ]+                           }+                         True+                         (Special+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 22 16 25+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/TensorTests.hs" 16 22 16 23+                                  , SrcSpan "tests/examples/TensorTests.hs" 16 23 16 24+                                  , SrcSpan "tests/examples/TensorTests.hs" 16 24 16 25+                                  ]+                              }+                            (TupleCon+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 22 16 25+                                 , srcInfoPoints =+                                     [ SrcSpan "tests/examples/TensorTests.hs" 16 22 16 23+                                     , SrcSpan "tests/examples/TensorTests.hs" 16 23 16 24+                                     , SrcSpan "tests/examples/TensorTests.hs" 16 24 16 25+                                     ]+                                 }+                               Boxed+                               2))))+                   (UnpromotedName+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 26 16 29+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 26 16 29+                           , srcInfoPoints = []+                           }+                         (Symbol+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 26 16 29+                              , srcInfoPoints = []+                              }+                            "<$>")))+                   (TyPromoted+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 30 16 35+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/TensorTests.hs" 16 30 16 31+                            , SrcSpan "tests/examples/TensorTests.hs" 16 34 16 35+                            ]+                        }+                      (PromotedList+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 30 16 35+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/TensorTests.hs" 16 30 16 31+                               , SrcSpan "tests/examples/TensorTests.hs" 16 34 16 35+                               ]+                           }+                         True+                         [ TyCon+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 32 16 34+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/TensorTests.hs" 16 32 16 34+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/TensorTests.hs" 16 32 16 34+                                     , srcInfoPoints = []+                                     }+                                   "RT"))+                         ]))))+             (UnpromotedName+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 37 16 40+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 37 16 40+                     , srcInfoPoints = []+                     }+                   (Symbol+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 37 16 40+                        , srcInfoPoints = []+                        }+                      "<*>")))+             (TyParen+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 41 16 67+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/TensorTests.hs" 16 41 16 42+                      , SrcSpan "tests/examples/TensorTests.hs" 16 66 16 67+                      ]+                  }+                (TyApp+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 42 16 66+                     , srcInfoPoints = []+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 42 16 57+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 42 16 48+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 42 16 48+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 42 16 48+                                 , srcInfoPoints = []+                                 }+                               "Filter")))+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 49 16 57+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 49 16 57+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 49 16 57+                                 , srcInfoPoints = []+                                 }+                               "Liftable"))))+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 58 16 66+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 58 16 66+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 58 16 66+                              , srcInfoPoints = []+                              }+                            "MRCombos"))))))+      , TypeInsDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 1 19 61+            , srcInfoPoints =+                [ SrcSpan "tests/examples/TensorTests.hs" 19 1 19 5+                , SrcSpan "tests/examples/TensorTests.hs" 19 6 19 14+                , SrcSpan "tests/examples/TensorTests.hs" 19 38 19 39+                ]+            }+          (TyApp+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 15 19 37+               , srcInfoPoints = []+               }+             (TyApp+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 15 19 29+                  , srcInfoPoints = []+                  }+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 15 19 20+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 15 19 20+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 15 19 20+                           , srcInfoPoints = []+                           }+                         "Apply")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 21 19 29+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 21 19 29+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 21 19 29+                           , srcInfoPoints = []+                           }+                         "Liftable"))))+             (TyPromoted+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 30 19 37+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/TensorTests.hs" 19 30 19 31+                      , SrcSpan "tests/examples/TensorTests.hs" 19 33 19 34+                      , SrcSpan "tests/examples/TensorTests.hs" 19 36 19 37+                      ]+                  }+                (PromotedTuple+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 30 19 37+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/TensorTests.hs" 19 30 19 31+                         , SrcSpan "tests/examples/TensorTests.hs" 19 33 19 34+                         , SrcSpan "tests/examples/TensorTests.hs" 19 36 19 37+                         ]+                     }+                   [ TyVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 32 19 33+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 32 19 33+                            , srcInfoPoints = []+                            }+                          "m")+                   , TyVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 34 19 36+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 34 19 36+                            , srcInfoPoints = []+                            }+                          "zq")+                   ])))+          (TyInfix+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 40 19 61+               , srcInfoPoints = []+               }+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 40 19 45+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 40 19 45+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 40 19 45+                        , srcInfoPoints = []+                        }+                      "Int64")))+             (UnpromotedName+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 46 19 49+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 46 19 49+                     , srcInfoPoints = []+                     }+                   (Symbol+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 46 19 49+                        , srcInfoPoints = []+                        }+                      ":==")))+             (TyParen+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 50 19 61+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/TensorTests.hs" 19 50 19 51+                      , SrcSpan "tests/examples/TensorTests.hs" 19 60 19 61+                      ]+                  }+                (TyApp+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 51 19 60+                     , srcInfoPoints = []+                     }+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 51 19 57+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 51 19 57+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 51 19 57+                              , srcInfoPoints = []+                              }+                            "LiftOf")))+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 58 19 60+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 58 19 60+                           , srcInfoPoints = []+                           }+                         "zq")))))+      ]+  , [ Comment+        False+        (SrcSpan "tests/examples/TensorTests.hs" 11 1 11 55)+        "type ExtParams = ( '(,) <$> Tensors) <*> MRExtCombos"+    , Comment+        False+        (SrcSpan "tests/examples/TensorTests.hs" 18 1 18 49)+        "data Liftable :: TyFun (Factored, *) Bool -> *"+    ]+  )
+ tests/examples/TensorTests.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/TensorTests.hs.prettyprinter.golden view
@@ -0,0 +1,18 @@+{-# LANGUAGE ConstraintKinds, FlexibleContexts, DataKinds,+  NoImplicitPrelude, RebindableSyntax, ScopedTypeVariables,+  TypeFamilies, TypeOperators, UndecidableInstances #-}+module TensorTests (tensorTests) where++type TMRParams = ('(,) <$> Tensors) <*> MRCombos++tmrParams :: Proxy TMRParams+tmrParams = Proxy++type TrEmParams = ('(,) <$> Tensors) <*> MM'RCombos++tremParams :: Proxy TrEmParams+tremParams = Proxy++type NormParams = ('(,) <$> '[RT]) <*> (Filter Liftable MRCombos)++type instance Apply Liftable '(m, zq) = Int64 :== (LiftOf zq)
tests/examples/Testing.hs.prettyprinter.golden view
@@ -1,2 +1,1 @@-module Main (main) where main = return ()
tests/examples/TrailingWhere.hs.prettyprinter.golden view
@@ -1,4 +1,3 @@-module Main (main) where fail = x   where broken = 24           where
tests/examples/TrailingWhere2.hs.parser.golden view
@@ -59,7 +59,7 @@                     "Baz")                  [])           ]-          Nothing+          []       , InstDecl           SrcSpanInfo             { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere2.hs" 3 1 7 0
tests/examples/TrailingWhere2.hs.prettyprinter.golden view
@@ -1,5 +1,3 @@-module Main (main) where- data Baz = Baz  instance Show Baz where
tests/examples/TrailingWhere3.hs.prettyprinter.golden view
@@ -1,4 +1,3 @@-module Main (main) where main = f   where f = g           where
tests/examples/TupleSections.hs.prettyprinter.golden view
@@ -1,3 +1,2 @@ {-# LANGUAGE TupleSections #-}-module Main (main) where foo x = (1, ,) x 3
+ tests/examples/TyQuasiQuote.hs view
@@ -0,0 +1,3 @@+{-# LANGUAGE QuasiQuotes, TemplateHaskell #-}+f :: [qq| something in here |]+f = ()
+ tests/examples/TyQuasiQuote.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/TyQuasiQuote.hs.parser.golden view
@@ -0,0 +1,109 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 1 1 4 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/TyQuasiQuote.hs" 1 1 1 1+            , SrcSpan "tests/examples/TyQuasiQuote.hs" 2 1 2 1+            , SrcSpan "tests/examples/TyQuasiQuote.hs" 2 1 2 1+            , SrcSpan "tests/examples/TyQuasiQuote.hs" 2 1 2 1+            , SrcSpan "tests/examples/TyQuasiQuote.hs" 3 1 3 1+            , SrcSpan "tests/examples/TyQuasiQuote.hs" 4 1 4 1+            , SrcSpan "tests/examples/TyQuasiQuote.hs" 4 1 4 1+            ]+        }+      Nothing+      [ LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 1 1 1 46+            , srcInfoPoints =+                [ SrcSpan "tests/examples/TyQuasiQuote.hs" 1 1 1 13+                , SrcSpan "tests/examples/TyQuasiQuote.hs" 1 25 1 26+                , SrcSpan "tests/examples/TyQuasiQuote.hs" 1 43 1 46+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 1 14 1 25+                , srcInfoPoints = []+                }+              "QuasiQuotes"+          , Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 1 27 1 42+                , srcInfoPoints = []+                }+              "TemplateHaskell"+          ]+      ]+      []+      [ TypeSig+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 2 1 2 31+            , srcInfoPoints =+                [ SrcSpan "tests/examples/TyQuasiQuote.hs" 2 3 2 5 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 2 1 2 2+                , srcInfoPoints = []+                }+              "f"+          ]+          (TyQuasiQuote+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 2 6 2 31+               , srcInfoPoints = []+               }+             "qq"+             " something in here ")+      , PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 3 1 3 7+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 3 1 3 2+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 3 1 3 2+                  , srcInfoPoints = []+                  }+                "f"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 3 3 3 7+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/TyQuasiQuote.hs" 3 3 3 4 ]+               }+             (Con+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 3 5 3 7+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/TyQuasiQuote.hs" 3 5 3 6+                      , SrcSpan "tests/examples/TyQuasiQuote.hs" 3 6 3 7+                      ]+                  }+                (Special+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 3 5 3 7+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/TyQuasiQuote.hs" 3 5 3 6+                         , SrcSpan "tests/examples/TyQuasiQuote.hs" 3 6 3 7+                         ]+                     }+                   (UnitCon+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 3 5 3 7+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/TyQuasiQuote.hs" 3 5 3 6+                            , SrcSpan "tests/examples/TyQuasiQuote.hs" 3 6 3 7+                            ]+                        }))))+          Nothing+      ]+  , []+  )
+ tests/examples/TyQuasiQuote.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/TyQuasiQuote.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+{-# LANGUAGE QuasiQuotes, TemplateHaskell #-}++f :: [qq| something in here |]+f = ()
tests/examples/TySplice.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE TemplateHaskell #-}-module Main (main) where  [| f :: $ty |] 
tests/examples/TySplice2.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE TemplateHaskell #-}-module Main (main) where  t1 :: $( [t| Int |] ) t1 = 1
tests/examples/TySplice3.hs.prettyprinter.golden view
@@ -1,4 +1,3 @@ {-# LANGUAGE QuasiQuotes #-}-module Main (main) where  [qq| abc |]
tests/examples/TySplice4.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE TemplateHaskell #-}-module Main (main) where x = [d|              f :: a -> Int
tests/examples/TypeEqualityParen.hs.parser.golden view
@@ -67,39 +67,50 @@                          , SrcSpan "tests/examples/TypeEqualityParen.hs" 2 26 2 28                          ]                      }-                   [ ClassA+                   [ TypeA                        SrcSpanInfo                          { srcInfoSpan =                              SrcSpan "tests/examples/TypeEqualityParen.hs" 2 8 2 12                          , srcInfoPoints = []                          }-                       (UnQual+                       (TyApp                           SrcSpanInfo                             { srcInfoSpan =-                                SrcSpan "tests/examples/TypeEqualityParen.hs" 2 8 2 10+                                SrcSpan "tests/examples/TypeEqualityParen.hs" 2 8 2 12                             , srcInfoPoints = []                             }-                          (Ident+                          (TyCon                              SrcSpanInfo                                { srcInfoSpan =-                                   SrcSpan "tests/examples/TypeEqualityParen.hs" 2 8 2 10+                                   SrcSpan "tests/examples/TypeEqualityParen.hs" 2 8 2 12                                , srcInfoPoints = []                                }-                             "Eq"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan =-                                 SrcSpan "tests/examples/TypeEqualityParen.hs" 2 11 2 12-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan =-                                    SrcSpan "tests/examples/TypeEqualityParen.hs" 2 11 2 12-                                , srcInfoPoints = []-                                }-                              "a")-                       ]+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/TypeEqualityParen.hs" 2 8 2 10+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/TypeEqualityParen.hs" 2 8 2 10+                                     , srcInfoPoints = []+                                     }+                                   "Eq")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan =+                                   SrcSpan "tests/examples/TypeEqualityParen.hs" 2 11 2 12+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/TypeEqualityParen.hs" 2 11 2 12+                                  , srcInfoPoints = []+                                  }+                                "a")))                    , ParenA                        SrcSpanInfo                          { srcInfoSpan =@@ -109,45 +120,52 @@                              , SrcSpan "tests/examples/TypeEqualityParen.hs" 2 22 2 23                              ]                          }-                       (EqualP+                       (TypeA                           SrcSpanInfo                             { srcInfoSpan =                                 SrcSpan "tests/examples/TypeEqualityParen.hs" 2 15 2 22                             , srcInfoPoints =                                 [ SrcSpan "tests/examples/TypeEqualityParen.hs" 2 17 2 18 ]                             }-                          (TyVar+                          (TyEquals                              SrcSpanInfo                                { srcInfoSpan =-                                   SrcSpan "tests/examples/TypeEqualityParen.hs" 2 15 2 16-                               , srcInfoPoints = []+                                   SrcSpan "tests/examples/TypeEqualityParen.hs" 2 15 2 22+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/TypeEqualityParen.hs" 2 17 2 18 ]                                }-                             (Ident+                             (TyVar                                 SrcSpanInfo                                   { srcInfoSpan =                                       SrcSpan "tests/examples/TypeEqualityParen.hs" 2 15 2 16                                   , srcInfoPoints = []                                   }-                                "a"))-                          (TyCon-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/TypeEqualityParen.hs" 2 19 2 22-                               , srcInfoPoints = []-                               }-                             (UnQual+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan =+                                         SrcSpan "tests/examples/TypeEqualityParen.hs" 2 15 2 16+                                     , srcInfoPoints = []+                                     }+                                   "a"))+                             (TyCon                                 SrcSpanInfo                                   { srcInfoSpan =                                       SrcSpan "tests/examples/TypeEqualityParen.hs" 2 19 2 22                                   , srcInfoPoints = []                                   }-                                (Ident+                                (UnQual                                    SrcSpanInfo                                      { srcInfoSpan =                                          SrcSpan "tests/examples/TypeEqualityParen.hs" 2 19 2 22                                      , srcInfoPoints = []                                      }-                                   "Int"))))+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan =+                                            SrcSpan "tests/examples/TypeEqualityParen.hs" 2 19 2 22+                                        , srcInfoPoints = []+                                        }+                                      "Int")))))                    ]))              (TyFun                 SrcSpanInfo
tests/examples/TypeEqualityParen.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE TypeFamilies #-}-module Main (main) where  f :: (Eq a, (a ~ Int)) => a -> Int f _ = 3
tests/examples/TypeFunctions.hs.parser.golden view
@@ -81,14 +81,13 @@                     "Id")                  [])           ]-          Nothing+          []       , TypeFamDecl           SrcSpanInfo-            { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 5 1 5 37+            { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 5 1 5 32             , srcInfoPoints =                 [ SrcSpan "tests/examples/TypeFunctions.hs" 5 1 5 5                 , SrcSpan "tests/examples/TypeFunctions.hs" 5 6 5 12-                , SrcSpan "tests/examples/TypeFunctions.hs" 5 33 5 35                 ]             }           (DHApp@@ -127,18 +126,18 @@                         , srcInfoPoints = []                         }                       "f")-                   (KindFn+                   (TyFun                       SrcSpanInfo                         { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 5 23 5 29                         , srcInfoPoints =                             [ SrcSpan "tests/examples/TypeFunctions.hs" 5 25 5 27 ]                         }-                      (KindStar+                      (TyStar                          SrcSpanInfo                            { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 5 23 5 24                            , srcInfoPoints = []                            })-                      (KindStar+                      (TyStar                          SrcSpanInfo                            { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 5 28 5 29                            , srcInfoPoints = []@@ -155,11 +154,18 @@                      }                    "x")))           (Just-             (KindStar+             (KindSig                 SrcSpanInfo-                  { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 5 36 5 37-                  , srcInfoPoints = []-                  }))+                  { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 5 33 5 37+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/TypeFunctions.hs" 5 33 5 35 ]+                  }+                (TyStar+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 5 36 5 37+                     , srcInfoPoints = []+                     })))+          Nothing       , TypeInsDecl           SrcSpanInfo             { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 7 1 7 27
tests/examples/TypeFunctions.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE TypeFamilies, KindSignatures #-}-module Main (main) where  data Id = Id 
tests/examples/TypeInstances.hs.parser.golden view
@@ -75,9 +75,7 @@                  SrcSpanInfo                    { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 4 3 4 18                    , srcInfoPoints =-                       [ SrcSpan "tests/examples/TypeInstances.hs" 4 3 4 7-                       , SrcSpan "tests/examples/TypeInstances.hs" 4 14 4 16-                       ]+                       [ SrcSpan "tests/examples/TypeInstances.hs" 4 3 4 7 ]                    }                  (DHApp                     SrcSpanInfo@@ -107,91 +105,103 @@                             }                           "v")))                  (Just-                    (KindStar+                    (KindSig                        SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 4 17 4 18-                         , srcInfoPoints = []-                         }))+                         { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 4 14 4 18+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/TypeInstances.hs" 4 14 4 16 ]+                         }+                       (TyStar+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 4 17 4 18+                            , srcInfoPoints = []+                            })))+                 Nothing              , ClsTyDef                  SrcSpanInfo                    { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 3 5 34                    , srcInfoPoints =                        [ SrcSpan "tests/examples/TypeInstances.hs" 5 3 5 7                        , SrcSpan "tests/examples/TypeInstances.hs" 5 8 5 16-                       , SrcSpan "tests/examples/TypeInstances.hs" 5 23 5 24                        ]                    }-                 (TyApp+                 (TypeEqn                     SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 17 5 22-                      , srcInfoPoints = []+                      { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 17 5 34+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/TypeInstances.hs" 5 23 5 24 ]                       }-                    (TyCon+                    (TyApp                        SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 17 5 20+                         { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 17 5 22                          , srcInfoPoints = []                          }-                       (UnQual+                       (TyCon                           SrcSpanInfo                             { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 17 5 20                             , srcInfoPoints = []                             }-                          (Ident+                          (UnQual                              SrcSpanInfo                                { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 17 5 20                                , srcInfoPoints = []                                }-                             "Key")))-                    (TyVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 21 5 22-                         , srcInfoPoints = []-                         }-                       (Ident+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/TypeInstances.hs" 5 17 5 20+                                  , srcInfoPoints = []+                                  }+                                "Key")))+                       (TyVar                           SrcSpanInfo                             { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 21 5 22                             , srcInfoPoints = []                             }-                          "v")))-                 (TyApp-                    SrcSpanInfo-                      { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 25 5 34-                      , srcInfoPoints = []-                      }-                    (TyCon+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 21 5 22+                               , srcInfoPoints = []+                               }+                             "v")))+                    (TyApp                        SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 25 5 32+                         { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 25 5 34                          , srcInfoPoints = []                          }-                       (UnQual+                       (TyCon                           SrcSpanInfo                             { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 25 5 32                             , srcInfoPoints = []                             }-                          (Ident+                          (UnQual                              SrcSpanInfo                                { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 25 5 32                                , srcInfoPoints = []                                }-                             "TileKey")))-                    (TyVar-                       SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 33 5 34-                         , srcInfoPoints = []-                         }-                       (Ident+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan =+                                      SrcSpan "tests/examples/TypeInstances.hs" 5 25 5 32+                                  , srcInfoPoints = []+                                  }+                                "TileKey")))+                       (TyVar                           SrcSpanInfo                             { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 33 5 34                             , srcInfoPoints = []                             }-                          "v")))+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 33 5 34+                               , srcInfoPoints = []+                               }+                             "v"))))              , ClsTyFam                  SrcSpanInfo                    { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 7 3 7 21                    , srcInfoPoints =-                       [ SrcSpan "tests/examples/TypeInstances.hs" 7 3 7 7-                       , SrcSpan "tests/examples/TypeInstances.hs" 7 17 7 19-                       ]+                       [ SrcSpan "tests/examples/TypeInstances.hs" 7 3 7 7 ]                    }                  (DHApp                     SrcSpanInfo@@ -221,11 +231,18 @@                             }                           "v")))                  (Just-                    (KindStar+                    (KindSig                        SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 7 20 7 21-                         , srcInfoPoints = []-                         }))+                         { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 7 17 7 21+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/TypeInstances.hs" 7 17 7 19 ]+                         }+                       (TyStar+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 7 20 7 21+                            , srcInfoPoints = []+                            })))+                 Nothing              ])       ]   , []
tests/examples/TypeInstances.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE TypeFamilies #-}-module Main (main) where  class MapType v where         type Key v :: *
tests/examples/TypeListCons.hs.parser.golden view
@@ -89,50 +89,38 @@                      , srcInfoPoints = []                      }                    "a")))-          (TyApp+          (TyInfix              SrcSpanInfo                { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 5 16 5 24                , srcInfoPoints = []                }-             (TyApp+             (TyVar                 SrcSpanInfo-                  { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 5 16 5 20+                  { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 5 16 5 17                   , srcInfoPoints = []                   }-                (TyVar+                (Ident                    SrcSpanInfo                      { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 5 16 5 17                      , srcInfoPoints = []                      }-                   (Ident-                      SrcSpanInfo-                        { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 5 16 5 17-                        , srcInfoPoints = []-                        }-                      "a"))-                (TyPromoted+                   "a"))+             (PromotedName+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 5 18 5 20+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/TypeListCons.hs" 5 18 5 19 ]+                  }+                (Special                    SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 5 18 5 20-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/TypeListCons.hs" 5 18 5 19 ]+                     { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 5 19 5 20+                     , srcInfoPoints = []                      }-                   (PromotedCon+                   (Cons                       SrcSpanInfo-                        { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 5 18 5 20-                        , srcInfoPoints =-                            [ SrcSpan "tests/examples/TypeListCons.hs" 5 18 5 19 ]-                        }-                      True-                      (Special-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 5 19 5 20-                           , srcInfoPoints = []-                           }-                         (Cons-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 5 19 5 20-                              , srcInfoPoints = []-                              })))))+                        { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 5 19 5 20+                        , srcInfoPoints = []+                        })))              (TyPromoted                 SrcSpanInfo                   { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 5 21 5 24@@ -202,50 +190,38 @@                      , srcInfoPoints = []                      }                    "b")))-          (TyApp+          (TyInfix              SrcSpanInfo                { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 6 18 6 26                , srcInfoPoints = []                }-             (TyApp+             (TyVar                 SrcSpanInfo-                  { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 6 18 6 22+                  { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 6 18 6 19                   , srcInfoPoints = []                   }-                (TyVar+                (Ident                    SrcSpanInfo                      { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 6 18 6 19                      , srcInfoPoints = []                      }-                   (Ident-                      SrcSpanInfo-                        { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 6 18 6 19-                        , srcInfoPoints = []-                        }-                      "a"))-                (TyPromoted+                   "a"))+             (PromotedName+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 6 20 6 22+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/TypeListCons.hs" 6 20 6 21 ]+                  }+                (Special                    SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 6 20 6 22-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/TypeListCons.hs" 6 20 6 21 ]+                     { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 6 21 6 22+                     , srcInfoPoints = []                      }-                   (PromotedCon+                   (Cons                       SrcSpanInfo-                        { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 6 20 6 22-                        , srcInfoPoints =-                            [ SrcSpan "tests/examples/TypeListCons.hs" 6 20 6 21 ]-                        }-                      True-                      (Special-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 6 21 6 22-                           , srcInfoPoints = []-                           }-                         (Cons-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 6 21 6 22-                              , srcInfoPoints = []-                              })))))+                        { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 6 21 6 22+                        , srcInfoPoints = []+                        })))              (TyPromoted                 SrcSpanInfo                   { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 6 23 6 26@@ -331,109 +307,75 @@                      , srcInfoPoints = []                      }                    "c")))-          (TyApp+          (TyInfix              SrcSpanInfo                { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 20 7 38                , srcInfoPoints = []                }-             (TyApp+             (TyVar                 SrcSpanInfo-                  { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 20 7 34+                  { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 20 7 21                   , srcInfoPoints = []                   }-                (TyApp+                (Ident                    SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 20 7 31+                     { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 20 7 21                      , srcInfoPoints = []                      }-                   (TyApp+                   "a"))+             (PromotedName+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 22 7 24+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/TypeListCons.hs" 7 22 7 23 ]+                  }+                (Special+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 23 7 24+                     , srcInfoPoints = []+                     }+                   (Cons                       SrcSpanInfo-                        { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 20 7 29+                        { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 23 7 24                         , srcInfoPoints = []+                        })))+             (TyInfix+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 25 7 38+                  , srcInfoPoints = []+                  }+                (TyVar+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 25 7 26+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 25 7 26+                        , srcInfoPoints = []                         }-                      (TyApp+                      "b"))+                (PromotedName+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 27 7 29+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/TypeListCons.hs" 7 27 7 28 ]+                     }+                   (Special+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 28 7 29+                        , srcInfoPoints = []+                        }+                      (Cons                          SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 20 7 26+                           { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 28 7 29                            , srcInfoPoints = []-                           }-                         (TyApp-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 20 7 24-                              , srcInfoPoints = []-                              }-                            (TyVar-                               SrcSpanInfo-                                 { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 20 7 21-                                 , srcInfoPoints = []-                                 }-                               (Ident-                                  SrcSpanInfo-                                    { srcInfoSpan =-                                        SrcSpan "tests/examples/TypeListCons.hs" 7 20 7 21-                                    , srcInfoPoints = []-                                    }-                                  "a"))-                            (TyPromoted-                               SrcSpanInfo-                                 { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 22 7 24-                                 , srcInfoPoints =-                                     [ SrcSpan "tests/examples/TypeListCons.hs" 7 22 7 23 ]-                                 }-                               (PromotedCon-                                  SrcSpanInfo-                                    { srcInfoSpan =-                                        SrcSpan "tests/examples/TypeListCons.hs" 7 22 7 24-                                    , srcInfoPoints =-                                        [ SrcSpan "tests/examples/TypeListCons.hs" 7 22 7 23 ]-                                    }-                                  True-                                  (Special-                                     SrcSpanInfo-                                       { srcInfoSpan =-                                           SrcSpan "tests/examples/TypeListCons.hs" 7 23 7 24-                                       , srcInfoPoints = []-                                       }-                                     (Cons-                                        SrcSpanInfo-                                          { srcInfoSpan =-                                              SrcSpan "tests/examples/TypeListCons.hs" 7 23 7 24-                                          , srcInfoPoints = []-                                          })))))-                         (TyVar-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 25 7 26-                              , srcInfoPoints = []-                              }-                            (Ident-                               SrcSpanInfo-                                 { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 25 7 26-                                 , srcInfoPoints = []-                                 }-                               "b")))-                      (TyPromoted-                         SrcSpanInfo-                           { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 27 7 29-                           , srcInfoPoints =-                               [ SrcSpan "tests/examples/TypeListCons.hs" 7 27 7 28 ]-                           }-                         (PromotedCon-                            SrcSpanInfo-                              { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 27 7 29-                              , srcInfoPoints =-                                  [ SrcSpan "tests/examples/TypeListCons.hs" 7 27 7 28 ]-                              }-                            True-                            (Special-                               SrcSpanInfo-                                 { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 28 7 29-                                 , srcInfoPoints = []-                                 }-                               (Cons-                                  SrcSpanInfo-                                    { srcInfoSpan =-                                        SrcSpan "tests/examples/TypeListCons.hs" 7 28 7 29-                                    , srcInfoPoints = []-                                    })))))+                           })))+                (TyInfix+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 30 7 38+                     , srcInfoPoints = []+                     }                    (TyVar                       SrcSpanInfo                         { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 30 7 31@@ -444,20 +386,13 @@                            { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 30 7 31                            , srcInfoPoints = []                            }-                         "c")))-                (TyPromoted-                   SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 32 7 34-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/TypeListCons.hs" 7 32 7 33 ]-                     }-                   (PromotedCon+                         "c"))+                   (PromotedName                       SrcSpanInfo                         { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 32 7 34                         , srcInfoPoints =                             [ SrcSpan "tests/examples/TypeListCons.hs" 7 32 7 33 ]                         }-                      True                       (Special                          SrcSpanInfo                            { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 33 7 34@@ -467,25 +402,25 @@                             SrcSpanInfo                               { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 33 7 34                               , srcInfoPoints = []-                              })))))-             (TyPromoted-                SrcSpanInfo-                  { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 35 7 38-                  , srcInfoPoints =-                      [ SrcSpan "tests/examples/TypeListCons.hs" 7 35 7 36-                      , SrcSpan "tests/examples/TypeListCons.hs" 7 37 7 38-                      ]-                  }-                (PromotedList-                   SrcSpanInfo-                     { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 35 7 38-                     , srcInfoPoints =-                         [ SrcSpan "tests/examples/TypeListCons.hs" 7 35 7 36-                         , SrcSpan "tests/examples/TypeListCons.hs" 7 37 7 38-                         ]-                     }-                   True-                   [])))+                              })))+                   (TyPromoted+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 35 7 38+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/TypeListCons.hs" 7 35 7 36+                            , SrcSpan "tests/examples/TypeListCons.hs" 7 37 7 38+                            ]+                        }+                      (PromotedList+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 35 7 38+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/TypeListCons.hs" 7 35 7 36+                               , SrcSpan "tests/examples/TypeListCons.hs" 7 37 7 38+                               ]+                           }+                         True+                         [])))))       ]   , []   )
tests/examples/TypeOperatorAsVariable.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE TypeOperators #-}-module Main (main) where  type T (~>) = () 
tests/examples/TypeOperatorsTest.hs.parser.golden view
@@ -79,54 +79,67 @@                      , srcInfoPoints =                          [ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 20 3 22 ]                      }-                   (ClassA+                   (TypeA                       SrcSpanInfo                         { srcInfoSpan =                             SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 6 3 22                         , srcInfoPoints =                             [ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 20 3 22 ]                         }-                      (UnQual+                      (TyApp                          SrcSpanInfo                            { srcInfoSpan =-                               SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 6 3 14-                           , srcInfoPoints = []+                               SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 6 3 22+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 20 3 22 ]                            }-                         (Ident+                         (TyCon                             SrcSpanInfo                               { srcInfoSpan =-                                  SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 6 3 14-                              , srcInfoPoints = []+                                  SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 6 3 22+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 20 3 22 ]                               }-                            "ArrowXml"))-                      [ TyCon-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 15 3 19-                            , srcInfoPoints =-                                [ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 15 3 16-                                , SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 16 3 18-                                , SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 18 3 19-                                ]-                            }-                          (UnQual-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 15 3 19-                               , srcInfoPoints =-                                   [ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 15 3 16-                                   , SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 16 3 18-                                   , SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 18 3 19-                                   ]-                               }-                             (Symbol-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 16 3 18-                                  , srcInfoPoints = []-                                  }-                                "~>"))-                      ])))+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 6 3 14+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 6 3 14+                                    , srcInfoPoints = []+                                    }+                                  "ArrowXml")))+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan =+                                  SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 15 3 19+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 15 3 16+                                  , SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 16 3 18+                                  , SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 18 3 19+                                  ]+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan =+                                     SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 15 3 19+                                 , srcInfoPoints =+                                     [ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 15 3 16+                                     , SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 16 3 18+                                     , SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 18 3 19+                                     ]+                                 }+                               (Symbol+                                  SrcSpanInfo+                                    { srcInfoSpan =+                                        SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 16 3 18+                                    , srcInfoPoints = []+                                    }+                                  "~>")))))))              (TyInfix                 SrcSpanInfo                   { srcInfoSpan =@@ -146,19 +159,25 @@                         , srcInfoPoints = []                         }                       "a"))-                (UnQual+                (UnpromotedName                    SrcSpanInfo                      { srcInfoSpan =                          SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 25 3 27                      , srcInfoPoints = []                      }-                   (Symbol+                   (UnQual                       SrcSpanInfo                         { srcInfoSpan =                             SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 25 3 27                         , srcInfoPoints = []                         }-                      "~>"))+                      (Symbol+                         SrcSpanInfo+                           { srcInfoSpan =+                               SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 25 3 27+                           , srcInfoPoints = []+                           }+                         "~>")))                 (TyVar                    SrcSpanInfo                      { srcInfoSpan =
tests/examples/TypeOperatorsTest.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE TypeOperators, FlexibleContexts, FlexibleInstances #-}-module Main (main) where  f :: ArrowXml (~>) => a ~> a f = undefined
tests/examples/UnboxedSingleton.hs.prettyprinter.golden view
@@ -1,3 +1,2 @@ {-# LANGUAGE UnboxedTuples #-}-module Main (main) where foo a = (# a #)
tests/examples/UnboxedTuples.hs.prettyprinter.golden view
@@ -1,7 +1,6 @@ {-# LANGUAGE UnboxedTuples #-}-module Main (main) where  foo :: (a, b) -> (# b, a #) foo (a, b)   = case (# b, a #) of-        (# b, a #) -> (#,#) b a+        (# b, a #) -> (# , #) b a
tests/examples/Unicode.hs.parser.golden view
@@ -3748,62 +3748,80 @@                          , SrcSpan "tests/examples/Unicode.hs" 74 28 74 29                          ]                      }-                   [ ClassA+                   [ TypeA                        SrcSpanInfo                          { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 14 74 19                          , srcInfoPoints = []                          }-                       (UnQual+                       (TyApp                           SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 14 74 17+                            { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 14 74 19                             , srcInfoPoints = []                             }-                          (Ident+                          (TyCon                              SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 14 74 17+                               { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 14 74 19                                , srcInfoPoints = []                                }-                             "Num"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 18 74 19-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 18 74 19-                                , srcInfoPoints = []-                                }-                              "a")-                       ]-                   , ClassA+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 14 74 17+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 14 74 17+                                     , srcInfoPoints = []+                                     }+                                   "Num")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 18 74 19+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 18 74 19+                                  , srcInfoPoints = []+                                  }+                                "a")))+                   , TypeA                        SrcSpanInfo                          { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 21 74 26                          , srcInfoPoints = []                          }-                       (UnQual+                       (TyApp                           SrcSpanInfo-                            { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 21 74 24+                            { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 21 74 26                             , srcInfoPoints = []                             }-                          (Ident+                          (TyCon                              SrcSpanInfo-                               { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 21 74 24+                               { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 21 74 26                                , srcInfoPoints = []                                }-                             "Ord"))-                       [ TyVar-                           SrcSpanInfo-                             { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 25 74 26-                             , srcInfoPoints = []-                             }-                           (Ident-                              SrcSpanInfo-                                { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 25 74 26-                                , srcInfoPoints = []-                                }-                              "a")-                       ]+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 21 74 24+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 21 74 24+                                     , srcInfoPoints = []+                                     }+                                   "Ord")))+                          (TyVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 25 74 26+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 25 74 26+                                  , srcInfoPoints = []+                                  }+                                "a")))                    ]))              (TyFun                 SrcSpanInfo
tests/examples/Unicode2.hs.prettyprinter.golden view
@@ -1,3 +1,2 @@ {-# LANGUAGE UnicodeSyntax #-}-module Main (main) where lengthOP n (œ) = 0 œ n
tests/examples/UnicodeArrow.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE UnicodeSyntax #-}-module Main (main) where  arrowTest :: String -> String arrowTest input
+ tests/examples/UnicodeIdents.hs view
@@ -0,0 +1,2 @@+猫 = ()+自乗 x = x * x
+ tests/examples/UnicodeIdents.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/UnicodeIdents.hs.parser.golden view
@@ -0,0 +1,155 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 1 1 3 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/UnicodeIdents.hs" 1 1 1 1+            , SrcSpan "tests/examples/UnicodeIdents.hs" 1 1 1 1+            , SrcSpan "tests/examples/UnicodeIdents.hs" 1 1 1 1+            , SrcSpan "tests/examples/UnicodeIdents.hs" 2 1 2 1+            , SrcSpan "tests/examples/UnicodeIdents.hs" 3 1 3 1+            , SrcSpan "tests/examples/UnicodeIdents.hs" 3 1 3 1+            ]+        }+      Nothing+      []+      []+      [ PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 1 1 1 7+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 1 1 1 2+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 1 1 1 2+                  , srcInfoPoints = []+                  }+                "\29483"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 1 3 1 7+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/UnicodeIdents.hs" 1 3 1 4 ]+               }+             (Con+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 1 5 1 7+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/UnicodeIdents.hs" 1 5 1 6+                      , SrcSpan "tests/examples/UnicodeIdents.hs" 1 6 1 7+                      ]+                  }+                (Special+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 1 5 1 7+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/UnicodeIdents.hs" 1 5 1 6+                         , SrcSpan "tests/examples/UnicodeIdents.hs" 1 6 1 7+                         ]+                     }+                   (UnitCon+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 1 5 1 7+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/UnicodeIdents.hs" 1 5 1 6+                            , SrcSpan "tests/examples/UnicodeIdents.hs" 1 6 1 7+                            ]+                        }))))+          Nothing+      , FunBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 1 2 13+            , srcInfoPoints = []+            }+          [ Match+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 1 2 13+                , srcInfoPoints = []+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 1 2 3+                   , srcInfoPoints = []+                   }+                 "\33258\20055")+              [ PVar+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 4 2 5+                    , srcInfoPoints = []+                    }+                  (Ident+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 4 2 5+                       , srcInfoPoints = []+                       }+                     "x")+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 6 2 13+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/UnicodeIdents.hs" 2 6 2 7 ]+                   }+                 (InfixApp+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 8 2 13+                      , srcInfoPoints = []+                      }+                    (Var+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 8 2 9+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 8 2 9+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 8 2 9+                               , srcInfoPoints = []+                               }+                             "x")))+                    (QVarOp+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 10 2 11+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 10 2 11+                            , srcInfoPoints = []+                            }+                          (Symbol+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 10 2 11+                               , srcInfoPoints = []+                               }+                             "*")))+                    (Var+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 12 2 13+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 12 2 13+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 12 2 13+                               , srcInfoPoints = []+                               }+                             "x")))))+              Nothing+          ]+      ]+  , []+  )
+ tests/examples/UnicodeIdents.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/UnicodeIdents.hs.prettyprinter.golden view
@@ -0,0 +1,2 @@++ = ()+êW x = x * x
tests/examples/UnicodeRelation.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE UnicodeSyntax #-}-module Main (main) where import Prelude.Unicode  testAnd :: Int -> Int -> Bool
tests/examples/UnicodeSubscript.hs.parser.golden view
@@ -187,51 +187,52 @@                               "String")))                  ])           ]-          (Just-             (Deriving-                SrcSpanInfo-                  { srcInfoSpan =-                      SrcSpan "tests/examples/UnicodeSubscript.hs" 7 7 7 22-                  , srcInfoPoints =-                      [ SrcSpan "tests/examples/UnicodeSubscript.hs" 7 7 7 15 ]-                  }-                [ IParen-                    SrcSpanInfo-                      { srcInfoSpan =-                          SrcSpan "tests/examples/UnicodeSubscript.hs" 7 16 7 22-                      , srcInfoPoints =-                          [ SrcSpan "tests/examples/UnicodeSubscript.hs" 7 16 7 17-                          , SrcSpan "tests/examples/UnicodeSubscript.hs" 7 21 7 22-                          ]-                      }-                    (IRule-                       SrcSpanInfo-                         { srcInfoSpan =-                             SrcSpan "tests/examples/UnicodeSubscript.hs" 7 17 7 21-                         , srcInfoPoints = []-                         }-                       Nothing-                       Nothing-                       (IHCon-                          SrcSpanInfo-                            { srcInfoSpan =-                                SrcSpan "tests/examples/UnicodeSubscript.hs" 7 17 7 21-                            , srcInfoPoints = []-                            }-                          (UnQual-                             SrcSpanInfo-                               { srcInfoSpan =-                                   SrcSpan "tests/examples/UnicodeSubscript.hs" 7 17 7 21-                               , srcInfoPoints = []-                               }-                             (Ident-                                SrcSpanInfo-                                  { srcInfoSpan =-                                      SrcSpan "tests/examples/UnicodeSubscript.hs" 7 17 7 21-                                  , srcInfoPoints = []-                                  }-                                "Show"))))-                ]))+          [ Deriving+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/UnicodeSubscript.hs" 7 7 7 22+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/UnicodeSubscript.hs" 7 7 7 15 ]+                }+              Nothing+              [ IParen+                  SrcSpanInfo+                    { srcInfoSpan =+                        SrcSpan "tests/examples/UnicodeSubscript.hs" 7 16 7 22+                    , srcInfoPoints =+                        [ SrcSpan "tests/examples/UnicodeSubscript.hs" 7 16 7 17+                        , SrcSpan "tests/examples/UnicodeSubscript.hs" 7 21 7 22+                        ]+                    }+                  (IRule+                     SrcSpanInfo+                       { srcInfoSpan =+                           SrcSpan "tests/examples/UnicodeSubscript.hs" 7 17 7 21+                       , srcInfoPoints = []+                       }+                     Nothing+                     Nothing+                     (IHCon+                        SrcSpanInfo+                          { srcInfoSpan =+                              SrcSpan "tests/examples/UnicodeSubscript.hs" 7 17 7 21+                          , srcInfoPoints = []+                          }+                        (UnQual+                           SrcSpanInfo+                             { srcInfoSpan =+                                 SrcSpan "tests/examples/UnicodeSubscript.hs" 7 17 7 21+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan =+                                    SrcSpan "tests/examples/UnicodeSubscript.hs" 7 17 7 21+                                , srcInfoPoints = []+                                }+                              "Show"))))+              ]+          ]       , TypeSig           SrcSpanInfo             { srcInfoSpan =
tests/examples/UnicodeSubscript.hs.prettyprinter.golden view
@@ -2,7 +2,7 @@ module Main where  data Point = Point{pointX, pointY :: Double, name :: String}-           deriving Show+               deriving (Show)  distance :: Point -> Point -> Double distance x y
tests/examples/UnicodeSuperscript.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE UnicodeSyntax #-}-module Main (main) where  dumy :: Double -> Double -> Double dumy a b
tests/examples/UnindentedPragmaClose.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE MultiParamTypeClasses #-}-module Main (main) where  f :: Int f = 4
tests/examples/Unpack.hs.parser.golden view
@@ -101,6 +101,8 @@                    }                  "CmmEntry")               Nothing+              Nothing+              Nothing               (TyFun                  SrcSpanInfo                    { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 4 21 4 55@@ -111,13 +113,17 @@                       { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 4 21 4 40                       , srcInfoPoints = []                       }-                    (UnpackedTy+                    (BangedTy                        SrcSpanInfo-                         { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 4 21 4 37+                         { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 4 36 4 37+                         , srcInfoPoints = []+                         })+                    (Unpack+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 4 21 4 35                          , srcInfoPoints =                              [ SrcSpan "tests/examples/Unpack.hs" 4 21 4 31                              , SrcSpan "tests/examples/Unpack.hs" 4 32 4 35-                             , SrcSpan "tests/examples/Unpack.hs" 4 36 4 37                              ]                          })                     (TyCon@@ -185,7 +191,7 @@                             }                           "x"))))           ]-          Nothing+          []       , DataDecl           SrcSpanInfo             { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 6 1 6 33@@ -231,13 +237,17 @@                        { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 6 14 6 33                        , srcInfoPoints = []                        }-                     (UnpackedTy+                     (BangedTy                         SrcSpanInfo-                          { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 6 14 6 30+                          { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 6 29 6 30+                          , srcInfoPoints = []+                          })+                     (Unpack+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 6 14 6 28                           , srcInfoPoints =                               [ SrcSpan "tests/examples/Unpack.hs" 6 14 6 24                               , SrcSpan "tests/examples/Unpack.hs" 6 25 6 28-                              , SrcSpan "tests/examples/Unpack.hs" 6 29 6 30                               ]                           })                      (TyCon@@ -258,7 +268,7 @@                               "Int")))                  ])           ]-          Nothing+          []       ]   , []   )
tests/examples/Unpack.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE GADTs #-}-module Main (main) where  data CmmNode e x where         CmmEntry :: {-# UNPACK #-} !Int -> CmmNode e x
tests/examples/ViewPatterns.hs.prettyprinter.golden view
@@ -1,4 +1,3 @@ {-# LANGUAGE ViewPatterns #-}-module Main (main) where f (id -> Just _) "" = "" g (id -> True) = False
+ tests/examples/Vta1.hs view
@@ -0,0 +1,95 @@+{-# LANGUAGE TypeApplications, ScopedTypeVariables, PolyKinds,+             TypeFamilies, RankNTypes,+             FlexibleContexts #-}+-- tests about visible type application++module Vta1 where++quad :: a -> b -> c -> d -> (a, b, c, d)+quad = (,,,)++silly = quad @_ @Bool @Char @_ 5 True 'a' "Hello"++pairup_nosig x y = (x, y)++pairup_sig :: a -> b -> (a,b)+pairup_sig u w = (u, w)++answer_sig = pairup_sig @Bool @Int False 7 --+-- (False, 7) :: (Bool, Int)++answer_read = show (read @Int "3") -- "3" :: String+answer_show = show @Integer (read "5") -- "5" :: String+answer_showread = show @Int (read @Int "7") -- "7" :: String++intcons a = (:) @Int a++intpair x y = pairup_sig @Int x y++answer_pairup = pairup_sig @Int 5 True -- (5, True) :: (Int, Bool)+answer_intpair = intpair 1 "hello" -- (1, "hello") :: (Int, String)+answer_intcons = intcons 7 []      -- [7] :: [Int]++type family F a+type instance F Char = Bool++g :: F a -> a+g _ = undefined++f :: Char+f = g True++answer = g @Char False++mapSame :: forall b. (forall a. a -> a) -> [b] -> [b]+mapSame _ [] = []+mapSame fun (x:xs) = fun @b x : (mapSame @b fun xs)++pair :: forall a. a-> (forall b. b -> (a, b))+pair x y = (x, y)++b = pair @Int 3 @Bool True+c = mapSame id [1,2,3]+d = pair 3 @Bool True++pairnum :: forall a. Num a => forall b. b -> (a, b)+pairnum = pair 3++e = (pair 3 :: forall a. Num a => forall b. b -> (a, b)) @Int @Bool True+h = pairnum @Int @Bool True++data First (a :: * -> *) = F+data Proxy (a :: k) = P -- This expands to P (kind variable) (type variable)+data Three (a :: * -> k -> *) = T++foo :: Proxy a -> Int+foo _ = 0++first :: First a -> Int+first _ = 0++fTest = first F+fMaybe = first @Maybe F++test = foo P+bar = foo @Bool P -- should work++too :: Three a -> Int+too _ = 3++threeBase = too T+threeOk = too @Either T++blah = Nothing @Int++newtype N = MkN { unMkN :: forall a. Show a => a -> String }++n = MkN show++boo = unMkN n @Bool++boo2 :: forall (a :: * -> *) . Proxy a -> Bool+boo2 _ = False++base = boo2 P+bar'= boo2 @Maybe P -- should work
+ tests/examples/Vta1.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Vta1.hs.parser.golden view
@@ -0,0 +1,5436 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 1 1 96 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/Vta1.hs" 1 1 1 1+            , SrcSpan "tests/examples/Vta1.hs" 6 1 6 1+            , SrcSpan "tests/examples/Vta1.hs" 6 1 6 1+            , SrcSpan "tests/examples/Vta1.hs" 8 1 8 1+            , SrcSpan "tests/examples/Vta1.hs" 9 1 9 1+            , SrcSpan "tests/examples/Vta1.hs" 11 1 11 1+            , SrcSpan "tests/examples/Vta1.hs" 13 1 13 1+            , SrcSpan "tests/examples/Vta1.hs" 15 1 15 1+            , SrcSpan "tests/examples/Vta1.hs" 16 1 16 1+            , SrcSpan "tests/examples/Vta1.hs" 18 1 18 1+            , SrcSpan "tests/examples/Vta1.hs" 21 1 21 1+            , SrcSpan "tests/examples/Vta1.hs" 22 1 22 1+            , SrcSpan "tests/examples/Vta1.hs" 23 1 23 1+            , SrcSpan "tests/examples/Vta1.hs" 25 1 25 1+            , SrcSpan "tests/examples/Vta1.hs" 27 1 27 1+            , SrcSpan "tests/examples/Vta1.hs" 29 1 29 1+            , SrcSpan "tests/examples/Vta1.hs" 30 1 30 1+            , SrcSpan "tests/examples/Vta1.hs" 31 1 31 1+            , SrcSpan "tests/examples/Vta1.hs" 33 1 33 1+            , SrcSpan "tests/examples/Vta1.hs" 34 1 34 1+            , SrcSpan "tests/examples/Vta1.hs" 36 1 36 1+            , SrcSpan "tests/examples/Vta1.hs" 37 1 37 1+            , SrcSpan "tests/examples/Vta1.hs" 39 1 39 1+            , SrcSpan "tests/examples/Vta1.hs" 40 1 40 1+            , SrcSpan "tests/examples/Vta1.hs" 42 1 42 1+            , SrcSpan "tests/examples/Vta1.hs" 44 1 44 1+            , SrcSpan "tests/examples/Vta1.hs" 45 1 45 1+            , SrcSpan "tests/examples/Vta1.hs" 46 1 46 1+            , SrcSpan "tests/examples/Vta1.hs" 48 1 48 1+            , SrcSpan "tests/examples/Vta1.hs" 49 1 49 1+            , SrcSpan "tests/examples/Vta1.hs" 51 1 51 1+            , SrcSpan "tests/examples/Vta1.hs" 52 1 52 1+            , SrcSpan "tests/examples/Vta1.hs" 53 1 53 1+            , SrcSpan "tests/examples/Vta1.hs" 55 1 55 1+            , SrcSpan "tests/examples/Vta1.hs" 56 1 56 1+            , SrcSpan "tests/examples/Vta1.hs" 58 1 58 1+            , SrcSpan "tests/examples/Vta1.hs" 59 1 59 1+            , SrcSpan "tests/examples/Vta1.hs" 61 1 61 1+            , SrcSpan "tests/examples/Vta1.hs" 62 1 62 1+            , SrcSpan "tests/examples/Vta1.hs" 63 1 63 1+            , SrcSpan "tests/examples/Vta1.hs" 65 1 65 1+            , SrcSpan "tests/examples/Vta1.hs" 66 1 66 1+            , SrcSpan "tests/examples/Vta1.hs" 68 1 68 1+            , SrcSpan "tests/examples/Vta1.hs" 69 1 69 1+            , SrcSpan "tests/examples/Vta1.hs" 71 1 71 1+            , SrcSpan "tests/examples/Vta1.hs" 72 1 72 1+            , SrcSpan "tests/examples/Vta1.hs" 74 1 74 1+            , SrcSpan "tests/examples/Vta1.hs" 75 1 75 1+            , SrcSpan "tests/examples/Vta1.hs" 77 1 77 1+            , SrcSpan "tests/examples/Vta1.hs" 78 1 78 1+            , SrcSpan "tests/examples/Vta1.hs" 80 1 80 1+            , SrcSpan "tests/examples/Vta1.hs" 81 1 81 1+            , SrcSpan "tests/examples/Vta1.hs" 83 1 83 1+            , SrcSpan "tests/examples/Vta1.hs" 85 1 85 1+            , SrcSpan "tests/examples/Vta1.hs" 87 1 87 1+            , SrcSpan "tests/examples/Vta1.hs" 89 1 89 1+            , SrcSpan "tests/examples/Vta1.hs" 91 1 91 1+            , SrcSpan "tests/examples/Vta1.hs" 92 1 92 1+            , SrcSpan "tests/examples/Vta1.hs" 94 1 94 1+            , SrcSpan "tests/examples/Vta1.hs" 95 1 95 1+            , SrcSpan "tests/examples/Vta1.hs" 96 1 96 1+            , SrcSpan "tests/examples/Vta1.hs" 96 1 96 1+            ]+        }+      (Just+         (ModuleHead+            SrcSpanInfo+              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 6 1 6 18+              , srcInfoPoints =+                  [ SrcSpan "tests/examples/Vta1.hs" 6 1 6 7+                  , SrcSpan "tests/examples/Vta1.hs" 6 13 6 18+                  ]+              }+            (ModuleName+               SrcSpanInfo+                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 6 8 6 12+                 , srcInfoPoints = []+                 }+               "Vta1")+            Nothing+            Nothing))+      [ LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 1 1 3 34+            , srcInfoPoints =+                [ SrcSpan "tests/examples/Vta1.hs" 1 1 1 13+                , SrcSpan "tests/examples/Vta1.hs" 1 30 1 31+                , SrcSpan "tests/examples/Vta1.hs" 1 51 1 52+                , SrcSpan "tests/examples/Vta1.hs" 1 62 1 63+                , SrcSpan "tests/examples/Vta1.hs" 2 26 2 27+                , SrcSpan "tests/examples/Vta1.hs" 2 38 2 39+                , SrcSpan "tests/examples/Vta1.hs" 3 31 3 34+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 1 14 1 30+                , srcInfoPoints = []+                }+              "TypeApplications"+          , Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 1 32 1 51+                , srcInfoPoints = []+                }+              "ScopedTypeVariables"+          , Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 1 53 1 62+                , srcInfoPoints = []+                }+              "PolyKinds"+          , Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 2 14 2 26+                , srcInfoPoints = []+                }+              "TypeFamilies"+          , Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 2 28 2 38+                , srcInfoPoints = []+                }+              "RankNTypes"+          , Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 3 14 3 30+                , srcInfoPoints = []+                }+              "FlexibleContexts"+          ]+      ]+      []+      [ TypeSig+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 1 8 41+            , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 8 6 8 8 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 1 8 5+                , srcInfoPoints = []+                }+              "quad"+          ]+          (TyFun+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 9 8 41+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 8 11 8 13 ]+               }+             (TyVar+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 9 8 10+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 9 8 10+                     , srcInfoPoints = []+                     }+                   "a"))+             (TyFun+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 14 8 41+                  , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 8 16 8 18 ]+                  }+                (TyVar+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 14 8 15+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 14 8 15+                        , srcInfoPoints = []+                        }+                      "b"))+                (TyFun+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 19 8 41+                     , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 8 21 8 23 ]+                     }+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 19 8 20+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 19 8 20+                           , srcInfoPoints = []+                           }+                         "c"))+                   (TyFun+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 24 8 41+                        , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 8 26 8 28 ]+                        }+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 24 8 25+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 24 8 25+                              , srcInfoPoints = []+                              }+                            "d"))+                      (TyTuple+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 29 8 41+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/Vta1.hs" 8 29 8 30+                               , SrcSpan "tests/examples/Vta1.hs" 8 31 8 32+                               , SrcSpan "tests/examples/Vta1.hs" 8 34 8 35+                               , SrcSpan "tests/examples/Vta1.hs" 8 37 8 38+                               , SrcSpan "tests/examples/Vta1.hs" 8 40 8 41+                               ]+                           }+                         Boxed+                         [ TyVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 30 8 31+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 30 8 31+                                  , srcInfoPoints = []+                                  }+                                "a")+                         , TyVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 33 8 34+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 33 8 34+                                  , srcInfoPoints = []+                                  }+                                "b")+                         , TyVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 36 8 37+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 36 8 37+                                  , srcInfoPoints = []+                                  }+                                "c")+                         , TyVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 39 8 40+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 39 8 40+                                  , srcInfoPoints = []+                                  }+                                "d")+                         ])))))+      , PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 9 1 9 13+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 9 1 9 5+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 9 1 9 5+                  , srcInfoPoints = []+                  }+                "quad"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 9 6 9 13+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 9 6 9 7 ]+               }+             (Con+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 9 8 9 13+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/Vta1.hs" 9 8 9 9+                      , SrcSpan "tests/examples/Vta1.hs" 9 9 9 10+                      , SrcSpan "tests/examples/Vta1.hs" 9 10 9 11+                      , SrcSpan "tests/examples/Vta1.hs" 9 11 9 12+                      , SrcSpan "tests/examples/Vta1.hs" 9 12 9 13+                      ]+                  }+                (Special+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 9 8 9 13+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/Vta1.hs" 9 8 9 9+                         , SrcSpan "tests/examples/Vta1.hs" 9 9 9 10+                         , SrcSpan "tests/examples/Vta1.hs" 9 10 9 11+                         , SrcSpan "tests/examples/Vta1.hs" 9 11 9 12+                         , SrcSpan "tests/examples/Vta1.hs" 9 12 9 13+                         ]+                     }+                   (TupleCon+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 9 8 9 13+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/Vta1.hs" 9 8 9 9+                            , SrcSpan "tests/examples/Vta1.hs" 9 9 9 10+                            , SrcSpan "tests/examples/Vta1.hs" 9 10 9 11+                            , SrcSpan "tests/examples/Vta1.hs" 9 11 9 12+                            , SrcSpan "tests/examples/Vta1.hs" 9 12 9 13+                            ]+                        }+                      Boxed+                      4))))+          Nothing+      , PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 1 11 50+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 1 11 6+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 1 11 6+                  , srcInfoPoints = []+                  }+                "silly"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 7 11 50+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 11 7 11 8 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 9 11 50+                  , srcInfoPoints = []+                  }+                (App+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 9 11 42+                     , srcInfoPoints = []+                     }+                   (App+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 9 11 38+                        , srcInfoPoints = []+                        }+                      (App+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 9 11 33+                           , srcInfoPoints = []+                           }+                         (App+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 9 11 31+                              , srcInfoPoints = []+                              }+                            (App+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 9 11 28+                                 , srcInfoPoints = []+                                 }+                               (App+                                  SrcSpanInfo+                                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 9 11 22+                                    , srcInfoPoints = []+                                    }+                                  (App+                                     SrcSpanInfo+                                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 9 11 16+                                       , srcInfoPoints = []+                                       }+                                     (Var+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/Vta1.hs" 11 9 11 13+                                          , srcInfoPoints = []+                                          }+                                        (UnQual+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan "tests/examples/Vta1.hs" 11 9 11 13+                                             , srcInfoPoints = []+                                             }+                                           (Ident+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan "tests/examples/Vta1.hs" 11 9 11 13+                                                , srcInfoPoints = []+                                                }+                                              "quad")))+                                     (TypeApp+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/Vta1.hs" 11 14 11 16+                                          , srcInfoPoints =+                                              [ SrcSpan "tests/examples/Vta1.hs" 11 14 11 15 ]+                                          }+                                        (TyWildCard+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan "tests/examples/Vta1.hs" 11 15 11 16+                                             , srcInfoPoints = []+                                             }+                                           Nothing)))+                                  (TypeApp+                                     SrcSpanInfo+                                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 17 11 22+                                       , srcInfoPoints =+                                           [ SrcSpan "tests/examples/Vta1.hs" 11 17 11 18 ]+                                       }+                                     (TyCon+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/Vta1.hs" 11 18 11 22+                                          , srcInfoPoints = []+                                          }+                                        (UnQual+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan "tests/examples/Vta1.hs" 11 18 11 22+                                             , srcInfoPoints = []+                                             }+                                           (Ident+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan "tests/examples/Vta1.hs" 11 18 11 22+                                                , srcInfoPoints = []+                                                }+                                              "Bool")))))+                               (TypeApp+                                  SrcSpanInfo+                                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 23 11 28+                                    , srcInfoPoints =+                                        [ SrcSpan "tests/examples/Vta1.hs" 11 23 11 24 ]+                                    }+                                  (TyCon+                                     SrcSpanInfo+                                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 24 11 28+                                       , srcInfoPoints = []+                                       }+                                     (UnQual+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/Vta1.hs" 11 24 11 28+                                          , srcInfoPoints = []+                                          }+                                        (Ident+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan "tests/examples/Vta1.hs" 11 24 11 28+                                             , srcInfoPoints = []+                                             }+                                           "Char")))))+                            (TypeApp+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 29 11 31+                                 , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 11 29 11 30 ]+                                 }+                               (TyWildCard+                                  SrcSpanInfo+                                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 30 11 31+                                    , srcInfoPoints = []+                                    }+                                  Nothing)))+                         (Lit+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 32 11 33+                              , srcInfoPoints = []+                              }+                            (Int+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 32 11 33+                                 , srcInfoPoints = []+                                 }+                               5+                               "5")))+                      (Con+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 34 11 38+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 34 11 38+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 34 11 38+                                 , srcInfoPoints = []+                                 }+                               "True"))))+                   (Lit+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 39 11 42+                        , srcInfoPoints = []+                        }+                      (Char+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 39 11 42+                           , srcInfoPoints = []+                           }+                         'a'+                         "a")))+                (Lit+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 43 11 50+                     , srcInfoPoints = []+                     }+                   (String+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 43 11 50+                        , srcInfoPoints = []+                        }+                      "Hello"+                      "Hello"))))+          Nothing+      , FunBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 1 13 26+            , srcInfoPoints = []+            }+          [ Match+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 1 13 26+                , srcInfoPoints = []+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 1 13 13+                   , srcInfoPoints = []+                   }+                 "pairup_nosig")+              [ PVar+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 14 13 15+                    , srcInfoPoints = []+                    }+                  (Ident+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 14 13 15+                       , srcInfoPoints = []+                       }+                     "x")+              , PVar+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 16 13 17+                    , srcInfoPoints = []+                    }+                  (Ident+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 16 13 17+                       , srcInfoPoints = []+                       }+                     "y")+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 18 13 26+                   , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 13 18 13 19 ]+                   }+                 (Tuple+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 20 13 26+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/Vta1.hs" 13 20 13 21+                          , SrcSpan "tests/examples/Vta1.hs" 13 22 13 23+                          , SrcSpan "tests/examples/Vta1.hs" 13 25 13 26+                          ]+                      }+                    Boxed+                    [ Var+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 21 13 22+                          , srcInfoPoints = []+                          }+                        (UnQual+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 21 13 22+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 21 13 22+                                , srcInfoPoints = []+                                }+                              "x"))+                    , Var+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 24 13 25+                          , srcInfoPoints = []+                          }+                        (UnQual+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 24 13 25+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 24 13 25+                                , srcInfoPoints = []+                                }+                              "y"))+                    ]))+              Nothing+          ]+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 1 15 30+            , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 15 12 15 14 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 1 15 11+                , srcInfoPoints = []+                }+              "pairup_sig"+          ]+          (TyFun+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 15 15 30+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 15 17 15 19 ]+               }+             (TyVar+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 15 15 16+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 15 15 16+                     , srcInfoPoints = []+                     }+                   "a"))+             (TyFun+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 20 15 30+                  , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 15 22 15 24 ]+                  }+                (TyVar+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 20 15 21+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 20 15 21+                        , srcInfoPoints = []+                        }+                      "b"))+                (TyTuple+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 25 15 30+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/Vta1.hs" 15 25 15 26+                         , SrcSpan "tests/examples/Vta1.hs" 15 27 15 28+                         , SrcSpan "tests/examples/Vta1.hs" 15 29 15 30+                         ]+                     }+                   Boxed+                   [ TyVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 26 15 27+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 26 15 27+                            , srcInfoPoints = []+                            }+                          "a")+                   , TyVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 28 15 29+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 28 15 29+                            , srcInfoPoints = []+                            }+                          "b")+                   ])))+      , FunBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 1 16 24+            , srcInfoPoints = []+            }+          [ Match+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 1 16 24+                , srcInfoPoints = []+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 1 16 11+                   , srcInfoPoints = []+                   }+                 "pairup_sig")+              [ PVar+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 12 16 13+                    , srcInfoPoints = []+                    }+                  (Ident+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 12 16 13+                       , srcInfoPoints = []+                       }+                     "u")+              , PVar+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 14 16 15+                    , srcInfoPoints = []+                    }+                  (Ident+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 14 16 15+                       , srcInfoPoints = []+                       }+                     "w")+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 16 16 24+                   , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 16 16 16 17 ]+                   }+                 (Tuple+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 18 16 24+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/Vta1.hs" 16 18 16 19+                          , SrcSpan "tests/examples/Vta1.hs" 16 20 16 21+                          , SrcSpan "tests/examples/Vta1.hs" 16 23 16 24+                          ]+                      }+                    Boxed+                    [ Var+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 19 16 20+                          , srcInfoPoints = []+                          }+                        (UnQual+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 19 16 20+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 19 16 20+                                , srcInfoPoints = []+                                }+                              "u"))+                    , Var+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 22 16 23+                          , srcInfoPoints = []+                          }+                        (UnQual+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 22 16 23+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 22 16 23+                                , srcInfoPoints = []+                                }+                              "w"))+                    ]))+              Nothing+          ]+      , PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 1 18 43+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 1 18 11+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 1 18 11+                  , srcInfoPoints = []+                  }+                "answer_sig"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 12 18 43+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 18 12 18 13 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 14 18 43+                  , srcInfoPoints = []+                  }+                (App+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 14 18 41+                     , srcInfoPoints = []+                     }+                   (App+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 14 18 35+                        , srcInfoPoints = []+                        }+                      (App+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 14 18 30+                           , srcInfoPoints = []+                           }+                         (Var+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 14 18 24+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 14 18 24+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 14 18 24+                                    , srcInfoPoints = []+                                    }+                                  "pairup_sig")))+                         (TypeApp+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 25 18 30+                              , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 18 25 18 26 ]+                              }+                            (TyCon+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 26 18 30+                                 , srcInfoPoints = []+                                 }+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 26 18 30+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 26 18 30+                                       , srcInfoPoints = []+                                       }+                                     "Bool")))))+                      (TypeApp+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 31 18 35+                           , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 18 31 18 32 ]+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 32 18 35+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 32 18 35+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 32 18 35+                                    , srcInfoPoints = []+                                    }+                                  "Int")))))+                   (Con+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 36 18 41+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 36 18 41+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 36 18 41+                              , srcInfoPoints = []+                              }+                            "False"))))+                (Lit+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 42 18 43+                     , srcInfoPoints = []+                     }+                   (Int+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 42 18 43+                        , srcInfoPoints = []+                        }+                      7+                      "7"))))+          Nothing+      , PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 1 21 35+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 1 21 12+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 1 21 12+                  , srcInfoPoints = []+                  }+                "answer_read"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 13 21 35+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 21 13 21 14 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 15 21 35+                  , srcInfoPoints = []+                  }+                (Var+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 15 21 19+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 15 21 19+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 15 21 19+                           , srcInfoPoints = []+                           }+                         "show")))+                (Paren+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 20 21 35+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/Vta1.hs" 21 20 21 21+                         , SrcSpan "tests/examples/Vta1.hs" 21 34 21 35+                         ]+                     }+                   (App+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 21 21 34+                        , srcInfoPoints = []+                        }+                      (App+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 21 21 30+                           , srcInfoPoints = []+                           }+                         (Var+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 21 21 25+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 21 21 25+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 21 21 25+                                    , srcInfoPoints = []+                                    }+                                  "read")))+                         (TypeApp+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 26 21 30+                              , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 21 26 21 27 ]+                              }+                            (TyCon+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 27 21 30+                                 , srcInfoPoints = []+                                 }+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 27 21 30+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 27 21 30+                                       , srcInfoPoints = []+                                       }+                                     "Int")))))+                      (Lit+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 31 21 34+                           , srcInfoPoints = []+                           }+                         (String+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 31 21 34+                              , srcInfoPoints = []+                              }+                            "3"+                            "3"))))))+          Nothing+      , PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 1 22 39+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 1 22 12+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 1 22 12+                  , srcInfoPoints = []+                  }+                "answer_show"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 13 22 39+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 22 13 22 14 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 15 22 39+                  , srcInfoPoints = []+                  }+                (App+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 15 22 28+                     , srcInfoPoints = []+                     }+                   (Var+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 15 22 19+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 15 22 19+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 15 22 19+                              , srcInfoPoints = []+                              }+                            "show")))+                   (TypeApp+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 20 22 28+                        , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 22 20 22 21 ]+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 21 22 28+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 21 22 28+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 21 22 28+                                 , srcInfoPoints = []+                                 }+                               "Integer")))))+                (Paren+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 29 22 39+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/Vta1.hs" 22 29 22 30+                         , SrcSpan "tests/examples/Vta1.hs" 22 38 22 39+                         ]+                     }+                   (App+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 30 22 38+                        , srcInfoPoints = []+                        }+                      (Var+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 30 22 34+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 30 22 34+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 30 22 34+                                 , srcInfoPoints = []+                                 }+                               "read")))+                      (Lit+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 35 22 38+                           , srcInfoPoints = []+                           }+                         (String+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 35 22 38+                              , srcInfoPoints = []+                              }+                            "5"+                            "5"))))))+          Nothing+      , PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 1 23 44+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 1 23 16+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 1 23 16+                  , srcInfoPoints = []+                  }+                "answer_showread"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 17 23 44+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 23 17 23 18 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 19 23 44+                  , srcInfoPoints = []+                  }+                (App+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 19 23 28+                     , srcInfoPoints = []+                     }+                   (Var+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 19 23 23+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 19 23 23+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 19 23 23+                              , srcInfoPoints = []+                              }+                            "show")))+                   (TypeApp+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 24 23 28+                        , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 23 24 23 25 ]+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 25 23 28+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 25 23 28+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 25 23 28+                                 , srcInfoPoints = []+                                 }+                               "Int")))))+                (Paren+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 29 23 44+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/Vta1.hs" 23 29 23 30+                         , SrcSpan "tests/examples/Vta1.hs" 23 43 23 44+                         ]+                     }+                   (App+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 30 23 43+                        , srcInfoPoints = []+                        }+                      (App+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 30 23 39+                           , srcInfoPoints = []+                           }+                         (Var+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 30 23 34+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 30 23 34+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 30 23 34+                                    , srcInfoPoints = []+                                    }+                                  "read")))+                         (TypeApp+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 35 23 39+                              , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 23 35 23 36 ]+                              }+                            (TyCon+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 36 23 39+                                 , srcInfoPoints = []+                                 }+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 36 23 39+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 36 23 39+                                       , srcInfoPoints = []+                                       }+                                     "Int")))))+                      (Lit+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 40 23 43+                           , srcInfoPoints = []+                           }+                         (String+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 40 23 43+                              , srcInfoPoints = []+                              }+                            "7"+                            "7"))))))+          Nothing+      , FunBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 1 25 23+            , srcInfoPoints = []+            }+          [ Match+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 1 25 23+                , srcInfoPoints = []+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 1 25 8+                   , srcInfoPoints = []+                   }+                 "intcons")+              [ PVar+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 9 25 10+                    , srcInfoPoints = []+                    }+                  (Ident+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 9 25 10+                       , srcInfoPoints = []+                       }+                     "a")+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 11 25 23+                   , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 25 11 25 12 ]+                   }+                 (App+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 13 25 23+                      , srcInfoPoints = []+                      }+                    (App+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 13 25 21+                         , srcInfoPoints = []+                         }+                       (Con+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 13 25 16+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/Vta1.hs" 25 13 25 14+                                , SrcSpan "tests/examples/Vta1.hs" 25 14 25 15+                                , SrcSpan "tests/examples/Vta1.hs" 25 15 25 16+                                ]+                            }+                          (Special+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 13 25 16+                               , srcInfoPoints =+                                   [ SrcSpan "tests/examples/Vta1.hs" 25 13 25 14+                                   , SrcSpan "tests/examples/Vta1.hs" 25 14 25 15+                                   , SrcSpan "tests/examples/Vta1.hs" 25 15 25 16+                                   ]+                               }+                             (Cons+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 14 25 15+                                  , srcInfoPoints = []+                                  })))+                       (TypeApp+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 17 25 21+                            , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 25 17 25 18 ]+                            }+                          (TyCon+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 18 25 21+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 18 25 21+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 18 25 21+                                     , srcInfoPoints = []+                                     }+                                   "Int")))))+                    (Var+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 22 25 23+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 22 25 23+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 22 25 23+                               , srcInfoPoints = []+                               }+                             "a")))))+              Nothing+          ]+      , FunBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 1 27 34+            , srcInfoPoints = []+            }+          [ Match+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 1 27 34+                , srcInfoPoints = []+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 1 27 8+                   , srcInfoPoints = []+                   }+                 "intpair")+              [ PVar+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 9 27 10+                    , srcInfoPoints = []+                    }+                  (Ident+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 9 27 10+                       , srcInfoPoints = []+                       }+                     "x")+              , PVar+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 11 27 12+                    , srcInfoPoints = []+                    }+                  (Ident+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 11 27 12+                       , srcInfoPoints = []+                       }+                     "y")+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 13 27 34+                   , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 27 13 27 14 ]+                   }+                 (App+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 15 27 34+                      , srcInfoPoints = []+                      }+                    (App+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 15 27 32+                         , srcInfoPoints = []+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 15 27 30+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 15 27 25+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 15 27 25+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 15 27 25+                                     , srcInfoPoints = []+                                     }+                                   "pairup_sig")))+                          (TypeApp+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 26 27 30+                               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 27 26 27 27 ]+                               }+                             (TyCon+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 27 27 30+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 27 27 30+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 27 27 30+                                        , srcInfoPoints = []+                                        }+                                      "Int")))))+                       (Var+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 31 27 32+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 31 27 32+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 31 27 32+                                  , srcInfoPoints = []+                                  }+                                "x"))))+                    (Var+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 33 27 34+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 33 27 34+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 33 27 34+                               , srcInfoPoints = []+                               }+                             "y")))))+              Nothing+          ]+      , PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 1 29 39+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 1 29 14+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 1 29 14+                  , srcInfoPoints = []+                  }+                "answer_pairup"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 15 29 39+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 29 15 29 16 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 17 29 39+                  , srcInfoPoints = []+                  }+                (App+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 17 29 34+                     , srcInfoPoints = []+                     }+                   (App+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 17 29 32+                        , srcInfoPoints = []+                        }+                      (Var+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 17 29 27+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 17 29 27+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 17 29 27+                                 , srcInfoPoints = []+                                 }+                               "pairup_sig")))+                      (TypeApp+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 28 29 32+                           , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 29 28 29 29 ]+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 29 29 32+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 29 29 32+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 29 29 32+                                    , srcInfoPoints = []+                                    }+                                  "Int")))))+                   (Lit+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 33 29 34+                        , srcInfoPoints = []+                        }+                      (Int+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 33 29 34+                           , srcInfoPoints = []+                           }+                         5+                         "5")))+                (Con+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 35 29 39+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 35 29 39+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 35 29 39+                           , srcInfoPoints = []+                           }+                         "True")))))+          Nothing+      , PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 1 30 35+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 1 30 15+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 1 30 15+                  , srcInfoPoints = []+                  }+                "answer_intpair"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 16 30 35+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 30 16 30 17 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 18 30 35+                  , srcInfoPoints = []+                  }+                (App+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 18 30 27+                     , srcInfoPoints = []+                     }+                   (Var+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 18 30 25+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 18 30 25+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 18 30 25+                              , srcInfoPoints = []+                              }+                            "intpair")))+                   (Lit+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 26 30 27+                        , srcInfoPoints = []+                        }+                      (Int+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 26 30 27+                           , srcInfoPoints = []+                           }+                         1+                         "1")))+                (Lit+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 28 30 35+                     , srcInfoPoints = []+                     }+                   (String+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 28 30 35+                        , srcInfoPoints = []+                        }+                      "hello"+                      "hello"))))+          Nothing+      , PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 1 31 30+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 1 31 15+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 1 31 15+                  , srcInfoPoints = []+                  }+                "answer_intcons"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 16 31 30+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 31 16 31 17 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 18 31 30+                  , srcInfoPoints = []+                  }+                (App+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 18 31 27+                     , srcInfoPoints = []+                     }+                   (Var+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 18 31 25+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 18 31 25+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 18 31 25+                              , srcInfoPoints = []+                              }+                            "intcons")))+                   (Lit+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 26 31 27+                        , srcInfoPoints = []+                        }+                      (Int+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 26 31 27+                           , srcInfoPoints = []+                           }+                         7+                         "7")))+                (List+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 28 31 30+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/Vta1.hs" 31 28 31 29+                         , SrcSpan "tests/examples/Vta1.hs" 31 29 31 30+                         ]+                     }+                   [])))+          Nothing+      , TypeFamDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 33 1 33 16+            , srcInfoPoints =+                [ SrcSpan "tests/examples/Vta1.hs" 33 1 33 5+                , SrcSpan "tests/examples/Vta1.hs" 33 6 33 12+                ]+            }+          (DHApp+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 33 13 33 16+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 33 13 33 14+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 33 13 33 14+                     , srcInfoPoints = []+                     }+                   "F"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 33 15 33 16+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 33 15 33 16+                     , srcInfoPoints = []+                     }+                   "a")))+          Nothing+          Nothing+      , TypeInsDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 34 1 34 28+            , srcInfoPoints =+                [ SrcSpan "tests/examples/Vta1.hs" 34 1 34 5+                , SrcSpan "tests/examples/Vta1.hs" 34 6 34 14+                , SrcSpan "tests/examples/Vta1.hs" 34 22 34 23+                ]+            }+          (TyApp+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 34 15 34 21+               , srcInfoPoints = []+               }+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 34 15 34 16+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 34 15 34 16+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 34 15 34 16+                        , srcInfoPoints = []+                        }+                      "F")))+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 34 17 34 21+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 34 17 34 21+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 34 17 34 21+                        , srcInfoPoints = []+                        }+                      "Char"))))+          (TyCon+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 34 24 34 28+               , srcInfoPoints = []+               }+             (UnQual+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 34 24 34 28+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 34 24 34 28+                     , srcInfoPoints = []+                     }+                   "Bool")))+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 36 1 36 14+            , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 36 3 36 5 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 36 1 36 2+                , srcInfoPoints = []+                }+              "g"+          ]+          (TyFun+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 36 6 36 14+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 36 10 36 12 ]+               }+             (TyApp+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 36 6 36 9+                  , srcInfoPoints = []+                  }+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 36 6 36 7+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 36 6 36 7+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 36 6 36 7+                           , srcInfoPoints = []+                           }+                         "F")))+                (TyVar+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 36 8 36 9+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 36 8 36 9+                        , srcInfoPoints = []+                        }+                      "a")))+             (TyVar+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 36 13 36 14+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 36 13 36 14+                     , srcInfoPoints = []+                     }+                   "a")))+      , FunBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 37 1 37 16+            , srcInfoPoints = []+            }+          [ Match+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 37 1 37 16+                , srcInfoPoints = []+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 37 1 37 2+                   , srcInfoPoints = []+                   }+                 "g")+              [ PWildCard+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 37 3 37 4+                    , srcInfoPoints = []+                    }+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 37 5 37 16+                   , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 37 5 37 6 ]+                   }+                 (Var+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 37 7 37 16+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 37 7 37 16+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 37 7 37 16+                            , srcInfoPoints = []+                            }+                          "undefined"))))+              Nothing+          ]+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 39 1 39 10+            , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 39 3 39 5 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 39 1 39 2+                , srcInfoPoints = []+                }+              "f"+          ]+          (TyCon+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 39 6 39 10+               , srcInfoPoints = []+               }+             (UnQual+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 39 6 39 10+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 39 6 39 10+                     , srcInfoPoints = []+                     }+                   "Char")))+      , PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 40 1 40 11+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 40 1 40 2+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 40 1 40 2+                  , srcInfoPoints = []+                  }+                "f"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 40 3 40 11+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 40 3 40 4 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 40 5 40 11+                  , srcInfoPoints = []+                  }+                (Var+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 40 5 40 6+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 40 5 40 6+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 40 5 40 6+                           , srcInfoPoints = []+                           }+                         "g")))+                (Con+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 40 7 40 11+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 40 7 40 11+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 40 7 40 11+                           , srcInfoPoints = []+                           }+                         "True")))))+          Nothing+      , PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 1 42 23+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 1 42 7+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 1 42 7+                  , srcInfoPoints = []+                  }+                "answer"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 8 42 23+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 42 8 42 9 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 10 42 23+                  , srcInfoPoints = []+                  }+                (App+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 10 42 17+                     , srcInfoPoints = []+                     }+                   (Var+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 10 42 11+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 10 42 11+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 10 42 11+                              , srcInfoPoints = []+                              }+                            "g")))+                   (TypeApp+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 12 42 17+                        , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 42 12 42 13 ]+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 13 42 17+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 13 42 17+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 13 42 17+                                 , srcInfoPoints = []+                                 }+                               "Char")))))+                (Con+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 18 42 23+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 18 42 23+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 18 42 23+                           , srcInfoPoints = []+                           }+                         "False")))))+          Nothing+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 1 44 54+            , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 44 9 44 11 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 1 44 8+                , srcInfoPoints = []+                }+              "mapSame"+          ]+          (TyForall+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 12 44 54+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/Vta1.hs" 44 12 44 18+                   , SrcSpan "tests/examples/Vta1.hs" 44 20 44 21+                   ]+               }+             (Just+                [ UnkindedVar+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 19 44 20+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 19 44 20+                         , srcInfoPoints = []+                         }+                       "b")+                ])+             Nothing+             (TyFun+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 22 44 54+                  , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 44 41 44 43 ]+                  }+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 22 44 40+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/Vta1.hs" 44 22 44 23+                         , SrcSpan "tests/examples/Vta1.hs" 44 39 44 40+                         ]+                     }+                   (TyForall+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 23 44 39+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/Vta1.hs" 44 23 44 29+                            , SrcSpan "tests/examples/Vta1.hs" 44 31 44 32+                            ]+                        }+                      (Just+                         [ UnkindedVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 30 44 31+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 30 44 31+                                  , srcInfoPoints = []+                                  }+                                "a")+                         ])+                      Nothing+                      (TyFun+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 33 44 39+                           , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 44 35 44 37 ]+                           }+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 33 44 34+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 33 44 34+                                 , srcInfoPoints = []+                                 }+                               "a"))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 38 44 39+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 38 44 39+                                 , srcInfoPoints = []+                                 }+                               "a")))))+                (TyFun+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 44 44 54+                     , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 44 48 44 50 ]+                     }+                   (TyList+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 44 44 47+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/Vta1.hs" 44 44 44 45+                            , SrcSpan "tests/examples/Vta1.hs" 44 46 44 47+                            ]+                        }+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 45 44 46+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 45 44 46+                              , srcInfoPoints = []+                              }+                            "b")))+                   (TyList+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 51 44 54+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/Vta1.hs" 44 51 44 52+                            , SrcSpan "tests/examples/Vta1.hs" 44 53 44 54+                            ]+                        }+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 52 44 53+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 52 44 53+                              , srcInfoPoints = []+                              }+                            "b"))))))+      , FunBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 45 1 46 52+            , srcInfoPoints = []+            }+          [ Match+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 45 1 45 18+                , srcInfoPoints = []+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 45 1 45 8+                   , srcInfoPoints = []+                   }+                 "mapSame")+              [ PWildCard+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 45 9 45 10+                    , srcInfoPoints = []+                    }+              , PList+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 45 11 45 13+                    , srcInfoPoints =+                        [ SrcSpan "tests/examples/Vta1.hs" 45 11 45 12+                        , SrcSpan "tests/examples/Vta1.hs" 45 12 45 13+                        ]+                    }+                  []+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 45 14 45 18+                   , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 45 14 45 15 ]+                   }+                 (List+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 45 16 45 18+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/Vta1.hs" 45 16 45 17+                          , SrcSpan "tests/examples/Vta1.hs" 45 17 45 18+                          ]+                      }+                    []))+              Nothing+          , Match+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 1 46 52+                , srcInfoPoints = []+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 1 46 8+                   , srcInfoPoints = []+                   }+                 "mapSame")+              [ PVar+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 9 46 12+                    , srcInfoPoints = []+                    }+                  (Ident+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 9 46 12+                       , srcInfoPoints = []+                       }+                     "fun")+              , PParen+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 13 46 19+                    , srcInfoPoints =+                        [ SrcSpan "tests/examples/Vta1.hs" 46 13 46 14+                        , SrcSpan "tests/examples/Vta1.hs" 46 18 46 19+                        ]+                    }+                  (PInfixApp+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 14 46 18+                       , srcInfoPoints = []+                       }+                     (PVar+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 14 46 15+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 14 46 15+                             , srcInfoPoints = []+                             }+                           "x"))+                     (Special+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 15 46 16+                          , srcInfoPoints = []+                          }+                        (Cons+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 15 46 16+                             , srcInfoPoints = []+                             }))+                     (PVar+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 16 46 18+                          , srcInfoPoints = []+                          }+                        (Ident+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 16 46 18+                             , srcInfoPoints = []+                             }+                           "xs")))+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 20 46 52+                   , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 46 20 46 21 ]+                   }+                 (InfixApp+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 22 46 52+                      , srcInfoPoints = []+                      }+                    (App+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 22 46 30+                         , srcInfoPoints = []+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 22 46 28+                            , srcInfoPoints = []+                            }+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 22 46 25+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 22 46 25+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 22 46 25+                                     , srcInfoPoints = []+                                     }+                                   "fun")))+                          (TypeApp+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 26 46 28+                               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 46 26 46 27 ]+                               }+                             (TyVar+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 27 46 28+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 27 46 28+                                     , srcInfoPoints = []+                                     }+                                   "b"))))+                       (Var+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 29 46 30+                            , srcInfoPoints = []+                            }+                          (UnQual+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 29 46 30+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 29 46 30+                                  , srcInfoPoints = []+                                  }+                                "x"))))+                    (QConOp+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 31 46 32+                         , srcInfoPoints = []+                         }+                       (Special+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 31 46 32+                            , srcInfoPoints = []+                            }+                          (Cons+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 31 46 32+                               , srcInfoPoints = []+                               })))+                    (Paren+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 33 46 52+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/Vta1.hs" 46 33 46 34+                             , SrcSpan "tests/examples/Vta1.hs" 46 51 46 52+                             ]+                         }+                       (App+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 34 46 51+                            , srcInfoPoints = []+                            }+                          (App+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 34 46 48+                               , srcInfoPoints = []+                               }+                             (App+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 34 46 44+                                  , srcInfoPoints = []+                                  }+                                (Var+                                   SrcSpanInfo+                                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 34 46 41+                                     , srcInfoPoints = []+                                     }+                                   (UnQual+                                      SrcSpanInfo+                                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 34 46 41+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/Vta1.hs" 46 34 46 41+                                           , srcInfoPoints = []+                                           }+                                         "mapSame")))+                                (TypeApp+                                   SrcSpanInfo+                                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 42 46 44+                                     , srcInfoPoints =+                                         [ SrcSpan "tests/examples/Vta1.hs" 46 42 46 43 ]+                                     }+                                   (TyVar+                                      SrcSpanInfo+                                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 43 46 44+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/Vta1.hs" 46 43 46 44+                                           , srcInfoPoints = []+                                           }+                                         "b"))))+                             (Var+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 45 46 48+                                  , srcInfoPoints = []+                                  }+                                (UnQual+                                   SrcSpanInfo+                                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 45 46 48+                                     , srcInfoPoints = []+                                     }+                                   (Ident+                                      SrcSpanInfo+                                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 45 46 48+                                        , srcInfoPoints = []+                                        }+                                      "fun"))))+                          (Var+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 49 46 51+                               , srcInfoPoints = []+                               }+                             (UnQual+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 49 46 51+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 49 46 51+                                     , srcInfoPoints = []+                                     }+                                   "xs")))))))+              Nothing+          ]+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 1 48 46+            , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 48 6 48 8 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 1 48 5+                , srcInfoPoints = []+                }+              "pair"+          ]+          (TyForall+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 9 48 46+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/Vta1.hs" 48 9 48 15+                   , SrcSpan "tests/examples/Vta1.hs" 48 17 48 18+                   ]+               }+             (Just+                [ UnkindedVar+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 16 48 17+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 16 48 17+                         , srcInfoPoints = []+                         }+                       "a")+                ])+             Nothing+             (TyFun+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 19 48 46+                  , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 48 20 48 22 ]+                  }+                (TyVar+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 19 48 20+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 19 48 20+                        , srcInfoPoints = []+                        }+                      "a"))+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 23 48 46+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/Vta1.hs" 48 23 48 24+                         , SrcSpan "tests/examples/Vta1.hs" 48 45 48 46+                         ]+                     }+                   (TyForall+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 24 48 45+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/Vta1.hs" 48 24 48 30+                            , SrcSpan "tests/examples/Vta1.hs" 48 32 48 33+                            ]+                        }+                      (Just+                         [ UnkindedVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 31 48 32+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 31 48 32+                                  , srcInfoPoints = []+                                  }+                                "b")+                         ])+                      Nothing+                      (TyFun+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 34 48 45+                           , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 48 36 48 38 ]+                           }+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 34 48 35+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 34 48 35+                                 , srcInfoPoints = []+                                 }+                               "b"))+                         (TyTuple+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 39 48 45+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/Vta1.hs" 48 39 48 40+                                  , SrcSpan "tests/examples/Vta1.hs" 48 41 48 42+                                  , SrcSpan "tests/examples/Vta1.hs" 48 44 48 45+                                  ]+                              }+                            Boxed+                            [ TyVar+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 40 48 41+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 40 48 41+                                     , srcInfoPoints = []+                                     }+                                   "a")+                            , TyVar+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 43 48 44+                                  , srcInfoPoints = []+                                  }+                                (Ident+                                   SrcSpanInfo+                                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 43 48 44+                                     , srcInfoPoints = []+                                     }+                                   "b")+                            ]))))))+      , FunBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 1 49 18+            , srcInfoPoints = []+            }+          [ Match+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 1 49 18+                , srcInfoPoints = []+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 1 49 5+                   , srcInfoPoints = []+                   }+                 "pair")+              [ PVar+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 6 49 7+                    , srcInfoPoints = []+                    }+                  (Ident+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 6 49 7+                       , srcInfoPoints = []+                       }+                     "x")+              , PVar+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 8 49 9+                    , srcInfoPoints = []+                    }+                  (Ident+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 8 49 9+                       , srcInfoPoints = []+                       }+                     "y")+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 10 49 18+                   , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 49 10 49 11 ]+                   }+                 (Tuple+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 12 49 18+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/Vta1.hs" 49 12 49 13+                          , SrcSpan "tests/examples/Vta1.hs" 49 14 49 15+                          , SrcSpan "tests/examples/Vta1.hs" 49 17 49 18+                          ]+                      }+                    Boxed+                    [ Var+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 13 49 14+                          , srcInfoPoints = []+                          }+                        (UnQual+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 13 49 14+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 13 49 14+                                , srcInfoPoints = []+                                }+                              "x"))+                    , Var+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 16 49 17+                          , srcInfoPoints = []+                          }+                        (UnQual+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 16 49 17+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 16 49 17+                                , srcInfoPoints = []+                                }+                              "y"))+                    ]))+              Nothing+          ]+      , PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 1 51 27+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 1 51 2+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 1 51 2+                  , srcInfoPoints = []+                  }+                "b"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 3 51 27+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 51 3 51 4 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 5 51 27+                  , srcInfoPoints = []+                  }+                (App+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 5 51 22+                     , srcInfoPoints = []+                     }+                   (App+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 5 51 16+                        , srcInfoPoints = []+                        }+                      (App+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 5 51 14+                           , srcInfoPoints = []+                           }+                         (Var+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 5 51 9+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 5 51 9+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 5 51 9+                                    , srcInfoPoints = []+                                    }+                                  "pair")))+                         (TypeApp+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 10 51 14+                              , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 51 10 51 11 ]+                              }+                            (TyCon+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 11 51 14+                                 , srcInfoPoints = []+                                 }+                               (UnQual+                                  SrcSpanInfo+                                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 11 51 14+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 11 51 14+                                       , srcInfoPoints = []+                                       }+                                     "Int")))))+                      (Lit+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 15 51 16+                           , srcInfoPoints = []+                           }+                         (Int+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 15 51 16+                              , srcInfoPoints = []+                              }+                            3+                            "3")))+                   (TypeApp+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 17 51 22+                        , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 51 17 51 18 ]+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 18 51 22+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 18 51 22+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 18 51 22+                                 , srcInfoPoints = []+                                 }+                               "Bool")))))+                (Con+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 23 51 27+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 23 51 27+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 23 51 27+                           , srcInfoPoints = []+                           }+                         "True")))))+          Nothing+      , PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 1 52 23+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 1 52 2+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 1 52 2+                  , srcInfoPoints = []+                  }+                "c"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 3 52 23+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 52 3 52 4 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 5 52 23+                  , srcInfoPoints = []+                  }+                (App+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 5 52 15+                     , srcInfoPoints = []+                     }+                   (Var+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 5 52 12+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 5 52 12+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 5 52 12+                              , srcInfoPoints = []+                              }+                            "mapSame")))+                   (Var+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 13 52 15+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 13 52 15+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 13 52 15+                              , srcInfoPoints = []+                              }+                            "id"))))+                (List+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 16 52 23+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/Vta1.hs" 52 16 52 17+                         , SrcSpan "tests/examples/Vta1.hs" 52 18 52 19+                         , SrcSpan "tests/examples/Vta1.hs" 52 20 52 21+                         , SrcSpan "tests/examples/Vta1.hs" 52 22 52 23+                         ]+                     }+                   [ Lit+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 17 52 18+                         , srcInfoPoints = []+                         }+                       (Int+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 17 52 18+                            , srcInfoPoints = []+                            }+                          1+                          "1")+                   , Lit+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 19 52 20+                         , srcInfoPoints = []+                         }+                       (Int+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 19 52 20+                            , srcInfoPoints = []+                            }+                          2+                          "2")+                   , Lit+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 21 52 22+                         , srcInfoPoints = []+                         }+                       (Int+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 21 52 22+                            , srcInfoPoints = []+                            }+                          3+                          "3")+                   ])))+          Nothing+      , PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 1 53 22+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 1 53 2+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 1 53 2+                  , srcInfoPoints = []+                  }+                "d"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 3 53 22+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 53 3 53 4 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 5 53 22+                  , srcInfoPoints = []+                  }+                (App+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 5 53 17+                     , srcInfoPoints = []+                     }+                   (App+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 5 53 11+                        , srcInfoPoints = []+                        }+                      (Var+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 5 53 9+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 5 53 9+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 5 53 9+                                 , srcInfoPoints = []+                                 }+                               "pair")))+                      (Lit+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 10 53 11+                           , srcInfoPoints = []+                           }+                         (Int+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 10 53 11+                              , srcInfoPoints = []+                              }+                            3+                            "3")))+                   (TypeApp+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 12 53 17+                        , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 53 12 53 13 ]+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 13 53 17+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 13 53 17+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 13 53 17+                                 , srcInfoPoints = []+                                 }+                               "Bool")))))+                (Con+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 18 53 22+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 18 53 22+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 18 53 22+                           , srcInfoPoints = []+                           }+                         "True")))))+          Nothing+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 1 55 52+            , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 55 9 55 11 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 1 55 8+                , srcInfoPoints = []+                }+              "pairnum"+          ]+          (TyForall+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 12 55 52+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/Vta1.hs" 55 12 55 18+                   , SrcSpan "tests/examples/Vta1.hs" 55 20 55 21+                   ]+               }+             (Just+                [ UnkindedVar+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 19 55 20+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 19 55 20+                         , srcInfoPoints = []+                         }+                       "a")+                ])+             (Just+                (CxSingle+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 22 55 30+                     , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 55 28 55 30 ]+                     }+                   (TypeA+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 22 55 30+                        , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 55 28 55 30 ]+                        }+                      (TyApp+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 22 55 30+                           , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 55 28 55 30 ]+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 22 55 30+                              , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 55 28 55 30 ]+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 22 55 25+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 22 55 25+                                    , srcInfoPoints = []+                                    }+                                  "Num")))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 26 55 27+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 26 55 27+                                 , srcInfoPoints = []+                                 }+                               "a"))))))+             (TyForall+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 31 55 52+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/Vta1.hs" 55 31 55 37+                      , SrcSpan "tests/examples/Vta1.hs" 55 39 55 40+                      ]+                  }+                (Just+                   [ UnkindedVar+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 38 55 39+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 38 55 39+                            , srcInfoPoints = []+                            }+                          "b")+                   ])+                Nothing+                (TyFun+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 41 55 52+                     , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 55 43 55 45 ]+                     }+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 41 55 42+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 41 55 42+                           , srcInfoPoints = []+                           }+                         "b"))+                   (TyTuple+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 46 55 52+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/Vta1.hs" 55 46 55 47+                            , SrcSpan "tests/examples/Vta1.hs" 55 48 55 49+                            , SrcSpan "tests/examples/Vta1.hs" 55 51 55 52+                            ]+                        }+                      Boxed+                      [ TyVar+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 47 55 48+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 47 55 48+                               , srcInfoPoints = []+                               }+                             "a")+                      , TyVar+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 50 55 51+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 50 55 51+                               , srcInfoPoints = []+                               }+                             "b")+                      ]))))+      , PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 56 1 56 17+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 56 1 56 8+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 56 1 56 8+                  , srcInfoPoints = []+                  }+                "pairnum"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 56 9 56 17+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 56 9 56 10 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 56 11 56 17+                  , srcInfoPoints = []+                  }+                (Var+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 56 11 56 15+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 56 11 56 15+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 56 11 56 15+                           , srcInfoPoints = []+                           }+                         "pair")))+                (Lit+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 56 16 56 17+                     , srcInfoPoints = []+                     }+                   (Int+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 56 16 56 17+                        , srcInfoPoints = []+                        }+                      3+                      "3"))))+          Nothing+      , PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 1 58 73+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 1 58 2+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 1 58 2+                  , srcInfoPoints = []+                  }+                "e"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 3 58 73+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 58 3 58 4 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 5 58 73+                  , srcInfoPoints = []+                  }+                (App+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 5 58 68+                     , srcInfoPoints = []+                     }+                   (App+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 5 58 62+                        , srcInfoPoints = []+                        }+                      (Paren+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 5 58 57+                           , srcInfoPoints =+                               [ SrcSpan "tests/examples/Vta1.hs" 58 5 58 6+                               , SrcSpan "tests/examples/Vta1.hs" 58 56 58 57+                               ]+                           }+                         (ExpTypeSig+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 6 58 56+                              , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 58 13 58 15 ]+                              }+                            (App+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 6 58 12+                                 , srcInfoPoints = []+                                 }+                               (Var+                                  SrcSpanInfo+                                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 6 58 10+                                    , srcInfoPoints = []+                                    }+                                  (UnQual+                                     SrcSpanInfo+                                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 6 58 10+                                       , srcInfoPoints = []+                                       }+                                     (Ident+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/Vta1.hs" 58 6 58 10+                                          , srcInfoPoints = []+                                          }+                                        "pair")))+                               (Lit+                                  SrcSpanInfo+                                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 11 58 12+                                    , srcInfoPoints = []+                                    }+                                  (Int+                                     SrcSpanInfo+                                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 11 58 12+                                       , srcInfoPoints = []+                                       }+                                     3+                                     "3")))+                            (TyForall+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 16 58 56+                                 , srcInfoPoints =+                                     [ SrcSpan "tests/examples/Vta1.hs" 58 16 58 22+                                     , SrcSpan "tests/examples/Vta1.hs" 58 24 58 25+                                     ]+                                 }+                               (Just+                                  [ UnkindedVar+                                      SrcSpanInfo+                                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 23 58 24+                                        , srcInfoPoints = []+                                        }+                                      (Ident+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/Vta1.hs" 58 23 58 24+                                           , srcInfoPoints = []+                                           }+                                         "a")+                                  ])+                               (Just+                                  (CxSingle+                                     SrcSpanInfo+                                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 26 58 34+                                       , srcInfoPoints =+                                           [ SrcSpan "tests/examples/Vta1.hs" 58 32 58 34 ]+                                       }+                                     (TypeA+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/Vta1.hs" 58 26 58 34+                                          , srcInfoPoints =+                                              [ SrcSpan "tests/examples/Vta1.hs" 58 32 58 34 ]+                                          }+                                        (TyApp+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan "tests/examples/Vta1.hs" 58 26 58 34+                                             , srcInfoPoints =+                                                 [ SrcSpan "tests/examples/Vta1.hs" 58 32 58 34 ]+                                             }+                                           (TyCon+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan "tests/examples/Vta1.hs" 58 26 58 34+                                                , srcInfoPoints =+                                                    [ SrcSpan "tests/examples/Vta1.hs" 58 32 58 34 ]+                                                }+                                              (UnQual+                                                 SrcSpanInfo+                                                   { srcInfoSpan =+                                                       SrcSpan "tests/examples/Vta1.hs" 58 26 58 29+                                                   , srcInfoPoints = []+                                                   }+                                                 (Ident+                                                    SrcSpanInfo+                                                      { srcInfoSpan =+                                                          SrcSpan+                                                            "tests/examples/Vta1.hs" 58 26 58 29+                                                      , srcInfoPoints = []+                                                      }+                                                    "Num")))+                                           (TyVar+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan "tests/examples/Vta1.hs" 58 30 58 31+                                                , srcInfoPoints = []+                                                }+                                              (Ident+                                                 SrcSpanInfo+                                                   { srcInfoSpan =+                                                       SrcSpan "tests/examples/Vta1.hs" 58 30 58 31+                                                   , srcInfoPoints = []+                                                   }+                                                 "a"))))))+                               (TyForall+                                  SrcSpanInfo+                                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 35 58 56+                                    , srcInfoPoints =+                                        [ SrcSpan "tests/examples/Vta1.hs" 58 35 58 41+                                        , SrcSpan "tests/examples/Vta1.hs" 58 43 58 44+                                        ]+                                    }+                                  (Just+                                     [ UnkindedVar+                                         SrcSpanInfo+                                           { srcInfoSpan =+                                               SrcSpan "tests/examples/Vta1.hs" 58 42 58 43+                                           , srcInfoPoints = []+                                           }+                                         (Ident+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan "tests/examples/Vta1.hs" 58 42 58 43+                                              , srcInfoPoints = []+                                              }+                                            "b")+                                     ])+                                  Nothing+                                  (TyFun+                                     SrcSpanInfo+                                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 45 58 56+                                       , srcInfoPoints =+                                           [ SrcSpan "tests/examples/Vta1.hs" 58 47 58 49 ]+                                       }+                                     (TyVar+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/Vta1.hs" 58 45 58 46+                                          , srcInfoPoints = []+                                          }+                                        (Ident+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan "tests/examples/Vta1.hs" 58 45 58 46+                                             , srcInfoPoints = []+                                             }+                                           "b"))+                                     (TyTuple+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/Vta1.hs" 58 50 58 56+                                          , srcInfoPoints =+                                              [ SrcSpan "tests/examples/Vta1.hs" 58 50 58 51+                                              , SrcSpan "tests/examples/Vta1.hs" 58 52 58 53+                                              , SrcSpan "tests/examples/Vta1.hs" 58 55 58 56+                                              ]+                                          }+                                        Boxed+                                        [ TyVar+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan "tests/examples/Vta1.hs" 58 51 58 52+                                              , srcInfoPoints = []+                                              }+                                            (Ident+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan "tests/examples/Vta1.hs" 58 51 58 52+                                                 , srcInfoPoints = []+                                                 }+                                               "a")+                                        , TyVar+                                            SrcSpanInfo+                                              { srcInfoSpan =+                                                  SrcSpan "tests/examples/Vta1.hs" 58 54 58 55+                                              , srcInfoPoints = []+                                              }+                                            (Ident+                                               SrcSpanInfo+                                                 { srcInfoSpan =+                                                     SrcSpan "tests/examples/Vta1.hs" 58 54 58 55+                                                 , srcInfoPoints = []+                                                 }+                                               "b")+                                        ]))))))+                      (TypeApp+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 58 58 62+                           , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 58 58 58 59 ]+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 59 58 62+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 59 58 62+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 59 58 62+                                    , srcInfoPoints = []+                                    }+                                  "Int")))))+                   (TypeApp+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 63 58 68+                        , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 58 63 58 64 ]+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 64 58 68+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 64 58 68+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 64 58 68+                                 , srcInfoPoints = []+                                 }+                               "Bool")))))+                (Con+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 69 58 73+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 69 58 73+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 69 58 73+                           , srcInfoPoints = []+                           }+                         "True")))))+          Nothing+      , PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 1 59 28+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 1 59 2+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 1 59 2+                  , srcInfoPoints = []+                  }+                "h"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 3 59 28+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 59 3 59 4 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 5 59 28+                  , srcInfoPoints = []+                  }+                (App+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 5 59 23+                     , srcInfoPoints = []+                     }+                   (App+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 5 59 17+                        , srcInfoPoints = []+                        }+                      (Var+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 5 59 12+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 5 59 12+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 5 59 12+                                 , srcInfoPoints = []+                                 }+                               "pairnum")))+                      (TypeApp+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 13 59 17+                           , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 59 13 59 14 ]+                           }+                         (TyCon+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 14 59 17+                              , srcInfoPoints = []+                              }+                            (UnQual+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 14 59 17+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 14 59 17+                                    , srcInfoPoints = []+                                    }+                                  "Int")))))+                   (TypeApp+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 18 59 23+                        , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 59 18 59 19 ]+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 19 59 23+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 19 59 23+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 19 59 23+                                 , srcInfoPoints = []+                                 }+                               "Bool")))))+                (Con+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 24 59 28+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 24 59 28+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 24 59 28+                           , srcInfoPoints = []+                           }+                         "True")))))+          Nothing+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 1 61 29+            , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 61 26 61 27 ]+            }+          (DataType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 1 61 5+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 6 61 25+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 6 61 11+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 6 61 11+                     , srcInfoPoints = []+                     }+                   "First"))+             (KindedVar+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 12 61 25+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/Vta1.hs" 61 12 61 13+                      , SrcSpan "tests/examples/Vta1.hs" 61 15 61 17+                      , SrcSpan "tests/examples/Vta1.hs" 61 24 61 25+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 13 61 14+                     , srcInfoPoints = []+                     }+                   "a")+                (TyFun+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 18 61 24+                     , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 61 20 61 22 ]+                     }+                   (TyStar+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 18 61 19+                        , srcInfoPoints = []+                        })+                   (TyStar+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 23 61 24+                        , srcInfoPoints = []+                        }))))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 28 61 29+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 28 61 29+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 28 61 29+                      , srcInfoPoints = []+                      }+                    "F")+                 [])+          ]+          []+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 1 62 24+            , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 62 21 62 22 ]+            }+          (DataType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 1 62 5+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 6 62 20+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 6 62 11+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 6 62 11+                     , srcInfoPoints = []+                     }+                   "Proxy"))+             (KindedVar+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 12 62 20+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/Vta1.hs" 62 12 62 13+                      , SrcSpan "tests/examples/Vta1.hs" 62 15 62 17+                      , SrcSpan "tests/examples/Vta1.hs" 62 19 62 20+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 13 62 14+                     , srcInfoPoints = []+                     }+                   "a")+                (TyVar+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 18 62 19+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 18 62 19+                        , srcInfoPoints = []+                        }+                      "k"))))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 23 62 24+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 23 62 24+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 23 62 24+                      , srcInfoPoints = []+                      }+                    "P")+                 [])+          ]+          []+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 1 63 34+            , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 63 31 63 32 ]+            }+          (DataType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 1 63 5+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 6 63 30+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 6 63 11+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 6 63 11+                     , srcInfoPoints = []+                     }+                   "Three"))+             (KindedVar+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 12 63 30+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/Vta1.hs" 63 12 63 13+                      , SrcSpan "tests/examples/Vta1.hs" 63 15 63 17+                      , SrcSpan "tests/examples/Vta1.hs" 63 29 63 30+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 13 63 14+                     , srcInfoPoints = []+                     }+                   "a")+                (TyFun+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 18 63 29+                     , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 63 20 63 22 ]+                     }+                   (TyStar+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 18 63 19+                        , srcInfoPoints = []+                        })+                   (TyFun+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 23 63 29+                        , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 63 25 63 27 ]+                        }+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 23 63 24+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 23 63 24+                              , srcInfoPoints = []+                              }+                            "k"))+                      (TyStar+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 28 63 29+                           , srcInfoPoints = []+                           })))))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 33 63 34+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 33 63 34+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 33 63 34+                      , srcInfoPoints = []+                      }+                    "T")+                 [])+          ]+          []+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 1 65 22+            , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 65 5 65 7 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 1 65 4+                , srcInfoPoints = []+                }+              "foo"+          ]+          (TyFun+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 8 65 22+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 65 16 65 18 ]+               }+             (TyApp+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 8 65 15+                  , srcInfoPoints = []+                  }+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 8 65 13+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 8 65 13+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 8 65 13+                           , srcInfoPoints = []+                           }+                         "Proxy")))+                (TyVar+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 14 65 15+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 14 65 15+                        , srcInfoPoints = []+                        }+                      "a")))+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 19 65 22+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 19 65 22+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 19 65 22+                        , srcInfoPoints = []+                        }+                      "Int"))))+      , FunBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 66 1 66 10+            , srcInfoPoints = []+            }+          [ Match+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 66 1 66 10+                , srcInfoPoints = []+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 66 1 66 4+                   , srcInfoPoints = []+                   }+                 "foo")+              [ PWildCard+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 66 5 66 6+                    , srcInfoPoints = []+                    }+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 66 7 66 10+                   , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 66 7 66 8 ]+                   }+                 (Lit+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 66 9 66 10+                      , srcInfoPoints = []+                      }+                    (Int+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 66 9 66 10+                         , srcInfoPoints = []+                         }+                       0+                       "0")))+              Nothing+          ]+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 1 68 24+            , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 68 7 68 9 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 1 68 6+                , srcInfoPoints = []+                }+              "first"+          ]+          (TyFun+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 10 68 24+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 68 18 68 20 ]+               }+             (TyApp+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 10 68 17+                  , srcInfoPoints = []+                  }+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 10 68 15+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 10 68 15+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 10 68 15+                           , srcInfoPoints = []+                           }+                         "First")))+                (TyVar+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 16 68 17+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 16 68 17+                        , srcInfoPoints = []+                        }+                      "a")))+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 21 68 24+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 21 68 24+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 21 68 24+                        , srcInfoPoints = []+                        }+                      "Int"))))+      , FunBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 69 1 69 12+            , srcInfoPoints = []+            }+          [ Match+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 69 1 69 12+                , srcInfoPoints = []+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 69 1 69 6+                   , srcInfoPoints = []+                   }+                 "first")+              [ PWildCard+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 69 7 69 8+                    , srcInfoPoints = []+                    }+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 69 9 69 12+                   , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 69 9 69 10 ]+                   }+                 (Lit+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 69 11 69 12+                      , srcInfoPoints = []+                      }+                    (Int+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 69 11 69 12+                         , srcInfoPoints = []+                         }+                       0+                       "0")))+              Nothing+          ]+      , PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 71 1 71 16+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 71 1 71 6+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 71 1 71 6+                  , srcInfoPoints = []+                  }+                "fTest"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 71 7 71 16+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 71 7 71 8 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 71 9 71 16+                  , srcInfoPoints = []+                  }+                (Var+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 71 9 71 14+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 71 9 71 14+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 71 9 71 14+                           , srcInfoPoints = []+                           }+                         "first")))+                (Con+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 71 15 71 16+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 71 15 71 16+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 71 15 71 16+                           , srcInfoPoints = []+                           }+                         "F")))))+          Nothing+      , PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 1 72 24+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 1 72 7+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 1 72 7+                  , srcInfoPoints = []+                  }+                "fMaybe"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 8 72 24+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 72 8 72 9 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 10 72 24+                  , srcInfoPoints = []+                  }+                (App+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 10 72 22+                     , srcInfoPoints = []+                     }+                   (Var+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 10 72 15+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 10 72 15+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 10 72 15+                              , srcInfoPoints = []+                              }+                            "first")))+                   (TypeApp+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 16 72 22+                        , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 72 16 72 17 ]+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 17 72 22+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 17 72 22+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 17 72 22+                                 , srcInfoPoints = []+                                 }+                               "Maybe")))))+                (Con+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 23 72 24+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 23 72 24+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 23 72 24+                           , srcInfoPoints = []+                           }+                         "F")))))+          Nothing+      , PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 74 1 74 13+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 74 1 74 5+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 74 1 74 5+                  , srcInfoPoints = []+                  }+                "test"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 74 6 74 13+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 74 6 74 7 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 74 8 74 13+                  , srcInfoPoints = []+                  }+                (Var+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 74 8 74 11+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 74 8 74 11+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 74 8 74 11+                           , srcInfoPoints = []+                           }+                         "foo")))+                (Con+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 74 12 74 13+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 74 12 74 13+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 74 12 74 13+                           , srcInfoPoints = []+                           }+                         "P")))))+          Nothing+      , PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 1 75 18+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 1 75 4+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 1 75 4+                  , srcInfoPoints = []+                  }+                "bar"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 5 75 18+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 75 5 75 6 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 7 75 18+                  , srcInfoPoints = []+                  }+                (App+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 7 75 16+                     , srcInfoPoints = []+                     }+                   (Var+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 7 75 10+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 7 75 10+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 7 75 10+                              , srcInfoPoints = []+                              }+                            "foo")))+                   (TypeApp+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 11 75 16+                        , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 75 11 75 12 ]+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 12 75 16+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 12 75 16+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 12 75 16+                                 , srcInfoPoints = []+                                 }+                               "Bool")))))+                (Con+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 17 75 18+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 17 75 18+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 17 75 18+                           , srcInfoPoints = []+                           }+                         "P")))))+          Nothing+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 1 77 22+            , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 77 5 77 7 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 1 77 4+                , srcInfoPoints = []+                }+              "too"+          ]+          (TyFun+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 8 77 22+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 77 16 77 18 ]+               }+             (TyApp+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 8 77 15+                  , srcInfoPoints = []+                  }+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 8 77 13+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 8 77 13+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 8 77 13+                           , srcInfoPoints = []+                           }+                         "Three")))+                (TyVar+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 14 77 15+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 14 77 15+                        , srcInfoPoints = []+                        }+                      "a")))+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 19 77 22+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 19 77 22+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 19 77 22+                        , srcInfoPoints = []+                        }+                      "Int"))))+      , FunBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 78 1 78 10+            , srcInfoPoints = []+            }+          [ Match+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 78 1 78 10+                , srcInfoPoints = []+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 78 1 78 4+                   , srcInfoPoints = []+                   }+                 "too")+              [ PWildCard+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 78 5 78 6+                    , srcInfoPoints = []+                    }+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 78 7 78 10+                   , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 78 7 78 8 ]+                   }+                 (Lit+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 78 9 78 10+                      , srcInfoPoints = []+                      }+                    (Int+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 78 9 78 10+                         , srcInfoPoints = []+                         }+                       3+                       "3")))+              Nothing+          ]+      , PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 80 1 80 18+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 80 1 80 10+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 80 1 80 10+                  , srcInfoPoints = []+                  }+                "threeBase"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 80 11 80 18+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 80 11 80 12 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 80 13 80 18+                  , srcInfoPoints = []+                  }+                (Var+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 80 13 80 16+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 80 13 80 16+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 80 13 80 16+                           , srcInfoPoints = []+                           }+                         "too")))+                (Con+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 80 17 80 18+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 80 17 80 18+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 80 17 80 18+                           , srcInfoPoints = []+                           }+                         "T")))))+          Nothing+      , PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 1 81 24+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 1 81 8+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 1 81 8+                  , srcInfoPoints = []+                  }+                "threeOk"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 9 81 24+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 81 9 81 10 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 11 81 24+                  , srcInfoPoints = []+                  }+                (App+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 11 81 22+                     , srcInfoPoints = []+                     }+                   (Var+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 11 81 14+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 11 81 14+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 11 81 14+                              , srcInfoPoints = []+                              }+                            "too")))+                   (TypeApp+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 15 81 22+                        , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 81 15 81 16 ]+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 16 81 22+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 16 81 22+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 16 81 22+                                 , srcInfoPoints = []+                                 }+                               "Either")))))+                (Con+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 23 81 24+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 23 81 24+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 23 81 24+                           , srcInfoPoints = []+                           }+                         "T")))))+          Nothing+      , PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 1 83 20+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 1 83 5+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 1 83 5+                  , srcInfoPoints = []+                  }+                "blah"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 6 83 20+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 83 6 83 7 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 8 83 20+                  , srcInfoPoints = []+                  }+                (Con+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 8 83 15+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 8 83 15+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 8 83 15+                           , srcInfoPoints = []+                           }+                         "Nothing")))+                (TypeApp+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 16 83 20+                     , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 83 16 83 17 ]+                     }+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 17 83 20+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 17 83 20+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 17 83 20+                              , srcInfoPoints = []+                              }+                            "Int"))))))+          Nothing+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 1 85 61+            , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 85 11 85 12 ]+            }+          (NewType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 1 85 8+               , srcInfoPoints = []+               })+          Nothing+          (DHead+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 9 85 10+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 9 85 10+                  , srcInfoPoints = []+                  }+                "N"))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 13 85 61+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/Vta1.hs" 85 17 85 18+                    , SrcSpan "tests/examples/Vta1.hs" 85 60 85 61+                    ]+                }+              Nothing+              Nothing+              (RecDecl+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 13 85 61+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/Vta1.hs" 85 17 85 18+                       , SrcSpan "tests/examples/Vta1.hs" 85 60 85 61+                       ]+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 13 85 16+                      , srcInfoPoints = []+                      }+                    "MkN")+                 [ FieldDecl+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 19 85 59+                       , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 85 25 85 27 ]+                       }+                     [ Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 19 85 24+                           , srcInfoPoints = []+                           }+                         "unMkN"+                     ]+                     (TyForall+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 28 85 59+                          , srcInfoPoints =+                              [ SrcSpan "tests/examples/Vta1.hs" 85 28 85 34+                              , SrcSpan "tests/examples/Vta1.hs" 85 36 85 37+                              ]+                          }+                        (Just+                           [ UnkindedVar+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 35 85 36+                                 , srcInfoPoints = []+                                 }+                               (Ident+                                  SrcSpanInfo+                                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 35 85 36+                                    , srcInfoPoints = []+                                    }+                                  "a")+                           ])+                        (Just+                           (CxSingle+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 38 85 47+                                , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 85 45 85 47 ]+                                }+                              (TypeA+                                 SrcSpanInfo+                                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 38 85 47+                                   , srcInfoPoints =+                                       [ SrcSpan "tests/examples/Vta1.hs" 85 45 85 47 ]+                                   }+                                 (TyApp+                                    SrcSpanInfo+                                      { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 38 85 47+                                      , srcInfoPoints =+                                          [ SrcSpan "tests/examples/Vta1.hs" 85 45 85 47 ]+                                      }+                                    (TyCon+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/Vta1.hs" 85 38 85 47+                                         , srcInfoPoints =+                                             [ SrcSpan "tests/examples/Vta1.hs" 85 45 85 47 ]+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/Vta1.hs" 85 38 85 42+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan "tests/examples/Vta1.hs" 85 38 85 42+                                               , srcInfoPoints = []+                                               }+                                             "Show")))+                                    (TyVar+                                       SrcSpanInfo+                                         { srcInfoSpan =+                                             SrcSpan "tests/examples/Vta1.hs" 85 43 85 44+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/Vta1.hs" 85 43 85 44+                                            , srcInfoPoints = []+                                            }+                                          "a"))))))+                        (TyFun+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 48 85 59+                             , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 85 50 85 52 ]+                             }+                           (TyVar+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 48 85 49+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 48 85 49+                                   , srcInfoPoints = []+                                   }+                                 "a"))+                           (TyCon+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 53 85 59+                                , srcInfoPoints = []+                                }+                              (UnQual+                                 SrcSpanInfo+                                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 53 85 59+                                   , srcInfoPoints = []+                                   }+                                 (Ident+                                    SrcSpanInfo+                                      { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 53 85 59+                                      , srcInfoPoints = []+                                      }+                                    "String")))))+                 ])+          ]+          []+      , PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 87 1 87 13+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 87 1 87 2+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 87 1 87 2+                  , srcInfoPoints = []+                  }+                "n"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 87 3 87 13+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 87 3 87 4 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 87 5 87 13+                  , srcInfoPoints = []+                  }+                (Con+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 87 5 87 8+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 87 5 87 8+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 87 5 87 8+                           , srcInfoPoints = []+                           }+                         "MkN")))+                (Var+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 87 9 87 13+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 87 9 87 13+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 87 9 87 13+                           , srcInfoPoints = []+                           }+                         "show")))))+          Nothing+      , PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 1 89 20+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 1 89 4+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 1 89 4+                  , srcInfoPoints = []+                  }+                "boo"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 5 89 20+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 89 5 89 6 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 7 89 20+                  , srcInfoPoints = []+                  }+                (App+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 7 89 14+                     , srcInfoPoints = []+                     }+                   (Var+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 7 89 12+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 7 89 12+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 7 89 12+                              , srcInfoPoints = []+                              }+                            "unMkN")))+                   (Var+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 13 89 14+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 13 89 14+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 13 89 14+                              , srcInfoPoints = []+                              }+                            "n"))))+                (TypeApp+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 15 89 20+                     , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 89 15 89 16 ]+                     }+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 16 89 20+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 16 89 20+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 16 89 20+                              , srcInfoPoints = []+                              }+                            "Bool"))))))+          Nothing+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 1 91 47+            , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 91 6 91 8 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 1 91 5+                , srcInfoPoints = []+                }+              "boo2"+          ]+          (TyForall+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 9 91 47+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/Vta1.hs" 91 9 91 15+                   , SrcSpan "tests/examples/Vta1.hs" 91 30 91 31+                   ]+               }+             (Just+                [ KindedVar+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 16 91 29+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/Vta1.hs" 91 16 91 17+                          , SrcSpan "tests/examples/Vta1.hs" 91 19 91 21+                          , SrcSpan "tests/examples/Vta1.hs" 91 28 91 29+                          ]+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 17 91 18+                         , srcInfoPoints = []+                         }+                       "a")+                    (TyFun+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 22 91 28+                         , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 91 24 91 26 ]+                         }+                       (TyStar+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 22 91 23+                            , srcInfoPoints = []+                            })+                       (TyStar+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 27 91 28+                            , srcInfoPoints = []+                            }))+                ])+             Nothing+             (TyFun+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 32 91 47+                  , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 91 40 91 42 ]+                  }+                (TyApp+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 32 91 39+                     , srcInfoPoints = []+                     }+                   (TyCon+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 32 91 37+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 32 91 37+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 32 91 37+                              , srcInfoPoints = []+                              }+                            "Proxy")))+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 38 91 39+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 38 91 39+                           , srcInfoPoints = []+                           }+                         "a")))+                (TyCon+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 43 91 47+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 43 91 47+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 43 91 47+                           , srcInfoPoints = []+                           }+                         "Bool")))))+      , FunBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 92 1 92 15+            , srcInfoPoints = []+            }+          [ Match+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 92 1 92 15+                , srcInfoPoints = []+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 92 1 92 5+                   , srcInfoPoints = []+                   }+                 "boo2")+              [ PWildCard+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 92 6 92 7+                    , srcInfoPoints = []+                    }+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 92 8 92 15+                   , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 92 8 92 9 ]+                   }+                 (Con+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 92 10 92 15+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 92 10 92 15+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 92 10 92 15+                            , srcInfoPoints = []+                            }+                          "False"))))+              Nothing+          ]+      , PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 94 1 94 14+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 94 1 94 5+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 94 1 94 5+                  , srcInfoPoints = []+                  }+                "base"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 94 6 94 14+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 94 6 94 7 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 94 8 94 14+                  , srcInfoPoints = []+                  }+                (Var+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 94 8 94 12+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 94 8 94 12+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 94 8 94 12+                           , srcInfoPoints = []+                           }+                         "boo2")))+                (Con+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 94 13 94 14+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 94 13 94 14+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 94 13 94 14+                           , srcInfoPoints = []+                           }+                         "P")))))+          Nothing+      , PatBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 1 95 20+            , srcInfoPoints = []+            }+          (PVar+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 1 95 5+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 1 95 5+                  , srcInfoPoints = []+                  }+                "bar'"))+          (UnGuardedRhs+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 5 95 20+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 95 5 95 6 ]+               }+             (App+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 7 95 20+                  , srcInfoPoints = []+                  }+                (App+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 7 95 18+                     , srcInfoPoints = []+                     }+                   (Var+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 7 95 11+                        , srcInfoPoints = []+                        }+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 7 95 11+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 7 95 11+                              , srcInfoPoints = []+                              }+                            "boo2")))+                   (TypeApp+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 12 95 18+                        , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 95 12 95 13 ]+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 13 95 18+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 13 95 18+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 13 95 18+                                 , srcInfoPoints = []+                                 }+                               "Maybe")))))+                (Con+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 19 95 20+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 19 95 20+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 19 95 20+                           , srcInfoPoints = []+                           }+                         "P")))))+          Nothing+      ]+  , [ Comment+        False+        (SrcSpan "tests/examples/Vta1.hs" 4 1 4 40)+        " tests about visible type application"+    , Comment False (SrcSpan "tests/examples/Vta1.hs" 18 44 18 46) ""+    , Comment+        False+        (SrcSpan "tests/examples/Vta1.hs" 19 1 19 29)+        " (False, 7) :: (Bool, Int)"+    , Comment+        False+        (SrcSpan "tests/examples/Vta1.hs" 21 36 21 52)+        " \"3\" :: String"+    , Comment+        False+        (SrcSpan "tests/examples/Vta1.hs" 22 40 22 56)+        " \"5\" :: String"+    , Comment+        False+        (SrcSpan "tests/examples/Vta1.hs" 23 45 23 61)+        " \"7\" :: String"+    , Comment+        False+        (SrcSpan "tests/examples/Vta1.hs" 29 40 29 67)+        " (5, True) :: (Int, Bool)"+    , Comment+        False+        (SrcSpan "tests/examples/Vta1.hs" 30 36 30 68)+        " (1, \"hello\") :: (Int, String)"+    , Comment+        False+        (SrcSpan "tests/examples/Vta1.hs" 31 36 31 51)+        " [7] :: [Int]"+    , Comment+        False+        (SrcSpan "tests/examples/Vta1.hs" 62 25 62 77)+        " This expands to P (kind variable) (type variable)"+    , Comment+        False (SrcSpan "tests/examples/Vta1.hs" 75 19 75 33) " should work"+    , Comment+        False (SrcSpan "tests/examples/Vta1.hs" 95 21 95 35) " should work"+    ]+  )
+ tests/examples/Vta1.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Vta1.hs.prettyprinter.golden view
@@ -0,0 +1,79 @@+{-# LANGUAGE TypeApplications, ScopedTypeVariables, PolyKinds,+  TypeFamilies, RankNTypes, FlexibleContexts #-}+module Vta1 where++quad :: a -> b -> c -> d -> (a, b, c, d)+quad = (,,,)+silly = quad @_ @Bool @Char @_ 5 True 'a' "Hello"+pairup_nosig x y = (x, y)++pairup_sig :: a -> b -> (a, b)+pairup_sig u w = (u, w)+answer_sig = pairup_sig @Bool @Int False 7+answer_read = show (read @Int "3")+answer_show = show @Integer (read "5")+answer_showread = show @Int (read @Int "7")+intcons a = (:) @Int a+intpair x y = pairup_sig @Int x y+answer_pairup = pairup_sig @Int 5 True+answer_intpair = intpair 1 "hello"+answer_intcons = intcons 7 []++type family F a++type instance F Char = Bool++g :: F a -> a+g _ = undefined++f :: Char+f = g True+answer = g @Char False++mapSame :: forall b . (forall a . a -> a) -> [b] -> [b]+mapSame _ [] = []+mapSame fun (x : xs) = fun @b x : (mapSame @b fun xs)++pair :: forall a . a -> (forall b . b -> (a, b))+pair x y = (x, y)+b = pair @Int 3 @Bool True+c = mapSame id [1, 2, 3]+d = pair 3 @Bool True++pairnum :: forall a . Num a => forall b . b -> (a, b)+pairnum = pair 3+e = (pair 3 :: forall a . Num a => forall b . b -> (a, b)) @Int+      @Bool+      True+h = pairnum @Int @Bool True++data First (a :: * -> *) = F++data Proxy (a :: k) = P++data Three (a :: * -> k -> *) = T++foo :: Proxy a -> Int+foo _ = 0++first :: First a -> Int+first _ = 0+fTest = first F+fMaybe = first @Maybe F+test = foo P+bar = foo @Bool P++too :: Three a -> Int+too _ = 3+threeBase = too T+threeOk = too @Either T+blah = Nothing @Int++newtype N = MkN{unMkN :: forall a . Show a => a -> String}+n = MkN show+boo = unMkN n @Bool++boo2 :: forall (a :: * -> *) . Proxy a -> Bool+boo2 _ = False+base = boo2 P+bar' = boo2 @Maybe P
+ tests/examples/Vta2.hs view
@@ -0,0 +1,14 @@+{-# LANGUAGE RankNTypes, TypeApplications #-}+++module Vta2 where++checkIf :: Bool -> (forall a. a -> a) -> (Bool, Int)+checkIf _ = if True+            then \f -> (f True, f 5)+            else \f -> (f False, f @Int 3)++checkCase :: Bool -> (forall a. a -> a) -> (Bool, Int)+checkCase _ = case True of+                True -> \f -> (f True, f 5)+                False -> \f -> (f False, f @Int 3)
+ tests/examples/Vta2.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Vta2.hs.parser.golden view
@@ -0,0 +1,992 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 1 1 15 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/Vta2.hs" 1 1 1 1+            , SrcSpan "tests/examples/Vta2.hs" 4 1 4 1+            , SrcSpan "tests/examples/Vta2.hs" 4 1 4 1+            , SrcSpan "tests/examples/Vta2.hs" 6 1 6 1+            , SrcSpan "tests/examples/Vta2.hs" 7 1 7 1+            , SrcSpan "tests/examples/Vta2.hs" 11 1 11 1+            , SrcSpan "tests/examples/Vta2.hs" 12 1 12 1+            , SrcSpan "tests/examples/Vta2.hs" 15 1 15 1+            , SrcSpan "tests/examples/Vta2.hs" 15 1 15 1+            ]+        }+      (Just+         (ModuleHead+            SrcSpanInfo+              { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 4 1 4 18+              , srcInfoPoints =+                  [ SrcSpan "tests/examples/Vta2.hs" 4 1 4 7+                  , SrcSpan "tests/examples/Vta2.hs" 4 13 4 18+                  ]+              }+            (ModuleName+               SrcSpanInfo+                 { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 4 8 4 12+                 , srcInfoPoints = []+                 }+               "Vta2")+            Nothing+            Nothing))+      [ LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 1 1 1 46+            , srcInfoPoints =+                [ SrcSpan "tests/examples/Vta2.hs" 1 1 1 13+                , SrcSpan "tests/examples/Vta2.hs" 1 24 1 25+                , SrcSpan "tests/examples/Vta2.hs" 1 43 1 46+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 1 14 1 24+                , srcInfoPoints = []+                }+              "RankNTypes"+          , Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 1 26 1 42+                , srcInfoPoints = []+                }+              "TypeApplications"+          ]+      ]+      []+      [ TypeSig+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 1 6 53+            , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 6 9 6 11 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 1 6 8+                , srcInfoPoints = []+                }+              "checkIf"+          ]+          (TyFun+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 12 6 53+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 6 17 6 19 ]+               }+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 12 6 16+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 12 6 16+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 12 6 16+                        , srcInfoPoints = []+                        }+                      "Bool")))+             (TyFun+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 20 6 53+                  , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 6 39 6 41 ]+                  }+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 20 6 38+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/Vta2.hs" 6 20 6 21+                         , SrcSpan "tests/examples/Vta2.hs" 6 37 6 38+                         ]+                     }+                   (TyForall+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 21 6 37+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/Vta2.hs" 6 21 6 27+                            , SrcSpan "tests/examples/Vta2.hs" 6 29 6 30+                            ]+                        }+                      (Just+                         [ UnkindedVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 28 6 29+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 28 6 29+                                  , srcInfoPoints = []+                                  }+                                "a")+                         ])+                      Nothing+                      (TyFun+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 31 6 37+                           , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 6 33 6 35 ]+                           }+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 31 6 32+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 31 6 32+                                 , srcInfoPoints = []+                                 }+                               "a"))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 36 6 37+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 36 6 37+                                 , srcInfoPoints = []+                                 }+                               "a")))))+                (TyTuple+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 42 6 53+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/Vta2.hs" 6 42 6 43+                         , SrcSpan "tests/examples/Vta2.hs" 6 47 6 48+                         , SrcSpan "tests/examples/Vta2.hs" 6 52 6 53+                         ]+                     }+                   Boxed+                   [ TyCon+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 43 6 47+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 43 6 47+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 43 6 47+                               , srcInfoPoints = []+                               }+                             "Bool"))+                   , TyCon+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 49 6 52+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 49 6 52+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 49 6 52+                               , srcInfoPoints = []+                               }+                             "Int"))+                   ])))+      , FunBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 7 1 9 43+            , srcInfoPoints = []+            }+          [ Match+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 7 1 9 43+                , srcInfoPoints = []+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 7 1 7 8+                   , srcInfoPoints = []+                   }+                 "checkIf")+              [ PWildCard+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 7 9 7 10+                    , srcInfoPoints = []+                    }+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 7 11 9 43+                   , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 7 11 7 12 ]+                   }+                 (If+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 7 13 9 43+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/Vta2.hs" 7 13 7 15+                          , SrcSpan "tests/examples/Vta2.hs" 8 13 8 17+                          , SrcSpan "tests/examples/Vta2.hs" 9 13 9 17+                          ]+                      }+                    (Con+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 7 16 7 20+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 7 16 7 20+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 7 16 7 20+                               , srcInfoPoints = []+                               }+                             "True")))+                    (Lambda+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 18 8 37+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/Vta2.hs" 8 18 8 19+                             , SrcSpan "tests/examples/Vta2.hs" 8 21 8 23+                             ]+                         }+                       [ PVar+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 19 8 20+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 19 8 20+                                , srcInfoPoints = []+                                }+                              "f")+                       ]+                       (Tuple+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 24 8 37+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/Vta2.hs" 8 24 8 25+                                , SrcSpan "tests/examples/Vta2.hs" 8 31 8 32+                                , SrcSpan "tests/examples/Vta2.hs" 8 36 8 37+                                ]+                            }+                          Boxed+                          [ App+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 25 8 31+                                , srcInfoPoints = []+                                }+                              (Var+                                 SrcSpanInfo+                                   { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 25 8 26+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 25 8 26+                                      , srcInfoPoints = []+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 25 8 26+                                         , srcInfoPoints = []+                                         }+                                       "f")))+                              (Con+                                 SrcSpanInfo+                                   { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 27 8 31+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 27 8 31+                                      , srcInfoPoints = []+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 27 8 31+                                         , srcInfoPoints = []+                                         }+                                       "True")))+                          , App+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 33 8 36+                                , srcInfoPoints = []+                                }+                              (Var+                                 SrcSpanInfo+                                   { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 33 8 34+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 33 8 34+                                      , srcInfoPoints = []+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 33 8 34+                                         , srcInfoPoints = []+                                         }+                                       "f")))+                              (Lit+                                 SrcSpanInfo+                                   { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 35 8 36+                                   , srcInfoPoints = []+                                   }+                                 (Int+                                    SrcSpanInfo+                                      { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 35 8 36+                                      , srcInfoPoints = []+                                      }+                                    5+                                    "5"))+                          ]))+                    (Lambda+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 18 9 43+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/Vta2.hs" 9 18 9 19+                             , SrcSpan "tests/examples/Vta2.hs" 9 21 9 23+                             ]+                         }+                       [ PVar+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 19 9 20+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 19 9 20+                                , srcInfoPoints = []+                                }+                              "f")+                       ]+                       (Tuple+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 24 9 43+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/Vta2.hs" 9 24 9 25+                                , SrcSpan "tests/examples/Vta2.hs" 9 32 9 33+                                , SrcSpan "tests/examples/Vta2.hs" 9 42 9 43+                                ]+                            }+                          Boxed+                          [ App+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 25 9 32+                                , srcInfoPoints = []+                                }+                              (Var+                                 SrcSpanInfo+                                   { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 25 9 26+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 25 9 26+                                      , srcInfoPoints = []+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 25 9 26+                                         , srcInfoPoints = []+                                         }+                                       "f")))+                              (Con+                                 SrcSpanInfo+                                   { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 27 9 32+                                   , srcInfoPoints = []+                                   }+                                 (UnQual+                                    SrcSpanInfo+                                      { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 27 9 32+                                      , srcInfoPoints = []+                                      }+                                    (Ident+                                       SrcSpanInfo+                                         { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 27 9 32+                                         , srcInfoPoints = []+                                         }+                                       "False")))+                          , App+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 34 9 42+                                , srcInfoPoints = []+                                }+                              (App+                                 SrcSpanInfo+                                   { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 34 9 40+                                   , srcInfoPoints = []+                                   }+                                 (Var+                                    SrcSpanInfo+                                      { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 34 9 35+                                      , srcInfoPoints = []+                                      }+                                    (UnQual+                                       SrcSpanInfo+                                         { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 34 9 35+                                         , srcInfoPoints = []+                                         }+                                       (Ident+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/Vta2.hs" 9 34 9 35+                                            , srcInfoPoints = []+                                            }+                                          "f")))+                                 (TypeApp+                                    SrcSpanInfo+                                      { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 36 9 40+                                      , srcInfoPoints =+                                          [ SrcSpan "tests/examples/Vta2.hs" 9 36 9 37 ]+                                      }+                                    (TyCon+                                       SrcSpanInfo+                                         { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 37 9 40+                                         , srcInfoPoints = []+                                         }+                                       (UnQual+                                          SrcSpanInfo+                                            { srcInfoSpan =+                                                SrcSpan "tests/examples/Vta2.hs" 9 37 9 40+                                            , srcInfoPoints = []+                                            }+                                          (Ident+                                             SrcSpanInfo+                                               { srcInfoSpan =+                                                   SrcSpan "tests/examples/Vta2.hs" 9 37 9 40+                                               , srcInfoPoints = []+                                               }+                                             "Int")))))+                              (Lit+                                 SrcSpanInfo+                                   { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 41 9 42+                                   , srcInfoPoints = []+                                   }+                                 (Int+                                    SrcSpanInfo+                                      { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 41 9 42+                                      , srcInfoPoints = []+                                      }+                                    3+                                    "3"))+                          ]))))+              Nothing+          ]+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 1 11 55+            , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 11 11 11 13 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 1 11 10+                , srcInfoPoints = []+                }+              "checkCase"+          ]+          (TyFun+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 14 11 55+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 11 19 11 21 ]+               }+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 14 11 18+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 14 11 18+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 14 11 18+                        , srcInfoPoints = []+                        }+                      "Bool")))+             (TyFun+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 22 11 55+                  , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 11 41 11 43 ]+                  }+                (TyParen+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 22 11 40+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/Vta2.hs" 11 22 11 23+                         , SrcSpan "tests/examples/Vta2.hs" 11 39 11 40+                         ]+                     }+                   (TyForall+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 23 11 39+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/Vta2.hs" 11 23 11 29+                            , SrcSpan "tests/examples/Vta2.hs" 11 31 11 32+                            ]+                        }+                      (Just+                         [ UnkindedVar+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 30 11 31+                               , srcInfoPoints = []+                               }+                             (Ident+                                SrcSpanInfo+                                  { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 30 11 31+                                  , srcInfoPoints = []+                                  }+                                "a")+                         ])+                      Nothing+                      (TyFun+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 33 11 39+                           , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 11 35 11 37 ]+                           }+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 33 11 34+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 33 11 34+                                 , srcInfoPoints = []+                                 }+                               "a"))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 38 11 39+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 38 11 39+                                 , srcInfoPoints = []+                                 }+                               "a")))))+                (TyTuple+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 44 11 55+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/Vta2.hs" 11 44 11 45+                         , SrcSpan "tests/examples/Vta2.hs" 11 49 11 50+                         , SrcSpan "tests/examples/Vta2.hs" 11 54 11 55+                         ]+                     }+                   Boxed+                   [ TyCon+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 45 11 49+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 45 11 49+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 45 11 49+                               , srcInfoPoints = []+                               }+                             "Bool"))+                   , TyCon+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 51 11 54+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 51 11 54+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 51 11 54+                               , srcInfoPoints = []+                               }+                             "Int"))+                   ])))+      , FunBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 12 1 14 51+            , srcInfoPoints = []+            }+          [ Match+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 12 1 14 51+                , srcInfoPoints = []+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 12 1 12 10+                   , srcInfoPoints = []+                   }+                 "checkCase")+              [ PWildCard+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 12 11 12 12+                    , srcInfoPoints = []+                    }+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 12 13 14 51+                   , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 12 13 12 14 ]+                   }+                 (Case+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 12 15 14 51+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/Vta2.hs" 12 15 12 19+                          , SrcSpan "tests/examples/Vta2.hs" 12 25 12 27+                          , SrcSpan "tests/examples/Vta2.hs" 13 17 13 17+                          , SrcSpan "tests/examples/Vta2.hs" 14 17 14 17+                          , SrcSpan "tests/examples/Vta2.hs" 15 1 15 0+                          ]+                      }+                    (Con+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 12 20 12 24+                         , srcInfoPoints = []+                         }+                       (UnQual+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 12 20 12 24+                            , srcInfoPoints = []+                            }+                          (Ident+                             SrcSpanInfo+                               { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 12 20 12 24+                               , srcInfoPoints = []+                               }+                             "True")))+                    [ Alt+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 13 17 13 44+                          , srcInfoPoints = []+                          }+                        (PApp+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 13 17 13 21+                             , srcInfoPoints = []+                             }+                           (UnQual+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 13 17 13 21+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 13 17 13 21+                                   , srcInfoPoints = []+                                   }+                                 "True"))+                           [])+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 13 22 13 44+                             , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 13 22 13 24 ]+                             }+                           (Lambda+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 13 25 13 44+                                , srcInfoPoints =+                                    [ SrcSpan "tests/examples/Vta2.hs" 13 25 13 26+                                    , SrcSpan "tests/examples/Vta2.hs" 13 28 13 30+                                    ]+                                }+                              [ PVar+                                  SrcSpanInfo+                                    { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 13 26 13 27+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 13 26 13 27+                                       , srcInfoPoints = []+                                       }+                                     "f")+                              ]+                              (Tuple+                                 SrcSpanInfo+                                   { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 13 31 13 44+                                   , srcInfoPoints =+                                       [ SrcSpan "tests/examples/Vta2.hs" 13 31 13 32+                                       , SrcSpan "tests/examples/Vta2.hs" 13 38 13 39+                                       , SrcSpan "tests/examples/Vta2.hs" 13 43 13 44+                                       ]+                                   }+                                 Boxed+                                 [ App+                                     SrcSpanInfo+                                       { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 13 32 13 38+                                       , srcInfoPoints = []+                                       }+                                     (Var+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/Vta2.hs" 13 32 13 33+                                          , srcInfoPoints = []+                                          }+                                        (UnQual+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan "tests/examples/Vta2.hs" 13 32 13 33+                                             , srcInfoPoints = []+                                             }+                                           (Ident+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan "tests/examples/Vta2.hs" 13 32 13 33+                                                , srcInfoPoints = []+                                                }+                                              "f")))+                                     (Con+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/Vta2.hs" 13 34 13 38+                                          , srcInfoPoints = []+                                          }+                                        (UnQual+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan "tests/examples/Vta2.hs" 13 34 13 38+                                             , srcInfoPoints = []+                                             }+                                           (Ident+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan "tests/examples/Vta2.hs" 13 34 13 38+                                                , srcInfoPoints = []+                                                }+                                              "True")))+                                 , App+                                     SrcSpanInfo+                                       { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 13 40 13 43+                                       , srcInfoPoints = []+                                       }+                                     (Var+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/Vta2.hs" 13 40 13 41+                                          , srcInfoPoints = []+                                          }+                                        (UnQual+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan "tests/examples/Vta2.hs" 13 40 13 41+                                             , srcInfoPoints = []+                                             }+                                           (Ident+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan "tests/examples/Vta2.hs" 13 40 13 41+                                                , srcInfoPoints = []+                                                }+                                              "f")))+                                     (Lit+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/Vta2.hs" 13 42 13 43+                                          , srcInfoPoints = []+                                          }+                                        (Int+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan "tests/examples/Vta2.hs" 13 42 13 43+                                             , srcInfoPoints = []+                                             }+                                           5+                                           "5"))+                                 ])))+                        Nothing+                    , Alt+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 14 17 14 51+                          , srcInfoPoints = []+                          }+                        (PApp+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 14 17 14 22+                             , srcInfoPoints = []+                             }+                           (UnQual+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 14 17 14 22+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 14 17 14 22+                                   , srcInfoPoints = []+                                   }+                                 "False"))+                           [])+                        (UnGuardedRhs+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 14 23 14 51+                             , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 14 23 14 25 ]+                             }+                           (Lambda+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 14 26 14 51+                                , srcInfoPoints =+                                    [ SrcSpan "tests/examples/Vta2.hs" 14 26 14 27+                                    , SrcSpan "tests/examples/Vta2.hs" 14 29 14 31+                                    ]+                                }+                              [ PVar+                                  SrcSpanInfo+                                    { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 14 27 14 28+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 14 27 14 28+                                       , srcInfoPoints = []+                                       }+                                     "f")+                              ]+                              (Tuple+                                 SrcSpanInfo+                                   { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 14 32 14 51+                                   , srcInfoPoints =+                                       [ SrcSpan "tests/examples/Vta2.hs" 14 32 14 33+                                       , SrcSpan "tests/examples/Vta2.hs" 14 40 14 41+                                       , SrcSpan "tests/examples/Vta2.hs" 14 50 14 51+                                       ]+                                   }+                                 Boxed+                                 [ App+                                     SrcSpanInfo+                                       { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 14 33 14 40+                                       , srcInfoPoints = []+                                       }+                                     (Var+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/Vta2.hs" 14 33 14 34+                                          , srcInfoPoints = []+                                          }+                                        (UnQual+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan "tests/examples/Vta2.hs" 14 33 14 34+                                             , srcInfoPoints = []+                                             }+                                           (Ident+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan "tests/examples/Vta2.hs" 14 33 14 34+                                                , srcInfoPoints = []+                                                }+                                              "f")))+                                     (Con+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/Vta2.hs" 14 35 14 40+                                          , srcInfoPoints = []+                                          }+                                        (UnQual+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan "tests/examples/Vta2.hs" 14 35 14 40+                                             , srcInfoPoints = []+                                             }+                                           (Ident+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan "tests/examples/Vta2.hs" 14 35 14 40+                                                , srcInfoPoints = []+                                                }+                                              "False")))+                                 , App+                                     SrcSpanInfo+                                       { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 14 42 14 50+                                       , srcInfoPoints = []+                                       }+                                     (App+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/Vta2.hs" 14 42 14 48+                                          , srcInfoPoints = []+                                          }+                                        (Var+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan "tests/examples/Vta2.hs" 14 42 14 43+                                             , srcInfoPoints = []+                                             }+                                           (UnQual+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan "tests/examples/Vta2.hs" 14 42 14 43+                                                , srcInfoPoints = []+                                                }+                                              (Ident+                                                 SrcSpanInfo+                                                   { srcInfoSpan =+                                                       SrcSpan "tests/examples/Vta2.hs" 14 42 14 43+                                                   , srcInfoPoints = []+                                                   }+                                                 "f")))+                                        (TypeApp+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan "tests/examples/Vta2.hs" 14 44 14 48+                                             , srcInfoPoints =+                                                 [ SrcSpan "tests/examples/Vta2.hs" 14 44 14 45 ]+                                             }+                                           (TyCon+                                              SrcSpanInfo+                                                { srcInfoSpan =+                                                    SrcSpan "tests/examples/Vta2.hs" 14 45 14 48+                                                , srcInfoPoints = []+                                                }+                                              (UnQual+                                                 SrcSpanInfo+                                                   { srcInfoSpan =+                                                       SrcSpan "tests/examples/Vta2.hs" 14 45 14 48+                                                   , srcInfoPoints = []+                                                   }+                                                 (Ident+                                                    SrcSpanInfo+                                                      { srcInfoSpan =+                                                          SrcSpan+                                                            "tests/examples/Vta2.hs" 14 45 14 48+                                                      , srcInfoPoints = []+                                                      }+                                                    "Int")))))+                                     (Lit+                                        SrcSpanInfo+                                          { srcInfoSpan =+                                              SrcSpan "tests/examples/Vta2.hs" 14 49 14 50+                                          , srcInfoPoints = []+                                          }+                                        (Int+                                           SrcSpanInfo+                                             { srcInfoSpan =+                                                 SrcSpan "tests/examples/Vta2.hs" 14 49 14 50+                                             , srcInfoPoints = []+                                             }+                                           3+                                           "3"))+                                 ])))+                        Nothing+                    ]))+              Nothing+          ]+      ]+  , []+  )
+ tests/examples/Vta2.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Vta2.hs.prettyprinter.golden view
@@ -0,0 +1,12 @@+{-# LANGUAGE RankNTypes, TypeApplications #-}+module Vta2 where++checkIf :: Bool -> (forall a . a -> a) -> (Bool, Int)+checkIf _+  = if True then \ f -> (f True, f 5) else \ f -> (f False, f @Int 3)++checkCase :: Bool -> (forall a . a -> a) -> (Bool, Int)+checkCase _+  = case True of+        True -> \ f -> (f True, f 5)+        False -> \ f -> (f False, f @Int 3)
tests/examples/WhereBlock.hs.prettyprinter.golden view
@@ -1,4 +1,3 @@-module Main (main) where hash ptr len = f len   where f h = return h         f p = (p `advancePtr` 1)
+ tests/examples/WildcardTyFam.hs view
@@ -0,0 +1,4 @@+{-# LANGUAGE TypeFamilies #-}++type family Foo a where+  Foo _ = Int
+ tests/examples/WildcardTyFam.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/WildcardTyFam.hs.parser.golden view
@@ -0,0 +1,122 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 1 1 5 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/WildcardTyFam.hs" 1 1 1 1+            , SrcSpan "tests/examples/WildcardTyFam.hs" 3 1 3 1+            , SrcSpan "tests/examples/WildcardTyFam.hs" 3 1 3 1+            , SrcSpan "tests/examples/WildcardTyFam.hs" 3 1 3 1+            , SrcSpan "tests/examples/WildcardTyFam.hs" 5 1 5 1+            , SrcSpan "tests/examples/WildcardTyFam.hs" 5 1 5 1+            ]+        }+      Nothing+      [ LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 1 1 1 30+            , srcInfoPoints =+                [ SrcSpan "tests/examples/WildcardTyFam.hs" 1 1 1 13+                , SrcSpan "tests/examples/WildcardTyFam.hs" 1 27 1 30+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 1 14 1 26+                , srcInfoPoints = []+                }+              "TypeFamilies"+          ]+      ]+      []+      [ ClosedTypeFamDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 3 1 3 18+            , srcInfoPoints =+                [ SrcSpan "tests/examples/WildcardTyFam.hs" 3 1 3 5+                , SrcSpan "tests/examples/WildcardTyFam.hs" 3 6 3 12+                , SrcSpan "tests/examples/WildcardTyFam.hs" 3 19 3 24+                ]+            }+          (DHApp+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 3 13 3 18+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 3 13 3 16+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 3 13 3 16+                     , srcInfoPoints = []+                     }+                   "Foo"))+             (UnkindedVar+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 3 17 3 18+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 3 17 3 18+                     , srcInfoPoints = []+                     }+                   "a")))+          Nothing+          Nothing+          [ TypeEqn+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 4 3 4 14+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/WildcardTyFam.hs" 4 9 4 10 ]+                }+              (TyApp+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 4 3 4 8+                   , srcInfoPoints = []+                   }+                 (TyCon+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 4 3 4 6+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 4 3 4 6+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 4 3 4 6+                            , srcInfoPoints = []+                            }+                          "Foo")))+                 (TyWildCard+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 4 7 4 8+                      , srcInfoPoints = []+                      }+                    Nothing))+              (TyCon+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 4 11 4 14+                   , srcInfoPoints = []+                   }+                 (UnQual+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 4 11 4 14+                      , srcInfoPoints = []+                      }+                    (Ident+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 4 11 4 14+                         , srcInfoPoints = []+                         }+                       "Int")))+          ]+      ]+  , []+  )
+ tests/examples/WildcardTyFam.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/WildcardTyFam.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+{-# LANGUAGE TypeFamilies #-}++type family Foo a where+        Foo _ = Int
+ tests/examples/brackets.hs view
@@ -0,0 +1,44 @@+{-# LANGUAGE Arrows          #-}+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE UnicodeSyntax   #-}++-- See Trac #10162 and #11743 for details++module ShouldCompile where++import Control.Arrow+import Language.Haskell.TH++handle :: ArrowPlus a => a (b,s) c -> a (b,(String,s)) c -> a (b,s) c+handle f h = proc (b,s) -> (f -< (b,s)) <+> (h -< (b,("FAIL",s)))++f :: ArrowPlus a => a (Int,Int) String+f = proc (x,y) ->+  ⦇handle+    (returnA -< show y)+    (\s -> returnA -< s ++ show x)+  ⦈++g :: ArrowPlus a => a (Int,Int) String+g = proc (x,y) ->+  ⦇handle+    (\msg -> returnA -< msg ++ show y)+    (\s msg -> returnA -< s ++ show x)+  ⦈ ("hello " ++ show x)++h :: ArrowPlus a => a (Int,Int) Int+h = proc (x,y) ->+  (+    (\z -> returnA -< x + z)+    <+>+    (\z -> returnA -< y + z)+  ) (x*y)+++matches :: PatQ -> ExpQ+matches pat = ⟦\x ->+  case x of+    $pat -> True+    _    -> False+  ⟧+
+ tests/examples/brackets.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/brackets.hs" 17 3) "Parse error: \10631"
+ tests/examples/brackets.hs.parser.golden view
@@ -0,0 +1,2 @@+ParseFailed+  (SrcLoc "tests/examples/brackets.hs" 17 3) "Parse error: \10631"
+ tests/examples/brackets.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/brackets.hs" 17 3) "Parse error: \10631"
+ tests/examples/brackets.hs.prettyprinter.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/brackets.hs" 17 3) "Parse error: \10631"
+ tests/examples/completesig01.hs view
@@ -0,0 +1,23 @@+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -Wall #-}+module Simple where++pattern Foo :: ()+pattern Foo = ()++a :: () -> ()+a Foo = ()++data A = B | C | D++{-# COMPLETE Foo #-}+{-# COMPLETE B,C #-}+{-# COMPLETE B #-}++b :: A -> A+b B = B+b C = C++{-# COMPLETE Foo :: () #-}+
+ tests/examples/completesig01.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/completesig01.hs.parser.golden view
@@ -0,0 +1,681 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 1 1 24 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/completesig01.hs" 1 1 1 1+            , SrcSpan "tests/examples/completesig01.hs" 2 1 2 1+            , SrcSpan "tests/examples/completesig01.hs" 3 1 3 1+            , SrcSpan "tests/examples/completesig01.hs" 4 1 4 1+            , SrcSpan "tests/examples/completesig01.hs" 4 1 4 1+            , SrcSpan "tests/examples/completesig01.hs" 6 1 6 1+            , SrcSpan "tests/examples/completesig01.hs" 7 1 7 1+            , SrcSpan "tests/examples/completesig01.hs" 9 1 9 1+            , SrcSpan "tests/examples/completesig01.hs" 10 1 10 1+            , SrcSpan "tests/examples/completesig01.hs" 12 1 12 1+            , SrcSpan "tests/examples/completesig01.hs" 14 1 14 1+            , SrcSpan "tests/examples/completesig01.hs" 15 1 15 1+            , SrcSpan "tests/examples/completesig01.hs" 16 1 16 1+            , SrcSpan "tests/examples/completesig01.hs" 18 1 18 1+            , SrcSpan "tests/examples/completesig01.hs" 19 1 19 1+            , SrcSpan "tests/examples/completesig01.hs" 20 1 20 1+            , SrcSpan "tests/examples/completesig01.hs" 22 1 22 1+            , SrcSpan "tests/examples/completesig01.hs" 24 1 24 1+            , SrcSpan "tests/examples/completesig01.hs" 24 1 24 1+            ]+        }+      (Just+         (ModuleHead+            SrcSpanInfo+              { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 4 1 4 20+              , srcInfoPoints =+                  [ SrcSpan "tests/examples/completesig01.hs" 4 1 4 7+                  , SrcSpan "tests/examples/completesig01.hs" 4 15 4 20+                  ]+              }+            (ModuleName+               SrcSpanInfo+                 { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 4 8 4 14+                 , srcInfoPoints = []+                 }+               "Simple")+            Nothing+            Nothing))+      [ LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 1 1 1 33+            , srcInfoPoints =+                [ SrcSpan "tests/examples/completesig01.hs" 1 1 1 13+                , SrcSpan "tests/examples/completesig01.hs" 1 30 1 33+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 1 14 1 29+                , srcInfoPoints = []+                }+              "PatternSynonyms"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 2 1 2 35+            , srcInfoPoints =+                [ SrcSpan "tests/examples/completesig01.hs" 2 1 2 13+                , SrcSpan "tests/examples/completesig01.hs" 2 32 2 35+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 2 14 2 31+                , srcInfoPoints = []+                }+              "NoImplicitPrelude"+          ]+      , OptionsPragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 3 1 3 26+            , srcInfoPoints =+                [ SrcSpan "tests/examples/completesig01.hs" 3 1 3 23+                , SrcSpan "tests/examples/completesig01.hs" 3 23 3 26+                ]+            }+          (Just GHC)+          "-Wall "+      ]+      []+      [ PatSynSig+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 6 1 6 18+            , srcInfoPoints =+                [ SrcSpan "tests/examples/completesig01.hs" 6 1 6 8+                , SrcSpan "tests/examples/completesig01.hs" 6 13 6 15+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 6 9 6 12+                , srcInfoPoints = []+                }+              "Foo"+          ]+          Nothing+          Nothing+          Nothing+          Nothing+          (TyCon+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 6 16 6 18+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/completesig01.hs" 6 16 6 17+                   , SrcSpan "tests/examples/completesig01.hs" 6 17 6 18+                   ]+               }+             (Special+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 6 16 6 18+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/completesig01.hs" 6 16 6 17+                      , SrcSpan "tests/examples/completesig01.hs" 6 17 6 18+                      ]+                  }+                (UnitCon+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 6 16 6 18+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/completesig01.hs" 6 16 6 17+                         , SrcSpan "tests/examples/completesig01.hs" 6 17 6 18+                         ]+                     })))+      , PatSyn+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 7 1 7 17+            , srcInfoPoints =+                [ SrcSpan "tests/examples/completesig01.hs" 7 1 7 8+                , SrcSpan "tests/examples/completesig01.hs" 7 13 7 14+                ]+            }+          (PApp+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 7 9 7 12+               , srcInfoPoints = []+               }+             (UnQual+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 7 9 7 12+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 7 9 7 12+                     , srcInfoPoints = []+                     }+                   "Foo"))+             [])+          (PApp+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 7 15 7 17+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/completesig01.hs" 7 15 7 16+                   , SrcSpan "tests/examples/completesig01.hs" 7 16 7 17+                   ]+               }+             (Special+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 7 15 7 17+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/completesig01.hs" 7 15 7 16+                      , SrcSpan "tests/examples/completesig01.hs" 7 16 7 17+                      ]+                  }+                (UnitCon+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 7 15 7 17+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/completesig01.hs" 7 15 7 16+                         , SrcSpan "tests/examples/completesig01.hs" 7 16 7 17+                         ]+                     }))+             [])+          ImplicitBidirectional+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 9 1 9 14+            , srcInfoPoints =+                [ SrcSpan "tests/examples/completesig01.hs" 9 3 9 5 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 9 1 9 2+                , srcInfoPoints = []+                }+              "a"+          ]+          (TyFun+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 9 6 9 14+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/completesig01.hs" 9 9 9 11 ]+               }+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 9 6 9 8+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/completesig01.hs" 9 6 9 7+                      , SrcSpan "tests/examples/completesig01.hs" 9 7 9 8+                      ]+                  }+                (Special+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 9 6 9 8+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/completesig01.hs" 9 6 9 7+                         , SrcSpan "tests/examples/completesig01.hs" 9 7 9 8+                         ]+                     }+                   (UnitCon+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 9 6 9 8+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/completesig01.hs" 9 6 9 7+                            , SrcSpan "tests/examples/completesig01.hs" 9 7 9 8+                            ]+                        })))+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 9 12 9 14+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/completesig01.hs" 9 12 9 13+                      , SrcSpan "tests/examples/completesig01.hs" 9 13 9 14+                      ]+                  }+                (Special+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 9 12 9 14+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/completesig01.hs" 9 12 9 13+                         , SrcSpan "tests/examples/completesig01.hs" 9 13 9 14+                         ]+                     }+                   (UnitCon+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 9 12 9 14+                        , srcInfoPoints =+                            [ SrcSpan "tests/examples/completesig01.hs" 9 12 9 13+                            , SrcSpan "tests/examples/completesig01.hs" 9 13 9 14+                            ]+                        }))))+      , FunBind+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/completesig01.hs" 10 1 10 11+            , srcInfoPoints = []+            }+          [ Match+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/completesig01.hs" 10 1 10 11+                , srcInfoPoints = []+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 10 1 10 2+                   , srcInfoPoints = []+                   }+                 "a")+              [ PApp+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 10 3 10 6+                    , srcInfoPoints = []+                    }+                  (UnQual+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 10 3 10 6+                       , srcInfoPoints = []+                       }+                     (Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 10 3 10 6+                          , srcInfoPoints = []+                          }+                        "Foo"))+                  []+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/completesig01.hs" 10 7 10 11+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/completesig01.hs" 10 7 10 8 ]+                   }+                 (Con+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/completesig01.hs" 10 9 10 11+                      , srcInfoPoints =+                          [ SrcSpan "tests/examples/completesig01.hs" 10 9 10 10+                          , SrcSpan "tests/examples/completesig01.hs" 10 10 10 11+                          ]+                      }+                    (Special+                       SrcSpanInfo+                         { srcInfoSpan =+                             SrcSpan "tests/examples/completesig01.hs" 10 9 10 11+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/completesig01.hs" 10 9 10 10+                             , SrcSpan "tests/examples/completesig01.hs" 10 10 10 11+                             ]+                         }+                       (UnitCon+                          SrcSpanInfo+                            { srcInfoSpan =+                                SrcSpan "tests/examples/completesig01.hs" 10 9 10 11+                            , srcInfoPoints =+                                [ SrcSpan "tests/examples/completesig01.hs" 10 9 10 10+                                , SrcSpan "tests/examples/completesig01.hs" 10 10 10 11+                                ]+                            }))))+              Nothing+          ]+      , DataDecl+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/completesig01.hs" 12 1 12 19+            , srcInfoPoints =+                [ SrcSpan "tests/examples/completesig01.hs" 12 8 12 9+                , SrcSpan "tests/examples/completesig01.hs" 12 12 12 13+                , SrcSpan "tests/examples/completesig01.hs" 12 16 12 17+                ]+            }+          (DataType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 12 1 12 5+               , srcInfoPoints = []+               })+          Nothing+          (DHead+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 12 6 12 7+               , srcInfoPoints = []+               }+             (Ident+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 12 6 12 7+                  , srcInfoPoints = []+                  }+                "A"))+          [ QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/completesig01.hs" 12 10 12 11+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/completesig01.hs" 12 10 12 11+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/completesig01.hs" 12 10 12 11+                      , srcInfoPoints = []+                      }+                    "B")+                 [])+          , QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/completesig01.hs" 12 14 12 15+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/completesig01.hs" 12 14 12 15+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/completesig01.hs" 12 14 12 15+                      , srcInfoPoints = []+                      }+                    "C")+                 [])+          , QualConDecl+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/completesig01.hs" 12 18 12 19+                , srcInfoPoints = []+                }+              Nothing+              Nothing+              (ConDecl+                 SrcSpanInfo+                   { srcInfoSpan =+                       SrcSpan "tests/examples/completesig01.hs" 12 18 12 19+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan =+                          SrcSpan "tests/examples/completesig01.hs" 12 18 12 19+                      , srcInfoPoints = []+                      }+                    "D")+                 [])+          ]+          []+      , CompletePragma+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/completesig01.hs" 14 1 14 21+            , srcInfoPoints =+                [ SrcSpan "tests/examples/completesig01.hs" 14 1 14 13+                , SrcSpan "tests/examples/completesig01.hs" 14 18 14 21+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/completesig01.hs" 14 14 14 17+                , srcInfoPoints = []+                }+              "Foo"+          ]+          Nothing+      , CompletePragma+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/completesig01.hs" 15 1 15 21+            , srcInfoPoints =+                [ SrcSpan "tests/examples/completesig01.hs" 15 1 15 13+                , SrcSpan "tests/examples/completesig01.hs" 15 15 15 16+                , SrcSpan "tests/examples/completesig01.hs" 15 18 15 21+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/completesig01.hs" 15 14 15 15+                , srcInfoPoints = []+                }+              "B"+          , Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/completesig01.hs" 15 16 15 17+                , srcInfoPoints = []+                }+              "C"+          ]+          Nothing+      , CompletePragma+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/completesig01.hs" 16 1 16 19+            , srcInfoPoints =+                [ SrcSpan "tests/examples/completesig01.hs" 16 1 16 13+                , SrcSpan "tests/examples/completesig01.hs" 16 16 16 19+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/completesig01.hs" 16 14 16 15+                , srcInfoPoints = []+                }+              "B"+          ]+          Nothing+      , TypeSig+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/completesig01.hs" 18 1 18 12+            , srcInfoPoints =+                [ SrcSpan "tests/examples/completesig01.hs" 18 3 18 5 ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 18 1 18 2+                , srcInfoPoints = []+                }+              "b"+          ]+          (TyFun+             SrcSpanInfo+               { srcInfoSpan =+                   SrcSpan "tests/examples/completesig01.hs" 18 6 18 12+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/completesig01.hs" 18 8 18 10 ]+               }+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 18 6 18 7+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 18 6 18 7+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 18 6 18 7+                        , srcInfoPoints = []+                        }+                      "A")))+             (TyCon+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/completesig01.hs" 18 11 18 12+                  , srcInfoPoints = []+                  }+                (UnQual+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/completesig01.hs" 18 11 18 12+                     , srcInfoPoints = []+                     }+                   (Ident+                      SrcSpanInfo+                        { srcInfoSpan =+                            SrcSpan "tests/examples/completesig01.hs" 18 11 18 12+                        , srcInfoPoints = []+                        }+                      "A"))))+      , FunBind+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 19 1 20 8+            , srcInfoPoints = []+            }+          [ Match+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 19 1 19 8+                , srcInfoPoints = []+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 19 1 19 2+                   , srcInfoPoints = []+                   }+                 "b")+              [ PApp+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 19 3 19 4+                    , srcInfoPoints = []+                    }+                  (UnQual+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 19 3 19 4+                       , srcInfoPoints = []+                       }+                     (Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 19 3 19 4+                          , srcInfoPoints = []+                          }+                        "B"))+                  []+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 19 5 19 8+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/completesig01.hs" 19 5 19 6 ]+                   }+                 (Con+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 19 7 19 8+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 19 7 19 8+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 19 7 19 8+                            , srcInfoPoints = []+                            }+                          "B"))))+              Nothing+          , Match+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 20 1 20 8+                , srcInfoPoints = []+                }+              (Ident+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 20 1 20 2+                   , srcInfoPoints = []+                   }+                 "b")+              [ PApp+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 20 3 20 4+                    , srcInfoPoints = []+                    }+                  (UnQual+                     SrcSpanInfo+                       { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 20 3 20 4+                       , srcInfoPoints = []+                       }+                     (Ident+                        SrcSpanInfo+                          { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 20 3 20 4+                          , srcInfoPoints = []+                          }+                        "C"))+                  []+              ]+              (UnGuardedRhs+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 20 5 20 8+                   , srcInfoPoints =+                       [ SrcSpan "tests/examples/completesig01.hs" 20 5 20 6 ]+                   }+                 (Con+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 20 7 20 8+                      , srcInfoPoints = []+                      }+                    (UnQual+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 20 7 20 8+                         , srcInfoPoints = []+                         }+                       (Ident+                          SrcSpanInfo+                            { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 20 7 20 8+                            , srcInfoPoints = []+                            }+                          "C"))))+              Nothing+          ]+      , CompletePragma+          SrcSpanInfo+            { srcInfoSpan =+                SrcSpan "tests/examples/completesig01.hs" 22 1 22 27+            , srcInfoPoints =+                [ SrcSpan "tests/examples/completesig01.hs" 22 1 22 13+                , SrcSpan "tests/examples/completesig01.hs" 22 18 22 20+                , SrcSpan "tests/examples/completesig01.hs" 22 24 22 27+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan =+                    SrcSpan "tests/examples/completesig01.hs" 22 14 22 17+                , srcInfoPoints = []+                }+              "Foo"+          ]+          (Just+             (Special+                SrcSpanInfo+                  { srcInfoSpan =+                      SrcSpan "tests/examples/completesig01.hs" 22 21 22 23+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/completesig01.hs" 22 21 22 22+                      , SrcSpan "tests/examples/completesig01.hs" 22 22 22 23+                      ]+                  }+                (UnitCon+                   SrcSpanInfo+                     { srcInfoSpan =+                         SrcSpan "tests/examples/completesig01.hs" 22 21 22 23+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/completesig01.hs" 22 21 22 22+                         , SrcSpan "tests/examples/completesig01.hs" 22 22 22 23+                         ]+                     })))+      ]+  , []+  )
+ tests/examples/completesig01.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/completesig01.hs.prettyprinter.golden view
@@ -0,0 +1,27 @@+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -Wall #-}+module Simple where++pattern Foo :: ()++pattern Foo = ()++a :: () -> ()+a Foo = ()++data A = B+       | C+       | D++{-# COMPLETE Foo #-}++{-# COMPLETE B, C #-}++{-# COMPLETE B #-}++b :: A -> A+b B = B+b C = C++{-# COMPLETE Foo :: () #-}
+ tests/examples/t403.hs view
@@ -0,0 +1,9 @@+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE ViewPatterns #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE DataKinds #-}+module T403 where++pattern (:&&:) :: () => forall k. ((k :+ 1) ~ n) => a -> HoHeList k a -> HoHeList n a+pattern (:&&:) x rest <- (matchNext -> Right (x, Refl, rest))
+ tests/examples/t403.hs.exactprinter.golden view
@@ -0,0 +1,10 @@+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE ViewPatterns #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE DataKinds #-}+module T403 where++pattern (:&&:) :: () =>           ((k :+ 1) ~ n) => a -> HoHeList k a -> HoHeList n a+pattern ((:&&:))xrest <- (matchNext -> Right (x, Refl, rest))+
+ tests/examples/t403.hs.parser.golden view
@@ -0,0 +1,520 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 1 1 10 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/t403.hs" 1 1 1 1+            , SrcSpan "tests/examples/t403.hs" 2 1 2 1+            , SrcSpan "tests/examples/t403.hs" 3 1 3 1+            , SrcSpan "tests/examples/t403.hs" 4 1 4 1+            , SrcSpan "tests/examples/t403.hs" 5 1 5 1+            , SrcSpan "tests/examples/t403.hs" 6 1 6 1+            , SrcSpan "tests/examples/t403.hs" 6 1 6 1+            , SrcSpan "tests/examples/t403.hs" 8 1 8 1+            , SrcSpan "tests/examples/t403.hs" 9 1 9 1+            , SrcSpan "tests/examples/t403.hs" 10 1 10 1+            , SrcSpan "tests/examples/t403.hs" 10 1 10 1+            ]+        }+      (Just+         (ModuleHead+            SrcSpanInfo+              { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 6 1 6 18+              , srcInfoPoints =+                  [ SrcSpan "tests/examples/t403.hs" 6 1 6 7+                  , SrcSpan "tests/examples/t403.hs" 6 13 6 18+                  ]+              }+            (ModuleName+               SrcSpanInfo+                 { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 6 8 6 12+                 , srcInfoPoints = []+                 }+               "T403")+            Nothing+            Nothing))+      [ LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 1 1 1 33+            , srcInfoPoints =+                [ SrcSpan "tests/examples/t403.hs" 1 1 1 13+                , SrcSpan "tests/examples/t403.hs" 1 30 1 33+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 1 14 1 29+                , srcInfoPoints = []+                }+              "PatternSynonyms"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 2 1 2 28+            , srcInfoPoints =+                [ SrcSpan "tests/examples/t403.hs" 2 1 2 13+                , SrcSpan "tests/examples/t403.hs" 2 25 2 28+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 2 14 2 24+                , srcInfoPoints = []+                }+              "RankNTypes"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 3 1 3 30+            , srcInfoPoints =+                [ SrcSpan "tests/examples/t403.hs" 3 1 3 13+                , SrcSpan "tests/examples/t403.hs" 3 27 3 30+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 3 14 3 26+                , srcInfoPoints = []+                }+              "ViewPatterns"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 4 1 4 31+            , srcInfoPoints =+                [ SrcSpan "tests/examples/t403.hs" 4 1 4 13+                , SrcSpan "tests/examples/t403.hs" 4 28 4 31+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 4 14 4 27+                , srcInfoPoints = []+                }+              "TypeOperators"+          ]+      , LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 5 1 5 27+            , srcInfoPoints =+                [ SrcSpan "tests/examples/t403.hs" 5 1 5 13+                , SrcSpan "tests/examples/t403.hs" 5 24 5 27+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 5 14 5 23+                , srcInfoPoints = []+                }+              "DataKinds"+          ]+      ]+      []+      [ PatSynSig+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 1 8 86+            , srcInfoPoints =+                [ SrcSpan "tests/examples/t403.hs" 8 1 8 8+                , SrcSpan "tests/examples/t403.hs" 8 16 8 18+                ]+            }+          [ Symbol+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 9 8 15+                , srcInfoPoints =+                    [ SrcSpan "tests/examples/t403.hs" 8 9 8 10+                    , SrcSpan "tests/examples/t403.hs" 8 10 8 14+                    , SrcSpan "tests/examples/t403.hs" 8 14 8 15+                    ]+                }+              ":&&:"+          ]+          Nothing+          (Just+             (CxEmpty+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 19 8 24+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/t403.hs" 8 19 8 20+                      , SrcSpan "tests/examples/t403.hs" 8 20 8 21+                      , SrcSpan "tests/examples/t403.hs" 8 22 8 24+                      ]+                  }))+          (Just+             [ UnkindedVar+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 32 8 33+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 32 8 33+                      , srcInfoPoints = []+                      }+                    "k")+             ])+          (Just+             (CxSingle+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 35 8 52+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/t403.hs" 8 35 8 36+                      , SrcSpan "tests/examples/t403.hs" 8 48 8 49+                      , SrcSpan "tests/examples/t403.hs" 8 50 8 52+                      ]+                  }+                (ParenA+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 35 8 52+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/t403.hs" 8 35 8 36+                         , SrcSpan "tests/examples/t403.hs" 8 48 8 49+                         , SrcSpan "tests/examples/t403.hs" 8 50 8 52+                         ]+                     }+                   (TypeA+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 36 8 48+                        , srcInfoPoints = [ SrcSpan "tests/examples/t403.hs" 8 45 8 46 ]+                        }+                      (TyEquals+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 36 8 48+                           , srcInfoPoints = [ SrcSpan "tests/examples/t403.hs" 8 45 8 46 ]+                           }+                         (TyParen+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 36 8 44+                              , srcInfoPoints =+                                  [ SrcSpan "tests/examples/t403.hs" 8 36 8 37+                                  , SrcSpan "tests/examples/t403.hs" 8 43 8 44+                                  ]+                              }+                            (TyInfix+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 37 8 43+                                 , srcInfoPoints = []+                                 }+                               (TyVar+                                  SrcSpanInfo+                                    { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 37 8 38+                                    , srcInfoPoints = []+                                    }+                                  (Ident+                                     SrcSpanInfo+                                       { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 37 8 38+                                       , srcInfoPoints = []+                                       }+                                     "k"))+                               (UnpromotedName+                                  SrcSpanInfo+                                    { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 39 8 41+                                    , srcInfoPoints = []+                                    }+                                  (UnQual+                                     SrcSpanInfo+                                       { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 39 8 41+                                       , srcInfoPoints = []+                                       }+                                     (Symbol+                                        SrcSpanInfo+                                          { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 39 8 41+                                          , srcInfoPoints = []+                                          }+                                        ":+")))+                               (TyPromoted+                                  SrcSpanInfo+                                    { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 42 8 43+                                    , srcInfoPoints = []+                                    }+                                  (PromotedInteger+                                     SrcSpanInfo+                                       { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 42 8 43+                                       , srcInfoPoints = []+                                       }+                                     1+                                     "1"))))+                         (TyVar+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 47 8 48+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 47 8 48+                                 , srcInfoPoints = []+                                 }+                               "n")))))))+          (TyFun+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 53 8 86+               , srcInfoPoints = [ SrcSpan "tests/examples/t403.hs" 8 55 8 57 ]+               }+             (TyVar+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 53 8 54+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 53 8 54+                     , srcInfoPoints = []+                     }+                   "a"))+             (TyFun+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 58 8 86+                  , srcInfoPoints = [ SrcSpan "tests/examples/t403.hs" 8 71 8 73 ]+                  }+                (TyApp+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 58 8 70+                     , srcInfoPoints = []+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 58 8 68+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 58 8 66+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 58 8 66+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 58 8 66+                                 , srcInfoPoints = []+                                 }+                               "HoHeList")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 67 8 68+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 67 8 68+                              , srcInfoPoints = []+                              }+                            "k")))+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 69 8 70+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 69 8 70+                           , srcInfoPoints = []+                           }+                         "a")))+                (TyApp+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 74 8 86+                     , srcInfoPoints = []+                     }+                   (TyApp+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 74 8 84+                        , srcInfoPoints = []+                        }+                      (TyCon+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 74 8 82+                           , srcInfoPoints = []+                           }+                         (UnQual+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 74 8 82+                              , srcInfoPoints = []+                              }+                            (Ident+                               SrcSpanInfo+                                 { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 74 8 82+                                 , srcInfoPoints = []+                                 }+                               "HoHeList")))+                      (TyVar+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 83 8 84+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 83 8 84+                              , srcInfoPoints = []+                              }+                            "n")))+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 85 8 86+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 85 8 86+                           , srcInfoPoints = []+                           }+                         "a")))))+      , PatSyn+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 1 9 62+            , srcInfoPoints =+                [ SrcSpan "tests/examples/t403.hs" 9 1 9 8+                , SrcSpan "tests/examples/t403.hs" 9 23 9 25+                ]+            }+          (PApp+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 9 9 22+               , srcInfoPoints = []+               }+             (UnQual+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 9 9 15+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/t403.hs" 9 9 9 10+                      , SrcSpan "tests/examples/t403.hs" 9 10 9 14+                      , SrcSpan "tests/examples/t403.hs" 9 14 9 15+                      ]+                  }+                (Symbol+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 9 9 15+                     , srcInfoPoints =+                         [ SrcSpan "tests/examples/t403.hs" 9 9 9 10+                         , SrcSpan "tests/examples/t403.hs" 9 10 9 14+                         , SrcSpan "tests/examples/t403.hs" 9 14 9 15+                         ]+                     }+                   ":&&:"))+             [ PVar+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 16 9 17+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 16 9 17+                      , srcInfoPoints = []+                      }+                    "x")+             , PVar+                 SrcSpanInfo+                   { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 18 9 22+                   , srcInfoPoints = []+                   }+                 (Ident+                    SrcSpanInfo+                      { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 18 9 22+                      , srcInfoPoints = []+                      }+                    "rest")+             ])+          (PParen+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 26 9 62+               , srcInfoPoints =+                   [ SrcSpan "tests/examples/t403.hs" 9 26 9 27+                   , SrcSpan "tests/examples/t403.hs" 9 61 9 62+                   ]+               }+             (PViewPat+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 27 9 61+                  , srcInfoPoints = [ SrcSpan "tests/examples/t403.hs" 9 37 9 39 ]+                  }+                (Var+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 27 9 36+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 27 9 36+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 27 9 36+                           , srcInfoPoints = []+                           }+                         "matchNext")))+                (PApp+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 40 9 61+                     , srcInfoPoints = []+                     }+                   (UnQual+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 40 9 45+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 40 9 45+                           , srcInfoPoints = []+                           }+                         "Right"))+                   [ PTuple+                       SrcSpanInfo+                         { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 46 9 61+                         , srcInfoPoints =+                             [ SrcSpan "tests/examples/t403.hs" 9 46 9 47+                             , SrcSpan "tests/examples/t403.hs" 9 48 9 49+                             , SrcSpan "tests/examples/t403.hs" 9 54 9 55+                             , SrcSpan "tests/examples/t403.hs" 9 60 9 61+                             ]+                         }+                       Boxed+                       [ PVar+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 47 9 48+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 47 9 48+                                , srcInfoPoints = []+                                }+                              "x")+                       , PApp+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 50 9 54+                             , srcInfoPoints = []+                             }+                           (UnQual+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 50 9 54+                                , srcInfoPoints = []+                                }+                              (Ident+                                 SrcSpanInfo+                                   { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 50 9 54+                                   , srcInfoPoints = []+                                   }+                                 "Refl"))+                           []+                       , PVar+                           SrcSpanInfo+                             { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 56 9 60+                             , srcInfoPoints = []+                             }+                           (Ident+                              SrcSpanInfo+                                { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 56 9 60+                                , srcInfoPoints = []+                                }+                              "rest")+                       ]+                   ])))+          Unidirectional+      ]+  , []+  )
+ tests/examples/t403.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/t403.hs.prettyprinter.golden view
@@ -0,0 +1,11 @@+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE ViewPatterns #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE DataKinds #-}+module T403 where++pattern (:&&:) :: () => forall k . ((k :+ 1) ~ n) =>+        a -> HoHeList k a -> HoHeList n a++pattern (:&&:) x rest <- (matchNext -> Right (x, Refl, rest))
+ tests/examples/t412.hs view
@@ -0,0 +1,8 @@+{-# LANGUAGE TypeInType #-}++module Typeintype+       ( App ) where++import Data.Kind++data App (f :: k -> *)
+ tests/examples/t412.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/t412.hs.parser.golden view
@@ -0,0 +1,166 @@+ParseOk+  ( Module+      SrcSpanInfo+        { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 1 1 9 1+        , srcInfoPoints =+            [ SrcSpan "tests/examples/t412.hs" 1 1 1 1+            , SrcSpan "tests/examples/t412.hs" 3 1 3 1+            , SrcSpan "tests/examples/t412.hs" 3 1 3 1+            , SrcSpan "tests/examples/t412.hs" 6 1 6 1+            , SrcSpan "tests/examples/t412.hs" 8 1 8 1+            , SrcSpan "tests/examples/t412.hs" 9 1 9 1+            , SrcSpan "tests/examples/t412.hs" 9 1 9 1+            ]+        }+      (Just+         (ModuleHead+            SrcSpanInfo+              { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 3 1 4 21+              , srcInfoPoints =+                  [ SrcSpan "tests/examples/t412.hs" 3 1 3 7+                  , SrcSpan "tests/examples/t412.hs" 4 16 4 21+                  ]+              }+            (ModuleName+               SrcSpanInfo+                 { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 3 8 3 18+                 , srcInfoPoints = []+                 }+               "Typeintype")+            Nothing+            (Just+               (ExportSpecList+                  SrcSpanInfo+                    { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 4 8 4 15+                    , srcInfoPoints =+                        [ SrcSpan "tests/examples/t412.hs" 4 8 4 9+                        , SrcSpan "tests/examples/t412.hs" 4 14 4 15+                        ]+                    }+                  [ EAbs+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 4 10 4 13+                        , srcInfoPoints = []+                        }+                      (NoNamespace+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 4 10 4 13+                           , srcInfoPoints = []+                           })+                      (UnQual+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 4 10 4 13+                           , srcInfoPoints = []+                           }+                         (Ident+                            SrcSpanInfo+                              { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 4 10 4 13+                              , srcInfoPoints = []+                              }+                            "App"))+                  ]))))+      [ LanguagePragma+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 1 1 1 28+            , srcInfoPoints =+                [ SrcSpan "tests/examples/t412.hs" 1 1 1 13+                , SrcSpan "tests/examples/t412.hs" 1 25 1 28+                ]+            }+          [ Ident+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 1 14 1 24+                , srcInfoPoints = []+                }+              "TypeInType"+          ]+      ]+      [ ImportDecl+          { importAnn =+              SrcSpanInfo+                { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 6 1 6 17+                , srcInfoPoints = [ SrcSpan "tests/examples/t412.hs" 6 1 6 7 ]+                }+          , importModule =+              ModuleName+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 6 8 6 17+                  , srcInfoPoints = []+                  }+                "Data.Kind"+          , importQualified = False+          , importSrc = False+          , importSafe = False+          , importPkg = Nothing+          , importAs = Nothing+          , importSpecs = Nothing+          }+      ]+      [ DataDecl+          SrcSpanInfo+            { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 8 1 8 5+            , srcInfoPoints = []+            }+          (DataType+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 8 1 8 5+               , srcInfoPoints = []+               })+          Nothing+          (DHApp+             SrcSpanInfo+               { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 8 6 8 23+               , srcInfoPoints = []+               }+             (DHead+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 8 6 8 9+                  , srcInfoPoints = []+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 8 6 8 9+                     , srcInfoPoints = []+                     }+                   "App"))+             (KindedVar+                SrcSpanInfo+                  { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 8 10 8 23+                  , srcInfoPoints =+                      [ SrcSpan "tests/examples/t412.hs" 8 10 8 11+                      , SrcSpan "tests/examples/t412.hs" 8 13 8 15+                      , SrcSpan "tests/examples/t412.hs" 8 22 8 23+                      ]+                  }+                (Ident+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 8 11 8 12+                     , srcInfoPoints = []+                     }+                   "f")+                (TyFun+                   SrcSpanInfo+                     { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 8 16 8 22+                     , srcInfoPoints = [ SrcSpan "tests/examples/t412.hs" 8 18 8 20 ]+                     }+                   (TyVar+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 8 16 8 17+                        , srcInfoPoints = []+                        }+                      (Ident+                         SrcSpanInfo+                           { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 8 16 8 17+                           , srcInfoPoints = []+                           }+                         "k"))+                   (TyStar+                      SrcSpanInfo+                        { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 8 21 8 22+                        , srcInfoPoints = []+                        }))))+          []+          []+      ]+  , []+  )
+ tests/examples/t412.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/t412.hs.prettyprinter.golden view
@@ -0,0 +1,5 @@+{-# LANGUAGE TypeInType #-}+module Typeintype (App) where+import Data.Kind++data App (f :: k -> *)