{-# OPTIONS_GHC -w #-} {-# OPTIONS -fglasgow-exts -cpp #-} {-# OPTIONS_GHC -fno-warn-incomplete-patterns -fno-warn-deprecated-flags #-} {-# LANGUAGE BangPatterns, PatternGuards #-} {-| The parser is generated by Happy (). - - Ideally, ranges should be as precise as possible, to get messages that - emphasize precisely the faulting term(s) upon error. - - However, interactive highlighting is only applied at the end of each - mutual block, keywords are only highlighted once (see - `TypeChecking.Rules.Decl'). So if the ranges of two declarations - interleave, one must ensure that keyword ranges are not included in - the intersection. (Otherwise they are uncolored by the interactive - highlighting.) - -} module Agda.Syntax.Parser.Parser ( moduleParser , exprParser , tokensParser , tests ) where import Control.Arrow import Control.Monad import Control.Monad.State import Data.Char import Data.List import Data.Maybe import qualified Data.Traversable as T import Agda.Syntax.Position hiding (tests) import Agda.Syntax.Parser.Monad import Agda.Syntax.Parser.Lexer import Agda.Syntax.Parser.Tokens import Agda.Syntax.Concrete import Agda.Syntax.Concrete.Name import Agda.Syntax.Concrete.Pretty import Agda.Syntax.Common import Agda.Syntax.Fixity import Agda.Syntax.Notation import Agda.Syntax.Literal import Agda.Utils.Hash import Agda.Utils.Monad import Agda.Utils.QuickCheck import Agda.Utils.TestHelpers import Agda.Utils.Tuple import qualified Data.Array as Happy_Data_Array import qualified GHC.Exts as Happy_GHC_Exts -- parser produced by Happy Version 1.18.10 newtype HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70 = HappyAbsSyn HappyAny #if __GLASGOW_HASKELL__ >= 607 type HappyAny = Happy_GHC_Exts.Any #else type HappyAny = forall a . a #endif happyIn6 :: ([Token]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn6 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn6 #-} happyOut6 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([Token]) happyOut6 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut6 #-} happyIn7 :: ([Token]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn7 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn7 #-} happyOut7 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([Token]) happyOut7 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut7 #-} happyIn8 :: (Token) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn8 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn8 #-} happyOut8 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Token) happyOut8 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut8 #-} happyIn9 :: (([Pragma], [Declaration])) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn9 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn9 #-} happyOut9 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (([Pragma], [Declaration])) happyOut9 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut9 #-} happyIn10 :: t10 -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn10 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn10 #-} happyOut10 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> t10 happyOut10 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut10 #-} happyIn11 :: t11 -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn11 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn11 #-} happyOut11 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> t11 happyOut11 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut11 #-} happyIn12 :: t12 -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn12 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn12 #-} happyOut12 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> t12 happyOut12 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut12 #-} happyIn13 :: (()) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn13 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn13 #-} happyOut13 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (()) happyOut13 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut13 #-} happyIn14 :: (Integer) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn14 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn14 #-} happyOut14 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Integer) happyOut14 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut14 #-} happyIn15 :: (Name) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn15 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn15 #-} happyOut15 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Name) happyOut15 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut15 #-} happyIn16 :: ([Name]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn16 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn16 #-} happyOut16 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([Name]) happyOut16 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut16 #-} happyIn17 :: (Range) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn17 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn17 #-} happyOut17 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Range) happyOut17 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut17 #-} happyIn18 :: (Arg Name) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn18 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn18 #-} happyOut18 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Arg Name) happyOut18 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut18 #-} happyIn19 :: ([Arg Name]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn19 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn19 #-} happyOut19 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([Arg Name]) happyOut19 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut19 #-} happyIn20 :: ([Arg Name]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn20 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn20 #-} happyOut20 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([Arg Name]) happyOut20 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut20 #-} happyIn21 :: (QName) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn21 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn21 #-} happyOut21 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (QName) happyOut21 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut21 #-} happyIn22 :: (QName) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn22 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn22 #-} happyOut22 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (QName) happyOut22 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut22 #-} happyIn23 :: (Name) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn23 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn23 #-} happyOut23 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Name) happyOut23 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut23 #-} happyIn24 :: ([Name]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn24 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn24 #-} happyOut24 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([Name]) happyOut24 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut24 #-} happyIn25 :: ([Name]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn25 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn25 #-} happyOut25 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([Name]) happyOut25 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut25 #-} happyIn26 :: (Either [Name] [Expr]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn26 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn26 #-} happyOut26 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Either [Name] [Expr]) happyOut26 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut26 #-} happyIn27 :: ([String]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn27 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn27 #-} happyOut27 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([String]) happyOut27 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut27 #-} happyIn28 :: (QName) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn28 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn28 #-} happyOut28 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (QName) happyOut28 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut28 #-} happyIn29 :: (Expr) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn29 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn29 #-} happyOut29 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Expr) happyOut29 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut29 #-} happyIn30 :: t30 -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn30 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn30 #-} happyOut30 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> t30 happyOut30 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut30 #-} happyIn31 :: ([Expr]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn31 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn31 #-} happyOut31 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([Expr]) happyOut31 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut31 #-} happyIn32 :: ([Expr]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn32 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn32 #-} happyOut32 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([Expr]) happyOut32 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut32 #-} happyIn33 :: t33 -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn33 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn33 #-} happyOut33 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> t33 happyOut33 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut33 #-} happyIn34 :: (Expr) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn34 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn34 #-} happyOut34 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Expr) happyOut34 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut34 #-} happyIn35 :: ([Expr]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn35 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn35 #-} happyOut35 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([Expr]) happyOut35 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut35 #-} happyIn36 :: t36 -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn36 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn36 #-} happyOut36 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> t36 happyOut36 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut36 #-} happyIn37 :: t37 -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn37 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn37 #-} happyOut37 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> t37 happyOut37 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut37 #-} happyIn38 :: t38 -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn38 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn38 #-} happyOut38 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> t38 happyOut38 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut38 #-} happyIn39 :: ([(Name, Expr)]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn39 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn39 #-} happyOut39 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([(Name, Expr)]) happyOut39 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut39 #-} happyIn40 :: ([(Name, Expr)]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn40 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn40 #-} happyOut40 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([(Name, Expr)]) happyOut40 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut40 #-} happyIn41 :: ((Name, Expr)) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn41 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn41 #-} happyOut41 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ((Name, Expr)) happyOut41 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut41 #-} happyIn42 :: t42 -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn42 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn42 #-} happyOut42 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> t42 happyOut42 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut42 #-} happyIn43 :: t43 -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn43 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn43 #-} happyOut43 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> t43 happyOut43 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut43 #-} happyIn44 :: ([TypedBindings]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn44 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn44 #-} happyOut44 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([TypedBindings]) happyOut44 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut44 #-} happyIn45 :: (TypedBindings) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn45 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn45 #-} happyOut45 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (TypedBindings) happyOut45 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut45 #-} happyIn46 :: (TypedBinding) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn46 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn46 #-} happyOut46 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (TypedBinding) happyOut46 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut46 #-} happyIn47 :: ([LamBinding]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn47 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn47 #-} happyOut47 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([LamBinding]) happyOut47 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut47 #-} happyIn48 :: (Either ([LamBinding], Hiding) [Expr]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn48 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn48 #-} happyOut48 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Either ([LamBinding], Hiding) [Expr]) happyOut48 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut48 #-} happyIn49 :: ([Either Hiding LamBinding]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn49 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn49 #-} happyOut49 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([Either Hiding LamBinding]) happyOut49 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut49 #-} happyIn50 :: (Either [Either Hiding LamBinding] [Expr]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn50 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn50 #-} happyOut50 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Either [Either Hiding LamBinding] [Expr]) happyOut50 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut50 #-} happyIn51 :: ((LHS,RHS,WhereClause)) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn51 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn51 #-} happyOut51 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ((LHS,RHS,WhereClause)) happyOut51 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut51 #-} happyIn52 :: ((LHS,RHS,WhereClause)) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn52 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn52 #-} happyOut52 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ((LHS,RHS,WhereClause)) happyOut52 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut52 #-} happyIn53 :: ((LHS,RHS,WhereClause)) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn53 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn53 #-} happyOut53 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ((LHS,RHS,WhereClause)) happyOut53 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut53 #-} happyIn54 :: ([(LHS,RHS,WhereClause)]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn54 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn54 #-} happyOut54 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([(LHS,RHS,WhereClause)]) happyOut54 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut54 #-} happyIn55 :: ([LamBinding]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn55 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn55 #-} happyOut55 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([LamBinding]) happyOut55 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut55 #-} happyIn56 :: ([LamBinding]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn56 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn56 #-} happyOut56 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([LamBinding]) happyOut56 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut56 #-} happyIn57 :: ([LamBinding]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn57 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn57 #-} happyOut57 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([LamBinding]) happyOut57 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut57 #-} happyIn58 :: ([LamBinding]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn58 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn58 #-} happyOut58 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([LamBinding]) happyOut58 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut58 #-} happyIn59 :: (Either [LamBinding] [Expr]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn59 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn59 #-} happyOut59 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Either [LamBinding] [Expr]) happyOut59 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut59 #-} happyIn60 :: (ImportDirective) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn60 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn60 #-} happyOut60 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (ImportDirective) happyOut60 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut60 #-} happyIn61 :: (ImportDirective) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn61 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn61 #-} happyOut61 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (ImportDirective) happyOut61 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut61 #-} happyIn62 :: (ImportDirective) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn62 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn62 #-} happyOut62 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (ImportDirective) happyOut62 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut62 #-} happyIn63 :: ((UsingOrHiding , Range)) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn63 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn63 #-} happyOut63 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ((UsingOrHiding , Range)) happyOut63 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut63 #-} happyIn64 :: (([Renaming] , Range)) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn64 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn64 #-} happyOut64 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (([Renaming] , Range)) happyOut64 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut64 #-} happyIn65 :: ([Renaming]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn65 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn65 #-} happyOut65 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([Renaming]) happyOut65 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut65 #-} happyIn66 :: (Renaming) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn66 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn66 #-} happyOut66 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Renaming) happyOut66 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut66 #-} happyIn67 :: (ImportedName) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn67 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn67 #-} happyOut67 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (ImportedName) happyOut67 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut67 #-} happyIn68 :: (ImportedName) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn68 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn68 #-} happyOut68 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (ImportedName) happyOut68 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut68 #-} happyIn69 :: ([ImportedName]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn69 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn69 #-} happyOut69 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([ImportedName]) happyOut69 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut69 #-} happyIn70 :: t70 -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn70 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn70 #-} happyOut70 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> t70 happyOut70 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut70 #-} happyIn71 :: (LHS) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn71 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn71 #-} happyOut71 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (LHS) happyOut71 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut71 #-} happyIn72 :: ([Pattern]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn72 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn72 #-} happyOut72 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([Pattern]) happyOut72 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut72 #-} happyIn73 :: ([Expr]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn73 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn73 #-} happyOut73 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([Expr]) happyOut73 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut73 #-} happyIn74 :: ([Expr]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn74 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn74 #-} happyOut74 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([Expr]) happyOut74 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut74 #-} happyIn75 :: (WhereClause) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn75 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn75 #-} happyOut75 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (WhereClause) happyOut75 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut75 #-} happyIn76 :: ([Declaration]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn76 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn76 #-} happyOut76 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([Declaration]) happyOut76 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut76 #-} happyIn77 :: ([Declaration]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn77 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn77 #-} happyOut77 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([Declaration]) happyOut77 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut77 #-} happyIn78 :: ([Declaration]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn78 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn78 #-} happyOut78 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([Declaration]) happyOut78 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut78 #-} happyIn79 :: ([Arg Declaration]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn79 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn79 #-} happyOut79 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([Arg Declaration]) happyOut79 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut79 #-} happyIn80 :: ([Declaration]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn80 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn80 #-} happyOut80 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([Declaration]) happyOut80 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut80 #-} happyIn81 :: (RHSOrTypeSigs) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn81 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn81 #-} happyOut81 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (RHSOrTypeSigs) happyOut81 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut81 #-} happyIn82 :: (Declaration) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn82 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn82 #-} happyOut82 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Declaration) happyOut82 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut82 #-} happyIn83 :: (Declaration) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn83 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn83 #-} happyOut83 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Declaration) happyOut83 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut83 #-} happyIn84 :: (Declaration) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn84 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn84 #-} happyOut84 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Declaration) happyOut84 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut84 #-} happyIn85 :: (Declaration) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn85 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn85 #-} happyOut85 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Declaration) happyOut85 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut85 #-} happyIn86 :: (Name) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn86 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn86 #-} happyOut86 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Name) happyOut86 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut86 #-} happyIn87 :: (Declaration) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn87 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn87 #-} happyOut87 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Declaration) happyOut87 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut87 #-} happyIn88 :: ([Declaration]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn88 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn88 #-} happyOut88 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([Declaration]) happyOut88 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut88 #-} happyIn89 :: (Declaration) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn89 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn89 #-} happyOut89 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Declaration) happyOut89 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut89 #-} happyIn90 :: (Declaration) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn90 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn90 #-} happyOut90 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Declaration) happyOut90 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut90 #-} happyIn91 :: (Declaration) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn91 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn91 #-} happyOut91 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Declaration) happyOut91 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut91 #-} happyIn92 :: (Declaration) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn92 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn92 #-} happyOut92 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Declaration) happyOut92 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut92 #-} happyIn93 :: (Declaration) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn93 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn93 #-} happyOut93 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Declaration) happyOut93 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut93 #-} happyIn94 :: (Declaration) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn94 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn94 #-} happyOut94 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Declaration) happyOut94 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut94 #-} happyIn95 :: (Declaration) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn95 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn95 #-} happyOut95 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Declaration) happyOut95 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut95 #-} happyIn96 :: ([String]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn96 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn96 #-} happyOut96 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([String]) happyOut96 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut96 #-} happyIn97 :: ([HoleName]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn97 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn97 #-} happyOut97 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([HoleName]) happyOut97 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut97 #-} happyIn98 :: (HoleName) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn98 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn98 #-} happyOut98 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (HoleName) happyOut98 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut98 #-} happyIn99 :: (String) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn99 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn99 #-} happyOut99 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (String) happyOut99 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut99 #-} happyIn100 :: (Maybe Range) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn100 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn100 #-} happyOut100 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Maybe Range) happyOut100 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut100 #-} happyIn101 :: ([Declaration]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn101 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn101 #-} happyOut101 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([Declaration]) happyOut101 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut101 #-} happyIn102 :: ([Expr]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn102 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn102 #-} happyOut102 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([Expr]) happyOut102 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut102 #-} happyIn103 :: ([TypedBindings] -> Parser ModuleApplication) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn103 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn103 #-} happyOut103 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([TypedBindings] -> Parser ModuleApplication) happyOut103 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut103 #-} happyIn104 :: (Declaration) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn104 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn104 #-} happyOut104 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Declaration) happyOut104 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut104 #-} happyIn105 :: (Declaration) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn105 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn105 #-} happyOut105 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Declaration) happyOut105 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut105 #-} happyIn106 :: (Name) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn106 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn106 #-} happyOut106 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Name) happyOut106 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut106 #-} happyIn107 :: ([Declaration]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn107 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn107 #-} happyOut107 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([Declaration]) happyOut107 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut107 #-} happyIn108 :: (Declaration) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn108 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn108 #-} happyOut108 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Declaration) happyOut108 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut108 #-} happyIn109 :: (Declaration) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn109 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn109 #-} happyOut109 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Declaration) happyOut109 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut109 #-} happyIn110 :: (Pragma) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn110 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn110 #-} happyOut110 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Pragma) happyOut110 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut110 #-} happyIn111 :: (Pragma) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn111 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn111 #-} happyOut111 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Pragma) happyOut111 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut111 #-} happyIn112 :: (Pragma) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn112 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn112 #-} happyOut112 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Pragma) happyOut112 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut112 #-} happyIn113 :: (Pragma) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn113 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn113 #-} happyOut113 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Pragma) happyOut113 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut113 #-} happyIn114 :: (Pragma) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn114 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn114 #-} happyOut114 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Pragma) happyOut114 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut114 #-} happyIn115 :: (Pragma) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn115 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn115 #-} happyOut115 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Pragma) happyOut115 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut115 #-} happyIn116 :: (Pragma) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn116 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn116 #-} happyOut116 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Pragma) happyOut116 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut116 #-} happyIn117 :: (Pragma) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn117 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn117 #-} happyOut117 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Pragma) happyOut117 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut117 #-} happyIn118 :: (Pragma) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn118 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn118 #-} happyOut118 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Pragma) happyOut118 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut118 #-} happyIn119 :: (Pragma) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn119 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn119 #-} happyOut119 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Pragma) happyOut119 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut119 #-} happyIn120 :: (Pragma) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn120 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn120 #-} happyOut120 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Pragma) happyOut120 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut120 #-} happyIn121 :: (Pragma) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn121 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn121 #-} happyOut121 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Pragma) happyOut121 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut121 #-} happyIn122 :: (Pragma) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn122 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn122 #-} happyOut122 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Pragma) happyOut122 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut122 #-} happyIn123 :: (Pragma) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn123 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn123 #-} happyOut123 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Pragma) happyOut123 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut123 #-} happyIn124 :: ([TypeSignature]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn124 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn124 #-} happyOut124 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([TypeSignature]) happyOut124 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut124 #-} happyIn125 :: ([TypeSignature]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn125 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn125 #-} happyOut125 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([TypeSignature]) happyOut125 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut125 #-} happyIn126 :: ([TypeSignature]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn126 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn126 #-} happyOut126 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([TypeSignature]) happyOut126 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut126 #-} happyIn127 :: ([TypeSignature]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn127 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn127 #-} happyOut127 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([TypeSignature]) happyOut127 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut127 #-} happyIn128 :: ([Arg TypeSignature]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn128 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn128 #-} happyOut128 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([Arg TypeSignature]) happyOut128 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut128 #-} happyIn129 :: ([Arg TypeSignature]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn129 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn129 #-} happyOut129 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([Arg TypeSignature]) happyOut129 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut129 #-} happyIn130 :: ([Constructor]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn130 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn130 #-} happyOut130 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([Constructor]) happyOut130 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut130 #-} happyIn131 :: ((Maybe Induction, Maybe Name, [Declaration])) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn131 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn131 #-} happyOut131 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ((Maybe Induction, Maybe Name, [Declaration])) happyOut131 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut131 #-} happyIn132 :: (Induction) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn132 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn132 #-} happyOut132 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Induction) happyOut132 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut132 #-} happyIn133 :: ([Declaration]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn133 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn133 #-} happyOut133 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([Declaration]) happyOut133 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut133 #-} happyIn134 :: ([Declaration]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn134 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn134 #-} happyOut134 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([Declaration]) happyOut134 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut134 #-} happyIn135 :: ([Declaration]) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyIn135 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn135 #-} happyOut135 :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> ([Declaration]) happyOut135 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut135 #-} happyInTok :: (Token) -> (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) happyInTok x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyInTok #-} happyOutTok :: (HappyAbsSyn t10 t11 t12 t30 t33 t36 t37 t38 t42 t43 t70) -> (Token) happyOutTok x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOutTok #-} happyActOffsets :: HappyAddr happyActOffsets = HappyA# "\x00\x00\x2f\x06\x31\x00\x00\x00\xa3\x03\x44\x05\x00\x00\x81\x05\xdd\x01\x00\x00\x00\x00\x31\x00\x00\x00\x4f\x04\x4f\x04\x65\x05\x4a\x05\x00\x00\x38\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf6\xff\x00\x00\x00\x00\xfb\x05\xd9\x05\x49\x05\x00\x00\xb3\x02\x3c\x05\xcb\x07\x00\x00\x00\x00\xe7\x0d\x39\x05\x00\x00\x00\x00\x00\x00\x00\x00\x53\x03\xaa\x07\x00\x00\x00\x00\xe4\x0d\x14\x05\x19\x02\xe9\x04\x00\x00\x00\x00\x00\x00\x28\x05\xc5\x01\x48\x05\x00\x00\x36\x05\x1c\x03\x33\x05\x00\x00\xaa\x01\x00\x00\xcb\x01\xcb\x01\x00\x00\x31\x05\x32\x05\x30\x05\x00\x00\x00\x00\x00\x00\xa1\x0d\xd9\x05\x00\x00\x2f\x05\x00\x00\xd4\x0d\x9e\x0d\xeb\x02\x85\x02\x00\x00\xc9\x06\xae\x05\x9e\x06\x00\x00\x93\x07\xbe\x04\x19\x02\x93\x04\xeb\x06\xeb\x06\xeb\x06\x62\x05\xc4\x0d\x8c\x05\x22\x05\xc4\x0d\x00\x00\xeb\x06\xeb\x06\xeb\x06\x16\x05\x68\x04\x19\x02\x0c\x05\x51\x05\x33\x04\x00\x00\xf7\x02\xeb\x06\xeb\x06\x00\x00\x00\x00\x00\x00\x00\x00\x86\x02\x8c\x05\xeb\x06\x93\x07\x00\x05\x00\x00\x00\x00\xc4\x0d\x72\x07\x00\x00\x00\x00\x4f\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x07\x5b\x07\x10\x04\xac\x01\xc4\x0d\x46\x05\xc4\x0d\x02\x05\xfe\x04\x00\x00\x00\x00\x08\x05\x00\x00\x00\x00\xeb\x06\xeb\x06\xeb\x06\xeb\x06\x37\x05\x4a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9d\x00\xfa\x04\xf8\x04\x57\x00\xcb\x00\xfb\x04\xfb\x04\x3a\x07\xf7\x04\xec\x04\xec\x04\xec\x04\xf6\x04\xf6\x04\xf6\x04\xed\x04\xed\x04\xf0\x04\x11\x0e\x8c\x05\xf1\x04\xf4\x04\x00\x00\xf5\x04\xeb\x04\xee\x04\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x05\xdd\x04\xcb\x01\xe7\x04\xd8\x04\xcb\x01\xe6\x04\x67\x00\xe5\x04\x00\x00\xb2\x00\x22\x01\xe4\x04\xe0\x04\xdf\x04\x00\x00\xeb\x06\xeb\x06\x00\x00\xeb\x06\xeb\x06\xc1\x0d\xd9\x04\xc1\x0d\x7c\x06\x61\x05\x51\x06\x00\x00\x00\x00\xd7\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\x05\x00\x00\x00\x00\x3f\x05\x3f\x05\xcd\x04\x00\x00\xcb\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf5\xff\xfe\x00\xd9\xff\xfe\x00\xeb\x06\x00\x00\x00\x00\x00\x00\xeb\x06\x3f\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc9\x04\xc6\x04\x00\x00\x3f\x05\x00\x00\xc3\x04\xc2\x04\xc1\x04\xc0\x04\xad\x04\xbb\x04\xbb\x04\xbb\x04\xbb\x04\xbb\x04\xbb\x04\xfd\x04\x23\x07\xb9\x04\xc4\x04\xc3\xff\x00\x00\x00\x00\x00\x00\x53\x00\x00\x00\x53\x00\x53\x00\x00\x00\xb9\x00\xb1\x0d\x9d\x06\x9d\x06\x9d\x06\x9d\x06\x00\x00\xb8\x04\x00\x00\xb8\x04\x00\x00\xd7\xff\x00\x00\x33\x04\x00\x00\x00\x00\x2f\x00\x3f\x05\x3f\x05\xf3\x04\x3f\x05\x00\x00\x00\x00\x00\x00\xb6\x04\x00\x00\xcb\x01\x00\x00\x00\x00\x00\x00\xea\x04\x00\x00\xb2\x04\xb1\x04\xb0\x04\xfc\x02\x00\x00\x10\x04\x00\x00\x00\x00\xdc\x04\xf9\xff\xf9\xff\x00\x00\x10\x04\x00\x00\x00\x00\x54\x03\x00\x00\x00\x00\x3f\x05\x00\x00\x00\x00\x00\x00\xa2\x04\x9c\x04\x00\x00\x00\x00\xd7\xff\xae\x04\x00\x00\x9d\x00\x9a\x04\xac\x04\x00\x00\x9d\x00\x9d\x06\xe1\x04\x09\x00\x9e\x00\x5e\x00\x06\x00\xeb\x06\xb9\x00\xaa\x04\x00\x00\x9d\x00\x38\x02\x1e\x02\xd7\xff\xd7\xff\x53\x00\x00\x00\x00\x00\x00\x00\xf0\xff\x00\x00\x00\x00\xa3\x04\x00\x00\x3f\x05\x00\x00\x9e\x04\x23\x07\xd6\x04\x8a\x04\x00\x00\x89\x04\x89\x04\x89\x04\x85\x04\x7f\x04\x00\x00\x87\x04\x00\x00\x80\x04\x7e\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x04\x00\x00\x00\x00\x7c\x04\x54\x04\x7b\x04\x75\x04\x73\x04\x00\x00\x00\x00\x00\x00\x00\x00\x71\x04\x00\x00\x71\x04\x00\x00\x70\x04\x5e\x01\x00\x00\x63\x04\x63\x04\x63\x04\x63\x04\x00\x00\xb9\x00\x3f\x05\x00\x00\xcd\x00\x6c\x04\x3f\x05\x67\x04\x3f\x05\x67\x04\x3f\x05\x65\x04\x26\x04\x65\x04\x6d\x04\x00\x00\x5c\x04\x3f\x05\x00\x00\xd7\xff\x3f\x05\x00\x00\x9d\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x04\x5b\x04\x00\x00\x49\x04\x51\x04\x29\x04\x3c\x04\x41\x04\x6a\x04\x00\x00\x24\x04\x24\x04\x5e\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf9\xff\x20\x04\x00\x00\x00\x00\x00\x00\x00\x00\x26\x04\x00\x00\x02\x07\x10\x04\x00\x00\x5a\x04\x00\x00\x00\x00\x2b\x00\x57\x04\x00\x00\x3a\x04\x00\x00\x04\x03\x00\x00\x00\x00\x0c\x04\x5e\x01\x02\x04\x5e\x01\xb9\x00\xb9\x00\xf4\x03\x00\x00\xfb\x03\x00\x00\x00\x00\x00\x00\xeb\x03\x00\x00\x00\x00\x00\x00\xe3\x03\x00\x00\x00\x00\x00\x00\xb9\x00\xb9\x00\xb9\x00\xb9\x00\x00\x00\x9d\x00\x9d\x00\x9d\x00\xe0\x03\x00\x00\x00\x00\xd8\x03\xd2\x03\x00\x00\xd2\x03\x00\x00\x00\x00\x3f\x01\x10\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x03\x00\x00\x33\x04\x00\x00\x00\x00\x00\x00\x00\x00\xcf\x03\x00\x00\x9d\x00\x9d\x00\x9d\x00\x00\x00\x00\x00\x00\x00\x33\x04\x00\x00\x9d\x00\x00\x00\x00\x00"# happyGotoOffsets :: HappyAddr happyGotoOffsets = HappyA# "\x6b\x04\xac\x0d\x34\x00\x05\x04\xf9\x03\x00\x00\x00\x00\x00\x00\x19\x01\x00\x00\x00\x00\x1a\x00\x00\x00\x49\x02\x05\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\x4b\x05\x93\x0d\x00\x00\x00\x00\x39\x04\x81\x03\x78\x01\x00\x00\x00\x00\x80\x06\xf5\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x00\x00\x00\x00\xf7\x07\x26\x09\xbe\x08\x0c\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x97\x03\x88\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x57\x08\x7a\x0d\x00\x00\x00\x00\x00\x00\x4c\x08\x00\x00\x61\x01\xac\x00\x00\x00\x23\x0b\x73\x09\x69\x08\x00\x00\x7c\x02\xf2\x08\x9e\x08\xd8\x08\x0b\x0b\xf3\x0a\xdb\x0a\x00\x00\xf6\x03\x61\x0d\x00\x00\x58\x03\x00\x00\xc3\x0a\xab\x0a\x93\x0a\x00\x00\x48\x0d\x3b\x0b\x36\x01\x00\x00\x21\x02\x00\x00\x00\x00\x7b\x0a\x63\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x2f\x0d\x16\x0d\x72\x04\x16\x01\x8a\x03\x00\x00\x00\x00\x38\x08\xa9\x00\x00\x00\x00\x00\x98\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x87\x00\x82\x04\x3b\x0b\x2f\x08\x00\x00\x25\x08\x00\x00\x7c\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x06\x4b\x0a\x33\x0a\x1b\x0a\x59\x03\x43\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x56\x04\x09\x03\x07\x03\x99\x00\x1f\x00\x56\x03\x49\x03\x6a\x01\xff\x02\x47\x03\x3c\x03\x29\x03\xcb\x02\xc7\x02\xbe\x02\x1e\x03\x3d\x04\xed\x02\x00\x00\xfd\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x31\x01\x00\x00\x18\x03\x00\x00\x00\x00\x00\x00\x00\x00\xe4\x0c\x00\x00\xfe\x02\x00\x00\x00\x00\xd3\x02\x00\x00\x00\x00\x00\x00\x00\x00\xe5\x02\xe2\x02\x00\x00\x00\x00\x00\x00\x00\x00\x03\x0a\xeb\x09\x00\x00\xd3\x09\xbb\x09\x1f\x08\x00\x00\x1c\x08\xa3\x09\x5b\x09\x8b\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcb\x0c\x00\x00\x00\x00\xb2\x0c\x99\x0c\x00\x00\x00\x00\xce\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc5\x02\x00\x00\x7e\x02\x81\x08\x00\x00\x00\x00\x00\x00\xf4\x00\x80\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x00\x00\x00\x67\x0c\x00\x00\x00\x00\x00\x00\x00\x00\xaf\x02\x00\x00\xad\x02\x88\x02\x70\x02\x6b\x02\x68\x02\x5b\x02\x28\x02\x0f\x02\x28\x04\x00\x00\xd6\x01\x00\x00\x00\x00\x00\x00\x3b\x02\x00\x00\xe5\x01\xe2\x01\x00\x00\x14\x00\x0a\x08\x00\x08\xc0\x07\x92\x06\x34\x06\x00\x00\x60\x02\x00\x00\x1d\x00\x00\x00\x18\x00\x00\x00\x8e\x02\x00\x00\x00\x00\x1f\x02\x4e\x0c\x35\x0c\x1d\x02\x1c\x0c\x00\x00\x00\x00\x00\x00\xa6\x03\x00\x00\x50\x02\x00\x00\x00\x00\x00\x00\x1c\x02\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x01\x00\x00\x1f\x04\x00\x00\x00\x00\xe1\x00\xca\x00\xc1\x00\x00\x00\xde\x03\x00\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x03\x0c\x00\x00\x00\x00\x00\x00\xc4\x01\x2b\x02\x00\x00\x00\x00\xb2\x02\x00\x00\x00\x00\xf7\x03\x13\x02\x00\x00\x00\x00\xf1\x03\x55\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x09\x72\x03\x00\x00\x00\x00\xef\x03\x00\x00\x13\x02\x39\x02\xcc\x01\xce\x01\x00\x00\x00\x00\x00\x00\x3e\x03\x00\x00\x00\x00\x00\x00\x00\x00\xea\x0b\x00\x00\xd7\x01\xa2\x01\xcd\x01\x00\x00\x00\x00\xd1\x01\xc1\x01\xb2\x01\x00\x00\x9a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x96\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\x7d\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x46\x01\x00\x00\xff\xff\x00\x00\x00\x00\x84\x01\x00\x00\x7e\x03\x5e\x03\x4f\x03\x4d\x03\x00\x00\xa8\x00\xd1\x0b\x00\x00\x00\x00\x09\x01\xb8\x0b\x23\x02\x9f\x0b\x06\x02\x86\x0b\xaa\x02\x20\x00\x73\x02\x00\x00\x00\x00\xa6\x00\x6d\x0b\x00\x00\xc5\x00\x54\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x01\x00\x00\x63\x01\x00\x00\x00\x00\x00\x00\x62\x01\x4c\x01\x35\x01\xdd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x00\xbc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x38\x00\xd8\x02\x00\x00\x00\x00\x00\x00\x00\x00\xfd\xff\x00\x00\x00\x00\x00\x00\x00\x00\xfc\xff\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x6a\x00\x6e\x03\x6a\x03\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x21\x00\x00\x00\x00\x00\x00\x00\x3f\x03\x35\x03\x1f\x03\x45\x02\x00\x00\xe9\x02\xd1\x02\xc8\x02\x2c\x00\x00\x00\x00\x00\x90\xff\x14\x01\x00\x00\xbe\xff\x00\x00\x00\x00\x3b\x0b\x79\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xda\x00\x00\x00\xb4\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb4\x02\x9b\x02\xf7\x01\x00\x00\x00\x00\x00\x00\x47\x01\x00\x00\x10\x01\x00\x00\x00\x00"# happyDefActions :: HappyAddr happyDefActions = HappyA# "\xfa\xff\x00\x00\xc3\xfe\x00\x00\xfc\xff\x00\x00\xaa\xff\x00\x00\xc3\xfe\xa9\xff\xb6\xfe\xc3\xfe\xb2\xfe\xc4\xfe\x00\x00\x00\x00\x89\xff\x69\xff\x00\x00\x7b\xff\x7a\xff\x78\xff\x77\xff\x74\xff\x00\x00\x56\xff\x55\xff\x72\xff\x00\x00\x00\x00\x4e\xff\x4c\xff\x00\x00\x00\x00\x65\xff\x64\xff\x00\x00\x00\x00\x63\xff\x62\xff\x61\xff\x60\xff\x00\x00\x00\x00\x66\xff\x67\xff\x00\x00\x00\x00\x00\x00\x00\x00\xa1\xff\x8a\xff\x68\xff\x00\x00\x89\xff\x00\x00\x83\xff\x00\x00\x82\xff\x00\x00\x6a\xff\x89\xff\x5b\xff\x00\x00\x00\x00\x9e\xff\x00\x00\x00\x00\x00\x00\x5c\xff\x87\xff\x21\xff\x35\xff\x00\x00\x6f\xff\x00\x00\x40\xff\x3d\xff\x36\xff\x00\x00\x00\x00\x86\xff\x00\x00\x00\x00\x00\x00\x59\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\xff\x00\x00\x00\x00\x27\xff\x22\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x54\xff\x00\x00\xc3\xfe\x4d\xff\x00\x00\x00\x00\x00\x00\x4f\xff\x7e\xff\x76\xff\x6d\xff\x00\x00\x00\x00\x00\x00\x00\x00\x81\xff\x89\xff\x88\xff\x23\xff\xbf\xfe\xa8\xff\xb5\xfe\x00\x00\xfb\xff\xf9\xff\xf8\xff\xf7\xff\xf6\xff\xf5\xff\xf4\xff\xf3\xff\xf2\xff\xf1\xff\xf0\xff\xef\xff\xee\xff\xed\xff\xec\xff\xeb\xff\xea\xff\xe9\xff\xe8\xff\xe7\xff\xe6\xff\xe5\xff\xe4\xff\xe3\xff\xe2\xff\xe1\xff\xe0\xff\xdf\xff\xde\xff\xdd\xff\xdc\xff\xdb\xff\xda\xff\xd9\xff\xd8\xff\xd7\xff\xd6\xff\xcf\xff\xce\xff\xcd\xff\xd5\xff\xd4\xff\xd3\xff\xd2\xff\xd1\xff\xd0\xff\xcc\xff\xcb\xff\xca\xff\xc9\xff\xc8\xff\xc7\xff\xc6\xff\xc5\xff\xc4\xff\xc3\xff\xc2\xff\xc1\xff\xc0\xff\xbf\xff\xbe\xff\xbd\xff\xbc\xff\xbb\xff\xba\xff\xb9\xff\xb8\xff\xb7\xff\xb6\xff\xb5\xff\xb4\xff\xb3\xff\xb2\xff\xb1\xff\xb0\xff\xaf\xff\xae\xff\xad\xff\xac\xff\xab\xff\xbf\xfe\xbf\xfe\x12\xff\x00\x00\x23\xff\x00\x00\x23\xff\x00\x00\x81\xff\x5a\xff\x79\xff\x00\x00\x7c\xff\x82\xff\x72\xff\x00\x00\x00\x00\x00\x00\xfd\xfe\xe0\xfe\x81\xfe\xf7\xfe\xf6\xfe\xf5\xfe\xf4\xfe\xf3\xfe\xf2\xfe\xf8\xfe\xf1\xfe\xf0\xfe\xef\xfe\xee\xfe\xed\xfe\xe8\xfe\xe7\xfe\xec\xfe\xeb\xfe\xea\xfe\xe9\xfe\xb3\xfe\xb1\xfe\xb0\xfe\xae\xfe\xaf\xfe\xad\xfe\xac\xfe\xab\xfe\xa8\xfe\xa7\xfe\xaa\xfe\xa9\xfe\x00\x00\x00\x00\x00\x00\xc4\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\x01\xff\x00\x00\x00\x00\x00\x00\x00\x00\x53\xff\x52\xff\x54\xff\x83\xff\x00\x00\x29\xff\x2a\xff\x7d\xff\x28\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\xff\x00\x00\x2b\xff\x00\x00\x00\x00\x33\xff\x32\xff\x34\xff\x20\xff\x00\x00\x00\x00\x1f\xff\x00\x00\x00\x00\x3c\xff\x38\xff\x3d\xff\x00\x00\x00\x00\x00\x00\x41\xff\x75\xff\x37\xff\x45\xff\x5d\xff\x9d\xff\x44\xff\x5f\xff\x00\x00\x43\xff\x6c\xff\x00\x00\x00\x00\x00\x00\x42\xff\x00\x00\x3a\xff\x39\xff\x3b\xff\x3f\xff\x3e\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa5\xff\x70\xff\xa4\xff\x00\x00\x00\x00\x4b\xff\x49\xff\x4a\xff\x48\xff\x46\xff\x47\xff\x71\xff\x1d\xff\x1e\xff\x00\x00\x00\x00\x58\xff\x00\x00\x73\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfd\xfe\x00\x00\x9f\xff\x00\x00\x00\x00\xd0\xfe\xd1\xfe\xd2\xfe\x00\x00\xa2\xff\x00\x00\x00\x00\xd3\xfe\x00\x00\x23\xff\x23\xff\x23\xff\x23\xff\x23\xff\xb7\xfe\x00\x00\xce\xfe\x00\x00\xcf\xfe\x00\x00\x85\xfe\xc3\xfe\xa6\xff\xa7\xff\xfb\xfe\x00\x00\x00\x00\xff\xfe\x00\x00\x80\xff\xa6\xfe\x25\xff\x00\x00\x24\xff\x00\x00\xc1\xfe\x18\xff\x16\xff\x13\xff\x14\xff\x00\x00\x00\x00\x00\x00\x12\xff\xbe\xfe\x12\xff\xc2\xfe\x17\xff\xa3\xff\x00\x00\x07\xff\x15\xff\x12\xff\x83\xfe\xb4\xfe\x00\x00\xfc\xfe\x03\xff\x00\x00\xe2\xfe\xe1\xfe\xe3\xfe\x00\x00\x00\x00\x82\xfe\x9b\xff\x99\xff\x00\x00\x95\xfe\x00\x00\x00\x00\x00\x00\x98\xfe\x00\x00\x23\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x54\xff\x97\xff\x00\x00\x92\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\xff\xd6\xfe\xd5\xfe\xd4\xfe\x00\x00\xc9\xfe\xc7\xfe\x00\x00\xc5\xfe\x00\x00\xa0\xff\x01\xff\x6e\xff\xff\xfe\x00\x00\x7f\xff\x81\xff\x81\xff\x81\xff\x00\x00\x81\xff\x9d\xfe\x00\x00\x9b\xfe\x00\x00\x00\x00\x50\xff\x51\xff\x57\xff\x31\xff\x30\xff\x2f\xff\x2e\xff\x2c\xff\x2d\xff\x1b\xff\x1c\xff\x19\xff\x1a\xff\x5e\xff\x6b\xff\x00\x00\x9c\xfe\x9e\xfe\x00\x00\x81\xff\x00\x00\x00\x00\x00\x00\x9f\xfe\x02\xff\x00\xff\xcc\xfe\x00\x00\xc8\xfe\x00\x00\x85\xff\x00\x00\x00\x00\x9c\xff\x00\x00\x00\x00\x00\x00\x00\x00\x94\xfe\x00\x00\x00\x00\x98\xff\x89\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9a\xfe\x00\x00\x00\x00\x97\xfe\x00\x00\x00\x00\x9a\xff\x00\x00\xfa\xfe\xfe\xfe\x84\xfe\xc0\xfe\x09\xff\x05\xff\x00\x00\x06\xff\x00\x00\x00\x00\x00\x00\x00\x00\x0d\xff\x00\x00\xa3\xff\x00\x00\x00\x00\xa3\xff\x0f\xff\x0b\xff\x10\xff\x08\xff\x11\xff\x00\x00\x00\x00\xe5\xfe\x96\xfe\xe6\xfe\x99\xfe\x00\x00\xb8\xfe\xbf\xfe\x12\xff\xb9\xfe\xdb\xfe\x90\xfe\xdd\xfe\x00\x00\x00\x00\xdc\xfe\xd8\xfe\xd9\xfe\x00\x00\xe4\xfe\x93\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x95\xff\x93\xff\xcd\xfe\xcb\xfe\x00\x00\xa0\xfe\xa1\xfe\xa3\xfe\x00\x00\xa4\xfe\xa5\xfe\xa2\xfe\x00\x00\xca\xfe\x94\xff\x96\xff\x8f\xff\x91\xff\x8b\xff\x8d\xff\x8f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x87\xfe\x86\xfe\x00\x00\x00\x00\x91\xfe\x00\x00\xbb\xfe\xbc\xfe\x00\x00\x12\xff\xf9\xfe\x04\xff\x0e\xff\x0c\xff\x0a\xff\xba\xfe\x00\x00\xdf\xfe\xde\xfe\xda\xfe\xd7\xfe\x8c\xfe\x8b\xfe\xc3\xfe\x8e\xfe\xc3\xfe\x8e\xff\x8c\xff\x92\xff\x90\xff\x00\x00\xc6\xfe\x00\x00\x00\x00\x00\x00\xbd\xfe\x88\xfe\x8a\xfe\xc3\xfe\x8d\xfe\x00\x00\x89\xfe"# happyCheck :: HappyAddr happyCheck = HappyA# "\xff\xff\x05\x00\x05\x00\x0b\x00\x41\x00\x09\x00\x09\x00\x0a\x00\x0f\x00\x03\x00\x09\x00\x0f\x00\x03\x00\x7d\x00\x37\x00\x4c\x00\x0f\x00\x10\x00\x39\x00\x09\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x09\x00\x04\x00\x46\x00\x0c\x00\x09\x00\x0e\x00\x4c\x00\x0c\x00\x0d\x00\x09\x00\x0a\x00\x09\x00\x09\x00\x3a\x00\x00\x00\x22\x00\x23\x00\x39\x00\x0f\x00\x10\x00\x41\x00\x03\x00\x3d\x00\x76\x00\x09\x00\x40\x00\x03\x00\x04\x00\x08\x00\x7c\x00\x46\x00\x4c\x00\x41\x00\x0f\x00\x39\x00\x0f\x00\x09\x00\x46\x00\x3a\x00\x47\x00\x4c\x00\x4a\x00\x0f\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\x1e\x00\x1f\x00\x20\x00\x5a\x00\x5e\x00\x5f\x00\x5d\x00\x49\x00\x62\x00\x63\x00\x48\x00\x03\x00\x61\x00\x67\x00\x47\x00\x69\x00\x0f\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x05\x00\x48\x00\x77\x00\x0b\x00\x09\x00\x4c\x00\x5e\x00\x5f\x00\x7e\x00\x4a\x00\x0f\x00\x81\x00\x5d\x00\x65\x00\x66\x00\x61\x00\x68\x00\x64\x00\x6a\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x3b\x00\x7b\x00\x09\x00\x79\x00\x5e\x00\x5f\x00\x77\x00\x09\x00\x0f\x00\x39\x00\x60\x00\x65\x00\x66\x00\x0f\x00\x68\x00\x00\x00\x6a\x00\x4c\x00\x39\x00\x03\x00\x09\x00\x4c\x00\x4d\x00\x1e\x00\x1f\x00\x20\x00\x0f\x00\x10\x00\x1e\x00\x1f\x00\x20\x00\x46\x00\x41\x00\x09\x00\x0a\x00\x09\x00\x09\x00\x46\x00\x0c\x00\x09\x00\x0e\x00\x4a\x00\x0f\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x11\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x1e\x00\x1f\x00\x20\x00\x09\x00\x5e\x00\x5f\x00\x09\x00\x09\x00\x62\x00\x63\x00\x0c\x00\x0d\x00\x09\x00\x67\x00\x38\x00\x69\x00\x39\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x09\x00\x07\x00\x48\x00\x49\x00\x60\x00\x07\x00\x0f\x00\x38\x00\x5d\x00\x60\x00\x47\x00\x81\x00\x36\x00\x37\x00\x49\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x49\x00\x43\x00\x09\x00\x45\x00\x3e\x00\x3f\x00\x40\x00\x3e\x00\x0f\x00\x40\x00\x4c\x00\x3b\x00\x3a\x00\x3e\x00\x60\x00\x40\x00\x0b\x00\x3f\x00\x48\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x05\x00\x06\x00\x4c\x00\x3b\x00\x3c\x00\x3d\x00\x41\x00\x3b\x00\x3c\x00\x3d\x00\x09\x00\x46\x00\x2d\x00\x2e\x00\x2f\x00\x4a\x00\x0f\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\x1e\x00\x1f\x00\x20\x00\x39\x00\x5e\x00\x5f\x00\x09\x00\x7f\x00\x62\x00\x63\x00\x09\x00\x09\x00\x01\x00\x67\x00\x44\x00\x69\x00\x46\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x09\x00\x12\x00\x21\x00\x22\x00\x23\x00\x09\x00\x0f\x00\x21\x00\x22\x00\x23\x00\x38\x00\x81\x00\x1d\x00\x1e\x00\x1f\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x46\x00\x07\x00\x09\x00\x49\x00\x09\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x11\x00\x09\x00\x35\x00\x36\x00\x37\x00\x5e\x00\x5f\x00\x0f\x00\x3b\x00\x3c\x00\x09\x00\x3e\x00\x65\x00\x66\x00\x41\x00\x09\x00\x43\x00\x44\x00\x45\x00\x46\x00\x7d\x00\x0f\x00\x41\x00\x1f\x00\x76\x00\x4c\x00\x4d\x00\x46\x00\x4f\x00\x0b\x00\x7c\x00\x4a\x00\x15\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x1f\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x09\x00\x44\x00\x5d\x00\x46\x00\x5e\x00\x5f\x00\x0f\x00\x10\x00\x62\x00\x63\x00\x09\x00\x16\x00\x01\x00\x67\x00\x15\x00\x69\x00\x0f\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x09\x00\x12\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x0f\x00\x38\x00\x39\x00\x3a\x00\x15\x00\x81\x00\x1d\x00\x1e\x00\x1f\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x09\x00\x15\x00\x09\x00\x0c\x00\x0d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x11\x00\x12\x00\x35\x00\x36\x00\x37\x00\x3a\x00\x08\x00\x15\x00\x3b\x00\x3c\x00\x3f\x00\x3e\x00\x09\x00\x0f\x00\x41\x00\x09\x00\x43\x00\x44\x00\x45\x00\x46\x00\x11\x00\x12\x00\x41\x00\x11\x00\x12\x00\x4c\x00\x4d\x00\x46\x00\x4f\x00\x05\x00\x06\x00\x4a\x00\x3a\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x3f\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x09\x00\x44\x00\x43\x00\x46\x00\x5e\x00\x5f\x00\x0f\x00\x10\x00\x62\x00\x63\x00\x09\x00\x42\x00\x01\x00\x67\x00\x09\x00\x69\x00\x0f\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x09\x00\x12\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x0f\x00\x5b\x00\x5c\x00\x5d\x00\x09\x00\x81\x00\x1d\x00\x1e\x00\x1f\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x09\x00\x7f\x00\x09\x00\x0c\x00\x0d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x11\x00\x12\x00\x09\x00\x36\x00\x37\x00\x0c\x00\x09\x00\x0e\x00\x3b\x00\x3c\x00\x3a\x00\x3e\x00\x0f\x00\x10\x00\x41\x00\x0b\x00\x43\x00\x44\x00\x45\x00\x46\x00\x43\x00\x43\x00\x41\x00\x45\x00\x45\x00\x4c\x00\x4d\x00\x46\x00\x4f\x00\x09\x00\x4c\x00\x4a\x00\x44\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x43\x00\x76\x00\x45\x00\x16\x00\x5e\x00\x5f\x00\x16\x00\x7c\x00\x62\x00\x63\x00\x09\x00\x16\x00\x01\x00\x67\x00\x0b\x00\x69\x00\x0f\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x09\x00\x12\x00\x76\x00\x1e\x00\x1f\x00\x20\x00\x0f\x00\x16\x00\x7c\x00\x05\x00\x06\x00\x81\x00\x1d\x00\x1e\x00\x1f\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x05\x00\x06\x00\x09\x00\x36\x00\x37\x00\x0c\x00\x0d\x00\x3b\x00\x3b\x00\x3c\x00\x16\x00\x3e\x00\x16\x00\x41\x00\x41\x00\x43\x00\x43\x00\x45\x00\x45\x00\x46\x00\x05\x00\x06\x00\x41\x00\x0b\x00\x4c\x00\x4c\x00\x4d\x00\x46\x00\x4f\x00\x05\x00\x06\x00\x4a\x00\x0b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x0b\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x06\x00\x36\x00\x37\x00\x06\x00\x5e\x00\x5f\x00\x05\x00\x06\x00\x62\x00\x63\x00\x7f\x00\x80\x00\x41\x00\x67\x00\x43\x00\x69\x00\x45\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x00\x00\x01\x00\x0a\x00\x0b\x00\x0c\x00\x0b\x00\x06\x00\x07\x00\x08\x00\x09\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x0b\x00\x20\x00\x21\x00\x3b\x00\x09\x00\x09\x00\x7f\x00\x80\x00\x0c\x00\x41\x00\x0e\x00\x43\x00\x42\x00\x45\x00\x08\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x4c\x00\x41\x00\x35\x00\x43\x00\x37\x00\x45\x00\x7f\x00\x09\x00\x3b\x00\x3c\x00\x0c\x00\x3e\x00\x0e\x00\x08\x00\x41\x00\x7f\x00\x43\x00\x09\x00\x45\x00\x7f\x00\x0c\x00\x48\x00\x0e\x00\x4a\x00\x08\x00\x4c\x00\x4d\x00\x09\x00\x4f\x00\x00\x00\x01\x00\x09\x00\x0a\x00\x09\x00\x0a\x00\x06\x00\x07\x00\x08\x00\x09\x00\x42\x00\x09\x00\x44\x00\x09\x00\x46\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x09\x00\x0a\x00\x11\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x09\x00\x20\x00\x21\x00\x0c\x00\x09\x00\x0e\x00\x7a\x00\x0c\x00\x09\x00\x0e\x00\x76\x00\x0c\x00\x27\x00\x0e\x00\x78\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x09\x00\x0a\x00\x35\x00\x32\x00\x37\x00\x34\x00\x35\x00\x4b\x00\x3b\x00\x3c\x00\x15\x00\x3e\x00\x0b\x00\x41\x00\x41\x00\x43\x00\x43\x00\x45\x00\x45\x00\x5c\x00\x5d\x00\x48\x00\x44\x00\x4a\x00\x15\x00\x4c\x00\x4d\x00\x0b\x00\x4f\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\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\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\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\x2d\x00\x2e\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\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x01\x00\x05\x00\x06\x00\x05\x00\x06\x00\x06\x00\x07\x00\x08\x00\x02\x00\x05\x00\x06\x00\x09\x00\x09\x00\x7f\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x01\x00\x11\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x42\x00\x20\x00\x21\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x47\x00\x0a\x00\x0b\x00\x0c\x00\x27\x00\x0e\x00\x47\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x7f\x00\x80\x00\x35\x00\x32\x00\x37\x00\x34\x00\x35\x00\x4c\x00\x3b\x00\x3c\x00\x4c\x00\x3e\x00\x09\x00\x0a\x00\x41\x00\x01\x00\x43\x00\x4b\x00\x45\x00\x3d\x00\x06\x00\x07\x00\x08\x00\x4a\x00\x03\x00\x4c\x00\x4d\x00\x4c\x00\x4f\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x09\x00\x0a\x00\x46\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x46\x00\x20\x00\x21\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x03\x00\x05\x00\x06\x00\x03\x00\x09\x00\x26\x00\x27\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x11\x00\x47\x00\x35\x00\x01\x00\x37\x00\x00\x00\x01\x00\x0f\x00\x3b\x00\x3c\x00\x4c\x00\x3e\x00\x4c\x00\x4d\x00\x41\x00\x4c\x00\x43\x00\x0d\x00\x45\x00\x38\x00\x12\x00\x09\x00\x27\x00\x4a\x00\x42\x00\x4c\x00\x4d\x00\x0f\x00\x4f\x00\x39\x00\x3a\x00\x1d\x00\x1e\x00\x1f\x00\x33\x00\x34\x00\x35\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x42\x00\x01\x00\x4c\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x4c\x00\x4d\x00\x42\x00\x36\x00\x37\x00\x03\x00\x38\x00\x4e\x00\x3b\x00\x3c\x00\x12\x00\x3e\x00\x3a\x00\x4c\x00\x41\x00\x42\x00\x43\x00\x47\x00\x45\x00\x47\x00\x4c\x00\x1d\x00\x1e\x00\x1f\x00\x47\x00\x4c\x00\x4d\x00\x46\x00\x4f\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x4c\x00\x4b\x00\x01\x00\x4b\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x4b\x00\x4b\x00\x4b\x00\x36\x00\x37\x00\x4b\x00\x4e\x00\x4e\x00\x3b\x00\x3c\x00\x12\x00\x3e\x00\x4b\x00\x4e\x00\x41\x00\x4b\x00\x43\x00\x4e\x00\x45\x00\x46\x00\x04\x00\x1d\x00\x1e\x00\x1f\x00\x40\x00\x4c\x00\x4d\x00\x3e\x00\x4f\x00\x39\x00\x03\x00\x39\x00\x4c\x00\x39\x00\x4c\x00\x47\x00\x01\x00\x0f\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x41\x00\x41\x00\x41\x00\x36\x00\x37\x00\x0c\x00\x04\x00\x4b\x00\x3b\x00\x3c\x00\x12\x00\x3e\x00\x47\x00\x3a\x00\x41\x00\x42\x00\x43\x00\x05\x00\x45\x00\x4c\x00\x4c\x00\x1d\x00\x1e\x00\x1f\x00\x4e\x00\x4c\x00\x4d\x00\x4b\x00\x4f\x00\x4e\x00\x46\x00\x4e\x00\x4e\x00\x4c\x00\x46\x00\x3d\x00\x01\x00\x3d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x3d\x00\x3d\x00\x46\x00\x36\x00\x37\x00\x3d\x00\x3d\x00\x46\x00\x3b\x00\x3c\x00\x12\x00\x3e\x00\x42\x00\x42\x00\x41\x00\x3a\x00\x43\x00\x38\x00\x45\x00\x46\x00\x40\x00\x1d\x00\x1e\x00\x1f\x00\x46\x00\x4c\x00\x4d\x00\x4c\x00\x4f\x00\x4c\x00\x46\x00\x4f\x00\x05\x00\x47\x00\x47\x00\x47\x00\x01\x00\x47\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x4c\x00\x40\x00\x03\x00\x36\x00\x37\x00\x4e\x00\x4b\x00\x4e\x00\x3b\x00\x3c\x00\x12\x00\x3e\x00\x02\x00\x09\x00\x41\x00\x42\x00\x43\x00\x4c\x00\x45\x00\x0f\x00\x45\x00\x1d\x00\x1e\x00\x1f\x00\x3d\x00\x4c\x00\x4d\x00\x01\x00\x4f\x00\x02\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x3d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x42\x00\x12\x00\x42\x00\x36\x00\x37\x00\x46\x00\x50\x00\x46\x00\x3b\x00\x3c\x00\x46\x00\x3e\x00\x1d\x00\x1e\x00\x41\x00\x39\x00\x43\x00\x47\x00\x45\x00\x4c\x00\x3d\x00\x22\x00\x50\x00\x3f\x00\x09\x00\x4c\x00\x4d\x00\x01\x00\x4f\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x50\x00\xff\xff\xff\xff\xff\xff\x37\x00\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\x12\x00\x3e\x00\xff\xff\xff\xff\x41\x00\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\xff\xff\x1d\x00\x1e\x00\x1f\x00\xff\xff\x4c\x00\x4d\x00\x01\x00\x4f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\x12\x00\xff\xff\x36\x00\x37\x00\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\x1d\x00\x1e\x00\x41\x00\xff\xff\x43\x00\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4c\x00\x4d\x00\x01\x00\x4f\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\x37\x00\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\x12\x00\x3e\x00\xff\xff\xff\xff\x41\x00\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\xff\xff\x1d\x00\x1e\x00\x1f\x00\xff\xff\x4c\x00\x4d\x00\x01\x00\x4f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\x12\x00\xff\xff\x36\x00\x37\x00\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\x1d\x00\x1e\x00\x41\x00\xff\xff\x43\x00\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4c\x00\x4d\x00\xff\xff\x4f\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\xff\xff\x01\x00\xff\xff\x37\x00\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\x41\x00\x09\x00\x43\x00\xff\xff\x45\x00\x12\x00\xff\xff\x09\x00\xff\xff\x11\x00\xff\xff\x4c\x00\x4d\x00\x0f\x00\x4f\x00\xff\xff\x1d\x00\x1e\x00\x1f\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x1a\x00\x1b\x00\x1c\x00\xff\xff\x1e\x00\x1f\x00\x20\x00\x27\x00\xff\xff\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\x12\x00\xff\xff\x36\x00\x37\x00\x33\x00\x34\x00\x35\x00\x3b\x00\x3c\x00\xff\xff\x3e\x00\x1d\x00\x1e\x00\x41\x00\xff\xff\x43\x00\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4c\x00\x4d\x00\x01\x00\x4f\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\x37\x00\x09\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x12\x00\x3e\x00\xff\xff\x11\x00\x41\x00\xff\xff\x43\x00\xff\xff\x45\x00\x46\x00\xff\xff\x1d\x00\x1e\x00\x09\x00\xff\xff\x4c\x00\x4d\x00\x01\x00\x4f\x00\xff\xff\xff\xff\x11\x00\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\x12\x00\x31\x00\x32\x00\x37\x00\x34\x00\x35\x00\xff\xff\x3b\x00\x3c\x00\x27\x00\x3e\x00\x1d\x00\x1e\x00\x41\x00\x42\x00\x43\x00\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\x33\x00\x34\x00\x35\x00\x4c\x00\x4d\x00\x01\x00\x4f\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\xff\xff\x36\x00\x37\x00\x37\x00\xff\xff\xff\xff\x3b\x00\x3b\x00\x3c\x00\x12\x00\x3e\x00\xff\xff\x41\x00\x41\x00\x43\x00\x43\x00\x45\x00\x45\x00\x46\x00\xff\xff\x1d\x00\x1e\x00\xff\xff\x4c\x00\x4c\x00\x4d\x00\x01\x00\x4f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\x12\x00\xff\xff\xff\xff\x37\x00\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\x1d\x00\x1e\x00\x41\x00\x42\x00\x43\x00\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x4c\x00\x4d\x00\xff\xff\x4f\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\x1d\x00\x1e\x00\xff\xff\x37\x00\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\x41\x00\xff\xff\x43\x00\xff\xff\x45\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x12\x00\xff\xff\x4c\x00\x4d\x00\x37\x00\x4f\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x1d\x00\x1e\x00\xff\xff\x41\x00\xff\xff\x43\x00\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\xff\xff\x4c\x00\x4d\x00\xff\xff\x4f\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\x1d\x00\x1e\x00\xff\xff\x37\x00\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\xff\xff\x43\x00\xff\xff\x45\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x12\x00\xff\xff\x4c\x00\x4d\x00\x37\x00\x4f\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x1d\x00\x1e\x00\xff\xff\x41\x00\xff\xff\x43\x00\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\xff\xff\x4c\x00\x4d\x00\xff\xff\x4f\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\x1d\x00\x1e\x00\xff\xff\x37\x00\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\xff\xff\x43\x00\xff\xff\x45\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x12\x00\xff\xff\x4c\x00\x4d\x00\x37\x00\x4f\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x1d\x00\x1e\x00\xff\xff\x41\x00\xff\xff\x43\x00\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\xff\xff\x4c\x00\x4d\x00\xff\xff\x4f\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\x1d\x00\x1e\x00\x09\x00\x37\x00\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x11\x00\xff\xff\xff\xff\x41\x00\xff\xff\x43\x00\xff\xff\x45\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x12\x00\xff\xff\x4c\x00\x4d\x00\x37\x00\x4f\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x27\x00\x1d\x00\x1e\x00\xff\xff\x41\x00\xff\xff\x43\x00\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\x33\x00\x34\x00\x35\x00\x4c\x00\x4d\x00\xff\xff\x4f\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\xff\xff\x09\x00\xff\xff\x37\x00\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\x11\x00\x09\x00\xff\xff\xff\xff\x41\x00\xff\xff\x43\x00\xff\xff\x45\x00\x11\x00\xff\xff\x09\x00\xff\xff\xff\xff\xff\xff\x4c\x00\x4d\x00\xff\xff\x4f\x00\x11\x00\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\x09\x00\xff\xff\x27\x00\x09\x00\xff\xff\xff\xff\x34\x00\x35\x00\x11\x00\x09\x00\xff\xff\x11\x00\x27\x00\xff\xff\x33\x00\x34\x00\x35\x00\x11\x00\xff\xff\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\x34\x00\x35\x00\x11\x00\x09\x00\xff\xff\x27\x00\xff\xff\xff\xff\x27\x00\x2b\x00\xff\xff\x11\x00\x2b\x00\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\x34\x00\x35\x00\xff\xff\x34\x00\x35\x00\x09\x00\x27\x00\xff\xff\x33\x00\x34\x00\x35\x00\xff\xff\xff\xff\x11\x00\xff\xff\x27\x00\x09\x00\xff\xff\x33\x00\x34\x00\x35\x00\xff\xff\xff\xff\xff\xff\x11\x00\xff\xff\xff\xff\x33\x00\x34\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\x09\x00\x27\x00\xff\xff\xff\xff\xff\xff\x2b\x00\x0f\x00\xff\xff\xff\xff\xff\xff\x13\x00\x14\x00\x27\x00\xff\xff\x34\x00\x35\x00\x2b\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x09\x00\x34\x00\x35\x00\xff\xff\xff\xff\xff\xff\x0f\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\xff\xff\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x09\x00\xff\xff\x0b\x00\xff\xff\xff\xff\xff\xff\x0f\x00\x2d\x00\x2e\x00\x2f\x00\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xff\xff\xff\xff\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x09\x00\xff\xff\x0b\x00\xff\xff\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xff\xff\xff\xff\x09\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x0f\x00\xff\xff\xff\xff\xff\xff\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xff\xff\xff\xff\x09\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x0f\x00\xff\xff\xff\xff\xff\xff\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xff\xff\xff\xff\x09\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x0f\x00\xff\xff\xff\xff\xff\xff\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xff\xff\xff\xff\x09\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x0f\x00\xff\xff\xff\xff\xff\xff\x13\x00\x14\x00\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xff\xff\xff\xff\x09\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x0f\x00\xff\xff\xff\xff\xff\xff\x13\x00\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\xff\xff\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x09\x00\xff\xff\x0b\x00\xff\xff\x28\x00\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\x13\x00\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\xff\xff\x1e\x00\x1f\x00\x20\x00\x09\x00\xff\xff\x0b\x00\xff\xff\xff\xff\xff\xff\x0f\x00\x28\x00\xff\xff\xff\xff\x13\x00\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\xff\xff\x1e\x00\x1f\x00\x20\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0f\x00\x28\x00\xff\xff\xff\xff\x13\x00\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\xff\xff\x1e\x00\x1f\x00\x20\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0f\x00\x28\x00\xff\xff\xff\xff\x13\x00\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\xff\xff\x1e\x00\x1f\x00\x20\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0f\x00\x28\x00\xff\xff\xff\xff\x13\x00\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\xff\xff\x1e\x00\x1f\x00\x20\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0f\x00\x28\x00\xff\xff\xff\xff\x13\x00\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\xff\xff\x1e\x00\x1f\x00\x20\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0f\x00\x28\x00\xff\xff\xff\xff\x13\x00\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\xff\xff\x1e\x00\x1f\x00\x20\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0f\x00\x28\x00\xff\xff\xff\xff\x13\x00\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\xff\xff\x1e\x00\x1f\x00\x20\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0f\x00\x28\x00\xff\xff\xff\xff\x13\x00\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\xff\xff\x1e\x00\x1f\x00\x20\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0f\x00\x28\x00\xff\xff\xff\xff\x13\x00\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\xff\xff\x1e\x00\x1f\x00\x20\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0f\x00\x28\x00\xff\xff\xff\xff\x13\x00\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\xff\xff\x1e\x00\x1f\x00\x20\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0f\x00\x28\x00\xff\xff\xff\xff\x13\x00\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\xff\xff\x1e\x00\x1f\x00\x20\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0f\x00\x28\x00\xff\xff\xff\xff\x13\x00\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\xff\xff\x1e\x00\x1f\x00\x20\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0f\x00\x28\x00\xff\xff\xff\xff\x13\x00\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\xff\xff\x1e\x00\x1f\x00\x20\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0f\x00\x28\x00\xff\xff\xff\xff\x13\x00\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\xff\xff\x1e\x00\x1f\x00\x20\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0f\x00\x28\x00\xff\xff\xff\xff\x13\x00\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\xff\xff\x1e\x00\x1f\x00\x20\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0f\x00\x28\x00\xff\xff\xff\xff\x13\x00\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\xff\xff\x1e\x00\x1f\x00\x20\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0f\x00\x28\x00\xff\xff\xff\xff\x13\x00\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\xff\xff\x1e\x00\x1f\x00\x20\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0f\x00\x28\x00\xff\xff\xff\xff\x13\x00\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\xff\xff\x1e\x00\x1f\x00\x20\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0f\x00\x28\x00\xff\xff\xff\xff\x13\x00\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\xff\xff\x1e\x00\x1f\x00\x20\x00\x09\x00\xff\xff\x0b\x00\xff\xff\xff\xff\xff\xff\x0f\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xff\xff\x09\x00\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xff\xff\x09\x00\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xff\xff\x09\x00\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xff\xff\x09\x00\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xff\xff\x09\x00\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xff\xff\x09\x00\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xff\xff\x09\x00\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xff\xff\x09\x00\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xff\xff\x09\x00\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xff\xff\x09\x00\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xff\xff\x09\x00\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xff\xff\x09\x00\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xff\xff\x09\x00\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xff\xff\x09\x00\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xff\xff\x09\x00\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xff\xff\x09\x00\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xff\xff\x09\x00\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xff\xff\x09\x00\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xff\xff\x09\x00\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xff\xff\x09\x00\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xff\xff\x09\x00\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xff\xff\x09\x00\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xff\xff\x09\x00\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xff\xff\x09\x00\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xff\xff\x09\x00\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xff\xff\xff\xff\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x36\x00\x37\x00\xff\xff\x36\x00\x37\x00\x3b\x00\xff\xff\x3d\x00\x3b\x00\xff\xff\x3d\x00\x41\x00\xff\xff\x43\x00\x41\x00\x45\x00\x43\x00\xff\xff\x45\x00\x36\x00\x37\x00\xff\xff\x4c\x00\xff\xff\x3b\x00\x4c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\xff\xff\x43\x00\xff\xff\x45\x00\x36\x00\x37\x00\xff\xff\x36\x00\x37\x00\x3b\x00\x4c\x00\xff\xff\x3b\x00\xff\xff\xff\xff\x41\x00\xff\xff\x43\x00\x41\x00\x45\x00\x43\x00\xff\xff\x45\x00\x36\x00\x37\x00\xff\xff\x4c\x00\xff\xff\x3b\x00\x4c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\xff\xff\x43\x00\xff\xff\x45\x00\x36\x00\x37\x00\xff\xff\x36\x00\x37\x00\x3b\x00\x4c\x00\xff\xff\x3b\x00\xff\xff\xff\xff\x41\x00\xff\xff\x43\x00\x41\x00\x45\x00\x43\x00\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\x4c\x00\xff\xff\xff\xff\x4c\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\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\x6f\x02\x78\x02\x97\x02\xdb\x01\x10\x00\x77\x01\xc1\x01\x33\x02\x19\x02\x79\x00\x11\x00\x1f\x02\x87\x02\xc1\x01\xdc\x01\x7a\x00\x49\x02\x49\x01\x17\x01\xe2\x00\x14\x00\x15\x00\x16\x00\x17\x00\xdb\x00\x19\x00\x1a\x00\x1b\x00\xbb\x01\x7d\x00\xf8\x01\xcb\x01\xbb\x01\xcc\x01\x33\x00\xbc\x01\xbd\x01\x77\x01\xc1\x01\x86\x01\x79\x00\x0b\x02\x91\x01\xee\x01\x1a\x01\x49\x01\x7a\x00\x49\x02\xdb\x01\xb9\x01\x76\x00\x4d\x02\x88\x02\x77\x00\x05\x00\x06\x00\x0e\x00\x85\x02\xfa\x01\xdc\x01\xe3\x00\xba\x01\x1a\x02\x0f\x00\x10\x00\xe4\x00\x20\x02\xc2\x01\x33\x00\xe5\x00\x11\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\x70\x02\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\x19\x00\x1a\x00\xd1\x00\x5d\x02\x07\x00\xf3\x00\x5e\x02\xcd\x01\xf4\x00\xf5\x00\xbe\x01\x1b\x02\x7d\x02\xf6\x00\xc2\x01\xf7\x00\x8a\x01\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x01\x01\x01\x02\x01\x2c\x02\x92\x01\xc3\x01\x6b\x02\x10\x00\x33\x00\x07\x00\x08\x00\x71\x02\x10\x00\x11\x00\x72\x02\x92\x02\x09\x00\x0a\x00\x4a\x02\x0b\x00\x87\x01\x0c\x00\xe2\x00\x14\x00\x15\x00\x16\x00\x17\x00\xdb\x00\x19\x00\x1a\x00\x1b\x00\x52\x00\xce\x01\x10\x00\xbf\x01\x07\x00\x08\x00\xc3\x01\x10\x00\x11\x00\x1c\x02\x7b\x02\x09\x00\x0a\x00\x11\x00\x0b\x00\x91\x01\x0c\x00\x33\x00\x82\xff\x1d\x02\x79\x00\x33\x00\x34\x00\x19\x00\x1a\x00\xd1\x00\x7a\x00\x7c\x00\x19\x00\x1a\x00\xd1\x00\x82\xff\xe3\x00\x77\x01\xc1\x01\xbb\x01\x10\x00\xe4\x00\xcb\x01\x46\x00\xcc\x01\xe5\x00\x11\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\x31\x01\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\x19\x00\x1a\x00\xd1\x00\x2e\x02\x07\x00\xf3\x00\x2e\x02\xbb\x01\xf4\x00\xf5\x00\xbc\x01\xbd\x01\x2e\x02\xf6\x00\x58\x01\xf7\x00\x1e\x02\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x01\x01\x01\x02\x01\x10\x00\x34\x02\x92\x01\x5a\x01\xa6\x01\x34\x02\x11\x00\x58\x01\x68\x02\xa7\x01\x46\x02\x03\x01\xd0\x01\xd1\x01\x56\x02\xe2\x00\x14\x00\x15\x00\x16\x00\x17\x00\xdb\x00\x19\x00\x1a\x00\x1b\x00\x5a\x01\xd2\x01\x10\x00\xd3\x01\x2f\x02\x30\x02\x31\x02\x2f\x02\x11\x00\x7f\x02\x33\x00\x89\x01\x69\x01\x2f\x02\xd2\x00\x33\x02\x6d\x02\x78\x00\x44\x02\xf1\x01\x16\x00\x17\x00\x2a\x01\x19\x00\x1a\x00\x1b\x00\x9d\x02\x8f\x01\x33\x00\x80\x02\x36\x02\x37\x02\xe3\x00\x35\x02\x36\x02\x37\x02\x10\x00\xe4\x00\xf2\x01\xf3\x01\xf4\x01\xe5\x00\x11\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\x95\x02\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\x19\x00\x1a\x00\xd9\x00\x49\x01\x07\x00\xf3\x00\x17\x01\x7e\x02\xf4\x00\xf5\x00\x81\x02\x17\x01\x21\x00\xf6\x00\x42\x00\xf7\x00\x43\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x01\x01\x01\x02\x01\x10\x00\x22\x00\x65\x01\x19\x01\x1a\x01\x82\x02\x11\x00\x18\x01\x19\x01\x1a\x01\x58\x01\x96\x02\x23\x00\x24\x00\x25\x00\xe2\x00\x14\x00\x15\x00\x16\x00\x17\x00\xdb\x00\x19\x00\x1a\x00\x1b\x00\x59\x01\x39\x02\x46\x00\x5a\x01\x3d\x02\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x34\x01\x10\x00\x85\x02\x2b\x00\x2c\x00\x07\x00\x08\x00\x11\x00\x2d\x00\x2e\x00\x3f\x02\x2f\x00\x7e\x00\x0a\x00\x30\x00\x10\x00\x31\x00\x42\x00\x32\x00\x43\x00\x53\x02\x11\x00\xe3\x00\x83\x01\x4d\x02\x33\x00\x34\x00\xe4\x00\x35\x00\x5b\x02\x86\x02\xe5\x00\x63\x02\xe6\x00\xe7\x00\xe8\x00\xe9\x00\x66\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\x79\x00\x42\x00\x5f\x02\x43\x00\x07\x00\xf3\x00\x7a\x00\xd0\x00\xf4\x00\xf5\x00\x10\x00\xfc\x01\x21\x00\xf6\x00\xff\x01\xf7\x00\x11\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x01\x01\x01\x02\x01\x10\x00\x22\x00\x73\x00\x19\x00\x1a\x00\xdf\x01\x11\x00\xa9\x01\xa0\x01\xa1\x01\x01\x02\x9c\x02\x23\x00\x24\x00\x25\x00\xe2\x00\x14\x00\x15\x00\x16\x00\x17\x00\xdb\x00\x19\x00\x1a\x00\x1b\x00\xbb\x01\x02\x02\x46\x00\xbc\x01\x0c\x02\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\xd3\x01\x0b\x02\x9d\x01\x2b\x00\x2c\x00\x46\x01\x0e\x00\x03\x02\x2d\x00\x2e\x00\x78\x00\x2f\x00\x46\x00\x0f\x00\x30\x00\x46\x00\x31\x00\x42\x00\x32\x00\x43\x00\xd3\x01\xd4\x01\xe3\x00\xd3\x01\xd5\x01\x33\x00\x34\x00\xe4\x00\x35\x00\x98\x02\x8f\x01\xe5\x00\x4a\x01\xe6\x00\xe7\x00\xe8\x00\xe9\x00\x78\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\x79\x00\x42\x00\x05\x02\x43\x00\x07\x00\xf3\x00\x7a\x00\x7b\x00\xf4\x00\xf5\x00\x10\x00\x06\x02\x21\x00\xf6\x00\x0e\x02\xf7\x00\x11\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x01\x01\x01\x02\x01\x10\x00\x22\x00\xde\x01\x19\x00\x1a\x00\xdf\x01\x11\x00\xd7\x01\xd8\x01\xd9\x01\x29\x02\x94\x02\x23\x00\x24\x00\x25\x00\xe2\x00\x14\x00\x15\x00\x16\x00\x17\x00\xdb\x00\x19\x00\x1a\x00\x1b\x00\xbb\x01\x2a\x02\x46\x00\xbc\x01\x0d\x02\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\xd3\x01\xd6\x01\xbb\x01\x2b\x00\x2c\x00\xcb\x01\x79\x00\x8e\x02\x2d\x00\x2e\x00\xad\x01\x2f\x00\x7a\x00\x7c\x00\x30\x00\xae\x01\x31\x00\x42\x00\x32\x00\x43\x00\xb3\x01\x10\x02\xe3\x00\x11\x02\xb7\x01\x33\x00\x34\x00\xe4\x00\x35\x00\xc4\x01\x33\x00\xe5\x00\xe0\x01\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xe1\x01\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\x12\x02\x4d\x02\x13\x02\xe3\x01\x07\x00\xf3\x00\xe4\x01\x4e\x02\xf4\x00\xf5\x00\x10\x00\xe5\x01\x21\x00\xf6\x00\xf6\x01\xf7\x00\x11\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x01\x01\x01\x02\x01\x10\x00\x22\x00\x4d\x02\x19\x00\x1a\x00\x55\x00\x11\x00\xe6\x01\x51\x02\x99\x02\x9a\x02\x03\x01\x23\x00\x24\x00\x25\x00\xe2\x00\x14\x00\x15\x00\x16\x00\x17\x00\xdb\x00\x19\x00\x1a\x00\x1b\x00\x83\x02\x9e\x01\x9f\x01\xa0\x01\xa1\x01\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x9b\x02\x8f\x01\xbb\x01\x2b\x00\x2c\x00\xbc\x01\x28\x02\x52\x00\x2d\x00\x2e\x00\xe7\x01\x2f\x00\xe9\x01\xe0\x00\x30\x00\x33\x01\x31\x00\x34\x01\x32\x00\x3d\x00\x89\x02\x8f\x01\xe3\x00\xf8\x01\x33\x00\x33\x00\x34\x00\xba\x01\x35\x00\x8a\x02\x8b\x02\xe5\x00\xfa\x01\xe6\x00\xe7\x00\xe8\x00\xe9\x00\x5d\x01\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\x56\x01\x2b\x00\x6e\x00\x5a\x01\x07\x00\xf3\x00\x8c\x02\x8d\x02\xf4\x00\xf5\x00\xaf\x01\x48\x02\x64\x00\xf6\x00\x6f\x00\xf7\x00\x70\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x01\x01\x01\x02\x01\x91\x01\x21\x00\xa3\x01\xa4\x01\xa5\x01\x60\x01\x05\x01\x06\x01\x07\x01\xc3\xfe\x7a\x02\x9e\x01\x9f\x01\xa0\x01\xa1\x01\x08\x01\x09\x01\x0a\x01\x0b\x01\x74\x02\x75\x02\x76\x02\x0c\x01\x0d\x01\x0e\x01\x0f\x01\x10\x01\x11\x01\x12\x01\x23\x00\x24\x00\x63\x01\x13\x01\x14\x01\x52\x00\x79\x01\xbb\x01\xaf\x01\x4b\x02\xcb\x01\x5b\x00\x8f\x02\x36\x01\x75\x01\x37\x01\x7d\x01\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x33\x00\xe0\x00\x15\x01\xe1\x00\x57\x00\xe2\x00\x7a\x01\xbb\x01\x2d\x00\x2e\x00\xcb\x01\x2f\x00\x90\x02\x7f\x01\x68\x00\x7b\x01\x69\x00\xbb\x01\x75\x00\x7c\x01\xcb\x01\x92\x01\x91\x02\x16\x01\x80\x01\x33\x00\x34\x00\x84\x01\x35\x00\x91\x01\x21\x00\x77\x01\x57\x02\x77\x01\x58\x02\x05\x01\x06\x01\x07\x01\xc3\xfe\x78\xff\x85\x01\x78\xff\x46\x00\x78\xff\x08\x01\x09\x01\x0a\x01\x0b\x01\x77\x01\x59\x02\x47\x00\x0c\x01\x0d\x01\x0e\x01\x0f\x01\x10\x01\x11\x01\x12\x01\x23\x00\x24\x00\xbb\x01\x13\x01\x14\x01\xcb\x01\xbb\x01\x69\x02\x81\x01\xcb\x01\xbb\x01\x6a\x02\x8a\x01\xcb\x01\x5e\x00\x16\x02\x8c\x01\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x77\x01\x5a\x02\x15\x01\x1e\x01\x57\x00\x61\x00\x62\x00\x92\x01\x2d\x00\x2e\x00\x97\x01\x2f\x00\x43\x01\x5b\x00\x68\x00\x5c\x00\x69\x00\x5d\x00\x75\x00\x09\x02\xd9\x01\x92\x01\x95\x01\x16\x01\xd7\x00\x33\x00\x34\x00\x44\x01\x35\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\x21\x00\x13\x02\x14\x02\x22\x02\x23\x02\x05\x01\x06\x01\x07\x01\x80\x00\x25\x02\x26\x02\x5d\x00\x46\x00\x6a\x00\x08\x01\x09\x01\x0a\x01\x0b\x01\x74\x02\x04\x00\x47\x00\x0c\x01\x0d\x01\x0e\x01\x0f\x01\x10\x01\x11\x01\x12\x01\x23\x00\x24\x00\x94\x02\x13\x01\x14\x01\x2d\x02\x9e\x01\x9f\x01\xa0\x01\xa1\x01\x50\x02\xa3\x01\xa4\x01\xa5\x01\x5e\x00\xa6\x01\x55\x02\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\xaf\x01\xb0\x01\x15\x01\x21\x01\x57\x00\x61\x00\x62\x00\x33\x00\x2d\x00\x2e\x00\xdc\x01\x2f\x00\x77\x01\xdd\x01\x68\x00\x21\x00\x69\x00\x67\x02\x75\x00\x68\x02\x05\x01\x06\x01\x07\x01\x16\x01\x77\x02\x33\x00\x34\x00\xdc\x01\x35\x00\x08\x01\x09\x01\x0a\x01\x0b\x01\x77\x01\x78\x01\x6d\x02\x0c\x01\x0d\x01\x0e\x01\x0f\x01\x10\x01\x11\x01\x12\x01\x23\x00\x24\x00\x6f\x02\x13\x01\x14\x01\xa8\x01\x9e\x01\x9f\x01\xa0\x01\xa1\x01\x78\x02\x8e\x01\x8f\x01\x7a\x02\x46\x00\x6c\x00\x1f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x47\x00\x6c\x00\x15\x01\x21\x00\x57\x00\x35\x00\x04\x00\x39\x02\x2d\x00\x2e\x00\x33\x00\x2f\x00\x33\x00\x34\x00\x68\x00\x33\x00\x69\x00\x3b\x02\x75\x00\x3c\x02\x22\x00\x10\x00\xd4\x00\x16\x01\x3d\x02\x33\x00\x34\x00\x11\x00\x35\x00\x94\x01\x95\x01\x23\x00\x24\x00\x25\x00\x21\x02\xd6\x00\x62\x00\xda\x00\x15\x00\x16\x00\x17\x00\xdb\x00\x19\x00\x1a\x00\x1b\x00\x3f\x02\x21\x00\x33\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x33\x00\x34\x00\x41\x02\x2b\x00\x2c\x00\x43\x02\x42\x02\xd9\x00\x2d\x00\x2e\x00\x22\x00\x2f\x00\x48\x02\x33\x00\x30\x00\x46\x00\x31\x00\xb2\x01\x32\x00\x50\x02\x33\x00\x23\x00\x24\x00\x25\x00\x55\x02\x33\x00\x34\x00\x5d\x02\x35\x00\x9d\x01\x9e\x01\x9f\x01\xa0\x01\xa1\x01\xdc\x01\x61\x02\x21\x00\x62\x02\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x63\x02\x65\x02\x66\x02\x2b\x00\x2c\x00\xfe\x01\xe3\x01\xd9\x00\x2d\x00\x2e\x00\x22\x00\x2f\x00\xff\x01\x01\x02\x30\x00\x05\x02\x31\x00\xd9\x00\x32\x00\x3d\x00\xb5\x01\x23\x00\x24\x00\x25\x00\x77\x01\x33\x00\x34\x00\x09\x02\x35\x00\x16\x02\x21\x02\x25\x02\x33\x00\x28\x02\x33\x00\x6c\x00\x21\x00\x39\x02\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\xab\x01\xac\x01\xad\x01\x2b\x00\x2c\x00\xa5\x01\xb5\x01\xe9\x01\x2d\x00\x2e\x00\x22\x00\x2f\x00\xb2\x01\xdd\x01\x30\x00\x46\x00\x31\x00\x97\x01\x32\x00\x33\x00\x33\x00\x23\x00\x24\x00\x25\x00\xe3\x01\x33\x00\x34\x00\xeb\x01\x35\x00\xe3\x01\xf0\x01\xec\x01\xed\x01\x33\x00\xfc\x01\x3e\xff\x21\x00\x3f\xff\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x3b\xff\x39\xff\x5f\x01\x2b\x00\x2c\x00\x3a\xff\x5c\x01\x62\x01\x2d\x00\x2e\x00\x22\x00\x2f\x00\x5d\x01\x60\x01\x30\x00\x69\x01\x31\x00\x67\x01\x32\x00\x3d\x00\x77\x01\x23\x00\x24\x00\x25\x00\x65\x01\x33\x00\x34\x00\x33\x00\x35\x00\x33\x00\x68\x01\x7f\x01\x97\x01\x6c\x00\x83\x01\x8c\x01\x21\x00\x8e\x01\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x33\x00\x77\x00\x9b\x01\x2b\x00\x2c\x00\xd9\x00\x99\x01\xd9\x00\x2d\x00\x2e\x00\x22\x00\x2f\x00\x17\x01\x10\x00\x30\x00\x46\x00\x31\x00\x33\x00\x32\x00\x11\x00\x1c\x01\x23\x00\x24\x00\x25\x00\x20\x01\x33\x00\x34\x00\x21\x00\x35\x00\x23\x01\x72\x00\x16\x00\x17\x00\x73\x00\x19\x00\x1a\x00\x1b\x00\x3e\x01\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x41\x01\x22\x00\x42\x01\x2b\x00\x2c\x00\x43\x01\xff\xff\x47\x01\x2d\x00\x2e\x00\x48\x01\x2f\x00\x23\x00\x24\x00\x30\x00\x49\x01\x31\x00\x6c\x00\x32\x00\x33\x00\x71\x00\x79\x00\xff\xff\x78\x00\x80\x00\x33\x00\x34\x00\x21\x00\x35\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\xff\xff\x00\x00\x00\x00\x00\x00\x57\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x2e\x00\x22\x00\x2f\x00\x00\x00\x00\x00\x68\x00\x00\x00\x69\x00\x42\x00\x75\x00\x43\x00\x00\x00\x23\x00\x24\x00\x25\x00\x00\x00\x33\x00\x34\x00\x21\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x22\x00\x00\x00\x2b\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x2e\x00\x00\x00\x2f\x00\x23\x00\x24\x00\x30\x00\x00\x00\x31\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x34\x00\x21\x00\x35\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x57\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x2e\x00\x22\x00\x2f\x00\x00\x00\x00\x00\x68\x00\x00\x00\x69\x00\x42\x00\x75\x00\x43\x00\x00\x00\x23\x00\x24\x00\x25\x00\x00\x00\x33\x00\x34\x00\x21\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x22\x00\x00\x00\x2b\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x2e\x00\x00\x00\x2f\x00\x23\x00\x24\x00\x30\x00\x00\x00\x31\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x34\x00\x00\x00\x35\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x21\x00\x00\x00\x57\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x2e\x00\x6e\xff\x2f\x00\x00\x00\x6e\xff\x68\x00\x46\x00\x69\x00\x00\x00\x75\x00\x22\x00\x00\x00\x10\x00\x00\x00\x47\x00\x00\x00\x33\x00\x34\x00\x11\x00\x35\x00\x00\x00\x23\x00\x24\x00\x25\x00\x00\x00\x00\x00\x00\x00\x21\x00\x00\x00\x72\x00\x16\x00\x17\x00\x00\x00\x19\x00\x1a\x00\xde\x00\xd4\x00\x00\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x22\x00\x00\x00\x2b\x00\x2c\x00\xc5\x01\xd6\x00\x62\x00\x2d\x00\x2e\x00\x00\x00\x2f\x00\x23\x00\x24\x00\x30\x00\x00\x00\x31\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x34\x00\x21\x00\x35\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x57\x00\x46\x00\x00\x00\x00\x00\x2d\x00\x2e\x00\x22\x00\x2f\x00\x00\x00\x47\x00\x68\x00\x00\x00\x69\x00\x00\x00\x75\x00\x4e\x01\x00\x00\x23\x00\x24\x00\x46\x00\x00\x00\x33\x00\x34\x00\x21\x00\x35\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x5e\x00\x00\x00\x00\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x22\x00\x5f\x00\x60\x00\x57\x00\x61\x00\x62\x00\x00\x00\x2d\x00\x2e\x00\xd4\x00\x2f\x00\x23\x00\x24\x00\x68\x00\x50\x01\x69\x00\x00\x00\x75\x00\x00\x00\x00\x00\x00\x00\xc6\x01\xd6\x00\x62\x00\x33\x00\x34\x00\x21\x00\x35\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x50\x00\x51\x00\x57\x00\x00\x00\x00\x00\x52\x00\x2d\x00\x2e\x00\x22\x00\x2f\x00\x00\x00\x64\x00\x68\x00\x65\x00\x69\x00\x66\x00\x75\x00\x2f\x01\x00\x00\x23\x00\x24\x00\x00\x00\x33\x00\x33\x00\x34\x00\x21\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x22\x00\x00\x00\x00\x00\x57\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x2e\x00\x00\x00\x2f\x00\x23\x00\x24\x00\x68\x00\x31\x01\x69\x00\x00\x00\x75\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x22\x00\x33\x00\x34\x00\x00\x00\x35\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x23\x00\x24\x00\x00\x00\x57\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x00\x00\x68\x00\x00\x00\x69\x00\x00\x00\x75\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x22\x00\x00\x00\x33\x00\x34\x00\x57\x00\x35\x00\x00\x00\x00\x00\x2d\x00\x2e\x00\x00\x00\x23\x00\x24\x00\x00\x00\x68\x00\x00\x00\x7d\x02\x00\x00\x75\x00\x00\x00\x00\x00\x00\x00\x00\x00\x22\x00\x00\x00\x33\x00\x34\x00\x00\x00\x35\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x23\x00\x24\x00\x00\x00\x57\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x00\x00\x69\x00\x00\x00\x75\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x22\x00\x00\x00\x33\x00\x34\x00\x57\x00\x35\x00\x00\x00\x00\x00\x2d\x00\x2e\x00\x00\x00\x23\x00\x24\x00\x00\x00\x68\x00\x00\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x22\x00\x00\x00\x33\x00\x34\x00\x00\x00\x35\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x23\x00\x24\x00\x00\x00\x57\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x00\x00\x69\x00\x00\x00\x75\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x22\x00\x00\x00\x33\x00\x34\x00\x57\x00\x35\x00\x00\x00\x00\x00\x2d\x00\x2e\x00\x00\x00\x23\x00\x24\x00\x00\x00\x68\x00\x00\x00\xd4\x00\x00\x00\x75\x00\x00\x00\x00\x00\x00\x00\x00\x00\x22\x00\x00\x00\x33\x00\x34\x00\x00\x00\x35\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x23\x00\x24\x00\x46\x00\x57\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x2e\x00\x00\x00\x47\x00\x00\x00\x00\x00\x68\x00\x00\x00\x69\x00\x00\x00\x75\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x22\x00\x00\x00\x33\x00\x34\x00\x57\x00\x35\x00\x00\x00\x00\x00\x2d\x00\x2e\x00\xd4\x00\x23\x00\x24\x00\x00\x00\x58\x00\x00\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x00\x00\x00\x00\xc7\x01\xd6\x00\x62\x00\x33\x00\x34\x00\x00\x00\x35\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x46\x00\x00\x00\x57\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x2e\x00\x47\x00\x46\x00\x00\x00\x00\x00\x68\x00\x00\x00\x69\x00\x00\x00\x6a\x00\x47\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x33\x00\x34\x00\x00\x00\x35\x00\x47\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x00\x00\x46\x00\x00\x00\xd4\x00\x46\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x47\x00\x46\x00\x00\x00\x47\x00\xd4\x00\x00\x00\xc8\x01\xd6\x00\x62\x00\x47\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc9\x01\xd6\x00\x62\x00\x47\x00\x46\x00\x00\x00\x37\x01\x00\x00\x00\x00\x37\x01\x50\x01\x00\x00\x47\x00\x51\x01\x00\x00\xd4\x00\x00\x00\x00\x00\x00\x00\x39\x01\x62\x00\x00\x00\x39\x01\x62\x00\x46\x00\xd4\x00\x00\x00\x99\x01\xd6\x00\x62\x00\x00\x00\x00\x00\x47\x00\x00\x00\xd4\x00\x46\x00\x00\x00\x9b\x01\xd6\x00\x62\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\xd5\x00\xd6\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x37\x01\x00\x00\x00\x00\x00\x00\x38\x01\x11\x00\x00\x00\x00\x00\x00\x00\x37\x00\x1c\x01\x37\x01\x00\x00\x39\x01\x62\x00\x3f\x01\x29\x01\x16\x00\x17\x00\x2a\x01\x19\x00\x1a\x00\x1b\x00\x10\x00\x39\x01\x62\x00\x00\x00\x00\x00\x00\x00\x11\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x01\x2c\x01\x00\x00\x2d\x01\x00\x00\xf1\x01\x16\x00\x17\x00\x2a\x01\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x00\x00\x00\x00\x00\x00\x11\x00\xf2\x01\xf3\x01\xf5\x01\x37\x00\x38\x00\x00\x00\x00\x00\x3f\x00\x13\x00\x14\x00\x3a\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x27\x01\x3d\x00\x00\x00\x3e\x00\x00\x00\x00\x00\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x00\x00\x00\x00\x3f\x00\x13\x00\x14\x00\x3a\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x36\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x40\x00\x11\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x00\x00\x00\x00\x39\x00\x13\x00\x14\x00\x3a\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x10\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x26\x01\x11\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x00\x00\x00\x00\x43\x00\x13\x00\x14\x00\x3a\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x36\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x28\x01\x11\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x00\x00\x00\x00\x39\x00\x13\x00\x14\x00\x3a\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x10\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x3b\x00\x11\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x00\x00\x00\x00\x43\x00\x13\x00\x14\x00\x3a\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x02\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x44\x00\x11\x00\x00\x00\x00\x00\x00\x00\x37\x00\x1c\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdd\x00\x16\x00\x17\x00\x00\x00\x19\x00\x1a\x00\xde\x00\x65\x01\x19\x01\x1a\x01\x10\x00\x00\x00\x4e\x01\x00\x00\x3b\x00\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x1d\x01\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdd\x00\x16\x00\x17\x00\x00\x00\x19\x00\x1a\x00\xde\x00\x10\x00\x00\x00\x2f\x01\x00\x00\x00\x00\x00\x00\x11\x00\x40\x00\x00\x00\x00\x00\x1d\x01\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdd\x00\x16\x00\x17\x00\x00\x00\x19\x00\x1a\x00\xde\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x00\x40\x00\x00\x00\x00\x00\x37\x00\x1c\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdd\x00\x16\x00\x17\x00\x00\x00\x19\x00\x1a\x00\xde\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x00\x3b\x00\x00\x00\x00\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdd\x00\x16\x00\x17\x00\x00\x00\x19\x00\x1a\x00\xde\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x00\x44\x00\x00\x00\x00\x00\x52\x01\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdd\x00\x16\x00\x17\x00\x00\x00\x19\x00\x1a\x00\xde\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x00\x23\x01\x00\x00\x00\x00\x53\x01\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdd\x00\x16\x00\x17\x00\x00\x00\x19\x00\x1a\x00\xde\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x00\x24\x01\x00\x00\x00\x00\x54\x01\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdd\x00\x16\x00\x17\x00\x00\x00\x19\x00\x1a\x00\xde\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x00\x26\x01\x00\x00\x00\x00\x55\x01\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdd\x00\x16\x00\x17\x00\x00\x00\x19\x00\x1a\x00\xde\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x00\x27\x01\x00\x00\x00\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdd\x00\x16\x00\x17\x00\x00\x00\x19\x00\x1a\x00\xde\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x00\x26\x01\x00\x00\x00\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdd\x00\x16\x00\x17\x00\x00\x00\x19\x00\x1a\x00\xde\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x00\x27\x01\x00\x00\x00\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdd\x00\x16\x00\x17\x00\x00\x00\x19\x00\x1a\x00\xde\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x00\x28\x01\x00\x00\x00\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdd\x00\x16\x00\x17\x00\x00\x00\x19\x00\x1a\x00\xde\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x00\x3b\x00\x00\x00\x00\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdd\x00\x16\x00\x17\x00\x00\x00\x19\x00\x1a\x00\xde\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x00\x40\x00\x00\x00\x00\x00\x37\x00\x1c\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdd\x00\x16\x00\x17\x00\x00\x00\x19\x00\x1a\x00\xde\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x00\x3b\x00\x00\x00\x00\x00\x1d\x01\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdd\x00\x16\x00\x17\x00\x00\x00\x19\x00\x1a\x00\xde\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x00\x40\x00\x00\x00\x00\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdd\x00\x16\x00\x17\x00\x00\x00\x19\x00\x1a\x00\xde\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x00\x44\x00\x00\x00\x00\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdd\x00\x16\x00\x17\x00\x00\x00\x19\x00\x1a\x00\xde\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x00\x23\x01\x00\x00\x00\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdd\x00\x16\x00\x17\x00\x00\x00\x19\x00\x1a\x00\xde\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x00\x24\x01\x00\x00\x00\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdd\x00\x16\x00\x17\x00\x00\x00\x19\x00\x1a\x00\xde\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x00\x25\x01\x00\x00\x00\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdd\x00\x16\x00\x17\x00\x00\x00\x19\x00\x1a\x00\xde\x00\x3d\x00\x00\x00\x3e\x00\x00\x00\x00\x00\x00\x00\x11\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x10\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x43\x02\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x10\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x45\x02\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x10\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x02\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x10\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x02\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x10\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x02\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x10\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x02\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x10\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x02\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x10\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x02\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x10\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb2\x01\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x10\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb5\x01\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x10\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb6\x01\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x10\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x01\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x10\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x01\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x10\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x01\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x10\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x01\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x10\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x01\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x10\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x01\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x10\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x01\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x10\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdc\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x36\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x10\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x43\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x10\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x01\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x10\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x01\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x10\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x10\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x22\xff\x22\xff\x00\x00\x50\x00\x51\x00\x22\xff\x00\x00\x22\xff\x52\x00\x00\x00\x3c\xff\x22\xff\x00\x00\x22\xff\x3b\x01\x22\xff\x3c\x01\x00\x00\x3d\x01\x50\x00\x51\x00\x00\x00\x22\xff\x00\x00\x52\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x65\x00\x00\x00\xcb\x01\x50\x00\x51\x00\x00\x00\x50\x00\x51\x00\x52\x00\x33\x00\x00\x00\x52\x00\x00\x00\x00\x00\x3b\x01\x00\x00\x3c\x01\x64\x00\x3d\x01\x65\x00\x00\x00\x66\x00\x50\x00\x51\x00\x00\x00\x33\x00\x00\x00\x52\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3b\x01\x00\x00\x3c\x01\x00\x00\x3d\x01\x50\x00\x51\x00\x00\x00\x50\x00\x51\x00\x52\x00\x33\x00\x00\x00\x52\x00\x00\x00\x00\x00\x53\x00\x00\x00\x54\x00\x64\x00\x55\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x00\x00\x33\x00\x6b\x01\x6c\x01\x6d\x01\x6e\x01\x6f\x01\x70\x01\x71\x01\x72\x01\x73\x01\x74\x01\x75\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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 (3, 382) [ (3 , happyReduce_3), (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) ] happy_n_terms = 81 :: Int happy_n_nonterms = 130 :: Int happyReduce_3 = happySpecReduce_1 0# happyReduction_3 happyReduction_3 happy_x_1 = case happyOut7 happy_x_1 of { happy_var_1 -> happyIn6 (reverse happy_var_1 )} happyReduce_4 = happySpecReduce_2 1# happyReduction_4 happyReduction_4 happy_x_2 happy_x_1 = case happyOut7 happy_x_1 of { happy_var_1 -> case happyOut8 happy_x_2 of { happy_var_2 -> happyIn7 (happy_var_2 : happy_var_1 )}} happyReduce_5 = happySpecReduce_0 1# happyReduction_5 happyReduction_5 = happyIn7 ([] ) happyReduce_6 = happySpecReduce_1 2# happyReduction_6 happyReduction_6 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwLet happy_var_1) -> happyIn8 (TokKeyword KwLet happy_var_1 )} happyReduce_7 = happySpecReduce_1 2# happyReduction_7 happyReduction_7 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwIn happy_var_1) -> happyIn8 (TokKeyword KwIn happy_var_1 )} happyReduce_8 = happySpecReduce_1 2# happyReduction_8 happyReduction_8 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwWhere happy_var_1) -> happyIn8 (TokKeyword KwWhere happy_var_1 )} happyReduce_9 = happySpecReduce_1 2# happyReduction_9 happyReduction_9 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwWith happy_var_1) -> happyIn8 (TokKeyword KwWith happy_var_1 )} happyReduce_10 = happySpecReduce_1 2# happyReduction_10 happyReduction_10 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwRewrite happy_var_1) -> happyIn8 (TokKeyword KwRewrite happy_var_1 )} happyReduce_11 = happySpecReduce_1 2# happyReduction_11 happyReduction_11 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwPostulate happy_var_1) -> happyIn8 (TokKeyword KwPostulate happy_var_1 )} happyReduce_12 = happySpecReduce_1 2# happyReduction_12 happyReduction_12 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwPrimitive happy_var_1) -> happyIn8 (TokKeyword KwPrimitive happy_var_1 )} happyReduce_13 = happySpecReduce_1 2# happyReduction_13 happyReduction_13 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwOpen happy_var_1) -> happyIn8 (TokKeyword KwOpen happy_var_1 )} happyReduce_14 = happySpecReduce_1 2# happyReduction_14 happyReduction_14 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwImport happy_var_1) -> happyIn8 (TokKeyword KwImport happy_var_1 )} happyReduce_15 = happySpecReduce_1 2# happyReduction_15 happyReduction_15 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwUsing happy_var_1) -> happyIn8 (TokKeyword KwUsing happy_var_1 )} happyReduce_16 = happySpecReduce_1 2# happyReduction_16 happyReduction_16 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwHiding happy_var_1) -> happyIn8 (TokKeyword KwHiding happy_var_1 )} happyReduce_17 = happySpecReduce_1 2# happyReduction_17 happyReduction_17 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwRenaming happy_var_1) -> happyIn8 (TokKeyword KwRenaming happy_var_1 )} happyReduce_18 = happySpecReduce_1 2# happyReduction_18 happyReduction_18 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwTo happy_var_1) -> happyIn8 (TokKeyword KwTo happy_var_1 )} happyReduce_19 = happySpecReduce_1 2# happyReduction_19 happyReduction_19 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwPublic happy_var_1) -> happyIn8 (TokKeyword KwPublic happy_var_1 )} happyReduce_20 = happySpecReduce_1 2# happyReduction_20 happyReduction_20 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwModule happy_var_1) -> happyIn8 (TokKeyword KwModule happy_var_1 )} happyReduce_21 = happySpecReduce_1 2# happyReduction_21 happyReduction_21 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwData happy_var_1) -> happyIn8 (TokKeyword KwData happy_var_1 )} happyReduce_22 = happySpecReduce_1 2# happyReduction_22 happyReduction_22 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwCoData happy_var_1) -> happyIn8 (TokKeyword KwCoData happy_var_1 )} happyReduce_23 = happySpecReduce_1 2# happyReduction_23 happyReduction_23 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwRecord happy_var_1) -> happyIn8 (TokKeyword KwRecord happy_var_1 )} happyReduce_24 = happySpecReduce_1 2# happyReduction_24 happyReduction_24 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwConstructor happy_var_1) -> happyIn8 (TokKeyword KwConstructor happy_var_1 )} happyReduce_25 = happySpecReduce_1 2# happyReduction_25 happyReduction_25 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwInductive happy_var_1) -> happyIn8 (TokKeyword KwInductive happy_var_1 )} happyReduce_26 = happySpecReduce_1 2# happyReduction_26 happyReduction_26 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwCoInductive happy_var_1) -> happyIn8 (TokKeyword KwCoInductive happy_var_1 )} happyReduce_27 = happySpecReduce_1 2# happyReduction_27 happyReduction_27 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwField happy_var_1) -> happyIn8 (TokKeyword KwField happy_var_1 )} happyReduce_28 = happySpecReduce_1 2# happyReduction_28 happyReduction_28 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwInfix happy_var_1) -> happyIn8 (TokKeyword KwInfix happy_var_1 )} happyReduce_29 = happySpecReduce_1 2# happyReduction_29 happyReduction_29 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwInfixL happy_var_1) -> happyIn8 (TokKeyword KwInfixL happy_var_1 )} happyReduce_30 = happySpecReduce_1 2# happyReduction_30 happyReduction_30 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwInfixR happy_var_1) -> happyIn8 (TokKeyword KwInfixR happy_var_1 )} happyReduce_31 = happySpecReduce_1 2# happyReduction_31 happyReduction_31 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwMutual happy_var_1) -> happyIn8 (TokKeyword KwMutual happy_var_1 )} happyReduce_32 = happySpecReduce_1 2# happyReduction_32 happyReduction_32 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwAbstract happy_var_1) -> happyIn8 (TokKeyword KwAbstract happy_var_1 )} happyReduce_33 = happySpecReduce_1 2# happyReduction_33 happyReduction_33 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwPrivate happy_var_1) -> happyIn8 (TokKeyword KwPrivate happy_var_1 )} happyReduce_34 = happySpecReduce_1 2# happyReduction_34 happyReduction_34 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwProp happy_var_1) -> happyIn8 (TokKeyword KwProp happy_var_1 )} happyReduce_35 = happySpecReduce_1 2# happyReduction_35 happyReduction_35 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwSet happy_var_1) -> happyIn8 (TokKeyword KwSet happy_var_1 )} happyReduce_36 = happySpecReduce_1 2# happyReduction_36 happyReduction_36 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwForall happy_var_1) -> happyIn8 (TokKeyword KwForall happy_var_1 )} happyReduce_37 = happySpecReduce_1 2# happyReduction_37 happyReduction_37 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwSyntax happy_var_1) -> happyIn8 (TokKeyword KwSyntax happy_var_1 )} happyReduce_38 = happySpecReduce_1 2# happyReduction_38 happyReduction_38 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwPatternSyn happy_var_1) -> happyIn8 (TokKeyword KwPatternSyn happy_var_1 )} happyReduce_39 = happySpecReduce_1 2# happyReduction_39 happyReduction_39 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwOPTIONS happy_var_1) -> happyIn8 (TokKeyword KwOPTIONS happy_var_1 )} happyReduce_40 = happySpecReduce_1 2# happyReduction_40 happyReduction_40 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwBUILTIN happy_var_1) -> happyIn8 (TokKeyword KwBUILTIN happy_var_1 )} happyReduce_41 = happySpecReduce_1 2# happyReduction_41 happyReduction_41 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwIMPORT happy_var_1) -> happyIn8 (TokKeyword KwIMPORT happy_var_1 )} happyReduce_42 = happySpecReduce_1 2# happyReduction_42 happyReduction_42 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwCOMPILED happy_var_1) -> happyIn8 (TokKeyword KwCOMPILED happy_var_1 )} happyReduce_43 = happySpecReduce_1 2# happyReduction_43 happyReduction_43 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwCOMPILED_DATA happy_var_1) -> happyIn8 (TokKeyword KwCOMPILED_DATA happy_var_1 )} happyReduce_44 = happySpecReduce_1 2# happyReduction_44 happyReduction_44 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwCOMPILED_TYPE happy_var_1) -> happyIn8 (TokKeyword KwCOMPILED_TYPE happy_var_1 )} happyReduce_45 = happySpecReduce_1 2# happyReduction_45 happyReduction_45 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwCOMPILED_EPIC happy_var_1) -> happyIn8 (TokKeyword KwCOMPILED_EPIC happy_var_1 )} happyReduce_46 = happySpecReduce_1 2# happyReduction_46 happyReduction_46 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwCOMPILED_JS happy_var_1) -> happyIn8 (TokKeyword KwCOMPILED_JS happy_var_1 )} happyReduce_47 = happySpecReduce_1 2# happyReduction_47 happyReduction_47 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwSTATIC happy_var_1) -> happyIn8 (TokKeyword KwSTATIC happy_var_1 )} happyReduce_48 = happySpecReduce_1 2# happyReduction_48 happyReduction_48 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwIMPOSSIBLE happy_var_1) -> happyIn8 (TokKeyword KwIMPOSSIBLE happy_var_1 )} happyReduce_49 = happySpecReduce_1 2# happyReduction_49 happyReduction_49 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwETA happy_var_1) -> happyIn8 (TokKeyword KwETA happy_var_1 )} happyReduce_50 = happySpecReduce_1 2# happyReduction_50 happyReduction_50 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwNO_TERMINATION_CHECK happy_var_1) -> happyIn8 (TokKeyword KwNO_TERMINATION_CHECK happy_var_1 )} happyReduce_51 = happySpecReduce_1 2# happyReduction_51 happyReduction_51 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwQuoteGoal happy_var_1) -> happyIn8 (TokKeyword KwQuoteGoal happy_var_1 )} happyReduce_52 = happySpecReduce_1 2# happyReduction_52 happyReduction_52 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwQuote happy_var_1) -> happyIn8 (TokKeyword KwQuote happy_var_1 )} happyReduce_53 = happySpecReduce_1 2# happyReduction_53 happyReduction_53 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwQuoteTerm happy_var_1) -> happyIn8 (TokKeyword KwQuoteTerm happy_var_1 )} happyReduce_54 = happySpecReduce_1 2# happyReduction_54 happyReduction_54 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwUnquote happy_var_1) -> happyIn8 (TokKeyword KwUnquote happy_var_1 )} happyReduce_55 = happySpecReduce_1 2# happyReduction_55 happyReduction_55 happy_x_1 = case happyOutTok happy_x_1 of { (TokSetN happy_var_1) -> happyIn8 (TokSetN happy_var_1 )} happyReduce_56 = happySpecReduce_1 2# happyReduction_56 happyReduction_56 happy_x_1 = case happyOutTok happy_x_1 of { (TokTeX happy_var_1) -> happyIn8 (TokTeX happy_var_1 )} happyReduce_57 = happySpecReduce_1 2# happyReduction_57 happyReduction_57 happy_x_1 = case happyOutTok happy_x_1 of { (TokComment happy_var_1) -> happyIn8 (TokComment happy_var_1 )} happyReduce_58 = happySpecReduce_1 2# happyReduction_58 happyReduction_58 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymEllipsis happy_var_1) -> happyIn8 (TokSymbol SymEllipsis happy_var_1 )} happyReduce_59 = happySpecReduce_1 2# happyReduction_59 happyReduction_59 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymDotDot happy_var_1) -> happyIn8 (TokSymbol SymDotDot happy_var_1 )} happyReduce_60 = happySpecReduce_1 2# happyReduction_60 happyReduction_60 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymDot happy_var_1) -> happyIn8 (TokSymbol SymDot happy_var_1 )} happyReduce_61 = happySpecReduce_1 2# happyReduction_61 happyReduction_61 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymSemi happy_var_1) -> happyIn8 (TokSymbol SymSemi happy_var_1 )} happyReduce_62 = happySpecReduce_1 2# happyReduction_62 happyReduction_62 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymColon happy_var_1) -> happyIn8 (TokSymbol SymColon happy_var_1 )} happyReduce_63 = happySpecReduce_1 2# happyReduction_63 happyReduction_63 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymEqual happy_var_1) -> happyIn8 (TokSymbol SymEqual happy_var_1 )} happyReduce_64 = happySpecReduce_1 2# happyReduction_64 happyReduction_64 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymUnderscore happy_var_1) -> happyIn8 (TokSymbol SymUnderscore happy_var_1 )} happyReduce_65 = happySpecReduce_1 2# happyReduction_65 happyReduction_65 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymQuestionMark happy_var_1) -> happyIn8 (TokSymbol SymQuestionMark happy_var_1 )} happyReduce_66 = happySpecReduce_1 2# happyReduction_66 happyReduction_66 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymArrow happy_var_1) -> happyIn8 (TokSymbol SymArrow happy_var_1 )} happyReduce_67 = happySpecReduce_1 2# happyReduction_67 happyReduction_67 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymLambda happy_var_1) -> happyIn8 (TokSymbol SymLambda happy_var_1 )} happyReduce_68 = happySpecReduce_1 2# happyReduction_68 happyReduction_68 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymAs happy_var_1) -> happyIn8 (TokSymbol SymAs happy_var_1 )} happyReduce_69 = happySpecReduce_1 2# happyReduction_69 happyReduction_69 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymBar happy_var_1) -> happyIn8 (TokSymbol SymBar happy_var_1 )} happyReduce_70 = happySpecReduce_1 2# happyReduction_70 happyReduction_70 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymOpenParen happy_var_1) -> happyIn8 (TokSymbol SymOpenParen happy_var_1 )} happyReduce_71 = happySpecReduce_1 2# happyReduction_71 happyReduction_71 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymCloseParen happy_var_1) -> happyIn8 (TokSymbol SymCloseParen happy_var_1 )} happyReduce_72 = happySpecReduce_1 2# happyReduction_72 happyReduction_72 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymDoubleOpenBrace happy_var_1) -> happyIn8 (TokSymbol SymDoubleOpenBrace happy_var_1 )} happyReduce_73 = happySpecReduce_1 2# happyReduction_73 happyReduction_73 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymDoubleCloseBrace happy_var_1) -> happyIn8 (TokSymbol SymDoubleCloseBrace happy_var_1 )} happyReduce_74 = happySpecReduce_1 2# happyReduction_74 happyReduction_74 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymOpenBrace happy_var_1) -> happyIn8 (TokSymbol SymOpenBrace happy_var_1 )} happyReduce_75 = happySpecReduce_1 2# happyReduction_75 happyReduction_75 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymCloseBrace happy_var_1) -> happyIn8 (TokSymbol SymCloseBrace happy_var_1 )} happyReduce_76 = happySpecReduce_1 2# happyReduction_76 happyReduction_76 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymOpenVirtualBrace happy_var_1) -> happyIn8 (TokSymbol SymOpenVirtualBrace happy_var_1 )} happyReduce_77 = happySpecReduce_1 2# happyReduction_77 happyReduction_77 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymCloseVirtualBrace happy_var_1) -> happyIn8 (TokSymbol SymCloseVirtualBrace happy_var_1 )} happyReduce_78 = happySpecReduce_1 2# happyReduction_78 happyReduction_78 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymVirtualSemi happy_var_1) -> happyIn8 (TokSymbol SymVirtualSemi happy_var_1 )} happyReduce_79 = happySpecReduce_1 2# happyReduction_79 happyReduction_79 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymOpenPragma happy_var_1) -> happyIn8 (TokSymbol SymOpenPragma happy_var_1 )} happyReduce_80 = happySpecReduce_1 2# happyReduction_80 happyReduction_80 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymClosePragma happy_var_1) -> happyIn8 (TokSymbol SymClosePragma happy_var_1 )} happyReduce_81 = happySpecReduce_1 2# happyReduction_81 happyReduction_81 happy_x_1 = case happyOutTok happy_x_1 of { (TokId happy_var_1) -> happyIn8 (TokId happy_var_1 )} happyReduce_82 = happySpecReduce_1 2# happyReduction_82 happyReduction_82 happy_x_1 = case happyOutTok happy_x_1 of { (TokQId happy_var_1) -> happyIn8 (TokQId happy_var_1 )} happyReduce_83 = happySpecReduce_1 2# happyReduction_83 happyReduction_83 happy_x_1 = case happyOutTok happy_x_1 of { (TokString happy_var_1) -> happyIn8 (TokString happy_var_1 )} happyReduce_84 = happySpecReduce_1 2# happyReduction_84 happyReduction_84 happy_x_1 = case happyOutTok happy_x_1 of { (TokLiteral happy_var_1) -> happyIn8 (TokLiteral happy_var_1 )} happyReduce_85 = happySpecReduce_1 3# happyReduction_85 happyReduction_85 happy_x_1 = case happyOut10 happy_x_1 of { happy_var_1 -> happyIn9 (happy_var_1 )} happyReduce_86 = happySpecReduce_1 4# happyReduction_86 happyReduction_86 happy_x_1 = case happyOut107 happy_x_1 of { happy_var_1 -> happyIn10 (([], happy_var_1) )} happyReduce_87 = happySpecReduce_2 4# happyReduction_87 happyReduction_87 happy_x_2 happy_x_1 = case happyOut110 happy_x_1 of { happy_var_1 -> case happyOut10 happy_x_2 of { happy_var_2 -> happyIn10 (let (ps,m) = happy_var_2 in (happy_var_1 : ps, m) )}} happyReduce_88 = happySpecReduce_1 5# happyReduction_88 happyReduction_88 happy_x_1 = happyIn11 (() ) happyReduce_89 = happyMonadReduce 1# 5# happyReduction_89 happyReduction_89 (happy_x_1 `HappyStk` happyRest) tk = happyThen (( popContext) ) (\r -> happyReturn (happyIn11 r)) happyReduce_90 = happySpecReduce_1 6# happyReduction_90 happyReduction_90 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymSemi happy_var_1) -> happyIn12 (happy_var_1 )} happyReduce_91 = happySpecReduce_1 6# happyReduction_91 happyReduction_91 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymVirtualSemi happy_var_1) -> happyIn12 (happy_var_1 )} happyReduce_92 = happyMonadReduce 0# 7# happyReduction_92 happyReduction_92 (happyRest) tk = happyThen (( pushLexState imp_dir) ) (\r -> happyReturn (happyIn13 r)) happyReduce_93 = happyMonadReduce 1# 8# happyReduction_93 happyReduction_93 (happy_x_1 `HappyStk` happyRest) tk = happyThen (case happyOutTok happy_x_1 of { (TokLiteral happy_var_1) -> ( case happy_var_1 of { LitInt _ n -> return n; _ -> fail $ "Expected integer" })} ) (\r -> happyReturn (happyIn14 r)) happyReduce_94 = happyMonadReduce 1# 9# happyReduction_94 happyReduction_94 (happy_x_1 `HappyStk` happyRest) tk = happyThen (case happyOutTok happy_x_1 of { (TokId happy_var_1) -> ( mkName happy_var_1)} ) (\r -> happyReturn (happyIn15 r)) happyReduce_95 = happySpecReduce_2 10# happyReduction_95 happyReduction_95 happy_x_2 happy_x_1 = case happyOut15 happy_x_1 of { happy_var_1 -> case happyOut16 happy_x_2 of { happy_var_2 -> happyIn16 (happy_var_1 : happy_var_2 )}} happyReduce_96 = happySpecReduce_1 10# happyReduction_96 happyReduction_96 happy_x_1 = case happyOut15 happy_x_1 of { happy_var_1 -> happyIn16 ([happy_var_1] )} happyReduce_97 = happySpecReduce_1 11# happyReduction_97 happyReduction_97 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymDoubleCloseBrace happy_var_1) -> happyIn17 (getRange happy_var_1 )} happyReduce_98 = happyMonadReduce 2# 11# happyReduction_98 happyReduction_98 (happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) tk = happyThen (case happyOutTok happy_x_1 of { (TokSymbol SymCloseBrace happy_var_1) -> case happyOutTok happy_x_2 of { (TokSymbol SymCloseBrace happy_var_2) -> ( if posPos (fromJust (rEnd (getRange happy_var_2))) - posPos (fromJust (rStart (getRange happy_var_1))) > 2 then parseErrorAt (fromJust (rStart (getRange happy_var_2))) "Expecting '}}', found separated '}'s." else return $ getRange (happy_var_1, happy_var_2))}} ) (\r -> happyReturn (happyIn17 r)) happyReduce_99 = happySpecReduce_2 12# happyReduction_99 happyReduction_99 happy_x_2 happy_x_1 = case happyOut15 happy_x_2 of { happy_var_2 -> happyIn18 (Arg NotHidden Irrelevant happy_var_2 )} happyReduce_100 = happySpecReduce_1 12# happyReduction_100 happyReduction_100 happy_x_1 = case happyOut15 happy_x_1 of { happy_var_1 -> happyIn18 (defaultArg happy_var_1 )} happyReduce_101 = happySpecReduce_2 13# happyReduction_101 happyReduction_101 happy_x_2 happy_x_1 = case happyOut18 happy_x_1 of { happy_var_1 -> case happyOut19 happy_x_2 of { happy_var_2 -> happyIn19 (happy_var_1 : happy_var_2 )}} happyReduce_102 = happySpecReduce_1 13# happyReduction_102 happyReduction_102 happy_x_1 = case happyOut18 happy_x_1 of { happy_var_1 -> happyIn19 ([happy_var_1] )} happyReduce_103 = happySpecReduce_2 14# happyReduction_103 happyReduction_103 happy_x_2 happy_x_1 = case happyOut18 happy_x_1 of { happy_var_1 -> case happyOut20 happy_x_2 of { happy_var_2 -> happyIn20 (happy_var_1 : happy_var_2 )}} happyReduce_104 = happySpecReduce_1 14# happyReduction_104 happyReduction_104 happy_x_1 = case happyOut18 happy_x_1 of { happy_var_1 -> happyIn20 ([happy_var_1] )} happyReduce_105 = happyReduce 4# 14# happyReduction_105 happyReduction_105 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut19 happy_x_2 of { happy_var_2 -> case happyOut20 happy_x_4 of { happy_var_4 -> happyIn20 (map makeInstance happy_var_2 ++ happy_var_4 ) `HappyStk` happyRest}} happyReduce_106 = happySpecReduce_3 14# happyReduction_106 happyReduction_106 happy_x_3 happy_x_2 happy_x_1 = case happyOut19 happy_x_2 of { happy_var_2 -> happyIn20 (map makeInstance happy_var_2 )} happyReduce_107 = happyReduce 4# 14# happyReduction_107 happyReduction_107 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut19 happy_x_2 of { happy_var_2 -> case happyOut20 happy_x_4 of { happy_var_4 -> happyIn20 (map hide happy_var_2 ++ happy_var_4 ) `HappyStk` happyRest}} happyReduce_108 = happySpecReduce_3 14# happyReduction_108 happyReduction_108 happy_x_3 happy_x_2 happy_x_1 = case happyOut19 happy_x_2 of { happy_var_2 -> happyIn20 (map hide happy_var_2 )} happyReduce_109 = happyReduce 5# 14# happyReduction_109 happyReduction_109 (happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut16 happy_x_3 of { happy_var_3 -> case happyOut20 happy_x_5 of { happy_var_5 -> happyIn20 (map (Arg Hidden Irrelevant) happy_var_3 ++ happy_var_5 ) `HappyStk` happyRest}} happyReduce_110 = happyReduce 4# 14# happyReduction_110 happyReduction_110 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut16 happy_x_3 of { happy_var_3 -> happyIn20 (map (Arg Hidden Irrelevant) happy_var_3 ) `HappyStk` happyRest} happyReduce_111 = happyReduce 5# 14# happyReduction_111 happyReduction_111 (happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut16 happy_x_3 of { happy_var_3 -> case happyOut20 happy_x_5 of { happy_var_5 -> happyIn20 (map (Arg Instance Irrelevant) happy_var_3 ++ happy_var_5 ) `HappyStk` happyRest}} happyReduce_112 = happyReduce 4# 14# happyReduction_112 happyReduction_112 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut16 happy_x_3 of { happy_var_3 -> happyIn20 (map (Arg Instance Irrelevant) happy_var_3 ) `HappyStk` happyRest} happyReduce_113 = happyReduce 5# 14# happyReduction_113 happyReduction_113 (happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut16 happy_x_3 of { happy_var_3 -> case happyOut20 happy_x_5 of { happy_var_5 -> happyIn20 (map (Arg Hidden NonStrict) happy_var_3 ++ happy_var_5 ) `HappyStk` happyRest}} happyReduce_114 = happyReduce 4# 14# happyReduction_114 happyReduction_114 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut16 happy_x_3 of { happy_var_3 -> happyIn20 (map (Arg Hidden NonStrict) happy_var_3 ) `HappyStk` happyRest} happyReduce_115 = happyReduce 5# 14# happyReduction_115 happyReduction_115 (happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut16 happy_x_3 of { happy_var_3 -> case happyOut20 happy_x_5 of { happy_var_5 -> happyIn20 (map (Arg Instance NonStrict) happy_var_3 ++ happy_var_5 ) `HappyStk` happyRest}} happyReduce_116 = happyReduce 4# 14# happyReduction_116 happyReduction_116 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut16 happy_x_3 of { happy_var_3 -> happyIn20 (map (Arg Instance NonStrict) happy_var_3 ) `HappyStk` happyRest} happyReduce_117 = happyMonadReduce 1# 15# happyReduction_117 happyReduction_117 (happy_x_1 `HappyStk` happyRest) tk = happyThen (case happyOutTok happy_x_1 of { (TokQId happy_var_1) -> ( mkQName happy_var_1)} ) (\r -> happyReturn (happyIn21 r)) happyReduce_118 = happySpecReduce_1 15# happyReduction_118 happyReduction_118 happy_x_1 = case happyOut15 happy_x_1 of { happy_var_1 -> happyIn21 (QName happy_var_1 )} happyReduce_119 = happySpecReduce_1 16# happyReduction_119 happyReduction_119 happy_x_1 = case happyOut21 happy_x_1 of { happy_var_1 -> happyIn22 (happy_var_1 )} happyReduce_120 = happySpecReduce_1 17# happyReduction_120 happyReduction_120 happy_x_1 = case happyOut15 happy_x_1 of { happy_var_1 -> happyIn23 (happy_var_1 )} happyReduce_121 = happySpecReduce_1 17# happyReduction_121 happyReduction_121 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymUnderscore happy_var_1) -> happyIn23 (Name (getRange happy_var_1) [Hole] )} happyReduce_122 = happySpecReduce_2 18# happyReduction_122 happyReduction_122 happy_x_2 happy_x_1 = case happyOut23 happy_x_1 of { happy_var_1 -> case happyOut24 happy_x_2 of { happy_var_2 -> happyIn24 (happy_var_1 : happy_var_2 )}} happyReduce_123 = happySpecReduce_1 18# happyReduction_123 happyReduction_123 happy_x_1 = case happyOut23 happy_x_1 of { happy_var_1 -> happyIn24 ([happy_var_1] )} happyReduce_124 = happySpecReduce_1 19# happyReduction_124 happyReduction_124 happy_x_1 = case happyOut26 happy_x_1 of { happy_var_1 -> happyIn25 (case happy_var_1 of Left ns -> ns Right _ -> fail $ "expected sequence of bound identifiers, not absurd pattern" )} happyReduce_125 = happyMonadReduce 1# 20# happyReduction_125 happyReduction_125 (happy_x_1 `HappyStk` happyRest) tk = happyThen (case happyOut32 happy_x_1 of { happy_var_1 -> ( let getName (Ident (QName x)) = Just x getName (Underscore r _) = Just (Name r [Hole]) getName _ = Nothing containsAbsurd (Absurd _) = True containsAbsurd (HiddenArg _ (Named _ e)) = containsAbsurd e containsAbsurd (InstanceArg _ (Named _ e)) = containsAbsurd e containsAbsurd (Paren _ expr) = containsAbsurd expr containsAbsurd (RawApp _ exprs) = any containsAbsurd exprs containsAbsurd _ = False in if isJust $ find containsAbsurd happy_var_1 then return $ Right happy_var_1 else case partition isJust $ map getName happy_var_1 of (good, []) -> return $ Left $ map fromJust good _ -> fail $ "expected sequence of bound identifiers")} ) (\r -> happyReturn (happyIn26 r)) happyReduce_126 = happySpecReduce_0 21# happyReduction_126 happyReduction_126 = happyIn27 ([] ) happyReduce_127 = happySpecReduce_2 21# happyReduction_127 happyReduction_127 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokString happy_var_1) -> case happyOut27 happy_x_2 of { happy_var_2 -> happyIn27 (snd happy_var_1 : happy_var_2 )}} happyReduce_128 = happyMonadReduce 1# 22# happyReduction_128 happyReduction_128 (happy_x_1 `HappyStk` happyRest) tk = happyThen (case happyOutTok happy_x_1 of { (TokString happy_var_1) -> ( fmap QName (mkName happy_var_1))} ) (\r -> happyReturn (happyIn28 r)) happyReduce_129 = happySpecReduce_2 23# happyReduction_129 happyReduction_129 happy_x_2 happy_x_1 = case happyOut42 happy_x_1 of { happy_var_1 -> case happyOut29 happy_x_2 of { happy_var_2 -> happyIn29 (Pi happy_var_1 happy_var_2 )}} happyReduce_130 = happySpecReduce_3 23# happyReduction_130 happyReduction_130 happy_x_3 happy_x_2 happy_x_1 = case happyOut55 happy_x_2 of { happy_var_2 -> case happyOut29 happy_x_3 of { happy_var_3 -> happyIn29 (forallPi happy_var_2 happy_var_3 )}} happyReduce_131 = happySpecReduce_3 23# happyReduction_131 happyReduction_131 happy_x_3 happy_x_2 happy_x_1 = case happyOut35 happy_x_1 of { happy_var_1 -> case happyOutTok happy_x_2 of { (TokSymbol SymArrow happy_var_2) -> case happyOut29 happy_x_3 of { happy_var_3 -> happyIn29 (Fun (getRange (happy_var_1,happy_var_2,happy_var_3)) (RawApp (getRange happy_var_1) happy_var_1) happy_var_3 )}}} happyReduce_132 = happySpecReduce_1 23# happyReduction_132 happyReduction_132 happy_x_1 = case happyOut30 happy_x_1 of { happy_var_1 -> happyIn29 (happy_var_1 )} happyReduce_133 = happyMonadReduce 1# 24# happyReduction_133 happyReduction_133 (happy_x_1 `HappyStk` happyRest) tk = happyThen (case happyOut31 happy_x_1 of { happy_var_1 -> ( case happy_var_1 of { [e] -> return e ; e : es -> return $ WithApp (fuseRange e es) e es ; [] -> fail "impossible: empty with expressions" })} ) (\r -> happyReturn (happyIn30 r)) happyReduce_134 = happySpecReduce_3 25# happyReduction_134 happyReduction_134 happy_x_3 happy_x_2 happy_x_1 = case happyOut35 happy_x_1 of { happy_var_1 -> case happyOut31 happy_x_3 of { happy_var_3 -> happyIn31 (RawApp (getRange happy_var_1) happy_var_1 : happy_var_3 )}} happyReduce_135 = happySpecReduce_1 25# happyReduction_135 happyReduction_135 happy_x_1 = case happyOut32 happy_x_1 of { happy_var_1 -> happyIn31 ([RawApp (getRange happy_var_1) happy_var_1] )} happyReduce_136 = happySpecReduce_1 26# happyReduction_136 happyReduction_136 happy_x_1 = case happyOut33 happy_x_1 of { happy_var_1 -> happyIn32 ([happy_var_1] )} happyReduce_137 = happySpecReduce_2 26# happyReduction_137 happyReduction_137 happy_x_2 happy_x_1 = case happyOut38 happy_x_1 of { happy_var_1 -> case happyOut32 happy_x_2 of { happy_var_2 -> happyIn32 (happy_var_1 : happy_var_2 )}} happyReduce_138 = happySpecReduce_3 27# happyReduction_138 happyReduction_138 happy_x_3 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymLambda happy_var_1) -> case happyOut47 happy_x_2 of { happy_var_2 -> case happyOut29 happy_x_3 of { happy_var_3 -> happyIn33 (Lam (getRange (happy_var_1,happy_var_2,happy_var_3)) happy_var_2 happy_var_3 )}}} happyReduce_139 = happySpecReduce_1 27# happyReduction_139 happyReduction_139 happy_x_1 = case happyOut34 happy_x_1 of { happy_var_1 -> happyIn33 (happy_var_1 )} happyReduce_140 = happyReduce 4# 27# happyReduction_140 happyReduction_140 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOutTok happy_x_1 of { (TokKeyword KwLet happy_var_1) -> case happyOut133 happy_x_2 of { happy_var_2 -> case happyOutTok happy_x_3 of { (TokKeyword KwIn happy_var_3) -> case happyOut29 happy_x_4 of { happy_var_4 -> happyIn33 (Let (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4)) happy_var_2 happy_var_4 ) `HappyStk` happyRest}}}} happyReduce_141 = happySpecReduce_1 27# happyReduction_141 happyReduction_141 happy_x_1 = case happyOut38 happy_x_1 of { happy_var_1 -> happyIn33 (happy_var_1 )} happyReduce_142 = happyReduce 4# 27# happyReduction_142 happyReduction_142 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOutTok happy_x_1 of { (TokKeyword KwQuoteGoal happy_var_1) -> case happyOut15 happy_x_2 of { happy_var_2 -> case happyOutTok happy_x_3 of { (TokKeyword KwIn happy_var_3) -> case happyOut29 happy_x_4 of { happy_var_4 -> happyIn33 (QuoteGoal (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4)) happy_var_2 happy_var_4 ) `HappyStk` happyRest}}}} happyReduce_143 = happyReduce 4# 28# happyReduction_143 happyReduction_143 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOutTok happy_x_1 of { (TokSymbol SymLambda happy_var_1) -> case happyOutTok happy_x_2 of { (TokSymbol SymOpenBrace happy_var_2) -> case happyOut54 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokSymbol SymCloseBrace happy_var_4) -> happyIn34 (ExtendedLam (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4)) (reverse happy_var_3) ) `HappyStk` happyRest}}}} happyReduce_144 = happyMonadReduce 2# 28# happyReduction_144 happyReduction_144 (happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) tk = happyThen (case happyOutTok happy_x_1 of { (TokSymbol SymLambda happy_var_1) -> case happyOut48 happy_x_2 of { happy_var_2 -> ( case happy_var_2 of Left (bs, h) -> if null bs then return $ AbsurdLam r h else return $ Lam r bs (AbsurdLam r h) where r = fuseRange happy_var_1 bs Right es -> do -- it is of the form @\ { p1 ... () }@ p <- exprToLHS (RawApp (getRange es) es); return $ ExtendedLam (fuseRange happy_var_1 es) [(p [] [], AbsurdRHS, NoWhere)])}} ) (\r -> happyReturn (happyIn34 r)) happyReduce_145 = happySpecReduce_1 29# happyReduction_145 happyReduction_145 happy_x_1 = case happyOut38 happy_x_1 of { happy_var_1 -> happyIn35 ([happy_var_1] )} happyReduce_146 = happySpecReduce_2 29# happyReduction_146 happyReduction_146 happy_x_2 happy_x_1 = case happyOut38 happy_x_1 of { happy_var_1 -> case happyOut35 happy_x_2 of { happy_var_2 -> happyIn35 (happy_var_1 : happy_var_2 )}} happyReduce_147 = happySpecReduce_3 30# happyReduction_147 happyReduction_147 happy_x_3 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymOpenBrace happy_var_1) -> case happyOut29 happy_x_2 of { happy_var_2 -> case happyOutTok happy_x_3 of { (TokSymbol SymCloseBrace happy_var_3) -> happyIn36 (HiddenArg (getRange (happy_var_1,happy_var_2,happy_var_3)) (unnamed happy_var_2) )}}} happyReduce_148 = happyReduce 5# 30# happyReduction_148 happyReduction_148 (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 { (TokSymbol SymOpenBrace happy_var_1) -> case happyOut15 happy_x_2 of { happy_var_2 -> case happyOutTok happy_x_3 of { (TokSymbol SymEqual happy_var_3) -> case happyOut29 happy_x_4 of { happy_var_4 -> case happyOutTok happy_x_5 of { (TokSymbol SymCloseBrace happy_var_5) -> happyIn36 (HiddenArg (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4,happy_var_5)) (named (show happy_var_2) happy_var_4) ) `HappyStk` happyRest}}}}} happyReduce_149 = happySpecReduce_2 30# happyReduction_149 happyReduction_149 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymOpenBrace happy_var_1) -> case happyOutTok happy_x_2 of { (TokSymbol SymCloseBrace happy_var_2) -> happyIn36 (let r = fuseRange happy_var_1 happy_var_2 in HiddenArg r $ unnamed $ Absurd r )}} happyReduce_150 = happySpecReduce_1 31# happyReduction_150 happyReduction_150 happy_x_1 = case happyOut21 happy_x_1 of { happy_var_1 -> happyIn37 (Ident happy_var_1 )} happyReduce_151 = happySpecReduce_1 31# happyReduction_151 happyReduction_151 happy_x_1 = case happyOutTok happy_x_1 of { (TokLiteral happy_var_1) -> happyIn37 (Lit happy_var_1 )} happyReduce_152 = happySpecReduce_1 31# happyReduction_152 happyReduction_152 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymQuestionMark happy_var_1) -> happyIn37 (QuestionMark (getRange happy_var_1) Nothing )} happyReduce_153 = happySpecReduce_1 31# happyReduction_153 happyReduction_153 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymUnderscore happy_var_1) -> happyIn37 (Underscore (getRange happy_var_1) Nothing )} happyReduce_154 = happySpecReduce_1 31# happyReduction_154 happyReduction_154 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwProp happy_var_1) -> happyIn37 (Prop (getRange happy_var_1) )} happyReduce_155 = happySpecReduce_1 31# happyReduction_155 happyReduction_155 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwSet happy_var_1) -> happyIn37 (Set (getRange happy_var_1) )} happyReduce_156 = happySpecReduce_1 31# happyReduction_156 happyReduction_156 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwQuote happy_var_1) -> happyIn37 (Quote (getRange happy_var_1) )} happyReduce_157 = happySpecReduce_1 31# happyReduction_157 happyReduction_157 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwQuoteTerm happy_var_1) -> happyIn37 (QuoteTerm (getRange happy_var_1) )} happyReduce_158 = happySpecReduce_1 31# happyReduction_158 happyReduction_158 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwUnquote happy_var_1) -> happyIn37 (Unquote (getRange happy_var_1) )} happyReduce_159 = happySpecReduce_1 31# happyReduction_159 happyReduction_159 happy_x_1 = case happyOutTok happy_x_1 of { (TokSetN happy_var_1) -> happyIn37 (SetN (getRange (fst happy_var_1)) (snd happy_var_1) )} happyReduce_160 = happySpecReduce_3 31# happyReduction_160 happyReduction_160 happy_x_3 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymDoubleOpenBrace happy_var_1) -> case happyOut29 happy_x_2 of { happy_var_2 -> case happyOut17 happy_x_3 of { happy_var_3 -> happyIn37 (InstanceArg (getRange (happy_var_1,happy_var_2,happy_var_3)) (unnamed happy_var_2) )}}} happyReduce_161 = happyReduce 5# 31# happyReduction_161 happyReduction_161 (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 { (TokSymbol SymDoubleOpenBrace happy_var_1) -> case happyOut15 happy_x_2 of { happy_var_2 -> case happyOutTok happy_x_3 of { (TokSymbol SymEqual happy_var_3) -> case happyOut29 happy_x_4 of { happy_var_4 -> case happyOut17 happy_x_5 of { happy_var_5 -> happyIn37 (InstanceArg (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4,happy_var_5)) (named (show happy_var_2) happy_var_4) ) `HappyStk` happyRest}}}}} happyReduce_162 = happySpecReduce_3 31# happyReduction_162 happyReduction_162 happy_x_3 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymOpenParen happy_var_1) -> case happyOut29 happy_x_2 of { happy_var_2 -> case happyOutTok happy_x_3 of { (TokSymbol SymCloseParen happy_var_3) -> happyIn37 (Paren (getRange (happy_var_1,happy_var_2,happy_var_3)) happy_var_2 )}}} happyReduce_163 = happySpecReduce_2 31# happyReduction_163 happyReduction_163 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymOpenParen happy_var_1) -> case happyOutTok happy_x_2 of { (TokSymbol SymCloseParen happy_var_2) -> happyIn37 (Absurd (fuseRange happy_var_1 happy_var_2) )}} happyReduce_164 = happySpecReduce_2 31# happyReduction_164 happyReduction_164 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymDoubleOpenBrace happy_var_1) -> case happyOut17 happy_x_2 of { happy_var_2 -> happyIn37 (let r = fuseRange happy_var_1 happy_var_2 in InstanceArg r $ unnamed $ Absurd r )}} happyReduce_165 = happySpecReduce_3 31# happyReduction_165 happyReduction_165 happy_x_3 happy_x_2 happy_x_1 = case happyOut15 happy_x_1 of { happy_var_1 -> case happyOutTok happy_x_2 of { (TokSymbol SymAs happy_var_2) -> case happyOut38 happy_x_3 of { happy_var_3 -> happyIn37 (As (getRange (happy_var_1,happy_var_2,happy_var_3)) happy_var_1 happy_var_3 )}}} happyReduce_166 = happySpecReduce_2 31# happyReduction_166 happyReduction_166 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymDot happy_var_1) -> case happyOut38 happy_x_2 of { happy_var_2 -> happyIn37 (Dot (fuseRange happy_var_1 happy_var_2) happy_var_2 )}} happyReduce_167 = happyReduce 4# 31# happyReduction_167 happyReduction_167 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOutTok happy_x_1 of { (TokKeyword KwRecord happy_var_1) -> case happyOutTok happy_x_2 of { (TokSymbol SymOpenBrace happy_var_2) -> case happyOut39 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokSymbol SymCloseBrace happy_var_4) -> happyIn37 (Rec (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4)) happy_var_3 ) `HappyStk` happyRest}}}} happyReduce_168 = happyReduce 5# 31# happyReduction_168 happyReduction_168 (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 { (TokKeyword KwRecord happy_var_1) -> case happyOut37 happy_x_2 of { happy_var_2 -> case happyOutTok happy_x_3 of { (TokSymbol SymOpenBrace happy_var_3) -> case happyOut39 happy_x_4 of { happy_var_4 -> case happyOutTok happy_x_5 of { (TokSymbol SymCloseBrace happy_var_5) -> happyIn37 (RecUpdate (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4,happy_var_5)) happy_var_2 happy_var_4 ) `HappyStk` happyRest}}}}} happyReduce_169 = happySpecReduce_1 32# happyReduction_169 happyReduction_169 happy_x_1 = case happyOut36 happy_x_1 of { happy_var_1 -> happyIn38 (happy_var_1 )} happyReduce_170 = happySpecReduce_1 32# happyReduction_170 happyReduction_170 happy_x_1 = case happyOut37 happy_x_1 of { happy_var_1 -> happyIn38 (happy_var_1 )} happyReduce_171 = happySpecReduce_0 33# happyReduction_171 happyReduction_171 = happyIn39 ([] ) happyReduce_172 = happySpecReduce_1 33# happyReduction_172 happyReduction_172 happy_x_1 = case happyOut40 happy_x_1 of { happy_var_1 -> happyIn39 (happy_var_1 )} happyReduce_173 = happySpecReduce_1 34# happyReduction_173 happyReduction_173 happy_x_1 = case happyOut41 happy_x_1 of { happy_var_1 -> happyIn40 ([happy_var_1] )} happyReduce_174 = happySpecReduce_3 34# happyReduction_174 happyReduction_174 happy_x_3 happy_x_2 happy_x_1 = case happyOut41 happy_x_1 of { happy_var_1 -> case happyOut40 happy_x_3 of { happy_var_3 -> happyIn40 (happy_var_1 : happy_var_3 )}} happyReduce_175 = happySpecReduce_3 35# happyReduction_175 happyReduction_175 happy_x_3 happy_x_2 happy_x_1 = case happyOut15 happy_x_1 of { happy_var_1 -> case happyOut29 happy_x_3 of { happy_var_3 -> happyIn41 ((happy_var_1, happy_var_3) )}} happyReduce_176 = happySpecReduce_2 36# happyReduction_176 happyReduction_176 happy_x_2 happy_x_1 = case happyOut43 happy_x_1 of { happy_var_1 -> happyIn42 (happy_var_1 )} happyReduce_177 = happySpecReduce_1 37# happyReduction_177 happyReduction_177 happy_x_1 = case happyOut44 happy_x_1 of { happy_var_1 -> happyIn43 ({-TeleBind-} happy_var_1 )} happyReduce_178 = happySpecReduce_2 38# happyReduction_178 happyReduction_178 happy_x_2 happy_x_1 = case happyOut45 happy_x_1 of { happy_var_1 -> case happyOut44 happy_x_2 of { happy_var_2 -> happyIn44 (happy_var_1 : happy_var_2 )}} happyReduce_179 = happySpecReduce_1 38# happyReduction_179 happyReduction_179 happy_x_1 = case happyOut45 happy_x_1 of { happy_var_1 -> happyIn44 ([happy_var_1] )} happyReduce_180 = happyReduce 4# 39# happyReduction_180 happyReduction_180 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOutTok happy_x_2 of { (TokSymbol SymOpenParen happy_var_2) -> case happyOut46 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokSymbol SymCloseParen happy_var_4) -> happyIn45 (TypedBindings (getRange (happy_var_2,happy_var_3,happy_var_4)) (Arg NotHidden Irrelevant happy_var_3) ) `HappyStk` happyRest}}} happyReduce_181 = happyReduce 4# 39# happyReduction_181 happyReduction_181 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOutTok happy_x_2 of { (TokSymbol SymOpenBrace happy_var_2) -> case happyOut46 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokSymbol SymCloseBrace happy_var_4) -> happyIn45 (TypedBindings (getRange (happy_var_2,happy_var_3,happy_var_4)) (Arg Hidden Irrelevant happy_var_3) ) `HappyStk` happyRest}}} happyReduce_182 = happyReduce 4# 39# happyReduction_182 happyReduction_182 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOutTok happy_x_2 of { (TokSymbol SymDoubleOpenBrace happy_var_2) -> case happyOut46 happy_x_3 of { happy_var_3 -> case happyOut17 happy_x_4 of { happy_var_4 -> happyIn45 (TypedBindings (getRange (happy_var_2,happy_var_3,happy_var_4)) (Arg Instance Irrelevant happy_var_3) ) `HappyStk` happyRest}}} happyReduce_183 = happyReduce 4# 39# happyReduction_183 happyReduction_183 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOutTok happy_x_2 of { (TokSymbol SymOpenParen happy_var_2) -> case happyOut46 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokSymbol SymCloseParen happy_var_4) -> happyIn45 (TypedBindings (getRange (happy_var_2,happy_var_3,happy_var_4)) (Arg NotHidden NonStrict happy_var_3) ) `HappyStk` happyRest}}} happyReduce_184 = happyReduce 4# 39# happyReduction_184 happyReduction_184 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOutTok happy_x_2 of { (TokSymbol SymOpenBrace happy_var_2) -> case happyOut46 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokSymbol SymCloseBrace happy_var_4) -> happyIn45 (TypedBindings (getRange (happy_var_2,happy_var_3,happy_var_4)) (Arg Hidden NonStrict happy_var_3) ) `HappyStk` happyRest}}} happyReduce_185 = happyReduce 4# 39# happyReduction_185 happyReduction_185 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOutTok happy_x_2 of { (TokSymbol SymDoubleOpenBrace happy_var_2) -> case happyOut46 happy_x_3 of { happy_var_3 -> case happyOut17 happy_x_4 of { happy_var_4 -> happyIn45 (TypedBindings (getRange (happy_var_2,happy_var_3,happy_var_4)) (Arg Instance NonStrict happy_var_3) ) `HappyStk` happyRest}}} happyReduce_186 = happySpecReduce_3 39# happyReduction_186 happyReduction_186 happy_x_3 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymOpenParen happy_var_1) -> case happyOut46 happy_x_2 of { happy_var_2 -> case happyOutTok happy_x_3 of { (TokSymbol SymCloseParen happy_var_3) -> happyIn45 (TypedBindings (getRange (happy_var_1,happy_var_2,happy_var_3)) (Arg NotHidden Relevant happy_var_2) )}}} happyReduce_187 = happySpecReduce_3 39# happyReduction_187 happyReduction_187 happy_x_3 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymDoubleOpenBrace happy_var_1) -> case happyOut46 happy_x_2 of { happy_var_2 -> case happyOut17 happy_x_3 of { happy_var_3 -> happyIn45 (TypedBindings (getRange (happy_var_1,happy_var_2,happy_var_3)) (Arg Instance Relevant happy_var_2) )}}} happyReduce_188 = happySpecReduce_3 39# happyReduction_188 happyReduction_188 happy_x_3 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymOpenBrace happy_var_1) -> case happyOut46 happy_x_2 of { happy_var_2 -> case happyOutTok happy_x_3 of { (TokSymbol SymCloseBrace happy_var_3) -> happyIn45 (TypedBindings (getRange (happy_var_1,happy_var_2,happy_var_3)) (Arg Hidden Relevant happy_var_2) )}}} happyReduce_189 = happySpecReduce_3 40# happyReduction_189 happyReduction_189 happy_x_3 happy_x_2 happy_x_1 = case happyOut25 happy_x_1 of { happy_var_1 -> case happyOutTok happy_x_2 of { (TokSymbol SymColon happy_var_2) -> case happyOut29 happy_x_3 of { happy_var_3 -> happyIn46 (TBind (getRange (happy_var_1,happy_var_2,happy_var_3)) (map mkBoundName_ happy_var_1) happy_var_3 )}}} happyReduce_190 = happyMonadReduce 2# 41# happyReduction_190 happyReduction_190 (happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) tk = happyThen (case happyOut49 happy_x_1 of { happy_var_1 -> ( case reverse happy_var_1 of Left _ : _ -> parseError "Absurd lambda cannot have a body." _ : _ -> return [ b | Right b <- happy_var_1 ] [] -> parsePanic "Empty LamBinds")} ) (\r -> happyReturn (happyIn47 r)) happyReduce_191 = happyMonadReduce 1# 42# happyReduction_191 happyReduction_191 (happy_x_1 `HappyStk` happyRest) tk = happyThen (case happyOut50 happy_x_1 of { happy_var_1 -> ( case happy_var_1 of Left lb -> case reverse lb of Right _ : _ -> parseError "Missing body for lambda" Left h : _ -> return $ Left ([ b | Right b <- init lb], h) _ -> parsePanic "Empty LamBindsAbsurd" Right es -> return $ Right es)} ) (\r -> happyReturn (happyIn48 r)) happyReduce_192 = happySpecReduce_2 43# happyReduction_192 happyReduction_192 happy_x_2 happy_x_1 = case happyOut58 happy_x_1 of { happy_var_1 -> case happyOut49 happy_x_2 of { happy_var_2 -> happyIn49 (map Right happy_var_1 ++ happy_var_2 )}} happyReduce_193 = happySpecReduce_2 43# happyReduction_193 happyReduction_193 happy_x_2 happy_x_1 = case happyOut45 happy_x_1 of { happy_var_1 -> case happyOut49 happy_x_2 of { happy_var_2 -> happyIn49 (Right (DomainFull happy_var_1) : happy_var_2 )}} happyReduce_194 = happySpecReduce_1 43# happyReduction_194 happyReduction_194 happy_x_1 = case happyOut58 happy_x_1 of { happy_var_1 -> happyIn49 (map Right happy_var_1 )} happyReduce_195 = happySpecReduce_1 43# happyReduction_195 happyReduction_195 happy_x_1 = case happyOut45 happy_x_1 of { happy_var_1 -> happyIn49 ([Right $ DomainFull happy_var_1] )} happyReduce_196 = happySpecReduce_2 43# happyReduction_196 happyReduction_196 happy_x_2 happy_x_1 = happyIn49 ([Left NotHidden] ) happyReduce_197 = happySpecReduce_2 43# happyReduction_197 happyReduction_197 happy_x_2 happy_x_1 = happyIn49 ([Left Hidden] ) happyReduce_198 = happySpecReduce_2 43# happyReduction_198 happyReduction_198 happy_x_2 happy_x_1 = happyIn49 ([Left Instance] ) happyReduce_199 = happySpecReduce_2 44# happyReduction_199 happyReduction_199 happy_x_2 happy_x_1 = case happyOut58 happy_x_1 of { happy_var_1 -> case happyOut49 happy_x_2 of { happy_var_2 -> happyIn50 (Left $ map Right happy_var_1 ++ happy_var_2 )}} happyReduce_200 = happySpecReduce_2 44# happyReduction_200 happyReduction_200 happy_x_2 happy_x_1 = case happyOut45 happy_x_1 of { happy_var_1 -> case happyOut49 happy_x_2 of { happy_var_2 -> happyIn50 (Left $ Right (DomainFull happy_var_1) : happy_var_2 )}} happyReduce_201 = happySpecReduce_1 44# happyReduction_201 happyReduction_201 happy_x_1 = case happyOut59 happy_x_1 of { happy_var_1 -> happyIn50 (case happy_var_1 of Left lb -> Left $ map Right lb Right es -> Right es )} happyReduce_202 = happySpecReduce_1 44# happyReduction_202 happyReduction_202 happy_x_1 = case happyOut45 happy_x_1 of { happy_var_1 -> happyIn50 (Left [Right $ DomainFull happy_var_1] )} happyReduce_203 = happySpecReduce_2 44# happyReduction_203 happyReduction_203 happy_x_2 happy_x_1 = happyIn50 (Left [Left NotHidden] ) happyReduce_204 = happySpecReduce_2 44# happyReduction_204 happyReduction_204 happy_x_2 happy_x_1 = happyIn50 (Left [Left Hidden] ) happyReduce_205 = happySpecReduce_2 44# happyReduction_205 happyReduction_205 happy_x_2 happy_x_1 = happyIn50 (Left [Left Instance] ) happyReduce_206 = happyMonadReduce 3# 45# happyReduction_206 happyReduction_206 (happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) tk = happyThen (case happyOut35 happy_x_1 of { happy_var_1 -> case happyOut29 happy_x_3 of { happy_var_3 -> ( do p <- exprToLHS (RawApp (getRange happy_var_1) happy_var_1) ; return (p [] [], RHS happy_var_3, NoWhere))}} ) (\r -> happyReturn (happyIn51 r)) happyReduce_207 = happyMonadReduce 1# 46# happyReduction_207 happyReduction_207 (happy_x_1 `HappyStk` happyRest) tk = happyThen (case happyOut32 happy_x_1 of { happy_var_1 -> ( do p <- exprToLHS (RawApp (getRange happy_var_1) happy_var_1); return (p [] [], AbsurdRHS, NoWhere))} ) (\r -> happyReturn (happyIn52 r)) happyReduce_208 = happySpecReduce_1 47# happyReduction_208 happyReduction_208 happy_x_1 = case happyOut51 happy_x_1 of { happy_var_1 -> happyIn53 (happy_var_1 )} happyReduce_209 = happySpecReduce_1 47# happyReduction_209 happyReduction_209 happy_x_1 = case happyOut52 happy_x_1 of { happy_var_1 -> happyIn53 (happy_var_1 )} happyReduce_210 = happySpecReduce_3 48# happyReduction_210 happyReduction_210 happy_x_3 happy_x_2 happy_x_1 = case happyOut54 happy_x_1 of { happy_var_1 -> case happyOut53 happy_x_3 of { happy_var_3 -> happyIn54 (happy_var_3 : happy_var_1 )}} happyReduce_211 = happySpecReduce_3 48# happyReduction_211 happyReduction_211 happy_x_3 happy_x_2 happy_x_1 = case happyOut52 happy_x_1 of { happy_var_1 -> case happyOut53 happy_x_3 of { happy_var_3 -> happyIn54 ([happy_var_3, happy_var_1] )}} happyReduce_212 = happySpecReduce_1 48# happyReduction_212 happyReduction_212 happy_x_1 = case happyOut51 happy_x_1 of { happy_var_1 -> happyIn54 ([happy_var_1] )} happyReduce_213 = happySpecReduce_2 49# happyReduction_213 happyReduction_213 happy_x_2 happy_x_1 = case happyOut56 happy_x_1 of { happy_var_1 -> happyIn55 (happy_var_1 )} happyReduce_214 = happySpecReduce_2 50# happyReduction_214 happyReduction_214 happy_x_2 happy_x_1 = case happyOut58 happy_x_1 of { happy_var_1 -> case happyOut56 happy_x_2 of { happy_var_2 -> happyIn56 (happy_var_1 ++ happy_var_2 )}} happyReduce_215 = happySpecReduce_2 50# happyReduction_215 happyReduction_215 happy_x_2 happy_x_1 = case happyOut45 happy_x_1 of { happy_var_1 -> case happyOut56 happy_x_2 of { happy_var_2 -> happyIn56 (DomainFull happy_var_1 : happy_var_2 )}} happyReduce_216 = happySpecReduce_1 50# happyReduction_216 happyReduction_216 happy_x_1 = case happyOut58 happy_x_1 of { happy_var_1 -> happyIn56 (happy_var_1 )} happyReduce_217 = happySpecReduce_1 50# happyReduction_217 happyReduction_217 happy_x_1 = case happyOut45 happy_x_1 of { happy_var_1 -> happyIn56 ([DomainFull happy_var_1] )} happyReduce_218 = happySpecReduce_2 51# happyReduction_218 happyReduction_218 happy_x_2 happy_x_1 = case happyOut58 happy_x_1 of { happy_var_1 -> case happyOut57 happy_x_2 of { happy_var_2 -> happyIn57 (happy_var_1 ++ happy_var_2 )}} happyReduce_219 = happySpecReduce_2 51# happyReduction_219 happyReduction_219 happy_x_2 happy_x_1 = case happyOut45 happy_x_1 of { happy_var_1 -> case happyOut57 happy_x_2 of { happy_var_2 -> happyIn57 (DomainFull happy_var_1 : happy_var_2 )}} happyReduce_220 = happySpecReduce_0 51# happyReduction_220 happyReduction_220 = happyIn57 ([] ) happyReduce_221 = happySpecReduce_1 52# happyReduction_221 happyReduction_221 happy_x_1 = case happyOut59 happy_x_1 of { happy_var_1 -> happyIn58 (case happy_var_1 of Left lbs -> lbs Right _ -> fail "expected sequence of bound identifiers, not absurd pattern" )} happyReduce_222 = happySpecReduce_1 53# happyReduction_222 happyReduction_222 happy_x_1 = case happyOut23 happy_x_1 of { happy_var_1 -> happyIn59 (Left [DomainFree NotHidden Relevant $ mkBoundName_ happy_var_1] )} happyReduce_223 = happySpecReduce_2 53# happyReduction_223 happyReduction_223 happy_x_2 happy_x_1 = case happyOut23 happy_x_2 of { happy_var_2 -> happyIn59 (Left [DomainFree NotHidden Irrelevant $ mkBoundName_ happy_var_2] )} happyReduce_224 = happySpecReduce_2 53# happyReduction_224 happyReduction_224 happy_x_2 happy_x_1 = case happyOut23 happy_x_2 of { happy_var_2 -> happyIn59 (Left [DomainFree NotHidden NonStrict $ mkBoundName_ happy_var_2] )} happyReduce_225 = happySpecReduce_3 53# happyReduction_225 happyReduction_225 happy_x_3 happy_x_2 happy_x_1 = case happyOut26 happy_x_2 of { happy_var_2 -> happyIn59 (either (Left . map (DomainFree Hidden Relevant . mkBoundName_)) Right happy_var_2 )} happyReduce_226 = happySpecReduce_3 53# happyReduction_226 happyReduction_226 happy_x_3 happy_x_2 happy_x_1 = case happyOut25 happy_x_2 of { happy_var_2 -> happyIn59 (Left $ map (DomainFree Instance Relevant . mkBoundName_) happy_var_2 )} happyReduce_227 = happyReduce 4# 53# happyReduction_227 happyReduction_227 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut25 happy_x_3 of { happy_var_3 -> happyIn59 (Left $ map (DomainFree Hidden Irrelevant . mkBoundName_) happy_var_3 ) `HappyStk` happyRest} happyReduce_228 = happyReduce 4# 53# happyReduction_228 happyReduction_228 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut25 happy_x_3 of { happy_var_3 -> happyIn59 (Left $ map (DomainFree Instance Irrelevant . mkBoundName_) happy_var_3 ) `HappyStk` happyRest} happyReduce_229 = happyReduce 4# 53# happyReduction_229 happyReduction_229 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut25 happy_x_3 of { happy_var_3 -> happyIn59 (Left $ map (DomainFree Hidden NonStrict . mkBoundName_) happy_var_3 ) `HappyStk` happyRest} happyReduce_230 = happyReduce 4# 53# happyReduction_230 happyReduction_230 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut25 happy_x_3 of { happy_var_3 -> happyIn59 (Left $ map (DomainFree Instance NonStrict . mkBoundName_) happy_var_3 ) `HappyStk` happyRest} happyReduce_231 = happyMonadReduce 1# 54# happyReduction_231 happyReduction_231 (happy_x_1 `HappyStk` happyRest) tk = happyThen (case happyOut61 happy_x_1 of { happy_var_1 -> ( verifyImportDirective happy_var_1)} ) (\r -> happyReturn (happyIn60 r)) happyReduce_232 = happySpecReduce_2 55# happyReduction_232 happyReduction_232 happy_x_2 happy_x_1 = case happyOut62 happy_x_2 of { happy_var_2 -> happyIn61 (happy_var_2 { publicOpen = True } )} happyReduce_233 = happySpecReduce_1 55# happyReduction_233 happyReduction_233 happy_x_1 = case happyOut62 happy_x_1 of { happy_var_1 -> happyIn61 (happy_var_1 )} happyReduce_234 = happySpecReduce_2 56# happyReduction_234 happyReduction_234 happy_x_2 happy_x_1 = case happyOut63 happy_x_1 of { happy_var_1 -> case happyOut64 happy_x_2 of { happy_var_2 -> happyIn62 (ImportDirective (fuseRange (snd happy_var_1) (snd happy_var_2)) (fst happy_var_1) (fst happy_var_2) False )}} happyReduce_235 = happySpecReduce_1 56# happyReduction_235 happyReduction_235 happy_x_1 = case happyOut64 happy_x_1 of { happy_var_1 -> happyIn62 (ImportDirective (getRange (snd happy_var_1)) (Hiding []) (fst happy_var_1) False )} happyReduce_236 = happySpecReduce_1 56# happyReduction_236 happyReduction_236 happy_x_1 = case happyOut63 happy_x_1 of { happy_var_1 -> happyIn62 (ImportDirective (getRange (snd happy_var_1)) (fst happy_var_1) [] False )} happyReduce_237 = happySpecReduce_0 56# happyReduction_237 happyReduction_237 = happyIn62 (defaultImportDir ) happyReduce_238 = happyReduce 4# 57# happyReduction_238 happyReduction_238 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOutTok happy_x_1 of { (TokKeyword KwUsing happy_var_1) -> case happyOutTok happy_x_2 of { (TokSymbol SymOpenParen happy_var_2) -> case happyOut69 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokSymbol SymCloseParen happy_var_4) -> happyIn63 ((Using happy_var_3 , getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4)) ) `HappyStk` happyRest}}}} happyReduce_239 = happyReduce 4# 57# happyReduction_239 happyReduction_239 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOutTok happy_x_1 of { (TokKeyword KwHiding happy_var_1) -> case happyOutTok happy_x_2 of { (TokSymbol SymOpenParen happy_var_2) -> case happyOut70 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokSymbol SymCloseParen happy_var_4) -> happyIn63 ((Hiding happy_var_3 , getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4)) ) `HappyStk` happyRest}}}} happyReduce_240 = happyReduce 4# 58# happyReduction_240 happyReduction_240 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOutTok happy_x_1 of { (TokKeyword KwRenaming happy_var_1) -> case happyOutTok happy_x_2 of { (TokSymbol SymOpenParen happy_var_2) -> case happyOut65 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokSymbol SymCloseParen happy_var_4) -> happyIn64 ((happy_var_3 , getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4)) ) `HappyStk` happyRest}}}} happyReduce_241 = happySpecReduce_3 59# happyReduction_241 happyReduction_241 happy_x_3 happy_x_2 happy_x_1 = case happyOut66 happy_x_1 of { happy_var_1 -> case happyOut65 happy_x_3 of { happy_var_3 -> happyIn65 (happy_var_1 : happy_var_3 )}} happyReduce_242 = happySpecReduce_1 59# happyReduction_242 happyReduction_242 happy_x_1 = case happyOut66 happy_x_1 of { happy_var_1 -> happyIn65 ([happy_var_1] )} happyReduce_243 = happySpecReduce_3 60# happyReduction_243 happyReduction_243 happy_x_3 happy_x_2 happy_x_1 = case happyOut67 happy_x_1 of { happy_var_1 -> case happyOutTok happy_x_2 of { (TokKeyword KwTo happy_var_2) -> case happyOut15 happy_x_3 of { happy_var_3 -> happyIn66 (Renaming happy_var_1 happy_var_3 (getRange happy_var_2) )}}} happyReduce_244 = happySpecReduce_2 61# happyReduction_244 happyReduction_244 happy_x_2 happy_x_1 = case happyOut15 happy_x_2 of { happy_var_2 -> happyIn67 (ImportedName happy_var_2 )} happyReduce_245 = happySpecReduce_3 61# happyReduction_245 happyReduction_245 happy_x_3 happy_x_2 happy_x_1 = case happyOut15 happy_x_3 of { happy_var_3 -> happyIn67 (ImportedModule happy_var_3 )} happyReduce_246 = happySpecReduce_1 62# happyReduction_246 happyReduction_246 happy_x_1 = case happyOut15 happy_x_1 of { happy_var_1 -> happyIn68 (ImportedName happy_var_1 )} happyReduce_247 = happySpecReduce_2 62# happyReduction_247 happyReduction_247 happy_x_2 happy_x_1 = case happyOut15 happy_x_2 of { happy_var_2 -> happyIn68 (ImportedModule happy_var_2 )} happyReduce_248 = happySpecReduce_0 63# happyReduction_248 happyReduction_248 = happyIn69 ([] ) happyReduce_249 = happySpecReduce_1 63# happyReduction_249 happyReduction_249 happy_x_1 = case happyOut70 happy_x_1 of { happy_var_1 -> happyIn69 (happy_var_1 )} happyReduce_250 = happySpecReduce_1 64# happyReduction_250 happyReduction_250 happy_x_1 = case happyOut68 happy_x_1 of { happy_var_1 -> happyIn70 ([happy_var_1] )} happyReduce_251 = happySpecReduce_3 64# happyReduction_251 happyReduction_251 happy_x_3 happy_x_2 happy_x_1 = case happyOut68 happy_x_1 of { happy_var_1 -> case happyOut70 happy_x_3 of { happy_var_3 -> happyIn70 (happy_var_1 : happy_var_3 )}} happyReduce_252 = happyMonadReduce 3# 65# happyReduction_252 happyReduction_252 (happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) tk = happyThen (case happyOut30 happy_x_1 of { happy_var_1 -> case happyOut74 happy_x_2 of { happy_var_2 -> case happyOut73 happy_x_3 of { happy_var_3 -> ( exprToLHS happy_var_1 >>= \p -> return (p happy_var_2 happy_var_3))}}} ) (\r -> happyReturn (happyIn71 r)) happyReduce_253 = happyReduce 4# 65# happyReduction_253 happyReduction_253 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOutTok happy_x_1 of { (TokSymbol SymEllipsis happy_var_1) -> case happyOut72 happy_x_2 of { happy_var_2 -> case happyOut74 happy_x_3 of { happy_var_3 -> case happyOut73 happy_x_4 of { happy_var_4 -> happyIn71 (Ellipsis (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4)) happy_var_2 happy_var_3 happy_var_4 ) `HappyStk` happyRest}}}} happyReduce_254 = happySpecReduce_0 66# happyReduction_254 happyReduction_254 = happyIn72 ([] ) happyReduce_255 = happyMonadReduce 3# 66# happyReduction_255 happyReduction_255 (happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) tk = happyThen (case happyOut35 happy_x_2 of { happy_var_2 -> case happyOut72 happy_x_3 of { happy_var_3 -> ( exprToPattern (RawApp (getRange happy_var_2) happy_var_2) >>= \p -> return (p : happy_var_3))}} ) (\r -> happyReturn (happyIn72 r)) happyReduce_256 = happySpecReduce_0 67# happyReduction_256 happyReduction_256 = happyIn73 ([] ) happyReduce_257 = happySpecReduce_2 67# happyReduction_257 happyReduction_257 happy_x_2 happy_x_1 = case happyOut29 happy_x_2 of { happy_var_2 -> happyIn73 (case happy_var_2 of { WithApp _ e es -> e : es; e -> [e] } )} happyReduce_258 = happySpecReduce_0 68# happyReduction_258 happyReduction_258 = happyIn74 ([] ) happyReduce_259 = happySpecReduce_2 68# happyReduction_259 happyReduction_259 happy_x_2 happy_x_1 = case happyOut29 happy_x_2 of { happy_var_2 -> happyIn74 (case happy_var_2 of { WithApp _ e es -> e : es; e -> [e] } )} happyReduce_260 = happySpecReduce_0 69# happyReduction_260 happyReduction_260 = happyIn75 (NoWhere ) happyReduce_261 = happySpecReduce_2 69# happyReduction_261 happyReduction_261 happy_x_2 happy_x_1 = case happyOut133 happy_x_2 of { happy_var_2 -> happyIn75 (AnyWhere happy_var_2 )} happyReduce_262 = happyReduce 4# 69# happyReduction_262 happyReduction_262 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut15 happy_x_2 of { happy_var_2 -> case happyOut133 happy_x_4 of { happy_var_4 -> happyIn75 (SomeWhere happy_var_2 happy_var_4 ) `HappyStk` happyRest}} happyReduce_263 = happySpecReduce_1 70# happyReduction_263 happyReduction_263 happy_x_1 = case happyOut88 happy_x_1 of { happy_var_1 -> happyIn76 (happy_var_1 )} happyReduce_264 = happySpecReduce_1 70# happyReduction_264 happyReduction_264 happy_x_1 = case happyOut80 happy_x_1 of { happy_var_1 -> happyIn76 (happy_var_1 )} happyReduce_265 = happySpecReduce_1 70# happyReduction_265 happyReduction_265 happy_x_1 = case happyOut82 happy_x_1 of { happy_var_1 -> happyIn76 ([happy_var_1] )} happyReduce_266 = happySpecReduce_1 70# happyReduction_266 happyReduction_266 happy_x_1 = case happyOut83 happy_x_1 of { happy_var_1 -> happyIn76 ([happy_var_1] )} happyReduce_267 = happySpecReduce_1 70# happyReduction_267 happyReduction_267 happy_x_1 = case happyOut84 happy_x_1 of { happy_var_1 -> happyIn76 ([happy_var_1] )} happyReduce_268 = happySpecReduce_1 70# happyReduction_268 happyReduction_268 happy_x_1 = case happyOut85 happy_x_1 of { happy_var_1 -> happyIn76 ([happy_var_1] )} happyReduce_269 = happySpecReduce_1 70# happyReduction_269 happyReduction_269 happy_x_1 = case happyOut87 happy_x_1 of { happy_var_1 -> happyIn76 ([happy_var_1] )} happyReduce_270 = happySpecReduce_1 70# happyReduction_270 happyReduction_270 happy_x_1 = case happyOut89 happy_x_1 of { happy_var_1 -> happyIn76 ([happy_var_1] )} happyReduce_271 = happySpecReduce_1 70# happyReduction_271 happyReduction_271 happy_x_1 = case happyOut90 happy_x_1 of { happy_var_1 -> happyIn76 ([happy_var_1] )} happyReduce_272 = happySpecReduce_1 70# happyReduction_272 happyReduction_272 happy_x_1 = case happyOut91 happy_x_1 of { happy_var_1 -> happyIn76 ([happy_var_1] )} happyReduce_273 = happySpecReduce_1 70# happyReduction_273 happyReduction_273 happy_x_1 = case happyOut92 happy_x_1 of { happy_var_1 -> happyIn76 ([happy_var_1] )} happyReduce_274 = happySpecReduce_1 70# happyReduction_274 happyReduction_274 happy_x_1 = case happyOut93 happy_x_1 of { happy_var_1 -> happyIn76 ([happy_var_1] )} happyReduce_275 = happySpecReduce_1 70# happyReduction_275 happyReduction_275 happy_x_1 = case happyOut101 happy_x_1 of { happy_var_1 -> happyIn76 (happy_var_1 )} happyReduce_276 = happySpecReduce_1 70# happyReduction_276 happyReduction_276 happy_x_1 = case happyOut104 happy_x_1 of { happy_var_1 -> happyIn76 ([happy_var_1] )} happyReduce_277 = happySpecReduce_1 70# happyReduction_277 happyReduction_277 happy_x_1 = case happyOut105 happy_x_1 of { happy_var_1 -> happyIn76 ([happy_var_1] )} happyReduce_278 = happySpecReduce_1 70# happyReduction_278 happyReduction_278 happy_x_1 = case happyOut109 happy_x_1 of { happy_var_1 -> happyIn76 ([happy_var_1] )} happyReduce_279 = happySpecReduce_1 70# happyReduction_279 happyReduction_279 happy_x_1 = case happyOut94 happy_x_1 of { happy_var_1 -> happyIn76 ([happy_var_1] )} happyReduce_280 = happySpecReduce_1 70# happyReduction_280 happyReduction_280 happy_x_1 = case happyOut95 happy_x_1 of { happy_var_1 -> happyIn76 ([happy_var_1] )} happyReduce_281 = happySpecReduce_3 71# happyReduction_281 happyReduction_281 happy_x_3 happy_x_2 happy_x_1 = case happyOut16 happy_x_1 of { happy_var_1 -> case happyOut29 happy_x_3 of { happy_var_3 -> happyIn77 (map (flip (TypeSig Relevant) happy_var_3) happy_var_1 )}} happyReduce_282 = happySpecReduce_3 72# happyReduction_282 happyReduction_282 happy_x_3 happy_x_2 happy_x_1 = case happyOut19 happy_x_1 of { happy_var_1 -> case happyOut29 happy_x_3 of { happy_var_3 -> happyIn78 (map (\ (Arg _ rel x) -> TypeSig rel x happy_var_3) happy_var_1 )}} happyReduce_283 = happySpecReduce_3 73# happyReduction_283 happyReduction_283 happy_x_3 happy_x_2 happy_x_1 = case happyOut20 happy_x_1 of { happy_var_1 -> case happyOut29 happy_x_3 of { happy_var_3 -> happyIn79 (map (fmap (flip (TypeSig Relevant) happy_var_3)) happy_var_1 )}} happyReduce_284 = happyMonadReduce 3# 74# happyReduction_284 happyReduction_284 (happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) tk = happyThen (case happyOut71 happy_x_1 of { happy_var_1 -> case happyOut81 happy_x_2 of { happy_var_2 -> case happyOut75 happy_x_3 of { happy_var_3 -> ( funClauseOrTypeSigs happy_var_1 happy_var_2 happy_var_3)}}} ) (\r -> happyReturn (happyIn80 r)) happyReduce_285 = happySpecReduce_2 75# happyReduction_285 happyReduction_285 happy_x_2 happy_x_1 = case happyOut29 happy_x_2 of { happy_var_2 -> happyIn81 (JustRHS (RHS happy_var_2) )} happyReduce_286 = happySpecReduce_2 75# happyReduction_286 happyReduction_286 happy_x_2 happy_x_1 = case happyOut29 happy_x_2 of { happy_var_2 -> happyIn81 (TypeSigsRHS happy_var_2 )} happyReduce_287 = happySpecReduce_0 75# happyReduction_287 happyReduction_287 = happyIn81 (JustRHS AbsurdRHS ) happyReduce_288 = happyReduce 7# 76# happyReduction_288 happyReduction_288 (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 { (TokKeyword KwData happy_var_1) -> case happyOut15 happy_x_2 of { happy_var_2 -> case happyOut57 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokSymbol SymColon happy_var_4) -> case happyOut29 happy_x_5 of { happy_var_5 -> case happyOutTok happy_x_6 of { (TokKeyword KwWhere happy_var_6) -> case happyOut130 happy_x_7 of { happy_var_7 -> happyIn82 (Data (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4,happy_var_5,happy_var_6,happy_var_7)) Inductive happy_var_2 happy_var_3 (Just happy_var_5) happy_var_7 ) `HappyStk` happyRest}}}}}}} happyReduce_289 = happyReduce 7# 76# happyReduction_289 happyReduction_289 (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 { (TokKeyword KwCoData happy_var_1) -> case happyOut15 happy_x_2 of { happy_var_2 -> case happyOut57 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokSymbol SymColon happy_var_4) -> case happyOut29 happy_x_5 of { happy_var_5 -> case happyOutTok happy_x_6 of { (TokKeyword KwWhere happy_var_6) -> case happyOut130 happy_x_7 of { happy_var_7 -> happyIn82 (Data (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4,happy_var_5,happy_var_6,happy_var_7)) CoInductive happy_var_2 happy_var_3 (Just happy_var_5) happy_var_7 ) `HappyStk` happyRest}}}}}}} happyReduce_290 = happyReduce 5# 76# happyReduction_290 happyReduction_290 (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 { (TokKeyword KwData happy_var_1) -> case happyOut15 happy_x_2 of { happy_var_2 -> case happyOut57 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokKeyword KwWhere happy_var_4) -> case happyOut130 happy_x_5 of { happy_var_5 -> happyIn82 (Data (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4,happy_var_5)) Inductive happy_var_2 happy_var_3 Nothing happy_var_5 ) `HappyStk` happyRest}}}}} happyReduce_291 = happyReduce 5# 76# happyReduction_291 happyReduction_291 (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 { (TokKeyword KwCoData happy_var_1) -> case happyOut15 happy_x_2 of { happy_var_2 -> case happyOut57 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokKeyword KwWhere happy_var_4) -> case happyOut130 happy_x_5 of { happy_var_5 -> happyIn82 (Data (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4,happy_var_5)) CoInductive happy_var_2 happy_var_3 Nothing happy_var_5 ) `HappyStk` happyRest}}}}} happyReduce_292 = happyReduce 5# 77# happyReduction_292 happyReduction_292 (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 { (TokKeyword KwData happy_var_1) -> case happyOut15 happy_x_2 of { happy_var_2 -> case happyOut57 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokSymbol SymColon happy_var_4) -> case happyOut29 happy_x_5 of { happy_var_5 -> happyIn83 (DataSig (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4,happy_var_5)) Inductive happy_var_2 happy_var_3 happy_var_5 ) `HappyStk` happyRest}}}}} happyReduce_293 = happyMonadReduce 7# 78# happyReduction_293 happyReduction_293 (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 { (TokKeyword KwRecord happy_var_1) -> case happyOut37 happy_x_2 of { happy_var_2 -> case happyOut57 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokSymbol SymColon happy_var_4) -> case happyOut29 happy_x_5 of { happy_var_5 -> case happyOutTok happy_x_6 of { (TokKeyword KwWhere happy_var_6) -> case happyOut131 happy_x_7 of { happy_var_7 -> ( exprToName happy_var_2 >>= \ n -> return $ Record (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4,happy_var_5,happy_var_6,happy_var_7)) n (fst3 happy_var_7) (snd3 happy_var_7) happy_var_3 (Just happy_var_5) (thd3 happy_var_7))}}}}}}} ) (\r -> happyReturn (happyIn84 r)) happyReduce_294 = happyMonadReduce 5# 78# happyReduction_294 happyReduction_294 (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 { (TokKeyword KwRecord happy_var_1) -> case happyOut37 happy_x_2 of { happy_var_2 -> case happyOut57 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokKeyword KwWhere happy_var_4) -> case happyOut131 happy_x_5 of { happy_var_5 -> ( exprToName happy_var_2 >>= \ n -> return $ Record (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4,happy_var_5)) n (fst3 happy_var_5) (snd3 happy_var_5) happy_var_3 Nothing (thd3 happy_var_5))}}}}} ) (\r -> happyReturn (happyIn84 r)) happyReduce_295 = happyMonadReduce 5# 79# happyReduction_295 happyReduction_295 (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 { (TokKeyword KwRecord happy_var_1) -> case happyOut37 happy_x_2 of { happy_var_2 -> case happyOut57 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokSymbol SymColon happy_var_4) -> case happyOut29 happy_x_5 of { happy_var_5 -> ( exprToName happy_var_2 >>= \ n -> return $ RecordSig (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4,happy_var_5)) n happy_var_3 happy_var_5)}}}}} ) (\r -> happyReturn (happyIn85 r)) happyReduce_296 = happySpecReduce_2 80# happyReduction_296 happyReduction_296 happy_x_2 happy_x_1 = case happyOut15 happy_x_2 of { happy_var_2 -> happyIn86 (happy_var_2 )} happyReduce_297 = happySpecReduce_3 81# happyReduction_297 happyReduction_297 happy_x_3 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwInfix happy_var_1) -> case happyOut14 happy_x_2 of { happy_var_2 -> case happyOut24 happy_x_3 of { happy_var_3 -> happyIn87 (Infix (NonAssoc (getRange (happy_var_1,happy_var_3)) happy_var_2) happy_var_3 )}}} happyReduce_298 = happySpecReduce_3 81# happyReduction_298 happyReduction_298 happy_x_3 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwInfixL happy_var_1) -> case happyOut14 happy_x_2 of { happy_var_2 -> case happyOut24 happy_x_3 of { happy_var_3 -> happyIn87 (Infix (LeftAssoc (getRange (happy_var_1,happy_var_3)) happy_var_2) happy_var_3 )}}} happyReduce_299 = happySpecReduce_3 81# happyReduction_299 happyReduction_299 happy_x_3 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwInfixR happy_var_1) -> case happyOut14 happy_x_2 of { happy_var_2 -> case happyOut24 happy_x_3 of { happy_var_3 -> happyIn87 (Infix (RightAssoc (getRange (happy_var_1,happy_var_3)) happy_var_2) happy_var_3 )}}} happyReduce_300 = happySpecReduce_2 82# happyReduction_300 happyReduction_300 happy_x_2 happy_x_1 = case happyOut128 happy_x_2 of { happy_var_2 -> happyIn88 (let toField (Arg h rel (TypeSig _ x t)) = Field x (Arg h rel t) in map toField happy_var_2 )} happyReduce_301 = happySpecReduce_2 83# happyReduction_301 happyReduction_301 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwMutual happy_var_1) -> case happyOut133 happy_x_2 of { happy_var_2 -> happyIn89 (Mutual (fuseRange happy_var_1 happy_var_2) happy_var_2 )}} happyReduce_302 = happySpecReduce_2 84# happyReduction_302 happyReduction_302 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwAbstract happy_var_1) -> case happyOut133 happy_x_2 of { happy_var_2 -> happyIn90 (Abstract (fuseRange happy_var_1 happy_var_2) happy_var_2 )}} happyReduce_303 = happySpecReduce_2 85# happyReduction_303 happyReduction_303 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwPrivate happy_var_1) -> case happyOut133 happy_x_2 of { happy_var_2 -> happyIn91 (Private (fuseRange happy_var_1 happy_var_2) happy_var_2 )}} happyReduce_304 = happySpecReduce_2 86# happyReduction_304 happyReduction_304 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwPostulate happy_var_1) -> case happyOut126 happy_x_2 of { happy_var_2 -> happyIn92 (Postulate (fuseRange happy_var_1 happy_var_2) happy_var_2 )}} happyReduce_305 = happySpecReduce_2 87# happyReduction_305 happyReduction_305 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwPrimitive happy_var_1) -> case happyOut124 happy_x_2 of { happy_var_2 -> happyIn93 (Primitive (fuseRange happy_var_1 happy_var_2) happy_var_2 )}} happyReduce_306 = happyMonadReduce 5# 88# happyReduction_306 happyReduction_306 (happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) tk = happyThen (case happyOut15 happy_x_2 of { happy_var_2 -> case happyOut97 happy_x_3 of { happy_var_3 -> case happyOut96 happy_x_5 of { happy_var_5 -> ( case happy_var_2 of Name _ [_] -> case mkNotation happy_var_3 happy_var_5 of Left err -> parseError $ "malformed syntax declaration: " ++ err Right n -> return $ Syntax happy_var_2 n _ -> parseError "syntax declarations are allowed only for simple names (without holes)")}}} ) (\r -> happyReturn (happyIn94 r)) happyReduce_307 = happyMonadReduce 4# 89# 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 { (TokKeyword KwPatternSyn happy_var_1) -> case happyOut16 happy_x_2 of { happy_var_2 -> case happyOutTok happy_x_3 of { (TokSymbol SymEqual happy_var_3) -> case happyOut29 happy_x_4 of { happy_var_4 -> ( do p <- exprToPattern happy_var_4 return (PatternSyn (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4)) (head happy_var_2) (tail happy_var_2) p))}}}} ) (\r -> happyReturn (happyIn95 r)) happyReduce_308 = happySpecReduce_1 90# happyReduction_308 happyReduction_308 happy_x_1 = case happyOut99 happy_x_1 of { happy_var_1 -> happyIn96 ([happy_var_1] )} happyReduce_309 = happySpecReduce_2 90# happyReduction_309 happyReduction_309 happy_x_2 happy_x_1 = case happyOut96 happy_x_1 of { happy_var_1 -> case happyOut99 happy_x_2 of { happy_var_2 -> happyIn96 (happy_var_1 ++ [happy_var_2] )}} happyReduce_310 = happySpecReduce_1 91# happyReduction_310 happyReduction_310 happy_x_1 = case happyOut98 happy_x_1 of { happy_var_1 -> happyIn97 ([happy_var_1] )} happyReduce_311 = happySpecReduce_2 91# happyReduction_311 happyReduction_311 happy_x_2 happy_x_1 = case happyOut97 happy_x_1 of { happy_var_1 -> case happyOut98 happy_x_2 of { happy_var_2 -> happyIn97 (happy_var_1 ++ [happy_var_2] )}} happyReduce_312 = happySpecReduce_1 92# happyReduction_312 happyReduction_312 happy_x_1 = case happyOut99 happy_x_1 of { happy_var_1 -> happyIn98 (ExprHole happy_var_1 )} happyReduce_313 = happyReduce 6# 92# happyReduction_313 happyReduction_313 (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 happyOut99 happy_x_3 of { happy_var_3 -> case happyOut99 happy_x_5 of { happy_var_5 -> happyIn98 (LambdaHole happy_var_3 happy_var_5 ) `HappyStk` happyRest}} happyReduce_314 = happySpecReduce_1 93# happyReduction_314 happyReduction_314 happy_x_1 = case happyOutTok happy_x_1 of { (TokId happy_var_1) -> happyIn99 (snd happy_var_1 )} happyReduce_315 = happySpecReduce_1 94# happyReduction_315 happyReduction_315 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwOpen happy_var_1) -> happyIn100 (Just (getRange happy_var_1) )} happyReduce_316 = happySpecReduce_0 94# happyReduction_316 happyReduction_316 = happyIn100 (Nothing ) happyReduce_317 = happyMonadReduce 5# 95# happyReduction_317 happyReduction_317 (happy_x_5 `HappyStk` 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 { (TokKeyword KwImport happy_var_2) -> case happyOut22 happy_x_3 of { happy_var_3 -> case happyOut102 happy_x_4 of { happy_var_4 -> case happyOut60 happy_x_5 of { happy_var_5 -> ( let { doOpen = maybe DontOpen (const DoOpen) happy_var_1 ; m = happy_var_3 ; es = happy_var_4 ; dir = happy_var_5 ; r = getRange (m, es, dir) ; mr = getRange m ; unique = hash $ show $ fmap (const (Nothing :: Maybe ())) r -- turn range into unique id, but delete file path -- which is absolute and messes up suite of failing tests -- (different hashs on different installations) -- TODO: Don't use (insecure) hashes in this way. ; fresh = Name mr [ Id $ ".#" ++ show m ++ "-" ++ show unique ] ; impStm asR = Import mr m (Just (AsName fresh asR)) DontOpen defaultImportDir ; appStm m' es = let r = getRange (m, es) in Private r [ ModuleMacro r m' (SectionApp (getRange es) [] (RawApp (getRange es) (Ident (QName fresh) : es))) doOpen dir ] ; (initArgs, last2Args) = splitAt (length es - 2) es ; parseAsClause = case last2Args of { [ Ident (QName (Name asR [Id x])) , Ident (QName m') ] | x == "as" -> Just (asR, m') ; _ -> Nothing } } in case es of { [] -> return [Import mr m Nothing doOpen dir] ; _ | Just (asR, m') <- parseAsClause -> if null initArgs then return [ Import (getRange (m, asR, m', dir)) m (Just (AsName m' asR)) doOpen dir ] else return [ impStm asR, appStm m' initArgs ] | DontOpen <- doOpen -> parseErrorAt (fromJust $ rStart $ getRange happy_var_2) "An import statement with module instantiation does not actually import the module. This statement achieves nothing. Either add the `open' keyword or bind the instantiated module with an `as' clause." | otherwise -> return [ impStm noRange , appStm (noName $ beginningOf $ getRange m) es ] })}}}}} ) (\r -> happyReturn (happyIn101 r)) happyReduce_318 = happyReduce 4# 95# happyReduction_318 happyReduction_318 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut22 happy_x_2 of { happy_var_2 -> case happyOut102 happy_x_3 of { happy_var_3 -> case happyOut60 happy_x_4 of { happy_var_4 -> happyIn101 (let { m = happy_var_2 ; es = happy_var_3 ; dir = happy_var_4 ; r = getRange (m, es, dir) } in [ case es of { [] -> Open r m dir ; _ -> Private r [ ModuleMacro r (noName $ beginningOf $ getRange m) (SectionApp (getRange (m , es)) [] (RawApp (fuseRange m es) (Ident m : es))) DoOpen dir ] } ] ) `HappyStk` happyRest}}} happyReduce_319 = happyReduce 6# 95# happyReduction_319 happyReduction_319 (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 happyOut22 happy_x_2 of { happy_var_2 -> case happyOut60 happy_x_6 of { happy_var_6 -> happyIn101 (let r = getRange happy_var_2 in [ Private r [ ModuleMacro r (noName $ beginningOf $ getRange happy_var_2) (RecordModuleIFS r happy_var_2) DoOpen happy_var_6 ] ] ) `HappyStk` happyRest}} happyReduce_320 = happySpecReduce_0 96# happyReduction_320 happyReduction_320 = happyIn102 ([] ) happyReduce_321 = happySpecReduce_2 96# happyReduction_321 happyReduction_321 happy_x_2 happy_x_1 = case happyOut38 happy_x_1 of { happy_var_1 -> case happyOut102 happy_x_2 of { happy_var_2 -> happyIn102 (happy_var_1 : happy_var_2 )}} happyReduce_322 = happyReduce 4# 97# happyReduction_322 happyReduction_322 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut22 happy_x_1 of { happy_var_1 -> case happyOutTok happy_x_2 of { (TokSymbol SymDoubleOpenBrace happy_var_2) -> case happyOutTok happy_x_3 of { (TokSymbol SymEllipsis happy_var_3) -> case happyOut17 happy_x_4 of { happy_var_4 -> happyIn103 ((\ts -> if null ts then return $ RecordModuleIFS (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4)) happy_var_1 else parseError "No bindings allowed for record module with non-canonical implicits" ) ) `HappyStk` happyRest}}}} happyReduce_323 = happySpecReduce_2 97# happyReduction_323 happyReduction_323 happy_x_2 happy_x_1 = case happyOut22 happy_x_1 of { happy_var_1 -> case happyOut102 happy_x_2 of { happy_var_2 -> happyIn103 ((\ts -> return $ SectionApp (getRange (happy_var_1, happy_var_2)) ts (RawApp (fuseRange happy_var_1 happy_var_2) (Ident happy_var_1 : happy_var_2)) ) )}} happyReduce_324 = happyMonadReduce 6# 98# happyReduction_324 happyReduction_324 (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 { (TokKeyword KwModule happy_var_1) -> case happyOut15 happy_x_2 of { happy_var_2 -> case happyOut57 happy_x_3 of { happy_var_3 -> case happyOut103 happy_x_5 of { happy_var_5 -> case happyOut60 happy_x_6 of { happy_var_6 -> ( do {ma <- happy_var_5 (map addType happy_var_3); return $ ModuleMacro (getRange (happy_var_1, happy_var_2, ma, happy_var_6)) happy_var_2 ma DontOpen happy_var_6 })}}}}} ) (\r -> happyReturn (happyIn104 r)) happyReduce_325 = happyMonadReduce 7# 98# happyReduction_325 happyReduction_325 (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 { (TokKeyword KwOpen happy_var_1) -> case happyOutTok happy_x_2 of { (TokKeyword KwModule happy_var_2) -> case happyOut15 happy_x_3 of { happy_var_3 -> case happyOut57 happy_x_4 of { happy_var_4 -> case happyOut103 happy_x_6 of { happy_var_6 -> case happyOut60 happy_x_7 of { happy_var_7 -> ( do {ma <- happy_var_6 (map addType happy_var_4); return $ ModuleMacro (getRange (happy_var_1, happy_var_2, happy_var_3, ma, happy_var_7)) happy_var_3 ma DoOpen happy_var_7 })}}}}}} ) (\r -> happyReturn (happyIn104 r)) happyReduce_326 = happyReduce 5# 99# happyReduction_326 happyReduction_326 (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 { (TokKeyword KwModule happy_var_1) -> case happyOut15 happy_x_2 of { happy_var_2 -> case happyOut57 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokKeyword KwWhere happy_var_4) -> case happyOut134 happy_x_5 of { happy_var_5 -> happyIn105 (Module (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4,happy_var_5)) (QName happy_var_2) (map addType happy_var_3) happy_var_5 ) `HappyStk` happyRest}}}}} happyReduce_327 = happyReduce 5# 99# happyReduction_327 happyReduction_327 (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 { (TokKeyword KwModule happy_var_1) -> case happyOut106 happy_x_2 of { happy_var_2 -> case happyOut57 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokKeyword KwWhere happy_var_4) -> case happyOut134 happy_x_5 of { happy_var_5 -> happyIn105 (Module (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4,happy_var_5)) (QName happy_var_2) (map addType happy_var_3) happy_var_5 ) `HappyStk` happyRest}}}}} happyReduce_328 = happySpecReduce_1 100# happyReduction_328 happyReduction_328 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymUnderscore happy_var_1) -> happyIn106 (noName (getRange happy_var_1) )} happyReduce_329 = happySpecReduce_1 101# happyReduction_329 happyReduction_329 happy_x_1 = case happyOut108 happy_x_1 of { happy_var_1 -> happyIn107 ([happy_var_1] )} happyReduce_330 = happySpecReduce_2 101# happyReduction_330 happyReduction_330 happy_x_2 happy_x_1 = case happyOut101 happy_x_1 of { happy_var_1 -> case happyOut107 happy_x_2 of { happy_var_2 -> happyIn107 (happy_var_1 ++ happy_var_2 )}} happyReduce_331 = happyReduce 5# 102# happyReduction_331 happyReduction_331 (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 { (TokKeyword KwModule happy_var_1) -> case happyOut22 happy_x_2 of { happy_var_2 -> case happyOut57 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokKeyword KwWhere happy_var_4) -> case happyOut134 happy_x_5 of { happy_var_5 -> happyIn108 (Module (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4,happy_var_5)) happy_var_2 (map addType happy_var_3) happy_var_5 ) `HappyStk` happyRest}}}}} happyReduce_332 = happySpecReduce_1 103# happyReduction_332 happyReduction_332 happy_x_1 = case happyOut111 happy_x_1 of { happy_var_1 -> happyIn109 (Pragma happy_var_1 )} happyReduce_333 = happySpecReduce_1 104# happyReduction_333 happyReduction_333 happy_x_1 = case happyOut112 happy_x_1 of { happy_var_1 -> happyIn110 (happy_var_1 )} happyReduce_334 = happySpecReduce_1 105# happyReduction_334 happyReduction_334 happy_x_1 = case happyOut113 happy_x_1 of { happy_var_1 -> happyIn111 (happy_var_1 )} happyReduce_335 = happySpecReduce_1 105# happyReduction_335 happyReduction_335 happy_x_1 = case happyOut114 happy_x_1 of { happy_var_1 -> happyIn111 (happy_var_1 )} happyReduce_336 = happySpecReduce_1 105# happyReduction_336 happyReduction_336 happy_x_1 = case happyOut116 happy_x_1 of { happy_var_1 -> happyIn111 (happy_var_1 )} happyReduce_337 = happySpecReduce_1 105# happyReduction_337 happyReduction_337 happy_x_1 = case happyOut115 happy_x_1 of { happy_var_1 -> happyIn111 (happy_var_1 )} happyReduce_338 = happySpecReduce_1 105# happyReduction_338 happyReduction_338 happy_x_1 = case happyOut117 happy_x_1 of { happy_var_1 -> happyIn111 (happy_var_1 )} happyReduce_339 = happySpecReduce_1 105# happyReduction_339 happyReduction_339 happy_x_1 = case happyOut118 happy_x_1 of { happy_var_1 -> happyIn111 (happy_var_1 )} happyReduce_340 = happySpecReduce_1 105# happyReduction_340 happyReduction_340 happy_x_1 = case happyOut119 happy_x_1 of { happy_var_1 -> happyIn111 (happy_var_1 )} happyReduce_341 = happySpecReduce_1 105# happyReduction_341 happyReduction_341 happy_x_1 = case happyOut122 happy_x_1 of { happy_var_1 -> happyIn111 (happy_var_1 )} happyReduce_342 = happySpecReduce_1 105# happyReduction_342 happyReduction_342 happy_x_1 = case happyOut123 happy_x_1 of { happy_var_1 -> happyIn111 (happy_var_1 )} happyReduce_343 = happySpecReduce_1 105# happyReduction_343 happyReduction_343 happy_x_1 = case happyOut120 happy_x_1 of { happy_var_1 -> happyIn111 (happy_var_1 )} happyReduce_344 = happySpecReduce_1 105# happyReduction_344 happyReduction_344 happy_x_1 = case happyOut121 happy_x_1 of { happy_var_1 -> happyIn111 (happy_var_1 )} happyReduce_345 = happyReduce 4# 106# happyReduction_345 happyReduction_345 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOutTok happy_x_1 of { (TokSymbol SymOpenPragma happy_var_1) -> case happyOutTok happy_x_2 of { (TokKeyword KwOPTIONS happy_var_2) -> case happyOut27 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokSymbol SymClosePragma happy_var_4) -> happyIn112 (OptionsPragma (getRange (happy_var_1,happy_var_2,happy_var_4)) happy_var_3 ) `HappyStk` happyRest}}}} happyReduce_346 = happyReduce 5# 107# happyReduction_346 happyReduction_346 (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 { (TokSymbol SymOpenPragma happy_var_1) -> case happyOutTok happy_x_2 of { (TokKeyword KwBUILTIN happy_var_2) -> case happyOutTok happy_x_3 of { (TokString happy_var_3) -> case happyOut28 happy_x_4 of { happy_var_4 -> case happyOutTok happy_x_5 of { (TokSymbol SymClosePragma happy_var_5) -> happyIn113 (BuiltinPragma (getRange (happy_var_1,happy_var_2,fst happy_var_3,happy_var_4,happy_var_5)) (snd happy_var_3) (Ident happy_var_4) ) `HappyStk` happyRest}}}}} happyReduce_347 = happyReduce 5# 108# happyReduction_347 happyReduction_347 (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 { (TokSymbol SymOpenPragma happy_var_1) -> case happyOutTok happy_x_2 of { (TokKeyword KwCOMPILED happy_var_2) -> case happyOut28 happy_x_3 of { happy_var_3 -> case happyOut27 happy_x_4 of { happy_var_4 -> case happyOutTok happy_x_5 of { (TokSymbol SymClosePragma happy_var_5) -> happyIn114 (CompiledPragma (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_5)) happy_var_3 (unwords happy_var_4) ) `HappyStk` happyRest}}}}} happyReduce_348 = happyReduce 5# 109# happyReduction_348 happyReduction_348 (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 { (TokSymbol SymOpenPragma happy_var_1) -> case happyOutTok happy_x_2 of { (TokKeyword KwCOMPILED_TYPE happy_var_2) -> case happyOut28 happy_x_3 of { happy_var_3 -> case happyOut27 happy_x_4 of { happy_var_4 -> case happyOutTok happy_x_5 of { (TokSymbol SymClosePragma happy_var_5) -> happyIn115 (CompiledTypePragma (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_5)) happy_var_3 (unwords happy_var_4) ) `HappyStk` happyRest}}}}} happyReduce_349 = happyReduce 6# 110# happyReduction_349 happyReduction_349 (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 { (TokSymbol SymOpenPragma happy_var_1) -> case happyOutTok happy_x_2 of { (TokKeyword KwCOMPILED_DATA happy_var_2) -> case happyOut28 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokString happy_var_4) -> case happyOut27 happy_x_5 of { happy_var_5 -> case happyOutTok happy_x_6 of { (TokSymbol SymClosePragma happy_var_6) -> happyIn116 (CompiledDataPragma (getRange (happy_var_1,happy_var_2,happy_var_3,fst happy_var_4,happy_var_6)) happy_var_3 (snd happy_var_4) happy_var_5 ) `HappyStk` happyRest}}}}}} happyReduce_350 = happyReduce 5# 111# 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 { (TokSymbol SymOpenPragma happy_var_1) -> case happyOutTok happy_x_2 of { (TokKeyword KwCOMPILED_EPIC happy_var_2) -> case happyOut28 happy_x_3 of { happy_var_3 -> case happyOut27 happy_x_4 of { happy_var_4 -> case happyOutTok happy_x_5 of { (TokSymbol SymClosePragma happy_var_5) -> happyIn117 (CompiledEpicPragma (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_5)) happy_var_3 (unwords happy_var_4) ) `HappyStk` happyRest}}}}} happyReduce_351 = happyReduce 5# 112# happyReduction_351 happyReduction_351 (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 { (TokSymbol SymOpenPragma happy_var_1) -> case happyOutTok happy_x_2 of { (TokKeyword KwCOMPILED_JS happy_var_2) -> case happyOut28 happy_x_3 of { happy_var_3 -> case happyOut27 happy_x_4 of { happy_var_4 -> case happyOutTok happy_x_5 of { (TokSymbol SymClosePragma happy_var_5) -> happyIn118 (CompiledJSPragma (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_5)) happy_var_3 (unwords happy_var_4) ) `HappyStk` happyRest}}}}} happyReduce_352 = happyReduce 4# 113# happyReduction_352 happyReduction_352 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOutTok happy_x_1 of { (TokSymbol SymOpenPragma happy_var_1) -> case happyOutTok happy_x_2 of { (TokKeyword KwSTATIC happy_var_2) -> case happyOut28 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokSymbol SymClosePragma happy_var_4) -> happyIn119 (StaticPragma (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4)) happy_var_3 ) `HappyStk` happyRest}}}} happyReduce_353 = happyReduce 4# 114# happyReduction_353 happyReduction_353 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOutTok happy_x_1 of { (TokSymbol SymOpenPragma happy_var_1) -> case happyOutTok happy_x_2 of { (TokKeyword KwETA happy_var_2) -> case happyOut28 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokSymbol SymClosePragma happy_var_4) -> happyIn120 (EtaPragma (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4)) happy_var_3 ) `HappyStk` happyRest}}}} happyReduce_354 = happySpecReduce_3 115# happyReduction_354 happyReduction_354 happy_x_3 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymOpenPragma happy_var_1) -> case happyOutTok happy_x_2 of { (TokKeyword KwNO_TERMINATION_CHECK happy_var_2) -> case happyOutTok happy_x_3 of { (TokSymbol SymClosePragma happy_var_3) -> happyIn121 (NoTerminationCheckPragma (getRange (happy_var_1,happy_var_2,happy_var_3)) )}}} happyReduce_355 = happyMonadReduce 4# 116# happyReduction_355 happyReduction_355 (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 { (TokSymbol SymOpenPragma happy_var_1) -> case happyOutTok happy_x_2 of { (TokKeyword KwIMPORT happy_var_2) -> case happyOutTok happy_x_3 of { (TokString happy_var_3) -> case happyOutTok happy_x_4 of { (TokSymbol SymClosePragma happy_var_4) -> ( let s = snd happy_var_3 in if validHaskellModuleName s then return $ ImportPragma (getRange (happy_var_1,happy_var_2,fst happy_var_3,happy_var_4)) s else parseError $ "Malformed module name: " ++ s ++ ".")}}}} ) (\r -> happyReturn (happyIn122 r)) happyReduce_356 = happySpecReduce_3 117# happyReduction_356 happyReduction_356 happy_x_3 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymOpenPragma happy_var_1) -> case happyOutTok happy_x_2 of { (TokKeyword KwIMPOSSIBLE happy_var_2) -> case happyOutTok happy_x_3 of { (TokSymbol SymClosePragma happy_var_3) -> happyIn123 (ImpossiblePragma (getRange (happy_var_1,happy_var_2,happy_var_3)) )}}} happyReduce_357 = happySpecReduce_3 118# happyReduction_357 happyReduction_357 happy_x_3 happy_x_2 happy_x_1 = case happyOut125 happy_x_2 of { happy_var_2 -> happyIn124 (reverse happy_var_2 )} happyReduce_358 = happySpecReduce_3 119# happyReduction_358 happyReduction_358 happy_x_3 happy_x_2 happy_x_1 = case happyOut125 happy_x_1 of { happy_var_1 -> case happyOut77 happy_x_3 of { happy_var_3 -> happyIn125 (reverse happy_var_3 ++ happy_var_1 )}} happyReduce_359 = happySpecReduce_1 119# happyReduction_359 happyReduction_359 happy_x_1 = case happyOut77 happy_x_1 of { happy_var_1 -> happyIn125 (reverse happy_var_1 )} happyReduce_360 = happySpecReduce_3 120# happyReduction_360 happyReduction_360 happy_x_3 happy_x_2 happy_x_1 = case happyOut127 happy_x_2 of { happy_var_2 -> happyIn126 (reverse happy_var_2 )} happyReduce_361 = happySpecReduce_3 121# happyReduction_361 happyReduction_361 happy_x_3 happy_x_2 happy_x_1 = case happyOut127 happy_x_1 of { happy_var_1 -> case happyOut78 happy_x_3 of { happy_var_3 -> happyIn127 (reverse happy_var_3 ++ happy_var_1 )}} happyReduce_362 = happySpecReduce_1 121# happyReduction_362 happyReduction_362 happy_x_1 = case happyOut78 happy_x_1 of { happy_var_1 -> happyIn127 (reverse happy_var_1 )} happyReduce_363 = happySpecReduce_3 122# happyReduction_363 happyReduction_363 happy_x_3 happy_x_2 happy_x_1 = case happyOut129 happy_x_2 of { happy_var_2 -> happyIn128 (reverse happy_var_2 )} happyReduce_364 = happySpecReduce_3 123# happyReduction_364 happyReduction_364 happy_x_3 happy_x_2 happy_x_1 = case happyOut129 happy_x_1 of { happy_var_1 -> case happyOut79 happy_x_3 of { happy_var_3 -> happyIn129 (reverse happy_var_3 ++ happy_var_1 )}} happyReduce_365 = happySpecReduce_1 123# happyReduction_365 happyReduction_365 happy_x_1 = case happyOut79 happy_x_1 of { happy_var_1 -> happyIn129 (reverse happy_var_1 )} happyReduce_366 = happySpecReduce_2 124# happyReduction_366 happyReduction_366 happy_x_2 happy_x_1 = happyIn130 ([] ) happyReduce_367 = happySpecReduce_1 124# happyReduction_367 happyReduction_367 happy_x_1 = case happyOut124 happy_x_1 of { happy_var_1 -> happyIn130 (happy_var_1 )} happyReduce_368 = happySpecReduce_2 125# happyReduction_368 happyReduction_368 happy_x_2 happy_x_1 = happyIn131 ((Nothing, Nothing, []) ) happyReduce_369 = happySpecReduce_3 125# happyReduction_369 happyReduction_369 happy_x_3 happy_x_2 happy_x_1 = case happyOut86 happy_x_2 of { happy_var_2 -> happyIn131 ((Nothing, Just happy_var_2, []) )} happyReduce_370 = happyReduce 5# 125# happyReduction_370 happyReduction_370 (happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut86 happy_x_2 of { happy_var_2 -> case happyOut135 happy_x_4 of { happy_var_4 -> happyIn131 ((Nothing, Just happy_var_2, reverse happy_var_4) ) `HappyStk` happyRest}} happyReduce_371 = happySpecReduce_3 125# happyReduction_371 happyReduction_371 happy_x_3 happy_x_2 happy_x_1 = case happyOut135 happy_x_2 of { happy_var_2 -> happyIn131 ((Nothing, Nothing, reverse happy_var_2) )} happyReduce_372 = happySpecReduce_3 125# happyReduction_372 happyReduction_372 happy_x_3 happy_x_2 happy_x_1 = case happyOut132 happy_x_2 of { happy_var_2 -> happyIn131 ((Just happy_var_2, Nothing, []) )} happyReduce_373 = happyReduce 5# 125# happyReduction_373 happyReduction_373 (happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut132 happy_x_2 of { happy_var_2 -> case happyOut86 happy_x_4 of { happy_var_4 -> happyIn131 ((Just happy_var_2, Just happy_var_4, []) ) `HappyStk` happyRest}} happyReduce_374 = happyReduce 7# 125# happyReduction_374 happyReduction_374 (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 happyOut132 happy_x_2 of { happy_var_2 -> case happyOut86 happy_x_4 of { happy_var_4 -> case happyOut135 happy_x_6 of { happy_var_6 -> happyIn131 ((Just happy_var_2, Just happy_var_4, reverse happy_var_6) ) `HappyStk` happyRest}}} happyReduce_375 = happyReduce 5# 125# happyReduction_375 happyReduction_375 (happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut132 happy_x_2 of { happy_var_2 -> case happyOut135 happy_x_4 of { happy_var_4 -> happyIn131 ((Just happy_var_2, Nothing, reverse happy_var_4) ) `HappyStk` happyRest}} happyReduce_376 = happySpecReduce_1 126# happyReduction_376 happyReduction_376 happy_x_1 = happyIn132 (Inductive ) happyReduce_377 = happySpecReduce_1 126# happyReduction_377 happyReduction_377 happy_x_1 = happyIn132 (CoInductive ) happyReduce_378 = happySpecReduce_3 127# happyReduction_378 happyReduction_378 happy_x_3 happy_x_2 happy_x_1 = case happyOut135 happy_x_2 of { happy_var_2 -> happyIn133 (reverse happy_var_2 )} happyReduce_379 = happySpecReduce_2 128# happyReduction_379 happyReduction_379 happy_x_2 happy_x_1 = happyIn134 ([] ) happyReduce_380 = happySpecReduce_1 128# happyReduction_380 happyReduction_380 happy_x_1 = case happyOut133 happy_x_1 of { happy_var_1 -> happyIn134 (happy_var_1 )} happyReduce_381 = happySpecReduce_3 129# happyReduction_381 happyReduction_381 happy_x_3 happy_x_2 happy_x_1 = case happyOut135 happy_x_1 of { happy_var_1 -> case happyOut76 happy_x_3 of { happy_var_3 -> happyIn135 (reverse happy_var_3 ++ happy_var_1 )}} happyReduce_382 = happySpecReduce_1 129# happyReduction_382 happyReduction_382 happy_x_1 = case happyOut76 happy_x_1 of { happy_var_1 -> happyIn135 (reverse happy_var_1 )} happyNewToken action sts stk = lexer(\tk -> let cont i = happyDoAction i tk action sts stk in case tk of { TokEOF -> happyDoAction 80# tk action sts stk; TokKeyword KwLet happy_dollar_dollar -> cont 1#; TokKeyword KwIn happy_dollar_dollar -> cont 2#; TokKeyword KwWhere happy_dollar_dollar -> cont 3#; TokKeyword KwWith happy_dollar_dollar -> cont 4#; TokKeyword KwRewrite happy_dollar_dollar -> cont 5#; TokKeyword KwPostulate happy_dollar_dollar -> cont 6#; TokKeyword KwPrimitive happy_dollar_dollar -> cont 7#; TokKeyword KwOpen happy_dollar_dollar -> cont 8#; TokKeyword KwImport happy_dollar_dollar -> cont 9#; TokKeyword KwUsing happy_dollar_dollar -> cont 10#; TokKeyword KwHiding happy_dollar_dollar -> cont 11#; TokKeyword KwRenaming happy_dollar_dollar -> cont 12#; TokKeyword KwTo happy_dollar_dollar -> cont 13#; TokKeyword KwPublic happy_dollar_dollar -> cont 14#; TokKeyword KwModule happy_dollar_dollar -> cont 15#; TokKeyword KwData happy_dollar_dollar -> cont 16#; TokKeyword KwCoData happy_dollar_dollar -> cont 17#; TokKeyword KwRecord happy_dollar_dollar -> cont 18#; TokKeyword KwConstructor happy_dollar_dollar -> cont 19#; TokKeyword KwInductive happy_dollar_dollar -> cont 20#; TokKeyword KwCoInductive happy_dollar_dollar -> cont 21#; TokKeyword KwField happy_dollar_dollar -> cont 22#; TokKeyword KwInfix happy_dollar_dollar -> cont 23#; TokKeyword KwInfixL happy_dollar_dollar -> cont 24#; TokKeyword KwInfixR happy_dollar_dollar -> cont 25#; TokKeyword KwMutual happy_dollar_dollar -> cont 26#; TokKeyword KwAbstract happy_dollar_dollar -> cont 27#; TokKeyword KwPrivate happy_dollar_dollar -> cont 28#; TokKeyword KwProp happy_dollar_dollar -> cont 29#; TokKeyword KwSet happy_dollar_dollar -> cont 30#; TokKeyword KwForall happy_dollar_dollar -> cont 31#; TokKeyword KwSyntax happy_dollar_dollar -> cont 32#; TokKeyword KwPatternSyn happy_dollar_dollar -> cont 33#; TokKeyword KwOPTIONS happy_dollar_dollar -> cont 34#; TokKeyword KwBUILTIN happy_dollar_dollar -> cont 35#; TokKeyword KwIMPORT happy_dollar_dollar -> cont 36#; TokKeyword KwIMPOSSIBLE happy_dollar_dollar -> cont 37#; TokKeyword KwETA happy_dollar_dollar -> cont 38#; TokKeyword KwNO_TERMINATION_CHECK happy_dollar_dollar -> cont 39#; TokKeyword KwCOMPILED happy_dollar_dollar -> cont 40#; TokKeyword KwCOMPILED_DATA happy_dollar_dollar -> cont 41#; TokKeyword KwCOMPILED_TYPE happy_dollar_dollar -> cont 42#; TokKeyword KwCOMPILED_EPIC happy_dollar_dollar -> cont 43#; TokKeyword KwCOMPILED_JS happy_dollar_dollar -> cont 44#; TokKeyword KwSTATIC happy_dollar_dollar -> cont 45#; TokKeyword KwQuoteGoal happy_dollar_dollar -> cont 46#; TokKeyword KwQuote happy_dollar_dollar -> cont 47#; TokKeyword KwQuoteTerm happy_dollar_dollar -> cont 48#; TokKeyword KwUnquote happy_dollar_dollar -> cont 49#; TokSetN happy_dollar_dollar -> cont 50#; TokTeX happy_dollar_dollar -> cont 51#; TokComment happy_dollar_dollar -> cont 52#; TokSymbol SymEllipsis happy_dollar_dollar -> cont 53#; TokSymbol SymDotDot happy_dollar_dollar -> cont 54#; TokSymbol SymDot happy_dollar_dollar -> cont 55#; TokSymbol SymSemi happy_dollar_dollar -> cont 56#; TokSymbol SymColon happy_dollar_dollar -> cont 57#; TokSymbol SymEqual happy_dollar_dollar -> cont 58#; TokSymbol SymUnderscore happy_dollar_dollar -> cont 59#; TokSymbol SymQuestionMark happy_dollar_dollar -> cont 60#; TokSymbol SymArrow happy_dollar_dollar -> cont 61#; TokSymbol SymLambda happy_dollar_dollar -> cont 62#; TokSymbol SymAs happy_dollar_dollar -> cont 63#; TokSymbol SymBar happy_dollar_dollar -> cont 64#; TokSymbol SymOpenParen happy_dollar_dollar -> cont 65#; TokSymbol SymCloseParen happy_dollar_dollar -> cont 66#; TokSymbol SymDoubleOpenBrace happy_dollar_dollar -> cont 67#; TokSymbol SymDoubleCloseBrace happy_dollar_dollar -> cont 68#; TokSymbol SymOpenBrace happy_dollar_dollar -> cont 69#; TokSymbol SymCloseBrace happy_dollar_dollar -> cont 70#; TokSymbol SymOpenVirtualBrace happy_dollar_dollar -> cont 71#; TokSymbol SymCloseVirtualBrace happy_dollar_dollar -> cont 72#; TokSymbol SymVirtualSemi happy_dollar_dollar -> cont 73#; TokSymbol SymOpenPragma happy_dollar_dollar -> cont 74#; TokSymbol SymClosePragma happy_dollar_dollar -> cont 75#; TokId happy_dollar_dollar -> cont 76#; TokQId happy_dollar_dollar -> cont 77#; TokString happy_dollar_dollar -> cont 78#; TokLiteral happy_dollar_dollar -> cont 79#; _ -> happyError' tk }) happyError_ 80# tk = happyError' tk happyError_ _ tk = happyError' tk happyThen :: () => Parser a -> (a -> Parser b) -> Parser b happyThen = (>>=) happyReturn :: () => a -> Parser a happyReturn = (return) happyThen1 = happyThen happyReturn1 :: () => a -> Parser a happyReturn1 = happyReturn happyError' :: () => (Token) -> Parser a happyError' tk = (\token -> happyError) tk tokensParser = happySomeParser where happySomeParser = happyThen (happyParse 0#) (\x -> happyReturn (happyOut6 x)) exprParser = happySomeParser where happySomeParser = happyThen (happyParse 1#) (\x -> happyReturn (happyOut29 x)) moduleParser = happySomeParser where happySomeParser = happyThen (happyParse 2#) (\x -> happyReturn (happyOut9 x)) happySeq = happyDontSeq {-------------------------------------------------------------------------- Parsers --------------------------------------------------------------------------} -- | Parse the token stream. Used by the TeX compiler. tokensParser :: Parser [Token] -- | Parse an expression. Could be used in interactions. exprParser :: Parser Expr -- | Parse a module. moduleParser :: Parser Module {-------------------------------------------------------------------------- Happy stuff --------------------------------------------------------------------------} -- | Required by Happy. happyError :: Parser a happyError = parseError "Parse error" {-------------------------------------------------------------------------- Utility functions --------------------------------------------------------------------------} -- | Create a name from a string. mkName :: (Interval, String) -> Parser Name mkName (i, s) = do let xs = parts s mapM_ isValidId xs unless (alternating xs) $ fail $ "a name cannot contain two consecutive underscores" return $ Name (getRange i) xs where parts :: String -> [NamePart] parts "" = [] parts ('_' : s) = Hole : parts s parts s = Id x : parts s' where (x, s') = break (== '_') s isValidId Hole = return () isValidId (Id x) = case parse defaultParseFlags [0] (lexer return) x of ParseOk _ (TokId _) -> return () _ -> fail $ "in the name " ++ s ++ ", the part " ++ x ++ " is not valid" -- we know that there are no two Ids in a row alternating (Hole : Hole : _) = False alternating (_ : xs) = alternating xs alternating [] = True -- | Create a qualified name from a list of strings mkQName :: [(Interval, String)] -> Parser QName mkQName ss = do xs <- mapM mkName ss return $ foldr Qual (QName $ last xs) (init xs) -- | Match a particular name. isName :: String -> (Interval, String) -> Parser () isName s (_,s') | s == s' = return () | otherwise = fail $ "expected " ++ s ++ ", found " ++ s' -- | Build a forall pi (forall x y z -> ...) forallPi :: [LamBinding] -> Expr -> Expr forallPi bs e = Pi (map addType bs) e -- | Converts lambda bindings to typed bindings. addType :: LamBinding -> TypedBindings addType (DomainFull b) = b addType (DomainFree h rel x) = TypedBindings r $ Arg h rel $ TBind r [x] $ Underscore r Nothing where r = getRange x -- | Check that an import directive doesn't contain repeated names verifyImportDirective :: ImportDirective -> Parser ImportDirective verifyImportDirective i = case filter ((>1) . length) $ group $ sort xs of [] -> return i yss -> let Just pos = rStart $ getRange $ head $ concat yss in parseErrorAt pos $ "repeated name" ++ s ++ " in import directive: " ++ concat (intersperse ", " $ map (show . head) yss) where s = case yss of [_] -> "" _ -> "s" where xs = names (usingOrHiding i) ++ map renFrom (renaming i) names (Using xs) = xs names (Hiding xs) = xs -- | Breaks up a string into substrings. Returns every maximal -- subsequence of zero or more characters distinct from @'.'@. -- -- > splitOnDots "" == [""] -- > splitOnDots "foo.bar" == ["foo", "bar"] -- > splitOnDots ".foo.bar" == ["", "foo", "bar"] -- > splitOnDots "foo.bar." == ["foo", "bar", ""] -- > splitOnDots "foo..bar" == ["foo", "", "bar"] splitOnDots :: String -> [String] splitOnDots "" = [""] splitOnDots ('.' : s) = [] : splitOnDots s splitOnDots (c : s) = case splitOnDots s of p : ps -> (c : p) : ps prop_splitOnDots = and [ splitOnDots "" == [""] , splitOnDots "foo.bar" == ["foo", "bar"] , splitOnDots ".foo.bar" == ["", "foo", "bar"] , splitOnDots "foo.bar." == ["foo", "bar", ""] , splitOnDots "foo..bar" == ["foo", "", "bar"] ] -- | Returns 'True' iff the name is a valid Haskell (hierarchical) -- module name. validHaskellModuleName :: String -> Bool validHaskellModuleName = all ok . splitOnDots where -- Checks if a dot-less module name is well-formed. ok :: String -> Bool ok [] = False ok (c : s) = isUpper c && all (\c -> isLower c || c == '_' || isUpper c || generalCategory c == DecimalNumber || c == '\'') s {-------------------------------------------------------------------------- Patterns --------------------------------------------------------------------------} -- | Turn an expression into a left hand side. exprToLHS :: Expr -> Parser ([Expr] -> [Expr] -> LHS) exprToLHS e = case e of WithApp r e es -> LHS <$> exprToPattern e <*> mapM exprToPattern es _ -> LHS <$> exprToPattern e <*> return [] -- | Turn an expression into a pattern. Fails if the expression is not a -- valid pattern. exprToPattern :: Expr -> Parser Pattern exprToPattern e = case e of Ident x -> return $ IdentP x App _ e1 e2 -> AppP <$> exprToPattern e1 <*> T.mapM (T.mapM exprToPattern) e2 Paren r e -> ParenP r <$> exprToPattern e Underscore r _ -> return $ WildP r Absurd r -> return $ AbsurdP r As r x e -> AsP r x <$> exprToPattern e Dot r (HiddenArg _ e) -> return $ HiddenP r $ fmap (DotP r) e Dot r e -> return $ DotP r e Lit l -> return $ LitP l HiddenArg r e -> HiddenP r <$> T.mapM exprToPattern e InstanceArg r e -> InstanceP r <$> T.mapM exprToPattern e RawApp r es -> RawAppP r <$> mapM exprToPattern es OpApp r x es -> OpAppP r x <$> mapM opAppExprToPattern es _ -> let Just pos = rStart $ getRange e in parseErrorAt pos $ "Not a valid pattern: " ++ show e opAppExprToPattern :: OpApp Expr -> Parser Pattern opAppExprToPattern (SyntaxBindingLambda _ _ _) = parseError "syntax binding lambda cannot appear in a pattern" opAppExprToPattern (Ordinary e) = exprToPattern e -- | Turn an expression into a name. Fails if the expression is not a -- valid identifier. exprToName :: Expr -> Parser Name exprToName (Ident (QName x)) = return x exprToName e = let Just pos = rStart $ getRange e in parseErrorAt pos $ "Not a valid identifier: " ++ show e parsePanic s = parseError $ "Internal parser error: " ++ s ++ ". Please report this as a bug." {- RHS or type signature -} data RHSOrTypeSigs = JustRHS RHS | TypeSigsRHS Expr namesOfPattern :: Pattern -> Maybe [(Relevance, Name)] namesOfPattern (IdentP (QName i)) = Just [(Relevant, i)] namesOfPattern (DotP _ (Ident (QName i))) = Just [(Irrelevant, i)] namesOfPattern (RawAppP _ ps) = fmap concat $ mapM namesOfPattern ps namesOfPattern _ = Nothing funClauseOrTypeSigs :: LHS -> RHSOrTypeSigs -> WhereClause -> Parser [Declaration] funClauseOrTypeSigs lhs (JustRHS rhs) wh = return [FunClause lhs rhs wh] funClauseOrTypeSigs lhs (TypeSigsRHS e) wh | NoWhere <- wh, LHS p [] [] [] <- lhs, Just names <- namesOfPattern p = return $ map (\(x,y) -> TypeSig x y e) names | otherwise = parseError "Illegal function clause or type signature" {-------------------------------------------------------------------------- Tests --------------------------------------------------------------------------} -- | Test suite. tests :: IO Bool tests = runTests "Agda.Syntax.Parser.Parser" [ quickCheck' prop_splitOnDots ] {-# LINE 1 "templates/GenericTemplate.hs" #-} {-# LINE 1 "templates/GenericTemplate.hs" #-} {-# LINE 1 "" #-} {-# LINE 1 "" #-} {-# LINE 1 "templates/GenericTemplate.hs" #-} -- Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp {-# LINE 30 "templates/GenericTemplate.hs" #-} data Happy_IntList = HappyCons Happy_GHC_Exts.Int# Happy_IntList {-# LINE 51 "templates/GenericTemplate.hs" #-} {-# LINE 61 "templates/GenericTemplate.hs" #-} {-# LINE 70 "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 | (n Happy_GHC_Exts.<# (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 (off_i Happy_GHC_Exts.>=# (0# :: Happy_GHC_Exts.Int#)) then (indexShortOffAddr happyCheck off_i Happy_GHC_Exts.==# i) else False (action) | check = indexShortOffAddr happyTable off_i | otherwise = indexShortOffAddr happyDefActions st {-# LINE 130 "templates/GenericTemplate.hs" #-} 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 163 "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 = 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 Happy_GHC_Exts.+# nt) (new_state) = indexShortOffAddr happyTable off_i 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.