{-# OPTIONS_GHC -w #-}
{-# OPTIONS -XMagicHash -XBangPatterns -XTypeSynonymInstances -XFlexibleInstances -cpp #-}
#if __GLASGOW_HASKELL__ >= 710
{-# OPTIONS_GHC -XPartialTypeSignatures #-}
#endif
-- |
-- Module      :  Cryptol.Parser
-- Copyright   :  (c) 2013-2016 Galois, Inc.
-- License     :  BSD3
-- Maintainer  :  cryptol@galois.com
-- Stability   :  provisional
-- Portability :  portable

{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE Trustworthy #-}
module Cryptol.Parser
  ( parseModule
  , parseProgram, parseProgramWith
  , parseExpr, parseExprWith
  , parseDecl, parseDeclWith
  , parseDecls, parseDeclsWith
  , parseLetDecl, parseLetDeclWith
  , parseRepl, parseReplWith
  , parseSchema, parseSchemaWith
  , parseModName, parseHelpName
  , ParseError(..), ppError
  , Layout(..)
  , Config(..), defaultConfig
  , guessPreProc, PreProc(..)
  ) where

import           Control.Applicative as A
import           Data.Maybe(fromMaybe)
import           Data.List.NonEmpty ( NonEmpty(..), cons )
import           Data.Text(Text)
import qualified Data.Text as T
import           Control.Monad(liftM2,msum)

import Cryptol.Parser.AST
import Cryptol.Parser.Position
import Cryptol.Parser.LexerUtils hiding (mkIdent)
import Cryptol.Parser.ParserUtils
import Cryptol.Parser.Unlit(PreProc(..), guessPreProc)
import Cryptol.Utils.Ident(paramInstModName)
import Cryptol.Utils.RecordMap(RecordMap)

import Paths_cryptol
import qualified Data.Array as Happy_Data_Array
import qualified Data.Bits as Bits
import qualified GHC.Exts as Happy_GHC_Exts
import Control.Applicative(Applicative(..))
import Control.Monad (ap)

-- parser produced by Happy Version 1.19.9

newtype HappyAbsSyn  = HappyAbsSyn HappyAny
#if __GLASGOW_HASKELL__ >= 607
type HappyAny = Happy_GHC_Exts.Any
#else
type HappyAny = forall a . a
#endif
happyIn15 :: (Module PName) -> (HappyAbsSyn )
happyIn15 :: Module PName -> HappyAbsSyn
happyIn15 Module PName
x = Module PName -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Module PName
x
{-# INLINE happyIn15 #-}
happyOut15 :: (HappyAbsSyn ) -> (Module PName)
happyOut15 :: HappyAbsSyn -> Module PName
happyOut15 HappyAbsSyn
x = HappyAbsSyn -> Module PName
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut15 #-}
happyIn16 :: (([Located Import], [TopDecl PName])) -> (HappyAbsSyn )
happyIn16 :: ([Located Import], [TopDecl PName]) -> HappyAbsSyn
happyIn16 ([Located Import], [TopDecl PName])
x = ([Located Import], [TopDecl PName]) -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ([Located Import], [TopDecl PName])
x
{-# INLINE happyIn16 #-}
happyOut16 :: (HappyAbsSyn ) -> (([Located Import], [TopDecl PName]))
happyOut16 :: HappyAbsSyn -> ([Located Import], [TopDecl PName])
happyOut16 HappyAbsSyn
x = HappyAbsSyn -> ([Located Import], [TopDecl PName])
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut16 #-}
happyIn17 :: ([Located Import]) -> (HappyAbsSyn )
happyIn17 :: [Located Import] -> HappyAbsSyn
happyIn17 [Located Import]
x = [Located Import] -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# [Located Import]
x
{-# INLINE happyIn17 #-}
happyOut17 :: (HappyAbsSyn ) -> ([Located Import])
happyOut17 :: HappyAbsSyn -> [Located Import]
happyOut17 HappyAbsSyn
x = HappyAbsSyn -> [Located Import]
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut17 #-}
happyIn18 :: (Located Import) -> (HappyAbsSyn )
happyIn18 :: Located Import -> HappyAbsSyn
happyIn18 Located Import
x = Located Import -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Located Import
x
{-# INLINE happyIn18 #-}
happyOut18 :: (HappyAbsSyn ) -> (Located Import)
happyOut18 :: HappyAbsSyn -> Located Import
happyOut18 HappyAbsSyn
x = HappyAbsSyn -> Located Import
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut18 #-}
happyIn19 :: (Maybe (Located ModName)) -> (HappyAbsSyn )
happyIn19 :: Maybe (Located ModName) -> HappyAbsSyn
happyIn19 Maybe (Located ModName)
x = Maybe (Located ModName) -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Maybe (Located ModName)
x
{-# INLINE happyIn19 #-}
happyOut19 :: (HappyAbsSyn ) -> (Maybe (Located ModName))
happyOut19 :: HappyAbsSyn -> Maybe (Located ModName)
happyOut19 HappyAbsSyn
x = HappyAbsSyn -> Maybe (Located ModName)
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut19 #-}
happyIn20 :: (Maybe (Located ImportSpec)) -> (HappyAbsSyn )
happyIn20 :: Maybe (Located ImportSpec) -> HappyAbsSyn
happyIn20 Maybe (Located ImportSpec)
x = Maybe (Located ImportSpec) -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Maybe (Located ImportSpec)
x
{-# INLINE happyIn20 #-}
happyOut20 :: (HappyAbsSyn ) -> (Maybe (Located ImportSpec))
happyOut20 :: HappyAbsSyn -> Maybe (Located ImportSpec)
happyOut20 HappyAbsSyn
x = HappyAbsSyn -> Maybe (Located ImportSpec)
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut20 #-}
happyIn21 :: ([LIdent]) -> (HappyAbsSyn )
happyIn21 :: [LIdent] -> HappyAbsSyn
happyIn21 [LIdent]
x = [LIdent] -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# [LIdent]
x
{-# INLINE happyIn21 #-}
happyOut21 :: (HappyAbsSyn ) -> ([LIdent])
happyOut21 :: HappyAbsSyn -> [LIdent]
happyOut21 HappyAbsSyn
x = HappyAbsSyn -> [LIdent]
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut21 #-}
happyIn22 :: ([Ident] -> ImportSpec) -> (HappyAbsSyn )
happyIn22 :: ([Ident] -> ImportSpec) -> HappyAbsSyn
happyIn22 [Ident] -> ImportSpec
x = ([Ident] -> ImportSpec) -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# [Ident] -> ImportSpec
x
{-# INLINE happyIn22 #-}
happyOut22 :: (HappyAbsSyn ) -> ([Ident] -> ImportSpec)
happyOut22 :: HappyAbsSyn -> [Ident] -> ImportSpec
happyOut22 HappyAbsSyn
x = HappyAbsSyn -> [Ident] -> ImportSpec
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut22 #-}
happyIn23 :: (Program PName) -> (HappyAbsSyn )
happyIn23 :: Program PName -> HappyAbsSyn
happyIn23 Program PName
x = Program PName -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Program PName
x
{-# INLINE happyIn23 #-}
happyOut23 :: (HappyAbsSyn ) -> (Program PName)
happyOut23 :: HappyAbsSyn -> Program PName
happyOut23 HappyAbsSyn
x = HappyAbsSyn -> Program PName
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut23 #-}
happyIn24 :: (Program PName) -> (HappyAbsSyn )
happyIn24 :: Program PName -> HappyAbsSyn
happyIn24 Program PName
x = Program PName -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Program PName
x
{-# INLINE happyIn24 #-}
happyOut24 :: (HappyAbsSyn ) -> (Program PName)
happyOut24 :: HappyAbsSyn -> Program PName
happyOut24 HappyAbsSyn
x = HappyAbsSyn -> Program PName
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut24 #-}
happyIn25 :: ([TopDecl PName]) -> (HappyAbsSyn )
happyIn25 :: [TopDecl PName] -> HappyAbsSyn
happyIn25 [TopDecl PName]
x = [TopDecl PName] -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# [TopDecl PName]
x
{-# INLINE happyIn25 #-}
happyOut25 :: (HappyAbsSyn ) -> ([TopDecl PName])
happyOut25 :: HappyAbsSyn -> [TopDecl PName]
happyOut25 HappyAbsSyn
x = HappyAbsSyn -> [TopDecl PName]
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut25 #-}
happyIn26 :: ([TopDecl PName]) -> (HappyAbsSyn )
happyIn26 :: [TopDecl PName] -> HappyAbsSyn
happyIn26 [TopDecl PName]
x = [TopDecl PName] -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# [TopDecl PName]
x
{-# INLINE happyIn26 #-}
happyOut26 :: (HappyAbsSyn ) -> ([TopDecl PName])
happyOut26 :: HappyAbsSyn -> [TopDecl PName]
happyOut26 HappyAbsSyn
x = HappyAbsSyn -> [TopDecl PName]
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut26 #-}
happyIn27 :: ([TopDecl PName]) -> (HappyAbsSyn )
happyIn27 :: [TopDecl PName] -> HappyAbsSyn
happyIn27 [TopDecl PName]
x = [TopDecl PName] -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# [TopDecl PName]
x
{-# INLINE happyIn27 #-}
happyOut27 :: (HappyAbsSyn ) -> ([TopDecl PName])
happyOut27 :: HappyAbsSyn -> [TopDecl PName]
happyOut27 HappyAbsSyn
x = HappyAbsSyn -> [TopDecl PName]
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut27 #-}
happyIn28 :: ([TopDecl PName]) -> (HappyAbsSyn )
happyIn28 :: [TopDecl PName] -> HappyAbsSyn
happyIn28 [TopDecl PName]
x = [TopDecl PName] -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# [TopDecl PName]
x
{-# INLINE happyIn28 #-}
happyOut28 :: (HappyAbsSyn ) -> ([TopDecl PName])
happyOut28 :: HappyAbsSyn -> [TopDecl PName]
happyOut28 HappyAbsSyn
x = HappyAbsSyn -> [TopDecl PName]
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut28 #-}
happyIn29 :: ([TopDecl PName]) -> (HappyAbsSyn )
happyIn29 :: [TopDecl PName] -> HappyAbsSyn
happyIn29 [TopDecl PName]
x = [TopDecl PName] -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# [TopDecl PName]
x
{-# INLINE happyIn29 #-}
happyOut29 :: (HappyAbsSyn ) -> ([TopDecl PName])
happyOut29 :: HappyAbsSyn -> [TopDecl PName]
happyOut29 HappyAbsSyn
x = HappyAbsSyn -> [TopDecl PName]
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut29 #-}
happyIn30 :: ([TopDecl PName]) -> (HappyAbsSyn )
happyIn30 :: [TopDecl PName] -> HappyAbsSyn
happyIn30 [TopDecl PName]
x = [TopDecl PName] -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# [TopDecl PName]
x
{-# INLINE happyIn30 #-}
happyOut30 :: (HappyAbsSyn ) -> ([TopDecl PName])
happyOut30 :: HappyAbsSyn -> [TopDecl PName]
happyOut30 HappyAbsSyn
x = HappyAbsSyn -> [TopDecl PName]
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut30 #-}
happyIn31 :: ([TopDecl PName]) -> (HappyAbsSyn )
happyIn31 :: [TopDecl PName] -> HappyAbsSyn
happyIn31 [TopDecl PName]
x = [TopDecl PName] -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# [TopDecl PName]
x
{-# INLINE happyIn31 #-}
happyOut31 :: (HappyAbsSyn ) -> ([TopDecl PName])
happyOut31 :: HappyAbsSyn -> [TopDecl PName]
happyOut31 HappyAbsSyn
x = HappyAbsSyn -> [TopDecl PName]
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut31 #-}
happyIn32 :: ([TopDecl PName]) -> (HappyAbsSyn )
happyIn32 :: [TopDecl PName] -> HappyAbsSyn
happyIn32 [TopDecl PName]
x = [TopDecl PName] -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# [TopDecl PName]
x
{-# INLINE happyIn32 #-}
happyOut32 :: (HappyAbsSyn ) -> ([TopDecl PName])
happyOut32 :: HappyAbsSyn -> [TopDecl PName]
happyOut32 HappyAbsSyn
x = HappyAbsSyn -> [TopDecl PName]
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut32 #-}
happyIn33 :: (TopDecl PName) -> (HappyAbsSyn )
happyIn33 :: TopDecl PName -> HappyAbsSyn
happyIn33 TopDecl PName
x = TopDecl PName -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# TopDecl PName
x
{-# INLINE happyIn33 #-}
happyOut33 :: (HappyAbsSyn ) -> (TopDecl PName)
happyOut33 :: HappyAbsSyn -> TopDecl PName
happyOut33 HappyAbsSyn
x = HappyAbsSyn -> TopDecl PName
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut33 #-}
happyIn34 :: (Located Text) -> (HappyAbsSyn )
happyIn34 :: Located Text -> HappyAbsSyn
happyIn34 Located Text
x = Located Text -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Located Text
x
{-# INLINE happyIn34 #-}
happyOut34 :: (HappyAbsSyn ) -> (Located Text)
happyOut34 :: HappyAbsSyn -> Located Text
happyOut34 HappyAbsSyn
x = HappyAbsSyn -> Located Text
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut34 #-}
happyIn35 :: (Maybe (Located Text)) -> (HappyAbsSyn )
happyIn35 :: Maybe (Located Text) -> HappyAbsSyn
happyIn35 Maybe (Located Text)
x = Maybe (Located Text) -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Maybe (Located Text)
x
{-# INLINE happyIn35 #-}
happyOut35 :: (HappyAbsSyn ) -> (Maybe (Located Text))
happyOut35 :: HappyAbsSyn -> Maybe (Located Text)
happyOut35 HappyAbsSyn
x = HappyAbsSyn -> Maybe (Located Text)
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut35 #-}
happyIn36 :: (Decl PName) -> (HappyAbsSyn )
happyIn36 :: Decl PName -> HappyAbsSyn
happyIn36 Decl PName
x = Decl PName -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Decl PName
x
{-# INLINE happyIn36 #-}
happyOut36 :: (HappyAbsSyn ) -> (Decl PName)
happyOut36 :: HappyAbsSyn -> Decl PName
happyOut36 HappyAbsSyn
x = HappyAbsSyn -> Decl PName
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut36 #-}
happyIn37 :: (Decl PName) -> (HappyAbsSyn )
happyIn37 :: Decl PName -> HappyAbsSyn
happyIn37 Decl PName
x = Decl PName -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Decl PName
x
{-# INLINE happyIn37 #-}
happyOut37 :: (HappyAbsSyn ) -> (Decl PName)
happyOut37 :: HappyAbsSyn -> Decl PName
happyOut37 HappyAbsSyn
x = HappyAbsSyn -> Decl PName
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut37 #-}
happyIn38 :: (Newtype PName) -> (HappyAbsSyn )
happyIn38 :: Newtype PName -> HappyAbsSyn
happyIn38 Newtype PName
x = Newtype PName -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Newtype PName
x
{-# INLINE happyIn38 #-}
happyOut38 :: (HappyAbsSyn ) -> (Newtype PName)
happyOut38 :: HappyAbsSyn -> Newtype PName
happyOut38 HappyAbsSyn
x = HappyAbsSyn -> Newtype PName
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut38 #-}
happyIn39 :: (Located (RecordMap Ident (Range, Type PName))) -> (HappyAbsSyn )
happyIn39 :: Located (RecordMap Ident (Range, Type PName)) -> HappyAbsSyn
happyIn39 Located (RecordMap Ident (Range, Type PName))
x = Located (RecordMap Ident (Range, Type PName)) -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Located (RecordMap Ident (Range, Type PName))
x
{-# INLINE happyIn39 #-}
happyOut39 :: (HappyAbsSyn ) -> (Located (RecordMap Ident (Range, Type PName)))
happyOut39 :: HappyAbsSyn -> Located (RecordMap Ident (Range, Type PName))
happyOut39 HappyAbsSyn
x = HappyAbsSyn -> Located (RecordMap Ident (Range, Type PName))
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut39 #-}
happyIn40 :: ([ LPName ]) -> (HappyAbsSyn )
happyIn40 :: [LPName] -> HappyAbsSyn
happyIn40 [LPName]
x = [LPName] -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# [LPName]
x
{-# INLINE happyIn40 #-}
happyOut40 :: (HappyAbsSyn ) -> ([ LPName ])
happyOut40 :: HappyAbsSyn -> [LPName]
happyOut40 HappyAbsSyn
x = HappyAbsSyn -> [LPName]
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut40 #-}
happyIn41 :: (LPName) -> (HappyAbsSyn )
happyIn41 :: LPName -> HappyAbsSyn
happyIn41 LPName
x = LPName -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# LPName
x
{-# INLINE happyIn41 #-}
happyOut41 :: (HappyAbsSyn ) -> (LPName)
happyOut41 :: HappyAbsSyn -> LPName
happyOut41 HappyAbsSyn
x = HappyAbsSyn -> LPName
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut41 #-}
happyIn42 :: ([Pattern PName]) -> (HappyAbsSyn )
happyIn42 :: [Pattern PName] -> HappyAbsSyn
happyIn42 [Pattern PName]
x = [Pattern PName] -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# [Pattern PName]
x
{-# INLINE happyIn42 #-}
happyOut42 :: (HappyAbsSyn ) -> ([Pattern PName])
happyOut42 :: HappyAbsSyn -> [Pattern PName]
happyOut42 HappyAbsSyn
x = HappyAbsSyn -> [Pattern PName]
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut42 #-}
happyIn43 :: ([Pattern PName]) -> (HappyAbsSyn )
happyIn43 :: [Pattern PName] -> HappyAbsSyn
happyIn43 [Pattern PName]
x = [Pattern PName] -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# [Pattern PName]
x
{-# INLINE happyIn43 #-}
happyOut43 :: (HappyAbsSyn ) -> ([Pattern PName])
happyOut43 :: HappyAbsSyn -> [Pattern PName]
happyOut43 HappyAbsSyn
x = HappyAbsSyn -> [Pattern PName]
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut43 #-}
happyIn44 :: ([Pattern PName]) -> (HappyAbsSyn )
happyIn44 :: [Pattern PName] -> HappyAbsSyn
happyIn44 [Pattern PName]
x = [Pattern PName] -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# [Pattern PName]
x
{-# INLINE happyIn44 #-}
happyOut44 :: (HappyAbsSyn ) -> ([Pattern PName])
happyOut44 :: HappyAbsSyn -> [Pattern PName]
happyOut44 HappyAbsSyn
x = HappyAbsSyn -> [Pattern PName]
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut44 #-}
happyIn45 :: (([Pattern PName], [Pattern PName])) -> (HappyAbsSyn )
happyIn45 :: ([Pattern PName], [Pattern PName]) -> HappyAbsSyn
happyIn45 ([Pattern PName], [Pattern PName])
x = ([Pattern PName], [Pattern PName]) -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ([Pattern PName], [Pattern PName])
x
{-# INLINE happyIn45 #-}
happyOut45 :: (HappyAbsSyn ) -> (([Pattern PName], [Pattern PName]))
happyOut45 :: HappyAbsSyn -> ([Pattern PName], [Pattern PName])
happyOut45 HappyAbsSyn
x = HappyAbsSyn -> ([Pattern PName], [Pattern PName])
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut45 #-}
happyIn46 :: (([Pattern PName], [Pattern PName])) -> (HappyAbsSyn )
happyIn46 :: ([Pattern PName], [Pattern PName]) -> HappyAbsSyn
happyIn46 ([Pattern PName], [Pattern PName])
x = ([Pattern PName], [Pattern PName]) -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ([Pattern PName], [Pattern PName])
x
{-# INLINE happyIn46 #-}
happyOut46 :: (HappyAbsSyn ) -> (([Pattern PName], [Pattern PName]))
happyOut46 :: HappyAbsSyn -> ([Pattern PName], [Pattern PName])
happyOut46 HappyAbsSyn
x = HappyAbsSyn -> ([Pattern PName], [Pattern PName])
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut46 #-}
happyIn47 :: ([Decl PName]) -> (HappyAbsSyn )
happyIn47 :: [Decl PName] -> HappyAbsSyn
happyIn47 [Decl PName]
x = [Decl PName] -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# [Decl PName]
x
{-# INLINE happyIn47 #-}
happyOut47 :: (HappyAbsSyn ) -> ([Decl PName])
happyOut47 :: HappyAbsSyn -> [Decl PName]
happyOut47 HappyAbsSyn
x = HappyAbsSyn -> [Decl PName]
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut47 #-}
happyIn48 :: ([Decl PName]) -> (HappyAbsSyn )
happyIn48 :: [Decl PName] -> HappyAbsSyn
happyIn48 [Decl PName]
x = [Decl PName] -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# [Decl PName]
x
{-# INLINE happyIn48 #-}
happyOut48 :: (HappyAbsSyn ) -> ([Decl PName])
happyOut48 :: HappyAbsSyn -> [Decl PName]
happyOut48 HappyAbsSyn
x = HappyAbsSyn -> [Decl PName]
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut48 #-}
happyIn49 :: ([Decl PName]) -> (HappyAbsSyn )
happyIn49 :: [Decl PName] -> HappyAbsSyn
happyIn49 [Decl PName]
x = [Decl PName] -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# [Decl PName]
x
{-# INLINE happyIn49 #-}
happyOut49 :: (HappyAbsSyn ) -> ([Decl PName])
happyOut49 :: HappyAbsSyn -> [Decl PName]
happyOut49 HappyAbsSyn
x = HappyAbsSyn -> [Decl PName]
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut49 #-}
happyIn50 :: (ReplInput PName) -> (HappyAbsSyn )
happyIn50 :: ReplInput PName -> HappyAbsSyn
happyIn50 ReplInput PName
x = ReplInput PName -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ReplInput PName
x
{-# INLINE happyIn50 #-}
happyOut50 :: (HappyAbsSyn ) -> (ReplInput PName)
happyOut50 :: HappyAbsSyn -> ReplInput PName
happyOut50 HappyAbsSyn
x = HappyAbsSyn -> ReplInput PName
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut50 #-}
happyIn51 :: (LPName) -> (HappyAbsSyn )
happyIn51 :: LPName -> HappyAbsSyn
happyIn51 LPName
x = LPName -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# LPName
x
{-# INLINE happyIn51 #-}
happyOut51 :: (HappyAbsSyn ) -> (LPName)
happyOut51 :: HappyAbsSyn -> LPName
happyOut51 HappyAbsSyn
x = HappyAbsSyn -> LPName
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut51 #-}
happyIn52 :: (LPName) -> (HappyAbsSyn )
happyIn52 :: LPName -> HappyAbsSyn
happyIn52 LPName
x = LPName -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# LPName
x
{-# INLINE happyIn52 #-}
happyOut52 :: (HappyAbsSyn ) -> (LPName)
happyOut52 :: HappyAbsSyn -> LPName
happyOut52 HappyAbsSyn
x = HappyAbsSyn -> LPName
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut52 #-}
happyIn53 :: (LPName) -> (HappyAbsSyn )
happyIn53 :: LPName -> HappyAbsSyn
happyIn53 LPName
x = LPName -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# LPName
x
{-# INLINE happyIn53 #-}
happyOut53 :: (HappyAbsSyn ) -> (LPName)
happyOut53 :: HappyAbsSyn -> LPName
happyOut53 HappyAbsSyn
x = HappyAbsSyn -> LPName
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut53 #-}
happyIn54 :: (LPName) -> (HappyAbsSyn )
happyIn54 :: LPName -> HappyAbsSyn
happyIn54 LPName
x = LPName -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# LPName
x
{-# INLINE happyIn54 #-}
happyOut54 :: (HappyAbsSyn ) -> (LPName)
happyOut54 :: HappyAbsSyn -> LPName
happyOut54 HappyAbsSyn
x = HappyAbsSyn -> LPName
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut54 #-}
happyIn55 :: ([LPName]) -> (HappyAbsSyn )
happyIn55 :: [LPName] -> HappyAbsSyn
happyIn55 [LPName]
x = [LPName] -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# [LPName]
x
{-# INLINE happyIn55 #-}
happyOut55 :: (HappyAbsSyn ) -> ([LPName])
happyOut55 :: HappyAbsSyn -> [LPName]
happyOut55 HappyAbsSyn
x = HappyAbsSyn -> [LPName]
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut55 #-}
happyIn56 :: (Expr PName) -> (HappyAbsSyn )
happyIn56 :: Expr PName -> HappyAbsSyn
happyIn56 Expr PName
x = Expr PName -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Expr PName
x
{-# INLINE happyIn56 #-}
happyOut56 :: (HappyAbsSyn ) -> (Expr PName)
happyOut56 :: HappyAbsSyn -> Expr PName
happyOut56 HappyAbsSyn
x = HappyAbsSyn -> Expr PName
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut56 #-}
happyIn57 :: (Expr PName) -> (HappyAbsSyn )
happyIn57 :: Expr PName -> HappyAbsSyn
happyIn57 Expr PName
x = Expr PName -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Expr PName
x
{-# INLINE happyIn57 #-}
happyOut57 :: (HappyAbsSyn ) -> (Expr PName)
happyOut57 :: HappyAbsSyn -> Expr PName
happyOut57 HappyAbsSyn
x = HappyAbsSyn -> Expr PName
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut57 #-}
happyIn58 :: (Located [Decl PName]) -> (HappyAbsSyn )
happyIn58 :: Located [Decl PName] -> HappyAbsSyn
happyIn58 Located [Decl PName]
x = Located [Decl PName] -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Located [Decl PName]
x
{-# INLINE happyIn58 #-}
happyOut58 :: (HappyAbsSyn ) -> (Located [Decl PName])
happyOut58 :: HappyAbsSyn -> Located [Decl PName]
happyOut58 HappyAbsSyn
x = HappyAbsSyn -> Located [Decl PName]
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut58 #-}
happyIn59 :: (Expr PName) -> (HappyAbsSyn )
happyIn59 :: Expr PName -> HappyAbsSyn
happyIn59 Expr PName
x = Expr PName -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Expr PName
x
{-# INLINE happyIn59 #-}
happyOut59 :: (HappyAbsSyn ) -> (Expr PName)
happyOut59 :: HappyAbsSyn -> Expr PName
happyOut59 HappyAbsSyn
x = HappyAbsSyn -> Expr PName
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut59 #-}
happyIn60 :: (Expr PName) -> (HappyAbsSyn )
happyIn60 :: Expr PName -> HappyAbsSyn
happyIn60 Expr PName
x = Expr PName -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Expr PName
x
{-# INLINE happyIn60 #-}
happyOut60 :: (HappyAbsSyn ) -> (Expr PName)
happyOut60 :: HappyAbsSyn -> Expr PName
happyOut60 HappyAbsSyn
x = HappyAbsSyn -> Expr PName
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut60 #-}
happyIn61 :: (Expr PName) -> (HappyAbsSyn )
happyIn61 :: Expr PName -> HappyAbsSyn
happyIn61 Expr PName
x = Expr PName -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Expr PName
x
{-# INLINE happyIn61 #-}
happyOut61 :: (HappyAbsSyn ) -> (Expr PName)
happyOut61 :: HappyAbsSyn -> Expr PName
happyOut61 HappyAbsSyn
x = HappyAbsSyn -> Expr PName
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut61 #-}
happyIn62 :: ([(Expr PName, Expr PName)]) -> (HappyAbsSyn )
happyIn62 :: [(Expr PName, Expr PName)] -> HappyAbsSyn
happyIn62 [(Expr PName, Expr PName)]
x = [(Expr PName, Expr PName)] -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# [(Expr PName, Expr PName)]
x
{-# INLINE happyIn62 #-}
happyOut62 :: (HappyAbsSyn ) -> ([(Expr PName, Expr PName)])
happyOut62 :: HappyAbsSyn -> [(Expr PName, Expr PName)]
happyOut62 HappyAbsSyn
x = HappyAbsSyn -> [(Expr PName, Expr PName)]
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut62 #-}
happyIn63 :: ((Expr PName, Expr PName)) -> (HappyAbsSyn )
happyIn63 :: (Expr PName, Expr PName) -> HappyAbsSyn
happyIn63 (Expr PName, Expr PName)
x = (Expr PName, Expr PName) -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Expr PName, Expr PName)
x
{-# INLINE happyIn63 #-}
happyOut63 :: (HappyAbsSyn ) -> ((Expr PName, Expr PName))
happyOut63 :: HappyAbsSyn -> (Expr PName, Expr PName)
happyOut63 HappyAbsSyn
x = HappyAbsSyn -> (Expr PName, Expr PName)
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut63 #-}
happyIn64 :: (Expr PName) -> (HappyAbsSyn )
happyIn64 :: Expr PName -> HappyAbsSyn
happyIn64 Expr PName
x = Expr PName -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Expr PName
x
{-# INLINE happyIn64 #-}
happyOut64 :: (HappyAbsSyn ) -> (Expr PName)
happyOut64 :: HappyAbsSyn -> Expr PName
happyOut64 HappyAbsSyn
x = HappyAbsSyn -> Expr PName
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut64 #-}
happyIn65 :: (Expr PName) -> (HappyAbsSyn )
happyIn65 :: Expr PName -> HappyAbsSyn
happyIn65 Expr PName
x = Expr PName -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Expr PName
x
{-# INLINE happyIn65 #-}
happyOut65 :: (HappyAbsSyn ) -> (Expr PName)
happyOut65 :: HappyAbsSyn -> Expr PName
happyOut65 HappyAbsSyn
x = HappyAbsSyn -> Expr PName
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut65 #-}
happyIn66 :: (Expr PName) -> (HappyAbsSyn )
happyIn66 :: Expr PName -> HappyAbsSyn
happyIn66 Expr PName
x = Expr PName -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Expr PName
x
{-# INLINE happyIn66 #-}
happyOut66 :: (HappyAbsSyn ) -> (Expr PName)
happyOut66 :: HappyAbsSyn -> Expr PName
happyOut66 HappyAbsSyn
x = HappyAbsSyn -> Expr PName
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut66 #-}
happyIn67 :: (Expr PName) -> (HappyAbsSyn )
happyIn67 :: Expr PName -> HappyAbsSyn
happyIn67 Expr PName
x = Expr PName -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Expr PName
x
{-# INLINE happyIn67 #-}
happyOut67 :: (HappyAbsSyn ) -> (Expr PName)
happyOut67 :: HappyAbsSyn -> Expr PName
happyOut67 HappyAbsSyn
x = HappyAbsSyn -> Expr PName
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut67 #-}
happyIn68 :: (NonEmpty (Expr PName)) -> (HappyAbsSyn )
happyIn68 :: NonEmpty (Expr PName) -> HappyAbsSyn
happyIn68 NonEmpty (Expr PName)
x = NonEmpty (Expr PName) -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# NonEmpty (Expr PName)
x
{-# INLINE happyIn68 #-}
happyOut68 :: (HappyAbsSyn ) -> (NonEmpty (Expr PName))
happyOut68 :: HappyAbsSyn -> NonEmpty (Expr PName)
happyOut68 HappyAbsSyn
x = HappyAbsSyn -> NonEmpty (Expr PName)
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut68 #-}
happyIn69 :: (Expr PName) -> (HappyAbsSyn )
happyIn69 :: Expr PName -> HappyAbsSyn
happyIn69 Expr PName
x = Expr PName -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Expr PName
x
{-# INLINE happyIn69 #-}
happyOut69 :: (HappyAbsSyn ) -> (Expr PName)
happyOut69 :: HappyAbsSyn -> Expr PName
happyOut69 HappyAbsSyn
x = HappyAbsSyn -> Expr PName
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut69 #-}
happyIn70 :: (Expr PName) -> (HappyAbsSyn )
happyIn70 :: Expr PName -> HappyAbsSyn
happyIn70 Expr PName
x = Expr PName -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Expr PName
x
{-# INLINE happyIn70 #-}
happyOut70 :: (HappyAbsSyn ) -> (Expr PName)
happyOut70 :: HappyAbsSyn -> Expr PName
happyOut70 HappyAbsSyn
x = HappyAbsSyn -> Expr PName
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut70 #-}
happyIn71 :: (Expr PName) -> (HappyAbsSyn )
happyIn71 :: Expr PName -> HappyAbsSyn
happyIn71 Expr PName
x = Expr PName -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Expr PName
x
{-# INLINE happyIn71 #-}
happyOut71 :: (HappyAbsSyn ) -> (Expr PName)
happyOut71 :: HappyAbsSyn -> Expr PName
happyOut71 HappyAbsSyn
x = HappyAbsSyn -> Expr PName
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut71 #-}
happyIn72 :: (Located Selector) -> (HappyAbsSyn )
happyIn72 :: Located Selector -> HappyAbsSyn
happyIn72 Located Selector
x = Located Selector -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Located Selector
x
{-# INLINE happyIn72 #-}
happyOut72 :: (HappyAbsSyn ) -> (Located Selector)
happyOut72 :: HappyAbsSyn -> Located Selector
happyOut72 HappyAbsSyn
x = HappyAbsSyn -> Located Selector
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut72 #-}
happyIn73 :: ([(Bool, Integer)]) -> (HappyAbsSyn )
happyIn73 :: [(Bool, Integer)] -> HappyAbsSyn
happyIn73 [(Bool, Integer)]
x = [(Bool, Integer)] -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# [(Bool, Integer)]
x
{-# INLINE happyIn73 #-}
happyOut73 :: (HappyAbsSyn ) -> ([(Bool, Integer)])
happyOut73 :: HappyAbsSyn -> [(Bool, Integer)]
happyOut73 HappyAbsSyn
x = HappyAbsSyn -> [(Bool, Integer)]
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut73 #-}
happyIn74 :: ((Bool, Integer)) -> (HappyAbsSyn )
happyIn74 :: (Bool, Integer) -> HappyAbsSyn
happyIn74 (Bool, Integer)
x = (Bool, Integer) -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Bool, Integer)
x
{-# INLINE happyIn74 #-}
happyOut74 :: (HappyAbsSyn ) -> ((Bool, Integer))
happyOut74 :: HappyAbsSyn -> (Bool, Integer)
happyOut74 HappyAbsSyn
x = HappyAbsSyn -> (Bool, Integer)
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut74 #-}
happyIn75 :: ([Expr PName]) -> (HappyAbsSyn )
happyIn75 :: [Expr PName] -> HappyAbsSyn
happyIn75 [Expr PName]
x = [Expr PName] -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# [Expr PName]
x
{-# INLINE happyIn75 #-}
happyOut75 :: (HappyAbsSyn ) -> ([Expr PName])
happyOut75 :: HappyAbsSyn -> [Expr PName]
happyOut75 HappyAbsSyn
x = HappyAbsSyn -> [Expr PName]
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut75 #-}
happyIn76 :: (Either (Expr PName) [Named (Expr PName)]) -> (HappyAbsSyn )
happyIn76 :: Either (Expr PName) [Named (Expr PName)] -> HappyAbsSyn
happyIn76 Either (Expr PName) [Named (Expr PName)]
x = Either (Expr PName) [Named (Expr PName)] -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Either (Expr PName) [Named (Expr PName)]
x
{-# INLINE happyIn76 #-}
happyOut76 :: (HappyAbsSyn ) -> (Either (Expr PName) [Named (Expr PName)])
happyOut76 :: HappyAbsSyn -> Either (Expr PName) [Named (Expr PName)]
happyOut76 HappyAbsSyn
x = HappyAbsSyn -> Either (Expr PName) [Named (Expr PName)]
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut76 #-}
happyIn77 :: ([UpdField PName]) -> (HappyAbsSyn )
happyIn77 :: [UpdField PName] -> HappyAbsSyn
happyIn77 [UpdField PName]
x = [UpdField PName] -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# [UpdField PName]
x
{-# INLINE happyIn77 #-}
happyOut77 :: (HappyAbsSyn ) -> ([UpdField PName])
happyOut77 :: HappyAbsSyn -> [UpdField PName]
happyOut77 HappyAbsSyn
x = HappyAbsSyn -> [UpdField PName]
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut77 #-}
happyIn78 :: (UpdField PName) -> (HappyAbsSyn )
happyIn78 :: UpdField PName -> HappyAbsSyn
happyIn78 UpdField PName
x = UpdField PName -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# UpdField PName
x
{-# INLINE happyIn78 #-}
happyOut78 :: (HappyAbsSyn ) -> (UpdField PName)
happyOut78 :: HappyAbsSyn -> UpdField PName
happyOut78 HappyAbsSyn
x = HappyAbsSyn -> UpdField PName
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut78 #-}
happyIn79 :: ([Located Selector]) -> (HappyAbsSyn )
happyIn79 :: [Located Selector] -> HappyAbsSyn
happyIn79 [Located Selector]
x = [Located Selector] -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# [Located Selector]
x
{-# INLINE happyIn79 #-}
happyOut79 :: (HappyAbsSyn ) -> ([Located Selector])
happyOut79 :: HappyAbsSyn -> [Located Selector]
happyOut79 HappyAbsSyn
x = HappyAbsSyn -> [Located Selector]
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut79 #-}
happyIn80 :: (UpdHow) -> (HappyAbsSyn )
happyIn80 :: UpdHow -> HappyAbsSyn
happyIn80 UpdHow
x = UpdHow -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# UpdHow
x
{-# INLINE happyIn80 #-}
happyOut80 :: (HappyAbsSyn ) -> (UpdHow)
happyOut80 :: HappyAbsSyn -> UpdHow
happyOut80 HappyAbsSyn
x = HappyAbsSyn -> UpdHow
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut80 #-}
happyIn81 :: (Expr PName) -> (HappyAbsSyn )
happyIn81 :: Expr PName -> HappyAbsSyn
happyIn81 Expr PName
x = Expr PName -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Expr PName
x
{-# INLINE happyIn81 #-}
happyOut81 :: (HappyAbsSyn ) -> (Expr PName)
happyOut81 :: HappyAbsSyn -> Expr PName
happyOut81 HappyAbsSyn
x = HappyAbsSyn -> Expr PName
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut81 #-}
happyIn82 :: ([[Match PName]]) -> (HappyAbsSyn )
happyIn82 :: [[Match PName]] -> HappyAbsSyn
happyIn82 [[Match PName]]
x = [[Match PName]] -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# [[Match PName]]
x
{-# INLINE happyIn82 #-}
happyOut82 :: (HappyAbsSyn ) -> ([[Match PName]])
happyOut82 :: HappyAbsSyn -> [[Match PName]]
happyOut82 HappyAbsSyn
x = HappyAbsSyn -> [[Match PName]]
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut82 #-}
happyIn83 :: ([Match PName]) -> (HappyAbsSyn )
happyIn83 :: [Match PName] -> HappyAbsSyn
happyIn83 [Match PName]
x = [Match PName] -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# [Match PName]
x
{-# INLINE happyIn83 #-}
happyOut83 :: (HappyAbsSyn ) -> ([Match PName])
happyOut83 :: HappyAbsSyn -> [Match PName]
happyOut83 HappyAbsSyn
x = HappyAbsSyn -> [Match PName]
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut83 #-}
happyIn84 :: (Match PName) -> (HappyAbsSyn )
happyIn84 :: Match PName -> HappyAbsSyn
happyIn84 Match PName
x = Match PName -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Match PName
x
{-# INLINE happyIn84 #-}
happyOut84 :: (HappyAbsSyn ) -> (Match PName)
happyOut84 :: HappyAbsSyn -> Match PName
happyOut84 HappyAbsSyn
x = HappyAbsSyn -> Match PName
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut84 #-}
happyIn85 :: (Pattern PName) -> (HappyAbsSyn )
happyIn85 :: Pattern PName -> HappyAbsSyn
happyIn85 Pattern PName
x = Pattern PName -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Pattern PName
x
{-# INLINE happyIn85 #-}
happyOut85 :: (HappyAbsSyn ) -> (Pattern PName)
happyOut85 :: HappyAbsSyn -> Pattern PName
happyOut85 HappyAbsSyn
x = HappyAbsSyn -> Pattern PName
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut85 #-}
happyIn86 :: (Pattern PName) -> (HappyAbsSyn )
happyIn86 :: Pattern PName -> HappyAbsSyn
happyIn86 Pattern PName
x = Pattern PName -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Pattern PName
x
{-# INLINE happyIn86 #-}
happyOut86 :: (HappyAbsSyn ) -> (Pattern PName)
happyOut86 :: HappyAbsSyn -> Pattern PName
happyOut86 HappyAbsSyn
x = HappyAbsSyn -> Pattern PName
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut86 #-}
happyIn87 :: (Pattern PName) -> (HappyAbsSyn )
happyIn87 :: Pattern PName -> HappyAbsSyn
happyIn87 Pattern PName
x = Pattern PName -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Pattern PName
x
{-# INLINE happyIn87 #-}
happyOut87 :: (HappyAbsSyn ) -> (Pattern PName)
happyOut87 :: HappyAbsSyn -> Pattern PName
happyOut87 HappyAbsSyn
x = HappyAbsSyn -> Pattern PName
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut87 #-}
happyIn88 :: ([Pattern PName]) -> (HappyAbsSyn )
happyIn88 :: [Pattern PName] -> HappyAbsSyn
happyIn88 [Pattern PName]
x = [Pattern PName] -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# [Pattern PName]
x
{-# INLINE happyIn88 #-}
happyOut88 :: (HappyAbsSyn ) -> ([Pattern PName])
happyOut88 :: HappyAbsSyn -> [Pattern PName]
happyOut88 HappyAbsSyn
x = HappyAbsSyn -> [Pattern PName]
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut88 #-}
happyIn89 :: (Named (Pattern PName)) -> (HappyAbsSyn )
happyIn89 :: Named (Pattern PName) -> HappyAbsSyn
happyIn89 Named (Pattern PName)
x = Named (Pattern PName) -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Named (Pattern PName)
x
{-# INLINE happyIn89 #-}
happyOut89 :: (HappyAbsSyn ) -> (Named (Pattern PName))
happyOut89 :: HappyAbsSyn -> Named (Pattern PName)
happyOut89 HappyAbsSyn
x = HappyAbsSyn -> Named (Pattern PName)
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut89 #-}
happyIn90 :: ([Named (Pattern PName)]) -> (HappyAbsSyn )
happyIn90 :: [Named (Pattern PName)] -> HappyAbsSyn
happyIn90 [Named (Pattern PName)]
x = [Named (Pattern PName)] -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# [Named (Pattern PName)]
x
{-# INLINE happyIn90 #-}
happyOut90 :: (HappyAbsSyn ) -> ([Named (Pattern PName)])
happyOut90 :: HappyAbsSyn -> [Named (Pattern PName)]
happyOut90 HappyAbsSyn
x = HappyAbsSyn -> [Named (Pattern PName)]
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut90 #-}
happyIn91 :: (Schema PName) -> (HappyAbsSyn )
happyIn91 :: Schema PName -> HappyAbsSyn
happyIn91 Schema PName
x = Schema PName -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Schema PName
x
{-# INLINE happyIn91 #-}
happyOut91 :: (HappyAbsSyn ) -> (Schema PName)
happyOut91 :: HappyAbsSyn -> Schema PName
happyOut91 HappyAbsSyn
x = HappyAbsSyn -> Schema PName
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut91 #-}
happyIn92 :: (Located [TParam PName]) -> (HappyAbsSyn )
happyIn92 :: Located [TParam PName] -> HappyAbsSyn
happyIn92 Located [TParam PName]
x = Located [TParam PName] -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Located [TParam PName]
x
{-# INLINE happyIn92 #-}
happyOut92 :: (HappyAbsSyn ) -> (Located [TParam PName])
happyOut92 :: HappyAbsSyn -> Located [TParam PName]
happyOut92 HappyAbsSyn
x = HappyAbsSyn -> Located [TParam PName]
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut92 #-}
happyIn93 :: (Located [Prop PName]) -> (HappyAbsSyn )
happyIn93 :: Located [Prop PName] -> HappyAbsSyn
happyIn93 Located [Prop PName]
x = Located [Prop PName] -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Located [Prop PName]
x
{-# INLINE happyIn93 #-}
happyOut93 :: (HappyAbsSyn ) -> (Located [Prop PName])
happyOut93 :: HappyAbsSyn -> Located [Prop PName]
happyOut93 HappyAbsSyn
x = HappyAbsSyn -> Located [Prop PName]
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut93 #-}
happyIn94 :: (Located [Prop PName]) -> (HappyAbsSyn )
happyIn94 :: Located [Prop PName] -> HappyAbsSyn
happyIn94 Located [Prop PName]
x = Located [Prop PName] -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Located [Prop PName]
x
{-# INLINE happyIn94 #-}
happyOut94 :: (HappyAbsSyn ) -> (Located [Prop PName])
happyOut94 :: HappyAbsSyn -> Located [Prop PName]
happyOut94 HappyAbsSyn
x = HappyAbsSyn -> Located [Prop PName]
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut94 #-}
happyIn95 :: (Located Kind) -> (HappyAbsSyn )
happyIn95 :: Located Kind -> HappyAbsSyn
happyIn95 Located Kind
x = Located Kind -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Located Kind
x
{-# INLINE happyIn95 #-}
happyOut95 :: (HappyAbsSyn ) -> (Located Kind)
happyOut95 :: HappyAbsSyn -> Located Kind
happyOut95 HappyAbsSyn
x = HappyAbsSyn -> Located Kind
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut95 #-}
happyIn96 :: (TParam PName) -> (HappyAbsSyn )
happyIn96 :: TParam PName -> HappyAbsSyn
happyIn96 TParam PName
x = TParam PName -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# TParam PName
x
{-# INLINE happyIn96 #-}
happyOut96 :: (HappyAbsSyn ) -> (TParam PName)
happyOut96 :: HappyAbsSyn -> TParam PName
happyOut96 HappyAbsSyn
x = HappyAbsSyn -> TParam PName
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut96 #-}
happyIn97 :: ([TParam PName]) -> (HappyAbsSyn )
happyIn97 :: [TParam PName] -> HappyAbsSyn
happyIn97 [TParam PName]
x = [TParam PName] -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# [TParam PName]
x
{-# INLINE happyIn97 #-}
happyOut97 :: (HappyAbsSyn ) -> ([TParam PName])
happyOut97 :: HappyAbsSyn -> [TParam PName]
happyOut97 HappyAbsSyn
x = HappyAbsSyn -> [TParam PName]
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut97 #-}
happyIn98 :: (TParam PName) -> (HappyAbsSyn )
happyIn98 :: TParam PName -> HappyAbsSyn
happyIn98 TParam PName
x = TParam PName -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# TParam PName
x
{-# INLINE happyIn98 #-}
happyOut98 :: (HappyAbsSyn ) -> (TParam PName)
happyOut98 :: HappyAbsSyn -> TParam PName
happyOut98 HappyAbsSyn
x = HappyAbsSyn -> TParam PName
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut98 #-}
happyIn99 :: ([TParam PName]) -> (HappyAbsSyn )
happyIn99 :: [TParam PName] -> HappyAbsSyn
happyIn99 [TParam PName]
x = [TParam PName] -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# [TParam PName]
x
{-# INLINE happyIn99 #-}
happyOut99 :: (HappyAbsSyn ) -> ([TParam PName])
happyOut99 :: HappyAbsSyn -> [TParam PName]
happyOut99 HappyAbsSyn
x = HappyAbsSyn -> [TParam PName]
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut99 #-}
happyIn100 :: (Type PName) -> (HappyAbsSyn )
happyIn100 :: Type PName -> HappyAbsSyn
happyIn100 Type PName
x = Type PName -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Type PName
x
{-# INLINE happyIn100 #-}
happyOut100 :: (HappyAbsSyn ) -> (Type PName)
happyOut100 :: HappyAbsSyn -> Type PName
happyOut100 HappyAbsSyn
x = HappyAbsSyn -> Type PName
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut100 #-}
happyIn101 :: (Type PName) -> (HappyAbsSyn )
happyIn101 :: Type PName -> HappyAbsSyn
happyIn101 Type PName
x = Type PName -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Type PName
x
{-# INLINE happyIn101 #-}
happyOut101 :: (HappyAbsSyn ) -> (Type PName)
happyOut101 :: HappyAbsSyn -> Type PName
happyOut101 HappyAbsSyn
x = HappyAbsSyn -> Type PName
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut101 #-}
happyIn102 :: (Type PName) -> (HappyAbsSyn )
happyIn102 :: Type PName -> HappyAbsSyn
happyIn102 Type PName
x = Type PName -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Type PName
x
{-# INLINE happyIn102 #-}
happyOut102 :: (HappyAbsSyn ) -> (Type PName)
happyOut102 :: HappyAbsSyn -> Type PName
happyOut102 HappyAbsSyn
x = HappyAbsSyn -> Type PName
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut102 #-}
happyIn103 :: (Type PName) -> (HappyAbsSyn )
happyIn103 :: Type PName -> HappyAbsSyn
happyIn103 Type PName
x = Type PName -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Type PName
x
{-# INLINE happyIn103 #-}
happyOut103 :: (HappyAbsSyn ) -> (Type PName)
happyOut103 :: HappyAbsSyn -> Type PName
happyOut103 HappyAbsSyn
x = HappyAbsSyn -> Type PName
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut103 #-}
happyIn104 :: ([ Type PName ]) -> (HappyAbsSyn )
happyIn104 :: [Type PName] -> HappyAbsSyn
happyIn104 [Type PName]
x = [Type PName] -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# [Type PName]
x
{-# INLINE happyIn104 #-}
happyOut104 :: (HappyAbsSyn ) -> ([ Type PName ])
happyOut104 :: HappyAbsSyn -> [Type PName]
happyOut104 HappyAbsSyn
x = HappyAbsSyn -> [Type PName]
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut104 #-}
happyIn105 :: (Located [Type PName]) -> (HappyAbsSyn )
happyIn105 :: Located [Type PName] -> HappyAbsSyn
happyIn105 Located [Type PName]
x = Located [Type PName] -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Located [Type PName]
x
{-# INLINE happyIn105 #-}
happyOut105 :: (HappyAbsSyn ) -> (Located [Type PName])
happyOut105 :: HappyAbsSyn -> Located [Type PName]
happyOut105 HappyAbsSyn
x = HappyAbsSyn -> Located [Type PName]
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut105 #-}
happyIn106 :: ([Type PName]) -> (HappyAbsSyn )
happyIn106 :: [Type PName] -> HappyAbsSyn
happyIn106 [Type PName]
x = [Type PName] -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# [Type PName]
x
{-# INLINE happyIn106 #-}
happyOut106 :: (HappyAbsSyn ) -> ([Type PName])
happyOut106 :: HappyAbsSyn -> [Type PName]
happyOut106 HappyAbsSyn
x = HappyAbsSyn -> [Type PName]
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut106 #-}
happyIn107 :: (Named (Type PName)) -> (HappyAbsSyn )
happyIn107 :: Named (Type PName) -> HappyAbsSyn
happyIn107 Named (Type PName)
x = Named (Type PName) -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Named (Type PName)
x
{-# INLINE happyIn107 #-}
happyOut107 :: (HappyAbsSyn ) -> (Named (Type PName))
happyOut107 :: HappyAbsSyn -> Named (Type PName)
happyOut107 HappyAbsSyn
x = HappyAbsSyn -> Named (Type PName)
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut107 #-}
happyIn108 :: ([Named (Type PName)]) -> (HappyAbsSyn )
happyIn108 :: [Named (Type PName)] -> HappyAbsSyn
happyIn108 [Named (Type PName)]
x = [Named (Type PName)] -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# [Named (Type PName)]
x
{-# INLINE happyIn108 #-}
happyOut108 :: (HappyAbsSyn ) -> ([Named (Type PName)])
happyOut108 :: HappyAbsSyn -> [Named (Type PName)]
happyOut108 HappyAbsSyn
x = HappyAbsSyn -> [Named (Type PName)]
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut108 #-}
happyIn109 :: (Located Ident) -> (HappyAbsSyn )
happyIn109 :: LIdent -> HappyAbsSyn
happyIn109 LIdent
x = LIdent -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# LIdent
x
{-# INLINE happyIn109 #-}
happyOut109 :: (HappyAbsSyn ) -> (Located Ident)
happyOut109 :: HappyAbsSyn -> LIdent
happyOut109 HappyAbsSyn
x = HappyAbsSyn -> LIdent
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut109 #-}
happyIn110 :: (LPName) -> (HappyAbsSyn )
happyIn110 :: LPName -> HappyAbsSyn
happyIn110 LPName
x = LPName -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# LPName
x
{-# INLINE happyIn110 #-}
happyOut110 :: (HappyAbsSyn ) -> (LPName)
happyOut110 :: HappyAbsSyn -> LPName
happyOut110 HappyAbsSyn
x = HappyAbsSyn -> LPName
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut110 #-}
happyIn111 :: (Located ModName) -> (HappyAbsSyn )
happyIn111 :: Located ModName -> HappyAbsSyn
happyIn111 Located ModName
x = Located ModName -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Located ModName
x
{-# INLINE happyIn111 #-}
happyOut111 :: (HappyAbsSyn ) -> (Located ModName)
happyOut111 :: HappyAbsSyn -> Located ModName
happyOut111 HappyAbsSyn
x = HappyAbsSyn -> Located ModName
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut111 #-}
happyIn112 :: (Located ModName) -> (HappyAbsSyn )
happyIn112 :: Located ModName -> HappyAbsSyn
happyIn112 Located ModName
x = Located ModName -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Located ModName
x
{-# INLINE happyIn112 #-}
happyOut112 :: (HappyAbsSyn ) -> (Located ModName)
happyOut112 :: HappyAbsSyn -> Located ModName
happyOut112 HappyAbsSyn
x = HappyAbsSyn -> Located ModName
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut112 #-}
happyIn113 :: (Located PName) -> (HappyAbsSyn )
happyIn113 :: LPName -> HappyAbsSyn
happyIn113 LPName
x = LPName -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# LPName
x
{-# INLINE happyIn113 #-}
happyOut113 :: (HappyAbsSyn ) -> (Located PName)
happyOut113 :: HappyAbsSyn -> LPName
happyOut113 HappyAbsSyn
x = HappyAbsSyn -> LPName
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut113 #-}
happyIn114 :: (Located PName) -> (HappyAbsSyn )
happyIn114 :: LPName -> HappyAbsSyn
happyIn114 LPName
x = LPName -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# LPName
x
{-# INLINE happyIn114 #-}
happyOut114 :: (HappyAbsSyn ) -> (Located PName)
happyOut114 :: HappyAbsSyn -> LPName
happyOut114 HappyAbsSyn
x = HappyAbsSyn -> LPName
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut114 #-}
happyIn115 :: (Type PName) -> (HappyAbsSyn )
happyIn115 :: Type PName -> HappyAbsSyn
happyIn115 Type PName
x = Type PName -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Type PName
x
{-# INLINE happyIn115 #-}
happyOut115 :: (HappyAbsSyn ) -> (Type PName)
happyOut115 :: HappyAbsSyn -> Type PName
happyOut115 HappyAbsSyn
x = HappyAbsSyn -> Type PName
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut115 #-}
happyIn116 :: (Named (Type PName)) -> (HappyAbsSyn )
happyIn116 :: Named (Type PName) -> HappyAbsSyn
happyIn116 Named (Type PName)
x = Named (Type PName) -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Named (Type PName)
x
{-# INLINE happyIn116 #-}
happyOut116 :: (HappyAbsSyn ) -> (Named (Type PName))
happyOut116 :: HappyAbsSyn -> Named (Type PName)
happyOut116 HappyAbsSyn
x = HappyAbsSyn -> Named (Type PName)
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut116 #-}
happyIn117 :: ([Named (Type PName)]) -> (HappyAbsSyn )
happyIn117 :: [Named (Type PName)] -> HappyAbsSyn
happyIn117 [Named (Type PName)]
x = [Named (Type PName)] -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# [Named (Type PName)]
x
{-# INLINE happyIn117 #-}
happyOut117 :: (HappyAbsSyn ) -> ([Named (Type PName)])
happyOut117 :: HappyAbsSyn -> [Named (Type PName)]
happyOut117 HappyAbsSyn
x = HappyAbsSyn -> [Named (Type PName)]
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut117 #-}
happyInTok :: (Located Token) -> (HappyAbsSyn )
happyInTok :: Located Token -> HappyAbsSyn
happyInTok Located Token
x = Located Token -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Located Token
x
{-# INLINE happyInTok #-}
happyOutTok :: (HappyAbsSyn ) -> (Located Token)
happyOutTok :: HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
x = HappyAbsSyn -> Located Token
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOutTok #-}


happyExpList :: HappyAddr
happyExpList :: HappyAddr
happyExpList = Addr# -> HappyAddr
HappyA# Addr#
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x02\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe9\x3c\x20\x02\x22\x80\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x38\x00\x89\x80\x28\x31\x30\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x9c\x07\x44\x40\x04\x10\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\xce\x03\x22\x20\x02\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\xc7\x01\x4c\x04\x44\x89\x81\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\xe3\x00\x20\x02\x22\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x71\x00\x10\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x38\x00\x08\xc0\x00\x00\xfe\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x0e\x00\x02\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x80\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x38\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x0e\x00\x22\x20\x02\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1c\x07\x00\x11\x10\x01\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\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x10\xf8\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x1c\x00\x44\x40\x04\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x0e\x00\x22\x20\x02\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\xc7\x01\x40\x04\x44\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\xe3\x00\x20\x02\x27\x80\xf8\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x70\x00\x10\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x08\xf8\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\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\xc0\x8f\x03\x80\x08\x88\x12\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x01\x40\x04\x44\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\xe3\x00\x24\x02\xa2\xc4\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x71\x00\x12\x03\x51\x62\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x38\x00\x89\xc0\x29\x31\xfe\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7e\x1c\x00\x44\x40\x9c\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x02\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x18\x07\x00\x01\x10\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x03\x80\x08\x88\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\xe3\x00\x24\x02\xa2\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x71\x00\x12\x01\x51\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\xce\x03\x22\x20\x02\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x01\x40\x04\x44\x00\x01\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe1\x3c\x20\x02\x22\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x3e\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\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe1\x00\xa0\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x70\x00\x10\x03\x11\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x38\x00\x88\xc0\x09\x20\xfe\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x1c\x00\x04\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe1\x3d\x20\x02\x22\x80\x02\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x3a\x0f\x88\x80\x08\x20\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x1c\x00\x04\x00\x80\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\xdf\x03\x22\x20\x02\x08\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\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\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\xef\x01\x11\x10\x01\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x08\x01\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\xe3\x00\x20\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x07\x01\x01\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\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\x08\x07\x00\x11\x30\x01\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\x08\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\xfe\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\x10\x0e\x00\x02\x20\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x07\x00\x01\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x03\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xf0\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\xf8\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\xfc\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x38\x00\x88\x80\x08\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7e\x1c\x80\x44\x40\x94\x18\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x0e\x00\x22\x20\x02\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x03\x80\x08\x88\x00\x02\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x80\x70\x00\x10\x01\x11\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x38\x00\x08\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x1c\x00\x44\x40\x04\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x0e\x00\x22\x20\x02\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\xe3\x00\x20\x02\x22\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\x71\x00\x10\x01\x31\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x20\x1c\x00\x44\x40\x04\x10\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x38\x00\x89\x80\x28\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7e\x1c\x80\x44\x40\x94\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x8f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x0e\x00\x22\x20\x02\x08\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x38\x00\x89\x80\x28\x31\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x1c\x00\x44\x40\x04\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x03\x80\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\x71\x00\x10\x01\x11\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x1c\x00\x44\x40\x04\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1c\x07\x00\x11\x10\x01\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x8e\x03\x80\x08\x88\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\xc7\x01\x40\x04\x44\x00\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\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x1c\x00\x44\x40\x04\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x39\x0e\x00\x22\x20\x02\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x8e\x03\x80\x08\x88\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\xe3\x00\x20\x03\x22\x80\x10\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x70\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x1c\x00\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\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x71\x00\x12\x01\x51\x62\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x38\x00\x89\x80\x28\x31\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7e\x1c\x80\x44\x40\x94\x18\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\x0e\x40\x22\x20\x4a\x0c\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x8f\x03\x90\x08\x88\x12\x03\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\xc7\x01\x48\x04\x46\x89\x81\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\xf8\x71\x00\x12\x01\x51\x62\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x38\x00\x88\x80\x08\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7e\x1c\x80\x44\x40\x94\x18\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x8f\x03\x90\x08\x88\x12\x03\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\xf0\xe3\x00\x20\x02\xa2\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7e\x1c\x00\x44\x40\x94\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1f\x07\x00\x11\x10\x25\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x71\x00\x12\x01\x51\x62\x60\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x38\x0f\x88\x80\x08\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\xce\x03\x22\x20\x02\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\xf8\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x7e\x1c\x80\x44\x40\x94\x18\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x07\x00\x11\x10\x01\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\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\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\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xf0\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe1\x00\x20\x00\x02\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x38\x00\x08\x80\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x0e\x00\x22\x20\x02\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x07\x00\x01\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x01\x40\x04\x44\x00\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\x80\x70\x00\x10\x01\x11\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x1c\x00\x44\x40\x04\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x03\x80\x08\x88\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x01\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x38\x0f\x88\x80\x18\x20\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x9c\x07\x44\x40\x04\x50\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\xde\x03\x22\x20\x02\x08\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\xf7\x80\x08\x88\x00\x02\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\x71\x00\x10\x01\x11\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\xfe\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x1c\x00\x04\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\xef\x01\x11\x10\x01\x04\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x70\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x38\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\xf7\x80\x08\x88\x00\x02\x40\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe2\x7b\x40\x04\x44\x00\x01\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\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\x01\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\xf7\x80\x08\x88\x00\x02\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x01\x40\x00\x04\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe1\x00\x20\x02\x22\x82\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x1c\x00\x04\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x41\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x1c\x00\x44\x40\x04\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe1\x3c\x20\x02\x62\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\x0e\x40\x22\x20\x4a\x0c\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x1c\x00\x44\x40\x04\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x0e\x00\x02\x20\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1c\x07\x00\x11\x10\x01\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x03\x80\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x20\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\xf8\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x71\x00\x12\x01\x51\x62\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x0e\x00\x22\x20\x02\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x38\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x0e\x00\x22\x20\x02\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\x0e\x40\x22\x20\x4a\x0c\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\xe3\x00\x24\x02\xa2\xc4\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x8f\x03\x90\x08\x88\x12\x03\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\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\xc8\x71\x00\x10\x01\x11\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\xdf\x03\x22\x20\x02\x08\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x40\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x20\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x38\x00\x89\x80\x28\x31\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x1c\x00\x44\x40\x04\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x0e\x00\x22\x20\x02\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1f\x07\x20\x11\x10\x25\x06\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe4\x38\x00\x88\x80\x08\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x0e\x00\x22\x20\x02\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x88\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x07\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x03\x80\x08\x88\x08\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\xc7\x01\x48\x04\x44\x89\x81\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe1\x00\x20\x00\x02\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x01\x40\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x38\x00\x89\x80\x28\x31\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x1c\x00\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\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\xc7\x01\x40\x04\x44\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\xe3\x00\x20\x02\x22\x80\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\xf8\x1e\x10\x01\x11\x40\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe4\x38\x00\x88\x80\x08\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x8e\x03\x80\x08\x88\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\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\x20\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x48\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x0e\x00\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\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#

{-# NOINLINE happyExpListPerState #-}
happyExpListPerState :: Int -> [a]
happyExpListPerState Int
st =
    [a]
token_strs_expected
  where token_strs :: [a]
token_strs = [a
"error",a
"%dummy",a
"%start_vmodule",a
"%start_program",a
"%start_programLayout",a
"%start_expr",a
"%start_decl",a
"%start_decls",a
"%start_declsLayout",a
"%start_letDecl",a
"%start_repl",a
"%start_schema",a
"%start_modName",a
"%start_helpName",a
"vmodule",a
"vmod_body",a
"vimports",a
"import",a
"mbAs",a
"mbImportSpec",a
"name_list",a
"mbHiding",a
"program",a
"program_layout",a
"top_decls",a
"vtop_decls",a
"vtop_decl",a
"top_decl",a
"private_decls",a
"prim_bind",a
"parameter_decls",a
"par_decls",a
"par_decl",a
"doc",a
"mbDoc",a
"decl",a
"let_decl",a
"newtype",a
"newtype_body",a
"vars_comma",a
"var",a
"apats",a
"indices",a
"indices1",a
"apats_indices",a
"opt_apats_indices",a
"decls",a
"vdecls",a
"decls_layout",a
"repl",a
"qop",a
"op",a
"pat_op",a
"other_op",a
"ops",a
"expr",a
"exprNoWhere",a
"whereClause",a
"typedExpr",a
"simpleExpr",a
"longExpr",a
"ifBranches",a
"ifBranch",a
"simpleRHS",a
"longRHS",a
"simpleApp",a
"longApp",a
"aexprs",a
"aexpr",a
"no_sel_aexpr",a
"sel_expr",a
"selector",a
"poly_terms",a
"poly_term",a
"tuple_exprs",a
"rec_expr",a
"field_exprs",a
"field_expr",a
"field_path",a
"field_how",a
"list_expr",a
"list_alts",a
"matches",a
"match",a
"pat",a
"ipat",a
"apat",a
"tuple_pats",a
"field_pat",a
"field_pats",a
"schema",a
"schema_vars",a
"schema_quals",a
"schema_qual",a
"kind",a
"schema_param",a
"schema_params",a
"tysyn_param",a
"tysyn_params",a
"type",a
"infix_type",a
"app_type",a
"atype",a
"atypes",a
"dimensions",a
"tuple_types",a
"field_type",a
"field_types",a
"ident",a
"name",a
"smodName",a
"modName",a
"qname",a
"help_name",a
"tick_ty",a
"field_ty_val",a
"field_ty_vals",a
"NUM",a
"FRAC",a
"STRLIT",a
"CHARLIT",a
"IDENT",a
"QIDENT",a
"SELECTOR",a
"'include'",a
"'import'",a
"'as'",a
"'hiding'",a
"'private'",a
"'parameter'",a
"'property'",a
"'infix'",a
"'infixl'",a
"'infixr'",a
"'type'",a
"'newtype'",a
"'module'",a
"'where'",a
"'let'",a
"'if'",a
"'then'",a
"'else'",a
"'x'",a
"'primitive'",a
"'constraint'",a
"'Prop'",a
"'['",a
"']'",a
"'<-'",a
"'..'",a
"'...'",a
"'..<'",a
"'|'",a
"'<'",a
"'('",a
"')'",a
"','",a
"';'",a
"'{'",a
"'}'",a
"'<|'",a
"'|>'",a
"'='",a
"'`'",a
"':'",a
"'->'",a
"'=>'",a
"'\\\\'",a
"'_'",a
"'v{'",a
"'v}'",a
"'v;'",a
"'+'",a
"'*'",a
"'^^'",a
"'-'",a
"'~'",a
"'#'",a
"'@'",a
"OP",a
"QOP",a
"DOC",a
"%eof"]
        bit_start :: Int
bit_start = Int
st Int -> Int -> Int
forall a. Num a => a -> a -> a
* Int
183
        bit_end :: Int
bit_end = (Int
st Int -> Int -> Int
forall a. Num a => a -> a -> a
+ Int
1) Int -> Int -> Int
forall a. Num a => a -> a -> a
* Int
183
        read_bit :: Int -> Bool
read_bit = HappyAddr -> Int -> Bool
readArrayBit HappyAddr
happyExpList
        bits :: [Bool]
bits = (Int -> Bool) -> [Int] -> [Bool]
forall a b. (a -> b) -> [a] -> [b]
map Int -> Bool
read_bit [Int
bit_start..Int
bit_end Int -> Int -> Int
forall a. Num a => a -> a -> a
- Int
1]
        bits_indexed :: [(Bool, Int)]
bits_indexed = [Bool] -> [Int] -> [(Bool, Int)]
forall a b. [a] -> [b] -> [(a, b)]
zip [Bool]
bits [Int
0..Int
182]
        token_strs_expected :: [a]
token_strs_expected = ((Bool, Int) -> [a]) -> [(Bool, Int)] -> [a]
forall (t :: * -> *) a b. Foldable t => (a -> [b]) -> t a -> [b]
concatMap (Bool, Int) -> [a]
f [(Bool, Int)]
bits_indexed
        f :: (Bool, Int) -> [a]
f (Bool
False, Int
_) = []
        f (Bool
True, Int
nr) = [[a]
token_strs [a] -> Int -> a
forall a. [a] -> Int -> a
!! Int
nr]

happyActOffsets :: HappyAddr
happyActOffsets :: HappyAddr
happyActOffsets = Addr# -> HappyAddr
HappyA# Addr#
"\xff\xff\xca\x01\x0c\x00\x1c\x04\x1b\x08\x1b\x08\x22\x00\x72\x00\x80\x03\xf1\x08\x1a\x02\x24\x04\x48\x00\x1a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x2d\x07\x4b\x00\xfe\x08\xfe\x08\x00\x00\x6a\x00\x96\x05\x00\x00\x00\x00\x25\x09\x32\x09\x00\x00\x00\x00\x59\x09\x2e\x03\x48\x02\x00\x00\x00\x00\x74\x00\xa6\x00\x00\x00\x00\x00\x86\x05\x00\x00\x00\x00\x00\x00\xc7\x0a\x00\x00\xb9\x08\x00\x00\xb9\x00\xb9\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x0a\x1c\x04\xb4\x03\xee\x02\x85\x08\x06\x00\x8d\x08\x95\x0a\x00\x00\x51\x08\x51\x08\xec\x00\xec\x00\x7a\x07\x14\x01\x7a\x01\xfd\x06\x04\x02\x1e\x00\xa7\x01\x94\x04\x00\x00\x5f\x01\x64\x01\x85\x01\x60\x04\x26\x0a\x4f\x04\x31\x03\x00\x00\x6c\x01\xf0\xff\x6c\x01\x5e\x02\x6c\x01\xe7\x01\x8d\x01\x00\x00\x00\x00\xce\x01\x00\x00\xc8\x01\x00\x00\xb3\x01\x1a\x02\x31\x02\xc7\x01\x7a\x00\x00\x00\x9c\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x07\xa5\x01\x00\x00\x1a\x02\xd5\x01\xf6\x01\xf1\xff\x00\x00\x2d\x04\x00\x00\x0c\x02\x55\x01\x00\x00\xb2\x00\x00\x00\x64\x00\x02\x02\x00\x00\x5a\x02\xe3\xff\xd1\xff\x00\x00\xa8\x00\x00\x00\x4c\x0a\x00\x00\x1f\x01\x26\x01\x00\x00\xdd\x05\xed\x05\xdb\x02\x0d\x02\x60\x05\x34\x06\x34\x06\x34\x06\x95\x0a\x1c\x04\x95\x0a\x6a\x02\x06\x07\x70\x02\x00\x00\x95\x0a\x0d\x05\x66\x09\x00\x00\x00\x00\xb4\x01\x00\x00\xd8\x0a\x00\x00\xf5\x0a\x00\x00\x57\x0a\x00\x00\x00\x00\x00\x00\x8d\x09\xc6\x08\xfb\x00\x00\x00\x00\x00\x7b\x02\x00\x00\x95\x02\xb4\x02\xc4\x02\x00\x00\x23\x07\x00\x00\xca\x02\xef\x02\x05\x01\x45\x01\x00\x00\x51\x08\x51\x08\x5d\x04\xf6\x02\x01\x03\x00\x00\xee\x01\x43\x01\x00\x00\x55\x00\x23\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x04\x8d\x09\x00\x00\x07\x02\x00\x00\x26\x02\x05\x03\x11\x0b\x10\x03\xb0\x01\xc6\x01\x00\x00\x00\x04\x25\x03\x00\x00\x9a\x09\x00\x00\xc1\x09\x00\x00\xc1\x09\xc1\x09\xc1\x09\x00\x00\x00\x00\x15\x03\xc1\x09\x15\x03\x00\x00\x2b\x03\x5c\x03\x22\x03\x00\x00\x4e\x03\x00\x00\x00\x00\x6e\x03\x70\x03\x00\x00\xab\x0a\x44\x03\x00\x00\x00\x00\xc1\x09\x00\x00\xc1\x09\x00\x00\x55\x03\x60\x05\x00\x00\x60\x05\x00\x00\x00\x00\x00\x00\x00\x00\x65\x03\x1c\x04\x1c\x04\x1c\x04\x1c\x04\x00\x00\x1c\x04\xe8\x03\x00\x00\x1c\x04\x95\x0a\x1c\x04\x00\x00\x00\x00\x1c\x04\x00\x00\xb9\x08\x00\x00\x19\x02\xb9\x08\x00\x00\xb9\x08\x97\x03\x00\x00\x1b\x00\x39\x02\x89\x02\x6b\x03\x00\x00\x92\x02\x00\x00\x78\x03\x00\x00\x1c\x04\x1b\x08\x00\x00\x1b\x08\x00\x00\x00\x00\x00\x00\x34\x06\x64\x03\x00\x00\x1c\x04\x00\x00\x95\x0a\x00\x00\x66\x03\x90\x03\x7b\x03\x00\x00\x95\x03\x95\x03\x95\x03\xa4\x03\x34\x06\xf1\x02\x00\x00\x54\x08\x00\x00\xc1\x09\x64\x05\x00\x00\x95\x0a\x00\x00\x95\x0a\x00\x00\xc1\x09\x00\x00\xa7\x03\x95\x0a\x60\x05\x00\x00\x00\x00\xe1\x07\x97\x07\xc3\x02\x00\x00\xc3\x02\x00\x00\xb6\x03\xce\x09\x34\x06\x1a\x02\xb0\x03\xc3\x02\xeb\x03\x00\x00\xf6\x03\x60\x05\xad\x07\x00\x00\xc5\x03\xc9\x03\x98\x02\x98\x02\x00\x00\x00\x00\x9c\x00\x00\x00\x9c\x00\xc0\x03\xc3\x02\x07\x09\x64\x0a\x00\x00\x46\x00\x1a\x02\xd1\x01\x1f\x02\x00\x00\xea\x07\xf3\x03\xe2\x03\xe1\x03\xce\x09\x00\x00\x00\x00\x60\x02\x00\x00\xfe\x07\x00\x00\x00\x00\x00\x00\x1c\x04\x00\x00\x00\x00\x00\x00\xe5\x03\x00\x00\x00\x00\xf5\x09\x14\x09\xf5\x09\x64\x05\x8f\x00\x34\x06\x1c\x04\xda\x03\x10\x04\x95\x0a\x05\x04\x00\x00\x00\x00\x00\x00\x00\x00\x60\x05\x00\x00\xf5\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x09\x04\x00\x00\x1c\x04\x00\x00\x00\x00\x09\x04\x18\x04\xa5\x00\x11\x04\x0c\x04\x00\x00\x20\x04\x2c\x04\x2c\x04\x1c\x04\x2c\x04\x2c\x04\x00\x00\x00\x00\x2c\x04\x1c\x04\x00\x00\x21\x04\x00\x00\x25\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf5\x09\x00\x00\xab\x0a\x31\x02\x1f\x04\x8f\x00\x8f\x00\x3d\x04\x3d\x04\x1c\x04\x95\x0a\x95\x0a\x1c\x04\x00\x00\x3d\x04\x00\x00\x38\x04\x00\x00\x00\x00\x00\x00\x6d\x04\x00\x00\xe1\xff\x56\x04\x00\x00\xf5\x09\x00\x00\xf5\x09\x7c\x04\x00\x00\x00\x00\x00\x00\x8f\x00\x4d\x04\x6c\x04\x75\x04\x09\x05\x65\x04\x00\x00\x65\x04\x00\x00\x00\x00\x00\x00\x91\x04\x00\x00\x6f\x0a\x1c\x04\x3b\x09\x90\x04\x93\x02\xfa\x02\x00\x00\x00\x00\x00\x00\xb1\x04\x90\x04\xa9\x04\x1c\x04\x60\x05\x00\x00\x00\x00\x8f\x04\xf5\x09\x02\x0a\x31\x02\x02\x0a\x92\x04\x00\x00\x00\x00\x29\x0a\x00\x00\xac\x04\xaa\x04\x00\x00\xb4\x04\xb7\x04\x00\x00\x00\x00\x00\x00\xb6\x04\x00\x00\x00\x00\x8f\x00\x4d\x02\x00\x00\xd8\x04\x00\x00\xdf\x02\x00\x00\x00\x00\x00\x00\x60\x05\xc7\x04\x00\x00\x00\x00\x00\x00"#

happyGotoOffsets :: HappyAddr
happyGotoOffsets :: HappyAddr
happyGotoOffsets = Addr# -> HappyAddr
HappyA# Addr#
"\xfc\x04\x86\x00\xf4\x04\xbd\x04\x0e\x00\x23\x00\xe8\x04\xf7\x04\x23\x01\x5f\x0a\xbc\x01\x9d\x01\x00\x00\xfc\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\x75\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x19\x04\x46\x08\x00\x00\x00\x00\xd9\x02\x00\x00\x00\x00\x9e\x03\xb7\x03\x00\x00\x00\x00\x57\x09\xeb\x02\x3f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x03\x00\x00\x00\x00\x00\x00\xe2\x04\x00\x00\x38\x01\x00\x00\xdd\x04\xe4\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x02\x66\x04\x76\x04\x59\x02\x99\x03\x1e\x02\x49\x03\x79\x00\x00\x00\x42\x03\x3c\x07\x00\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x69\x01\x16\x01\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x01\x7d\x06\x56\x01\xfc\xff\x00\x00\x00\x00\x00\x00\x00\x00\x96\x00\x00\x00\xd9\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8a\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x01\xfa\x04\x00\x00\xbb\x02\x00\x00\x00\x00\x00\x00\x00\x00\x66\x02\x00\x00\x00\x00\x00\x00\x00\x00\xef\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd6\x06\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x03\x00\x00\xc1\x00\x72\x01\xc0\x04\xe1\x04\x38\x05\xe6\x05\x08\x00\xcd\x04\xc6\x02\x00\x00\x49\x00\x00\x00\x00\x00\xa2\x00\x04\x00\x08\x0b\x00\x00\x00\x00\x00\x00\x00\x00\xf6\x04\x00\x00\xf6\x04\x00\x00\x83\x00\x00\x00\x00\x00\x00\x00\x8b\x09\x23\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x08\x14\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x06\xc8\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x54\x03\x00\x00\x00\x00\x68\x04\x00\x00\x90\x0b\x00\x00\x9e\x0b\x1d\x05\xac\x0b\x00\x00\x00\x00\x00\x00\x72\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xba\x0b\x00\x00\xc8\x0b\x00\x00\x82\x0b\xbd\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x05\x1e\x07\xad\x04\x14\x05\x00\x00\x24\x05\x5b\x05\x00\x00\x6b\x05\x95\x08\x7b\x05\x00\x00\x00\x00\xb2\x05\x00\x00\xa4\x02\x00\x00\xe5\x04\xa5\x03\x00\x00\xda\x09\x00\x00\x00\x00\xf9\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x07\x4a\x01\x00\x00\x51\x01\x00\x00\x00\x00\x00\x00\x16\x04\x00\x00\x00\x00\xc2\x05\x00\x00\xa7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x04\x6b\x01\x00\x00\x3d\x01\x00\x00\xd6\x0b\x54\x01\x00\x00\x4d\x01\x00\x00\x79\x02\x00\x00\xe4\x0b\x00\x00\x00\x00\x36\x03\xd3\xff\x00\x00\x00\x00\xe2\x00\x21\x01\xea\x00\x00\x00\x03\x01\x00\x00\x00\x00\x1f\x0b\x27\x04\x6c\x03\x51\x06\xa9\x00\x3b\x05\x00\x00\x00\x00\xe0\x02\x42\x01\x00\x00\x00\x00\x00\x00\x3f\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x06\xc6\x00\xd9\x01\xc8\x00\x00\x00\x1c\x02\x81\x03\x00\x00\x00\x00\x00\x00\xff\x02\x00\x00\x00\x00\x00\x00\x36\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x5e\x01\x00\x00\x00\x00\x00\x00\xd2\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x0b\x68\x01\x00\x0c\x80\x01\xf3\x04\x8a\x04\x09\x06\x00\x00\x00\x00\xd6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13\x00\x00\x00\x0e\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x0c\x00\x00\x00\x00\x16\x00\x00\x00\xff\x04\x03\x05\x00\x00\x00\x00\x70\x06\xc4\x00\x68\x02\x80\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x0c\x00\x00\x38\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x11\x05\x00\x00\x00\x00\x00\x00\x29\x03\xa1\x04\x00\x00\x0e\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf4\x00\xb7\x06\xf2\x01\x2c\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc\x04\x3c\x05\x00\x00\xc7\x06\x03\x00\x00\x00\x00\x00\x00\x00\x46\x0c\x4d\x0b\x2b\x00\x64\x0b\x00\x00\x00\x00\x00\x00\x54\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x05\x00\x00\x00\x00\x00\x00\x00\x00"#

happyAdjustOffset :: Happy_GHC_Exts.Int# -> Happy_GHC_Exts.Int#
happyAdjustOffset :: Int# -> Int#
happyAdjustOffset Int#
off = Int#
off

happyDefActions :: HappyAddr
happyDefActions :: HappyAddr
happyDefActions = Addr# -> HappyAddr
HappyA# Addr#
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8d\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdc\xfe\x8c\xff\x8a\xff\x87\xff\xe4\xfe\xdf\xfe\xdd\xfe\x00\x00\xe9\xfe\xde\xfe\xe6\xfe\xe5\xfe\xe7\xfe\xe8\xfe\x81\xff\x00\x00\x85\xff\x86\xff\x82\xff\x84\xff\x83\xff\x89\xff\x88\xff\x80\xff\x8b\xff\xe3\xfe\xe1\xfe\x00\x00\xe2\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x12\xff\x19\xff\x03\xff\x01\xff\xfe\xfe\x00\x00\xfd\xfe\xfb\xfe\xfa\xfe\x00\x00\x00\x00\x00\x00\xf3\xfe\x8e\xff\x00\x00\x8f\xff\x7d\xff\x79\xff\x00\x00\x64\xff\x72\xff\x7a\xff\x63\xff\x67\xff\x66\xff\x62\xff\x60\xff\x5f\xff\x5e\xff\x5d\xff\x5c\xff\x5b\xff\x5a\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\xff\x00\x00\x00\x00\x29\xff\xa2\xff\xab\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xca\xff\xbb\xff\x00\x00\xcc\xff\x00\x00\xbc\xff\x00\x00\x00\x00\x00\x00\x00\x00\xee\xff\xe9\xff\xed\xff\xd8\xff\xce\xff\xcf\xff\xcd\xff\x00\x00\x00\x00\xd5\xff\x00\x00\xe7\xfe\x00\x00\x00\x00\xcb\xff\x00\x00\xda\xff\x00\x00\x00\x00\xdb\xff\x00\x00\x1b\xff\x00\x00\x00\x00\x20\xff\x00\x00\x00\x00\x2b\xff\x29\xff\x00\x00\x28\xff\x00\x00\x26\xff\x00\x00\x00\x00\x23\xff\x00\x00\xe4\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9d\xff\x00\x00\xa0\xff\x00\x00\x00\x00\x00\x00\x96\xff\x94\xff\x00\x00\x90\xff\x63\xff\x68\xff\x63\xff\x69\xff\x00\x00\xda\xfe\x51\xff\xd9\xfe\x00\x00\x00\x00\x00\x00\x4a\xff\x48\xff\x47\xff\x4f\xff\x3d\xff\x00\x00\x41\xff\x40\xff\x98\xff\x55\xff\x59\xff\x00\x00\x00\x00\x00\x00\x56\xff\x84\xff\x83\xff\x39\xff\x38\xff\x00\x00\x53\xff\x00\x00\x00\x00\x6f\xff\x00\x00\x28\xff\x4c\xff\x4b\xff\x4d\xff\x61\xff\x65\xff\x00\x00\x00\x00\x0a\xff\x00\x00\xeb\xfe\x00\x00\x0c\xff\x15\xff\x00\x00\x00\x00\x00\x00\xf7\xfe\x00\x00\x00\x00\xf2\xfe\xff\xfe\xfd\xfe\x00\x00\x00\xff\x00\x00\x00\x00\x00\x00\x11\xff\x13\xff\x17\xff\x00\x00\x18\xff\xe0\xfe\x00\x00\x00\x00\x00\x00\xdb\xfe\x16\xff\x04\xff\x02\xff\x00\x00\x00\x00\xf1\xfe\xf0\xfe\x00\x00\xf5\xfe\xf6\xfe\x00\x00\xf8\xfe\x00\x00\xfc\xfe\x00\x00\x00\x00\xf4\xfe\x00\x00\x14\xff\x74\xff\x73\xff\x7b\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\xff\x00\x00\x00\x00\x33\xff\x00\x00\x00\x00\x00\x00\x57\xff\x58\xff\x00\x00\x50\xff\x00\x00\x97\xff\x00\x00\x00\x00\x54\xff\x00\x00\x00\x00\x4e\xff\x00\x00\x00\x00\x00\x00\xe4\xfe\xd2\xfe\x00\x00\xd7\xfe\x00\x00\x9f\xff\x00\x00\x00\x00\x91\xff\x00\x00\xb9\xff\xa3\xff\xa2\xff\x00\x00\x99\xff\x9c\xff\x00\x00\x9a\xff\x00\x00\x95\xff\x2a\xff\xb8\xff\x00\x00\x7f\xff\xac\xff\xae\xff\xad\xff\x00\x00\x00\x00\x00\x00\x06\xff\x00\x00\x08\xff\x00\x00\x00\x00\x21\xff\x00\x00\x22\xff\x00\x00\x24\xff\x00\x00\x25\xff\xa1\xff\x00\x00\x00\x00\x1f\xff\x7c\xff\x00\x00\x00\x00\x00\x00\xdc\xff\x00\x00\xd9\xff\x00\x00\x00\x00\x00\x00\x00\x00\xba\xff\x00\x00\xe6\xff\xd0\xff\x00\x00\x00\x00\x00\x00\xd4\xff\xe7\xfe\x00\x00\x00\x00\x00\x00\xf1\xff\xeb\xff\xf0\xff\xea\xff\xef\xff\xba\xff\x00\x00\x00\x00\x00\x00\xd3\xff\xdf\xff\x00\x00\x00\x00\x00\x00\xc2\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd7\xff\xd6\xff\x00\x00\x76\xff\x00\x00\x78\xff\x1a\xff\x1c\xff\x00\x00\x2c\xff\x1e\xff\x1d\xff\x00\x00\xb4\xff\x05\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9e\xff\xb6\xff\x00\x00\x00\x00\x93\xff\x92\xff\x70\xff\xd8\xfe\x00\x00\xd6\xfe\x00\x00\xd4\xfe\xd5\xfe\x49\xff\x46\xff\x3d\xff\x43\xff\x3f\xff\x00\x00\x3c\xff\x3b\xff\x42\xff\x45\xff\x45\xff\x3a\xff\x31\xff\x2f\xff\x00\x00\x34\xff\x37\xff\x00\x00\x44\xff\x6d\xff\x6e\xff\x71\xff\xaa\xff\x00\x00\x09\xff\x0c\xff\xea\xfe\x0b\xff\xec\xfe\x0e\xff\x0f\xff\x10\xff\xee\xfe\xed\xfe\x00\x00\xf9\xfe\xef\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xa9\xff\x35\xff\x00\x00\x00\x00\x00\x00\x00\x00\x32\xff\x3e\xff\xd3\xfe\x00\x00\xd1\xfe\xa1\xff\x9b\xff\xb5\xff\x7e\xff\x00\x00\x00\x00\xb1\xff\x00\x00\xb3\xff\x00\x00\xb7\xff\x77\xff\x75\xff\xc7\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xba\xff\xc4\xff\xba\xff\xc9\xff\xe7\xff\xe8\xff\x00\x00\xe0\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc3\xff\xc8\xff\xa8\xff\x00\x00\x00\x00\xd1\xff\x00\x00\xe1\xff\xc0\xff\xc1\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc5\xff\xb2\xff\xb0\xff\x00\x00\x07\xff\x36\xff\x30\xff\x2e\xff\x2d\xff\x0d\xff\xf3\xff\xaf\xff\xc6\xff\x00\x00\xbf\xff\xbd\xff\x00\x00\x00\x00\xe2\xff\xd2\xff\xa7\xff\x00\x00\xa6\xff\xa5\xff\xe5\xff\x00\x00\xbe\xff\xf2\xff\xe3\xff"#

happyCheck :: HappyAddr
happyCheck :: HappyAddr
happyCheck = Addr# -> HappyAddr
HappyA# Addr#
"\xff\xff\x30\x00\x01\x00\x02\x00\x03\x00\x15\x00\x15\x00\x01\x00\x27\x00\x06\x00\x27\x00\x28\x00\x0b\x00\x0c\x00\x3d\x00\x0e\x00\x0f\x00\x10\x00\x31\x00\x14\x00\x13\x00\x14\x00\x15\x00\x01\x00\x02\x00\x03\x00\x19\x00\x1a\x00\x01\x00\x4a\x00\x1a\x00\x2e\x00\x1a\x00\x0b\x00\x0c\x00\x15\x00\x0e\x00\x0f\x00\x10\x00\x19\x00\x1a\x00\x13\x00\x14\x00\x15\x00\x01\x00\x02\x00\x03\x00\x19\x00\x1a\x00\x5e\x00\x42\x00\x2d\x00\x35\x00\x1a\x00\x0b\x00\x0c\x00\x15\x00\x0e\x00\x0f\x00\x10\x00\x19\x00\x1a\x00\x13\x00\x14\x00\x15\x00\x35\x00\x03\x00\x20\x00\x19\x00\x1a\x00\x4a\x00\x4b\x00\x47\x00\x48\x00\x0b\x00\x0c\x00\x2e\x00\x0e\x00\x0f\x00\x10\x00\x48\x00\x0b\x00\x13\x00\x14\x00\x15\x00\x47\x00\x48\x00\x35\x00\x19\x00\x1a\x00\x5e\x00\x3d\x00\x14\x00\x47\x00\x48\x00\x5e\x00\x5f\x00\x5e\x00\x5e\x00\x5f\x00\x15\x00\x1c\x00\x5e\x00\x5f\x00\x19\x00\x1a\x00\x47\x00\x48\x00\x5e\x00\x5f\x00\x03\x00\x29\x00\x21\x00\x5e\x00\x47\x00\x48\x00\x5e\x00\x5f\x00\x0b\x00\x0c\x00\x65\x00\x0e\x00\x0f\x00\x10\x00\x36\x00\x37\x00\x13\x00\x14\x00\x15\x00\x5e\x00\x5f\x00\x2e\x00\x19\x00\x1a\x00\x47\x00\x48\x00\x16\x00\x5e\x00\x5f\x00\x51\x00\x28\x00\x42\x00\x08\x00\x2b\x00\x0a\x00\x48\x00\x3d\x00\x0d\x00\x1b\x00\x0f\x00\x47\x00\x48\x00\x5e\x00\x13\x00\x14\x00\x15\x00\x32\x00\x5e\x00\x5f\x00\x19\x00\x1a\x00\x0b\x00\x0c\x00\x29\x00\x0e\x00\x0f\x00\x10\x00\x5e\x00\x5f\x00\x13\x00\x14\x00\x15\x00\x1d\x00\x5e\x00\x5f\x00\x19\x00\x1a\x00\x37\x00\x47\x00\x48\x00\x0b\x00\x0c\x00\x42\x00\x0e\x00\x0f\x00\x10\x00\x15\x00\x15\x00\x13\x00\x14\x00\x15\x00\x1d\x00\x07\x00\x48\x00\x19\x00\x1a\x00\x1d\x00\x29\x00\x21\x00\x22\x00\x39\x00\x5e\x00\x5f\x00\x48\x00\x3d\x00\x47\x00\x48\x00\x27\x00\x28\x00\x0b\x00\x0c\x00\x37\x00\x0e\x00\x0f\x00\x10\x00\x5e\x00\x5f\x00\x13\x00\x14\x00\x15\x00\x2a\x00\x47\x00\x48\x00\x19\x00\x1a\x00\x5e\x00\x5f\x00\x1b\x00\x5e\x00\x5f\x00\x0d\x00\x35\x00\x0f\x00\x5e\x00\x48\x00\x60\x00\x13\x00\x14\x00\x15\x00\x48\x00\x47\x00\x48\x00\x19\x00\x1a\x00\x5e\x00\x5f\x00\x0c\x00\x15\x00\x0e\x00\x0f\x00\x10\x00\x19\x00\x1a\x00\x13\x00\x14\x00\x15\x00\x5e\x00\x5f\x00\x20\x00\x19\x00\x1a\x00\x5e\x00\x5f\x00\x5e\x00\x5f\x00\x45\x00\x46\x00\x47\x00\x48\x00\x47\x00\x48\x00\x0c\x00\x48\x00\x0e\x00\x0f\x00\x10\x00\x53\x00\x54\x00\x13\x00\x14\x00\x15\x00\x5c\x00\x15\x00\x5e\x00\x19\x00\x1a\x00\x48\x00\x5e\x00\x47\x00\x48\x00\x5e\x00\x5f\x00\x5e\x00\x5f\x00\x5e\x00\x5f\x00\x2d\x00\x47\x00\x48\x00\x15\x00\x27\x00\x28\x00\x42\x00\x19\x00\x1a\x00\x47\x00\x48\x00\x38\x00\x5e\x00\x5f\x00\x15\x00\x5e\x00\x5f\x00\x16\x00\x19\x00\x1a\x00\x48\x00\x29\x00\x1f\x00\x15\x00\x5e\x00\x5f\x00\x21\x00\x19\x00\x1a\x00\x1f\x00\x23\x00\x28\x00\x5e\x00\x5f\x00\x47\x00\x48\x00\x29\x00\x2a\x00\x28\x00\x2c\x00\x2d\x00\x2e\x00\x5e\x00\x5f\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x19\x00\x47\x00\x48\x00\x15\x00\x01\x00\x5e\x00\x5f\x00\x19\x00\x1a\x00\x01\x00\x15\x00\x24\x00\x47\x00\x48\x00\x19\x00\x1a\x00\x27\x00\x28\x00\x36\x00\x37\x00\x38\x00\x47\x00\x48\x00\x15\x00\x5e\x00\x5f\x00\x1b\x00\x19\x00\x1a\x00\x1e\x00\x1f\x00\x25\x00\x26\x00\x27\x00\x29\x00\x5e\x00\x5f\x00\x5e\x00\x5f\x00\x53\x00\x1b\x00\x62\x00\x01\x00\x1e\x00\x5e\x00\x5f\x00\x1b\x00\x36\x00\x37\x00\x1e\x00\x5e\x00\x5f\x00\x53\x00\x47\x00\x48\x00\x46\x00\x47\x00\x48\x00\x5e\x00\x5f\x00\x47\x00\x48\x00\x62\x00\x5e\x00\x46\x00\x47\x00\x48\x00\x49\x00\x5e\x00\x5f\x00\x28\x00\x48\x00\x62\x00\x47\x00\x48\x00\x53\x00\x5e\x00\x5f\x00\x30\x00\x5e\x00\x5f\x00\x08\x00\x42\x00\x5e\x00\x5f\x00\x48\x00\x5e\x00\x0e\x00\x5e\x00\x5f\x00\x29\x00\x48\x00\x13\x00\x5e\x00\x5f\x00\x53\x00\x5e\x00\x5f\x00\x53\x00\x54\x00\x1b\x00\x24\x00\x25\x00\x26\x00\x27\x00\x53\x00\x5e\x00\x5e\x00\x5f\x00\x5e\x00\x00\x00\x03\x00\x25\x00\x5e\x00\x5f\x00\x05\x00\x5e\x00\x5f\x00\x08\x00\x53\x00\x0a\x00\x0b\x00\x0c\x00\x27\x00\x28\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x29\x00\x5e\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x1a\x00\x1b\x00\x3f\x00\x00\x00\x1e\x00\x1b\x00\x36\x00\x37\x00\x05\x00\x27\x00\x28\x00\x08\x00\x26\x00\x0a\x00\x0b\x00\x0c\x00\x2a\x00\x42\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x29\x00\x5e\x00\x5f\x00\x36\x00\x34\x00\x62\x00\x63\x00\x1a\x00\x1b\x00\x15\x00\x00\x00\x1e\x00\x18\x00\x36\x00\x37\x00\x05\x00\x35\x00\x41\x00\x42\x00\x26\x00\x0a\x00\x0b\x00\x0c\x00\x2a\x00\x05\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x34\x00\x60\x00\x61\x00\x1a\x00\x05\x00\x06\x00\x05\x00\x1e\x00\x07\x00\x0a\x00\x0b\x00\x0c\x00\x1a\x00\x41\x00\x42\x00\x26\x00\x35\x00\x53\x00\x54\x00\x2a\x00\x28\x00\x2e\x00\x00\x00\x2b\x00\x26\x00\x1a\x00\x29\x00\x05\x00\x5e\x00\x34\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\x53\x00\x42\x00\x2e\x00\x29\x00\x2f\x00\x31\x00\x1a\x00\x1b\x00\x05\x00\x28\x00\x1e\x00\x5e\x00\x2b\x00\x0a\x00\x0b\x00\x0c\x00\x36\x00\x37\x00\x26\x00\x3a\x00\x3b\x00\x5e\x00\x2a\x00\x60\x00\x61\x00\x00\x00\x47\x00\x48\x00\x28\x00\x1a\x00\x05\x00\x2b\x00\x34\x00\x08\x00\x36\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x41\x00\x2b\x00\x27\x00\x28\x00\x5e\x00\x5f\x00\x1a\x00\x1b\x00\x26\x00\x27\x00\x1e\x00\x24\x00\x25\x00\x26\x00\x27\x00\x27\x00\x29\x00\x2a\x00\x26\x00\x2c\x00\x2d\x00\x2e\x00\x2a\x00\x29\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x34\x00\x29\x00\x36\x00\x3c\x00\x36\x00\x37\x00\x00\x00\x24\x00\x25\x00\x26\x00\x27\x00\x05\x00\x2e\x00\x41\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\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x28\x00\x1a\x00\x1b\x00\x2b\x00\x3a\x00\x1e\x00\x5e\x00\x5f\x00\x24\x00\x28\x00\x62\x00\x29\x00\x2b\x00\x26\x00\x46\x00\x47\x00\x48\x00\x2a\x00\x00\x00\x5e\x00\x5f\x00\x5e\x00\x5f\x00\x05\x00\x36\x00\x37\x00\x08\x00\x34\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x5e\x00\x5f\x00\x41\x00\x36\x00\x37\x00\x38\x00\x1a\x00\x1b\x00\x2b\x00\x05\x00\x1e\x00\x3e\x00\x3f\x00\x40\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x26\x00\x60\x00\x61\x00\x28\x00\x2a\x00\x24\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x1a\x00\x05\x00\x34\x00\x0a\x00\x0b\x00\x0c\x00\x0a\x00\x0b\x00\x0c\x00\x25\x00\x26\x00\x27\x00\x26\x00\x5e\x00\x5f\x00\x41\x00\x17\x00\x62\x00\x28\x00\x1a\x00\x2e\x00\x2b\x00\x1a\x00\x1e\x00\x47\x00\x48\x00\x24\x00\x25\x00\x26\x00\x27\x00\x25\x00\x26\x00\x27\x00\x27\x00\x26\x00\x2a\x00\x5e\x00\x2c\x00\x60\x00\x61\x00\x2f\x00\x28\x00\x2e\x00\x1f\x00\x33\x00\x34\x00\x29\x00\x5e\x00\x5f\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x01\x00\x36\x00\x37\x00\x04\x00\x05\x00\x06\x00\x30\x00\x05\x00\x27\x00\x0a\x00\x0b\x00\x0c\x00\x0a\x00\x0b\x00\x0c\x00\x5e\x00\x5f\x00\x55\x00\x56\x00\x57\x00\x58\x00\x1f\x00\x5a\x00\x5b\x00\x32\x00\x1a\x00\x5e\x00\x5f\x00\x1a\x00\x1e\x00\x62\x00\x24\x00\x25\x00\x26\x00\x27\x00\x27\x00\x25\x00\x26\x00\x27\x00\x01\x00\x35\x00\x2a\x00\x04\x00\x05\x00\x06\x00\x2b\x00\x5e\x00\x5f\x00\x0a\x00\x0b\x00\x0c\x00\x34\x00\x25\x00\x26\x00\x27\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x1a\x00\x2e\x00\x15\x00\x1d\x00\x1e\x00\x30\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x26\x00\x46\x00\x47\x00\x48\x00\x2a\x00\x32\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x5e\x00\x5f\x00\x34\x00\x0a\x00\x0b\x00\x0c\x00\x1f\x00\x39\x00\x1f\x00\x51\x00\x52\x00\x3d\x00\x2e\x00\x5e\x00\x5f\x00\x16\x00\x17\x00\x01\x00\x2e\x00\x1a\x00\x5c\x00\x5d\x00\x5e\x00\x1e\x00\x27\x00\x5e\x00\x5f\x00\x3e\x00\x3d\x00\x62\x00\x15\x00\x26\x00\x5e\x00\x5f\x00\x2e\x00\x2a\x00\x62\x00\x2c\x00\x64\x00\x25\x00\x2f\x00\x5c\x00\x5d\x00\x5e\x00\x33\x00\x34\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x3b\x00\x3c\x00\x28\x00\x0a\x00\x0b\x00\x0c\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x5e\x00\x17\x00\x60\x00\x61\x00\x1a\x00\x36\x00\x37\x00\x38\x00\x1e\x00\x1f\x00\x30\x00\x2e\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x26\x00\x36\x00\x37\x00\x38\x00\x2a\x00\x5e\x00\x2c\x00\x60\x00\x61\x00\x2f\x00\x3f\x00\x40\x00\x30\x00\x33\x00\x34\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x3b\x00\x3c\x00\x41\x00\x0a\x00\x0b\x00\x0c\x00\x0a\x00\x58\x00\x5e\x00\x5f\x00\x03\x00\x35\x00\x62\x00\x5e\x00\x5f\x00\x35\x00\x17\x00\x62\x00\x41\x00\x1a\x00\x5e\x00\x5f\x00\x05\x00\x1e\x00\x62\x00\x15\x00\x27\x00\x0a\x00\x0b\x00\x0c\x00\x25\x00\x26\x00\x58\x00\x59\x00\x30\x00\x2a\x00\x2e\x00\x2c\x00\x5e\x00\x5f\x00\x2f\x00\x3e\x00\x62\x00\x1a\x00\x33\x00\x34\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x3b\x00\x3c\x00\x15\x00\x0a\x00\x0b\x00\x0c\x00\x05\x00\x06\x00\x2b\x00\x27\x00\x15\x00\x0a\x00\x0b\x00\x0c\x00\x28\x00\x05\x00\x17\x00\x28\x00\x24\x00\x1a\x00\x0a\x00\x0b\x00\x0c\x00\x1e\x00\x25\x00\x26\x00\x27\x00\x1a\x00\x12\x00\x20\x00\x15\x00\x26\x00\x25\x00\x26\x00\x27\x00\x2a\x00\x1a\x00\x2c\x00\x25\x00\x26\x00\x2f\x00\x25\x00\x26\x00\x27\x00\x33\x00\x34\x00\x30\x00\x15\x00\x26\x00\x05\x00\x36\x00\x31\x00\x3b\x00\x3c\x00\x0a\x00\x0b\x00\x0c\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x05\x00\x2e\x00\x4e\x00\x4f\x00\x1a\x00\x0a\x00\x0b\x00\x0c\x00\x1e\x00\x55\x00\x56\x00\x57\x00\x58\x00\x15\x00\x5a\x00\x25\x00\x26\x00\x27\x00\x5e\x00\x5f\x00\x2a\x00\x1a\x00\x62\x00\x1c\x00\x30\x00\x21\x00\x22\x00\x23\x00\x24\x00\x15\x00\x34\x00\x2e\x00\x28\x00\x26\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x29\x00\x2a\x00\x15\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\x29\x00\x2a\x00\x35\x00\x2c\x00\x2d\x00\x2e\x00\x30\x00\x41\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x25\x00\x26\x00\x27\x00\x3c\x00\x12\x00\x13\x00\x14\x00\x05\x00\x26\x00\x42\x00\x25\x00\x2a\x00\x0a\x00\x0b\x00\x0c\x00\x15\x00\x30\x00\x58\x00\x15\x00\x2e\x00\x31\x00\x5e\x00\x5f\x00\x5e\x00\x5f\x00\x62\x00\x15\x00\x62\x00\x1a\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x28\x00\x3f\x00\x5e\x00\x5f\x00\x29\x00\x2a\x00\x62\x00\x2c\x00\x2d\x00\x2e\x00\x2b\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x29\x00\x2a\x00\x31\x00\x2c\x00\x2d\x00\x2e\x00\x36\x00\x15\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x29\x00\x2a\x00\x31\x00\x2c\x00\x2d\x00\x2e\x00\x00\x00\x09\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x25\x00\x26\x00\x27\x00\x28\x00\x22\x00\x5e\x00\x5f\x00\x16\x00\x05\x00\x62\x00\x2e\x00\x17\x00\x05\x00\x0a\x00\x0b\x00\x0c\x00\x39\x00\x0a\x00\x0b\x00\x0c\x00\x2b\x00\x5e\x00\x5f\x00\x39\x00\x5e\x00\x62\x00\x12\x00\x13\x00\x14\x00\x1a\x00\x2e\x00\x1c\x00\x41\x00\x1a\x00\x5c\x00\x5d\x00\x5e\x00\x5e\x00\x5f\x00\x29\x00\x2a\x00\x62\x00\x2c\x00\x2d\x00\x2e\x00\x26\x00\x3b\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x29\x00\x2a\x00\x04\x00\x2c\x00\x2d\x00\x2e\x00\x50\x00\x18\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x29\x00\x2a\x00\x50\x00\x2c\x00\x2d\x00\x2e\x00\x50\x00\x18\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x25\x00\x26\x00\x27\x00\x28\x00\x50\x00\x5e\x00\x5f\x00\x5e\x00\x05\x00\x62\x00\x50\x00\xff\xff\x05\x00\x0a\x00\x0b\x00\x0c\x00\xff\xff\x0a\x00\x0b\x00\x0c\x00\xff\xff\x5e\x00\x5f\x00\x57\x00\x58\x00\x62\x00\x5a\x00\xff\xff\xff\xff\x1a\x00\x5e\x00\x5f\x00\xff\xff\x1a\x00\x62\x00\xff\xff\xff\xff\x5e\x00\x5f\x00\x29\x00\x2a\x00\x62\x00\x2c\x00\x2d\x00\x2e\x00\x26\x00\xff\xff\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x29\x00\x2a\x00\xff\xff\x2c\x00\x2d\x00\x2e\x00\xff\xff\xff\xff\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x29\x00\x2a\x00\xff\xff\x2c\x00\x2d\x00\x2e\x00\xff\xff\x25\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\x5e\x00\x5f\x00\x25\x00\xff\xff\x62\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x31\x00\xff\xff\x5e\x00\x5f\x00\xff\xff\xff\xff\x62\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x5e\x00\x5f\x00\x29\x00\x2a\x00\x62\x00\x2c\x00\x2d\x00\x2e\x00\xff\xff\xff\xff\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x29\x00\x2a\x00\xff\xff\x2c\x00\x2d\x00\x2e\x00\xff\xff\xff\xff\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x29\x00\x2a\x00\xff\xff\x2c\x00\x2d\x00\x2e\x00\xff\xff\x25\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x25\x00\x26\x00\x27\x00\x28\x00\xff\xff\x5e\x00\x5f\x00\x25\x00\xff\xff\x62\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x5e\x00\x5f\x00\xff\xff\xff\xff\x62\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x5e\x00\x5f\x00\x29\x00\x2a\x00\x62\x00\x2c\x00\x2d\x00\x2e\x00\xff\xff\xff\xff\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x29\x00\x2a\x00\xff\xff\x2c\x00\x2d\x00\x2e\x00\xff\xff\xff\xff\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x29\x00\x2a\x00\xff\xff\x2c\x00\x2d\x00\x2e\x00\xff\xff\x25\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x11\x00\x12\x00\x13\x00\x14\x00\xff\xff\x5e\x00\x5f\x00\xff\xff\xff\xff\x62\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x5e\x00\x5f\x00\xff\xff\xff\xff\x62\x00\x11\x00\x12\x00\x13\x00\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5e\x00\x5f\x00\x29\x00\x2a\x00\x62\x00\x2c\x00\x2d\x00\x2e\x00\xff\xff\xff\xff\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x29\x00\x2a\x00\xff\xff\x2c\x00\x2d\x00\x2e\x00\xff\xff\xff\xff\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x29\x00\x2a\x00\xff\xff\x2c\x00\x2d\x00\x2e\x00\xff\xff\xff\xff\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5e\x00\x5f\x00\xff\xff\xff\xff\x62\x00\x46\x00\x47\x00\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5e\x00\x5f\x00\x2e\x00\xff\xff\x62\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x5e\x00\x5f\x00\xff\xff\x5e\x00\x5f\x00\x29\x00\x2a\x00\x62\x00\x2c\x00\x2d\x00\x2e\x00\xff\xff\xff\xff\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x29\x00\x2a\x00\xff\xff\x2c\x00\x2d\x00\x2e\x00\xff\xff\xff\xff\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x5e\x00\x5f\x00\x05\x00\xff\xff\x62\x00\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\xff\xff\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\xff\xff\xff\xff\x5e\x00\x5f\x00\x1a\x00\xff\xff\x62\x00\xff\xff\x1e\x00\x46\x00\x47\x00\x48\x00\x49\x00\x1a\x00\xff\xff\xff\xff\x26\x00\x1e\x00\x5e\x00\x5f\x00\x2a\x00\x05\x00\x62\x00\xff\xff\xff\xff\x26\x00\x0a\x00\x0b\x00\x0c\x00\x2a\x00\x34\x00\x05\x00\x06\x00\x5e\x00\x5f\x00\xff\xff\x0a\x00\x0b\x00\x0c\x00\x34\x00\x3e\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\xff\xff\x3e\x00\xff\xff\xff\xff\x1a\x00\x2a\x00\x26\x00\x2c\x00\x2d\x00\x2e\x00\x2a\x00\xff\xff\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x34\x00\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\x2c\x00\x2d\x00\x2e\x00\xff\xff\x3e\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\x5e\x00\x5f\x00\xff\xff\x05\x00\x62\x00\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\xff\xff\xff\xff\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\x5e\x00\x5f\x00\xff\xff\xff\xff\x62\x00\x1a\x00\xff\xff\xff\xff\x00\x00\x1e\x00\xff\xff\x5e\x00\x5f\x00\x05\x00\xff\xff\x62\x00\xff\xff\x26\x00\x0a\x00\x0b\x00\x0c\x00\x2a\x00\xff\xff\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\x34\x00\xff\xff\x36\x00\x1a\x00\x05\x00\x06\x00\xff\xff\x1e\x00\xff\xff\x0a\x00\x0b\x00\x0c\x00\xff\xff\xff\xff\xff\xff\x26\x00\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\x1a\x00\xff\xff\x05\x00\xff\xff\x34\x00\x08\x00\x36\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\xff\xff\x00\x00\x1e\x00\xff\xff\xff\xff\xff\xff\x05\x00\xff\xff\xff\xff\xff\xff\x26\x00\x0a\x00\x0b\x00\x0c\x00\x2a\x00\x05\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x0a\x00\x0b\x00\x0c\x00\xff\xff\x34\x00\xff\xff\xff\xff\x1a\x00\x12\x00\xff\xff\x00\x00\x1e\x00\xff\xff\xff\xff\xff\xff\x05\x00\x1a\x00\xff\xff\xff\xff\x26\x00\x0a\x00\x0b\x00\x0c\x00\x2a\x00\x2b\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\x34\x00\xff\xff\xff\xff\x1a\x00\xff\xff\xff\xff\x00\x00\x1e\x00\xff\xff\xff\xff\xff\xff\x05\x00\xff\xff\xff\xff\xff\xff\x26\x00\x0a\x00\x0b\x00\x0c\x00\x2a\x00\x2b\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\x34\x00\xff\xff\xff\xff\x1a\x00\x2e\x00\xff\xff\xff\xff\x1e\x00\xff\xff\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x26\x00\x2e\x00\xff\xff\xff\xff\x2a\x00\xff\xff\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\xff\xff\xff\xff\x34\x00\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x05\x00\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0a\x00\x0b\x00\x0c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5e\x00\x5f\x00\x17\x00\xff\xff\x62\x00\x1a\x00\xff\xff\xff\xff\x1a\x00\x1e\x00\xff\xff\xff\xff\x5e\x00\x5f\x00\xff\xff\xff\xff\x62\x00\x26\x00\xff\xff\xff\xff\x26\x00\x2a\x00\xff\xff\x2c\x00\xff\xff\xff\xff\x2f\x00\xff\xff\x2e\x00\xff\xff\x33\x00\x34\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x01\x00\x0a\x00\x0b\x00\x0c\x00\x05\x00\x06\x00\xff\xff\x4f\x00\xff\xff\x0a\x00\x0b\x00\x0c\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x1a\x00\x5a\x00\xff\xff\xff\xff\x1e\x00\x5e\x00\x5f\x00\xff\xff\x1a\x00\x62\x00\xff\xff\xff\xff\x26\x00\xff\xff\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\xff\xff\x26\x00\x2f\x00\xff\xff\xff\xff\x2a\x00\xff\xff\x34\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x1a\x00\xff\xff\xff\xff\xff\xff\x1e\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\xff\xff\x26\x00\x1a\x00\xff\xff\xff\xff\x2a\x00\x1e\x00\x2c\x00\xff\xff\xff\xff\x2f\x00\xff\xff\xff\xff\xff\xff\x26\x00\x34\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x01\x00\x5e\x00\x5f\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x34\x00\x0a\x00\x0b\x00\x0c\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x1a\x00\x05\x00\xff\xff\xff\xff\x1e\x00\xff\xff\x0a\x00\x0b\x00\x0c\x00\xff\xff\xff\xff\xff\xff\x26\x00\x1a\x00\x05\x00\xff\xff\x2a\x00\x1e\x00\xff\xff\x0a\x00\x0b\x00\x0c\x00\x1a\x00\xff\xff\xff\xff\x26\x00\x34\x00\x01\x00\xff\xff\x2a\x00\x04\x00\x05\x00\x06\x00\xff\xff\x26\x00\x1a\x00\x0a\x00\x0b\x00\x0c\x00\x34\x00\x01\x00\xff\xff\x2e\x00\x04\x00\x05\x00\x06\x00\xff\xff\x26\x00\xff\xff\x0a\x00\x0b\x00\x0c\x00\x1a\x00\x05\x00\xff\xff\x2e\x00\x1e\x00\xff\xff\x0a\x00\x0b\x00\x0c\x00\xff\xff\xff\xff\xff\xff\x26\x00\x1a\x00\xff\xff\xff\xff\x2a\x00\x1e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\xff\xff\xff\xff\x26\x00\x34\x00\x01\x00\xff\xff\x2a\x00\x04\x00\x05\x00\x06\x00\xff\xff\x26\x00\xff\xff\x0a\x00\x0b\x00\x0c\x00\x34\x00\x01\x00\xff\xff\x2e\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x1a\x00\xff\xff\xff\xff\xff\xff\x1e\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\x5b\x00\x26\x00\x1a\x00\x5e\x00\x5f\x00\x2a\x00\x1e\x00\x62\x00\xff\xff\xff\xff\x65\x00\x66\x00\xff\xff\xff\xff\x26\x00\x34\x00\x01\x00\xff\xff\x2a\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x34\x00\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x1a\x00\xff\xff\xff\xff\xff\xff\x1e\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\x26\x00\x1a\x00\x5e\x00\x5f\x00\x2a\x00\x1e\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x26\x00\x34\x00\x01\x00\xff\xff\x2a\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x34\x00\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x1a\x00\xff\xff\xff\xff\xff\xff\x1e\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\x26\x00\x1a\x00\x5e\x00\x5f\x00\x2a\x00\x1e\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x26\x00\x34\x00\x01\x00\xff\xff\x2a\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x34\x00\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x1a\x00\x36\x00\x37\x00\x38\x00\x1e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x3e\x00\x3f\x00\x40\x00\x26\x00\x1a\x00\xff\xff\xff\xff\x2a\x00\x1e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x26\x00\x34\x00\x01\x00\x05\x00\x2a\x00\x04\x00\x05\x00\x06\x00\x0a\x00\x0b\x00\x0c\x00\x0a\x00\x0b\x00\x0c\x00\x34\x00\xff\xff\x5e\x00\x5f\x00\xff\xff\xff\xff\x62\x00\xff\xff\xff\xff\xff\xff\x1a\x00\xff\xff\xff\xff\x1a\x00\x1e\x00\x1f\x00\xff\xff\x1e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x26\x00\xff\xff\xff\xff\x26\x00\x2a\x00\x05\x00\xff\xff\x2a\x00\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\xff\xff\x34\x00\xff\xff\x05\x00\x34\x00\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\xff\xff\xff\xff\x1a\x00\xff\xff\xff\xff\x05\x00\x1e\x00\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x1a\x00\x26\x00\x27\x00\x05\x00\x1e\x00\x2a\x00\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\xff\xff\x26\x00\x1a\x00\xff\xff\x34\x00\x2a\x00\x1e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\x1a\x00\x26\x00\x34\x00\xff\xff\x1e\x00\x2a\x00\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\x26\x00\xff\xff\xff\xff\x34\x00\x2a\x00\x05\x00\xff\xff\xff\xff\x2e\x00\xff\xff\x0a\x00\x0b\x00\x0c\x00\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x1a\x00\xff\xff\xff\xff\xff\xff\x1e\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\x26\x00\xff\xff\x5e\x00\x5f\x00\x2a\x00\x15\x00\x62\x00\xff\xff\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\x34\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\xff\xff\x27\x00\x28\x00\x29\x00\xff\xff\x2b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x17\x00\xff\xff\xff\xff\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x25\x00\x42\x00\xff\xff\x17\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\x25\x00\xff\xff\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x30\x00\xff\xff\xff\xff\x33\x00\x17\x00\xff\xff\xff\xff\xff\xff\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x25\x00\xff\xff\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\xff\xff\x30\x00\x5e\x00\x5f\x00\x33\x00\xff\xff\x62\x00\xff\xff\xff\xff\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x25\x00\xff\xff\xff\xff\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\x42\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\xff\xff\xff\xff\x5e\x00\x5f\x00\xff\xff\xff\xff\x62\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\xff\xff\xff\xff\x5e\x00\x5f\x00\xff\xff\xff\xff\x62\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\xff\xff\xff\xff\x5e\x00\x5f\x00\xff\xff\xff\xff\x62\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\xff\xff\xff\xff\x5e\x00\x5f\x00\xff\xff\xff\xff\x62\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\xff\xff\x4f\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\x62\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\xff\xff\xff\xff\x5e\x00\x5f\x00\x50\x00\xff\xff\x62\x00\xff\xff\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\xff\xff\xff\xff\x5e\x00\x5f\x00\xff\xff\xff\xff\x62\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\xff\xff\xff\xff\x5e\x00\x5f\x00\xff\xff\xff\xff\x62\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\xff\xff\xff\xff\x5e\x00\x5f\x00\xff\xff\xff\xff\x62\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\xff\xff\xff\xff\x5e\x00\x5f\x00\xff\xff\xff\xff\x62\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\xff\xff\xff\xff\x5e\x00\x5f\x00\xff\xff\xff\xff\x62\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\xff\xff\xff\xff\x5e\x00\x5f\x00\xff\xff\xff\xff\x62\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\xff\xff\xff\xff\x5e\x00\x5f\x00\xff\xff\xff\xff\x62\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\xff\xff\xff\xff\x5e\x00\x5f\x00\xff\xff\xff\xff\x62\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\xff\xff\xff\xff\x5e\x00\x5f\x00\xff\xff\xff\xff\x62\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\xff\xff\xff\xff\x5e\x00\x5f\x00\xff\xff\xff\xff\x62\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\xff\xff\xff\xff\x5e\x00\x5f\x00\xff\xff\xff\xff\x62\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\xff\xff\xff\xff\x5e\x00\x5f\x00\xff\xff\xff\xff\x62\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\xff\xff\xff\xff\x5e\x00\x5f\x00\xff\xff\xff\xff\x62\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\xff\xff\xff\xff\x5e\x00\x5f\x00\xff\xff\xff\xff\x62\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\xff\xff\xff\xff\x5e\x00\x5f\x00\xff\xff\xff\xff\x62\x00\x55\x00\x56\x00\x57\x00\x58\x00\xff\xff\x5a\x00\xff\xff\xff\xff\xff\xff\x5e\x00\x5f\x00\xff\xff\xff\xff\x62\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"#

happyTable :: HappyAddr
happyTable :: HappyAddr
happyTable = Addr# -> HappyAddr
HappyA# Addr#
"\x00\x00\x5d\x01\x7e\x00\x7f\x00\x80\x00\x94\x00\x02\x01\xc6\x00\x19\x02\x25\x02\x5e\x01\x5b\x01\x81\x00\x82\x00\xae\x00\x83\x00\x84\x00\x85\x00\xd8\x01\x7d\x00\x86\x00\x87\x00\x88\x00\xd6\x01\x7f\x00\x80\x00\x5f\x00\x60\x00\xc6\x00\x93\x01\x3f\x01\x6d\x01\xc7\x00\x81\x00\x82\x00\x6e\x00\x83\x00\x84\x00\x85\x00\x5f\x00\x60\x00\x86\x00\x87\x00\x88\x00\x21\x02\x7f\x00\x80\x00\x5f\x00\x60\x00\x96\x00\xff\xff\xc8\x00\x7e\x00\xc7\x00\x81\x00\x82\x00\x5e\x00\x83\x00\x84\x00\x85\x00\x5f\x00\x60\x00\x86\x00\x87\x00\x88\x00\x72\x00\x7c\x01\x61\x00\x5f\x00\x60\x00\x94\x00\x95\x00\x62\x00\x63\x00\x7d\x01\x82\x00\xad\x00\x83\x00\x84\x00\x85\x00\x4a\x01\xff\x01\x86\x00\x87\x00\x88\x00\x62\x00\x63\x00\x5e\x00\x5f\x00\x60\x00\x96\x00\xae\x00\x0e\x00\x62\x00\x63\x00\x12\x00\x64\x00\x26\x02\x12\x00\x40\x01\xb6\x00\x45\x01\x12\x00\x9d\x00\x5f\x00\x60\x00\x62\x00\x63\x00\x12\x00\x64\x00\x7a\x01\xe4\xff\xb7\x00\xe2\x01\x62\x00\x63\x00\x12\x00\x64\x00\x7b\x01\x82\x00\xe3\x01\x83\x00\x84\x00\x85\x00\xe4\xff\xe4\xff\x86\x00\x87\x00\x88\x00\x12\x00\x64\x00\x1b\x01\x5f\x00\x60\x00\x62\x00\x63\x00\x51\x00\x12\x00\x64\x00\xc8\x01\x61\x01\xff\xff\x72\x00\x62\x01\x73\x00\x39\x01\xae\x00\x74\x00\xbd\x00\x75\x00\x62\x00\x63\x00\xc9\x01\x76\x00\x77\x00\x78\x00\xfa\x00\x12\x00\x64\x00\x5f\x00\x60\x00\x91\x00\x82\x00\x78\x01\x83\x00\x84\x00\x85\x00\x12\x00\x9d\x00\x86\x00\x87\x00\x88\x00\xce\x01\x12\x00\x64\x00\x5f\x00\x60\x00\x79\x01\x62\x00\x63\x00\x85\x01\x82\x00\xff\xff\x83\x00\x84\x00\x85\x00\x94\x00\x94\x00\x86\x00\x87\x00\x88\x00\x42\x01\xe0\x00\xb1\x00\x5f\x00\x60\x00\xa3\x01\x66\x01\xdf\x01\xe0\x01\xcf\x01\x12\x00\x64\x00\x39\x01\xd0\x01\x62\x00\x63\x00\x5c\x01\x59\x01\x03\x02\x82\x00\x68\x01\x83\x00\x84\x00\x85\x00\x12\x00\x9d\x00\x86\x00\x87\x00\x88\x00\x64\x01\x62\x00\x63\x00\x5f\x00\x60\x00\x12\x00\x9d\x00\xff\x01\x12\x00\x64\x00\x90\x00\x65\x01\x75\x00\x27\x00\x43\x01\xfe\x00\x76\x00\x77\x00\x78\x00\x43\x01\x62\x00\x63\x00\x5f\x00\x60\x00\x12\x00\x64\x00\x8e\x01\x5e\x00\x83\x00\x84\x00\x85\x00\x5f\x00\x60\x00\x86\x00\x87\x00\x88\x00\x12\x00\x9d\x00\x91\x01\x5f\x00\x60\x00\x12\x00\x9d\x00\x12\x00\x64\x00\x1b\x02\xbe\x01\x9a\x00\x9b\x00\x62\x00\x63\x00\x8d\x01\xb1\x00\x83\x00\x84\x00\x85\x00\x52\x01\x53\x01\x86\x00\x87\x00\x88\x00\xca\x01\x94\x00\x0a\x01\x5f\x00\x60\x00\xe5\x01\x54\x01\x62\x00\x63\x00\x12\x00\x9d\x00\x12\x00\x64\x00\x12\x00\x9d\x00\x31\x01\x62\x00\x63\x00\xae\x00\x27\x01\x28\x01\xff\xff\x5f\x00\x60\x00\x62\x00\x63\x00\x32\x01\x12\x00\x9d\x00\xb6\x00\x12\x00\x64\x00\x3c\x00\x5f\x00\x60\x00\x39\x01\xb6\x00\x5a\x01\x74\x01\x12\x00\x64\x00\x8f\x01\x5f\x00\x60\x00\x58\x01\x3d\x00\x5b\x01\x12\x00\x64\x00\x62\x00\x63\x00\x3e\x00\x3f\x00\x59\x01\x40\x00\x41\x00\x42\x00\x12\x00\x9d\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x1c\x01\x62\x00\x63\x00\xa8\x01\xab\x00\x12\x00\x64\x00\x5f\x00\x60\x00\xaa\x00\xa7\x01\x1d\x01\x62\x00\x63\x00\x5f\x00\x60\x00\x26\x01\x20\x01\xe1\x00\x49\x00\x4a\x00\x62\x00\x63\x00\xae\x00\x12\x00\x64\x00\xaf\x00\x5f\x00\x60\x00\x2a\x01\x2b\x01\x98\x00\x10\x00\x11\x00\x66\x01\x12\x00\x64\x00\x12\x00\x13\x00\xa3\x00\xaf\x00\x4b\x00\xa9\x00\xb0\x00\x12\x00\x64\x00\xaf\x00\x67\x01\x68\x01\x19\x01\xa4\x00\xa5\x00\x9b\x01\x62\x00\x63\x00\x98\x01\x9a\x00\x9b\x00\x12\x00\x13\x00\x62\x00\x63\x00\x4b\x00\x54\x01\x99\x00\x9a\x00\x9b\x00\x9c\x00\x12\x00\x13\x00\xb4\x00\xb1\x00\x80\x01\x62\x00\x63\x00\x99\x01\x12\x00\x64\x00\xb5\x00\x12\x00\x9d\x00\x72\x01\xff\xff\x12\x00\x64\x00\xb1\x00\x54\x01\x73\x01\x12\x00\x9d\x00\x90\x00\xb1\x00\x74\x01\x12\x00\x9d\x00\x9b\x01\x12\x00\x64\x00\x52\x01\x9d\x01\x8f\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x50\x01\x54\x01\x12\x00\x9d\x00\x54\x01\x66\x00\x8e\x00\x1d\x00\x12\x00\x9d\x00\x17\x00\xa4\x00\x51\x01\x7a\x00\xe9\x01\x19\x00\x1a\x00\x1b\x00\x0f\x01\x10\x01\x67\x00\x68\x00\x69\x00\x6a\x00\x3c\x01\x54\x01\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x1c\x00\xba\xff\x26\x00\x66\x00\x6b\x00\x8f\x00\x3d\x01\x3e\x01\x17\x00\x0d\x01\x0e\x01\x7a\x00\x6c\x00\x19\x00\x1a\x00\x1b\x00\x6d\x00\xff\xff\x67\x00\x68\x00\x69\x00\x6a\x00\x66\x01\x12\x00\x13\x00\x7a\x01\x6e\x00\x14\x00\x15\x00\x1c\x00\xba\xff\x94\x00\x66\x00\x6b\x00\x1e\x01\xfb\x01\x68\x01\x17\x00\x6f\x01\x7b\x00\xdd\xff\x6c\x00\x19\x00\x1a\x00\x1b\x00\x6d\x00\x17\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x19\x00\x1a\x00\x1b\x00\x27\x00\x6e\x00\x28\x00\x29\x00\x1c\x00\x17\x00\x2b\x00\xfc\x01\x6b\x00\xfd\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x7b\x00\xde\xff\x6c\x00\x6e\x01\x52\x01\x01\x02\x6d\x00\x15\x01\x60\x01\x66\x00\x16\x01\xa8\x00\x1c\x00\x69\x01\x17\x00\x54\x01\x6e\x00\xba\xff\x8a\x00\x19\x00\x1a\x00\x8b\x00\x8c\x00\xba\xff\x67\x00\x68\x00\x69\x00\x6a\x00\xba\xff\x9b\x01\xff\xff\xb7\x01\xf8\x01\x2c\x00\xb8\x01\x1c\x00\xba\xff\x17\x00\x13\x01\x6b\x00\x54\x01\x14\x01\x19\x00\x1a\x00\x1b\x00\xf9\x01\xfa\x01\x6c\x00\xc3\x00\xc4\x00\x27\x00\x6d\x00\x28\x00\x00\x01\x66\x00\xdc\x00\x9b\x00\x10\x01\x1c\x00\x17\x00\xb0\x01\x6e\x00\xba\xff\xec\xff\x19\x00\x1a\x00\x8b\x00\x8c\x00\xba\xff\x67\x00\x68\x00\x69\x00\x6a\x00\xba\xff\x7b\x00\xeb\x00\x2d\x02\x2e\x02\x12\x00\xdd\x00\x1c\x00\xba\xff\xab\x00\x11\x00\x6b\x00\xcf\x00\x0f\x00\x10\x00\x11\x00\x5f\x01\xd0\x00\x3f\x00\x6c\x00\x40\x00\x41\x00\x42\x00\x6d\x00\x3c\x01\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x6e\x00\x48\x01\x93\x00\xd1\x00\xf1\x01\x3e\x01\x66\x00\xff\x00\x0f\x00\x10\x00\x11\x00\x17\x00\x45\x01\x7b\x00\xba\xff\x8a\x00\x19\x00\x1a\x00\x8b\x00\x8c\x00\xba\xff\x67\x00\x68\x00\x69\x00\x6a\x00\xba\xff\x1a\x02\xbd\x01\xbe\x01\x9a\x00\x9b\x00\x0e\x01\x1c\x00\xba\xff\xaf\x01\x30\x01\x6b\x00\x12\x00\x13\x00\x2f\x01\xac\x01\x4b\x00\x66\x01\xad\x01\x6c\x00\x97\x01\x9a\x00\x9b\x00\x6d\x00\x66\x00\x12\x00\x69\x01\x12\x00\x9d\x00\x17\x00\x07\x02\x68\x01\xba\xff\x6e\x00\x19\x00\x1a\x00\x8b\x00\x8c\x00\xba\xff\x67\x00\x68\x00\x69\x00\x6a\x00\xba\xff\x12\x00\x9d\x00\x7b\x00\xb2\x01\x49\x00\x4a\x00\x1c\x00\xba\xff\x2e\x01\x17\x00\x6b\x00\xb8\x01\xcb\x00\xcc\x00\x19\x00\x1a\x00\x1b\x00\x27\x00\x6c\x00\x28\x00\x8c\x00\x2d\x01\x6d\x00\x2a\x01\x4d\x00\x4e\x00\x4f\x00\x50\x00\x17\x00\x18\x00\x1c\x00\x17\x00\x6e\x00\x19\x00\x1a\x00\x1b\x00\x19\x00\x1a\x00\x1b\x00\xf7\x00\x10\x00\x11\x00\xa8\x00\x12\x00\x13\x00\x7b\x00\x52\x00\x4b\x00\x13\x01\x1c\x00\x56\x01\x2c\x02\x1c\x00\x53\x00\x48\x01\x9b\x00\xeb\x00\x0f\x00\x10\x00\x11\x00\x1d\x00\x54\x00\xd3\x00\x29\x01\xa8\x00\x55\x00\x27\x00\x56\x00\x28\x00\x6f\x01\x57\x00\x20\x01\x9f\x01\x1f\x01\x58\x00\x59\x00\xf8\x01\x12\x00\x9d\x00\x1f\x00\x20\x00\x21\x00\xd4\x00\xd5\x00\x24\x00\x25\x00\x26\x00\x27\x00\x37\x00\x06\x02\xfa\x01\x38\x00\x17\x00\x18\x00\x12\x01\x17\x00\x11\x01\x19\x00\x1a\x00\x1b\x00\x19\x00\x1a\x00\x1b\x00\x12\x00\x81\x01\xec\x00\x31\x00\x32\x00\x33\x00\x0a\x01\x34\x00\xed\x00\xfa\x00\x1c\x00\x12\x00\x13\x00\x1c\x00\x39\x00\x35\x00\xe3\x00\x0f\x00\x10\x00\x11\x00\x03\x01\x1d\x00\x3a\x00\xef\x00\x37\x00\xd6\x01\xf0\x00\x38\x00\x17\x00\x18\x00\x98\x00\x12\x00\xf5\x01\x19\x00\x1a\x00\x1b\x00\x3c\x00\x56\x01\x10\x00\x11\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x1c\x00\x42\x00\x02\x01\xce\x01\x39\x00\xd3\x01\xbb\x00\xbc\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x3a\x00\x94\x01\x9a\x00\x9b\x00\xf0\x00\xfa\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x17\x00\x18\x00\x12\x00\x0f\x02\x3c\x00\x19\x00\x1a\x00\x1b\x00\xd5\x01\xcf\x01\xd4\x01\xe5\x00\xe6\x00\xd0\x01\xc8\x01\x12\x00\x9d\x00\x51\x00\x52\x00\xb2\x01\xae\x01\x1c\x00\xe7\x00\xe8\x00\xe9\x00\x53\x00\xab\x01\x12\x00\x13\x00\xa6\x01\xae\x00\x4b\x00\x94\x00\x54\x00\x12\x00\x13\x00\xa3\x01\x55\x00\xbe\x00\x56\x00\xbf\x00\x1d\x00\x57\x00\xe7\x00\xe8\x00\x0a\x01\x58\x00\x59\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x17\x00\x18\x00\x5a\x00\x5b\x00\xa2\x01\x19\x00\x1a\x00\x1b\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x27\x00\x52\x00\x28\x00\x89\x01\x1c\x00\xc8\x00\x49\x00\x4a\x00\x53\x00\xd9\x00\xa1\x01\x96\x01\xc9\x00\xca\x00\xcb\x00\xcc\x00\x54\x00\xb2\x01\x49\x00\x4a\x00\x55\x00\x27\x00\x56\x00\x28\x00\xfb\x01\x57\x00\xb4\x01\xcc\x00\x8d\x01\x58\x00\x59\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x17\x00\x18\x00\x5a\x00\x5b\x00\x7b\x00\x19\x00\x1a\x00\x1b\x00\x85\x01\xf5\x00\x12\x00\x13\x00\x83\x01\x80\x01\x4b\x00\x12\x00\x13\x00\x7f\x01\x52\x00\xf3\x00\x7b\x00\x1c\x00\x12\x00\x13\x00\x17\x00\x53\x00\x4b\x00\xf5\x01\xf4\x01\x19\x00\x1a\x00\x1b\x00\xc2\x01\x54\x00\xf1\x00\xf2\x00\xf3\x01\x55\x00\xee\x01\x56\x00\x12\x00\x13\x00\x57\x00\xa6\x01\xf3\x00\x1c\x00\x58\x00\x59\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x17\x00\x18\x00\x5a\x00\x5b\x00\x94\x00\x19\x00\x1a\x00\x1b\x00\x17\x00\x18\x00\x0c\x01\xe5\x01\x94\x00\x19\x00\x1a\x00\x1b\x00\x2d\x01\x17\x00\x52\x00\xdd\x01\xde\x01\x1c\x00\x19\x00\x1a\x00\x1b\x00\x53\x00\xa6\x01\x10\x00\x11\x00\x1c\x00\x6b\x01\xdc\x01\x94\x00\x54\x00\x9f\x01\x10\x00\x11\x00\x55\x00\x1c\x00\x56\x00\x1d\x00\x1e\x00\x57\x00\x8a\x01\x10\x00\x11\x00\x58\x00\x59\x00\xd9\x01\x94\x00\x6c\x01\x17\x00\x1f\x02\xd8\x01\x5a\x00\x5b\x00\x19\x00\x1a\x00\x1b\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x17\x00\xae\x01\xfc\x00\x2f\x00\x1c\x00\x19\x00\x1a\x00\x1b\x00\x6b\x00\xfd\x00\x31\x00\x32\x00\x33\x00\x94\x00\x34\x00\x1d\x00\x9f\x00\xa0\x00\x12\x00\x13\x00\x6d\x00\x1c\x00\x35\x00\xa7\x00\x14\x02\x21\x01\x22\x01\x23\x01\x24\x01\x94\x00\x6e\x00\x18\x02\x25\x01\xa8\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\xd9\x00\x3f\x00\x94\x00\x40\x00\x41\x00\x42\x00\xda\x00\xdb\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xd5\x00\x3f\x00\x13\x02\x40\x00\x41\x00\x42\x00\x12\x02\x7b\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xe7\x01\x10\x00\x11\x00\xd6\x00\x0e\x02\x76\x00\x88\x01\x17\x00\x0d\x02\xd7\x00\x28\xff\x09\x02\x19\x00\x1a\x00\x1b\x00\x94\x00\x25\x02\x08\x01\x94\x00\x28\xff\xd8\x01\x12\x00\x13\x00\x12\x00\x13\x00\x4b\x00\x94\x00\xf3\x00\x1c\x00\x28\xff\x28\xff\x28\xff\x28\xff\x28\xff\x28\xff\xdd\x01\x28\xff\x12\x00\x13\x00\xd9\x00\x3f\x00\x4b\x00\x40\x00\x41\x00\x42\x00\x2b\x02\xc4\x01\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x6f\x00\x3f\x00\xd8\x01\x40\x00\x41\x00\x42\x00\x30\x02\x94\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x49\x01\x3f\x00\xd8\x01\x40\x00\x41\x00\x42\x00\x7b\x00\x70\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x01\x10\x00\x11\x00\x4e\x01\x5c\x00\x12\x00\x13\x00\x5b\x00\x17\x00\x4b\x00\xe2\x00\x70\x01\x17\x00\x19\x00\x1a\x00\x1b\x00\xe0\x00\x19\x00\x1a\x00\x1b\x00\x62\x01\x12\x00\x13\x00\xde\x00\x4f\x01\x4b\x00\x0d\x02\x76\x00\x88\x01\x1c\x00\xe2\x00\x11\x02\xb5\x01\x1c\x00\xe7\x00\x29\x02\x0a\x01\x12\x00\x13\x00\xc6\x01\x3f\x00\x4b\x00\x40\x00\x41\x00\x42\x00\x42\x01\xb0\x01\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xc3\x01\x3f\x00\x83\x01\x40\x00\x41\x00\x42\x00\xe8\x01\x07\x02\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xc2\x01\x3f\x00\x1d\x02\x40\x00\x41\x00\x42\x00\xcb\x01\x28\x02\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x01\x10\x00\x11\x00\x4d\x01\x14\x02\x12\x00\x13\x00\x30\x02\x17\x00\x4b\x00\x2e\x02\x00\x00\x17\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x12\x00\x13\x00\x05\x01\x33\x00\x4b\x00\x34\x00\x00\x00\x00\x00\x1c\x00\x12\x00\x13\x00\x00\x00\x1c\x00\x35\x00\x00\x00\x00\x00\x12\x00\x13\x00\xc0\x01\x3f\x00\x4b\x00\x40\x00\x41\x00\x42\x00\xa8\x00\x00\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xbf\x01\x3f\x00\x00\x00\x40\x00\x41\x00\x42\x00\x00\x00\x00\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xba\x01\x3f\x00\x00\x00\x40\x00\x41\x00\x42\x00\x00\x00\x1d\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\xe5\x00\x00\x00\x00\x00\x12\x00\x13\x00\x1d\x00\x00\x00\x4b\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xf9\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x4b\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\xb9\x01\x3f\x00\x4b\x00\x40\x00\x41\x00\x42\x00\x00\x00\x00\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xa4\x01\x3f\x00\x00\x00\x40\x00\x41\x00\x42\x00\x00\x00\x00\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xee\x01\x3f\x00\x00\x00\x40\x00\x41\x00\x42\x00\x00\x00\x1d\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x01\x10\x00\x11\x00\x4c\x01\x00\x00\x12\x00\x13\x00\x08\xff\x00\x00\x4b\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x4b\x00\x08\xff\x08\xff\x08\xff\x08\xff\x08\xff\x08\xff\x08\xff\x08\xff\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\xe6\x01\x3f\x00\x4b\x00\x40\x00\x41\x00\x42\x00\x00\x00\x00\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xe0\x01\x3f\x00\x00\x00\x40\x00\x41\x00\x42\x00\x00\x00\x00\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xda\x01\x3f\x00\x00\x00\x40\x00\x41\x00\x42\x00\x00\x00\x1d\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x86\x01\x87\x01\x76\x00\x88\x01\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x4b\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x4b\x00\x04\x02\x87\x01\x76\x00\x88\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\xd9\x01\x3f\x00\x4b\x00\x40\x00\x41\x00\x42\x00\x00\x00\x00\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x1c\x02\x3f\x00\x00\x00\x40\x00\x41\x00\x42\x00\x00\x00\x00\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x19\x02\x3f\x00\x00\x00\x40\x00\x41\x00\x42\x00\x00\x00\x00\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x4b\x00\xa0\x00\x9a\x00\x9b\x00\xa1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x42\x00\x00\x00\x4b\x00\x17\x01\x18\x01\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x12\x00\x9d\x00\x00\x00\x12\x00\x13\x00\x0a\x02\x3f\x00\x4b\x00\x40\x00\x41\x00\x42\x00\x00\x00\x00\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x27\x02\x3f\x00\x00\x00\x40\x00\x41\x00\x42\x00\x00\x00\x00\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x12\x00\x13\x00\x17\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x12\x00\x13\x00\x1c\x00\x00\x00\x4b\x00\x00\x00\x6b\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x1c\x00\x00\x00\x00\x00\x9f\x00\x6b\x00\x12\x00\x13\x00\x6d\x00\x17\x00\x4b\x00\x00\x00\x00\x00\x9f\x00\x19\x00\x1a\x00\x1b\x00\x6d\x00\x6e\x00\x17\x00\x2b\x00\x12\x00\x9d\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x6e\x00\xb3\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x00\x00\x00\x00\x47\x01\x00\x00\x00\x00\x1c\x00\xc5\x01\x9f\x00\x40\x00\x41\x00\x42\x00\x6d\x00\x00\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x6e\x00\x00\x00\x00\x00\x00\x00\xa9\x01\x00\x00\x40\x00\x41\x00\x42\x00\x00\x00\xb3\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x42\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb9\x00\xba\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x00\x00\x00\x12\x00\x13\x00\x00\x00\x17\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x4b\x00\x1c\x00\x00\x00\x00\x00\x66\x00\x6b\x00\x00\x00\x12\x00\x13\x00\x17\x00\x00\x00\x4b\x00\x00\x00\x6c\x00\x19\x00\x1a\x00\x1b\x00\x6d\x00\x00\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\xb9\x00\x1c\x00\x17\x00\x18\x00\x00\x00\x6b\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x66\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x17\x00\x00\x00\x6e\x00\xbb\xff\x91\x01\x19\x00\x1a\x00\x76\x01\x77\x01\xbb\xff\x67\x00\x68\x00\x69\x00\x6a\x00\xbb\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\xbb\xff\x00\x00\x66\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x19\x00\x1a\x00\x1b\x00\x6d\x00\x17\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x1c\x00\xf7\x01\x00\x00\x66\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x17\x00\x1c\x00\x00\x00\x00\x00\x6c\x00\x19\x00\x1a\x00\x1b\x00\x6d\x00\x93\x01\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x66\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x19\x00\x1a\x00\x1b\x00\x6d\x00\xf0\x01\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x1c\x00\x42\x00\x00\x00\x00\x00\x6b\x00\x00\x00\xbb\x00\xbc\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x6c\x00\x42\x00\x00\x00\x00\x00\x6d\x00\x00\x00\xb9\x00\xba\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x17\x00\x18\x00\x00\x00\x17\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x52\x00\x00\x00\x4b\x00\x1c\x00\x00\x00\x00\x00\x1c\x00\x53\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x4b\x00\x54\x00\x00\x00\x00\x00\xa8\x00\x55\x00\x00\x00\x56\x00\x00\x00\x00\x00\x57\x00\x00\x00\x9d\x01\x00\x00\x58\x00\x59\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x17\x00\x18\x00\x00\x00\x00\x00\xc1\x00\x19\x00\x1a\x00\x1b\x00\x17\x00\x18\x00\x00\x00\xfa\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\xfb\x00\x31\x00\x32\x00\x33\x00\x1c\x00\x34\x00\x00\x00\x00\x00\x53\x00\x12\x00\x13\x00\x00\x00\x1c\x00\x35\x00\x00\x00\x00\x00\x54\x00\x00\x00\x00\x00\x00\x00\x55\x00\xce\x00\x56\x00\x00\x00\xc2\x00\x57\x00\x00\x00\x00\x00\xc3\x00\x00\x00\xcf\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x37\x00\x00\x00\x00\x00\x38\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x53\x00\xbb\x01\xbc\x01\xbd\x01\xbe\x01\x9a\x00\x9b\x00\x00\x00\x54\x00\x1c\x00\x00\x00\x00\x00\x55\x00\x39\x00\x56\x00\x00\x00\x00\x00\x57\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x59\x00\x00\x00\x00\x00\xf0\x00\x38\x01\x37\x00\x12\x00\x9d\x00\x38\x00\x17\x00\x18\x00\x00\x00\x00\x00\x3c\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x37\x00\x00\x00\x00\x00\x38\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x17\x00\x00\x00\x00\x00\x39\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x1c\x00\x17\x00\x00\x00\x3b\x00\x39\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x3a\x00\x3c\x00\x37\x00\x00\x00\xf0\x00\x38\x00\x17\x00\x18\x00\x00\x00\xa8\x00\x1c\x00\x19\x00\x1a\x00\x1b\x00\x3c\x00\x37\x00\x00\x00\x03\x02\x38\x00\x17\x00\x18\x00\x00\x00\xa8\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x17\x00\x00\x00\xec\x01\xf7\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x1c\x00\x00\x00\x00\x00\xf0\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x3a\x00\x3c\x00\x37\x00\x00\x00\xf0\x00\x38\x00\x17\x00\x18\x00\x00\x00\xa8\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x3c\x00\x37\x00\x00\x00\x0a\x02\x38\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x39\x00\x32\x01\x31\x00\x32\x00\x33\x00\x00\x00\x34\x00\x33\x01\x3a\x00\x1c\x00\x34\x01\x13\x00\xf0\x00\x39\x00\x35\x00\x00\x00\x00\x00\x35\x01\x36\x01\x00\x00\x00\x00\x3a\x00\x3c\x00\x37\x00\x00\x00\x3b\x00\x38\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x3c\x00\x37\x00\x00\x00\x00\x00\x38\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x39\x00\xf0\x00\x31\x00\x32\x00\x33\x00\x00\x00\x34\x00\x00\x00\x3a\x00\x1c\x00\x12\x00\x13\x00\xf0\x00\xf5\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x3c\x00\x37\x00\x00\x00\xf0\x00\x38\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x3c\x00\x37\x00\x00\x00\x00\x00\x38\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x39\x00\x38\x01\x31\x00\x32\x00\x33\x00\x00\x00\x34\x00\x00\x00\x3a\x00\x1c\x00\x12\x00\x13\x00\xf0\x00\x39\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x3c\x00\x37\x00\x00\x00\x3b\x00\x38\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x3c\x00\x37\x00\x00\x00\x00\x00\x38\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xb2\x01\x49\x00\x4a\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb3\x01\xcb\x00\xcc\x00\x3a\x00\x1c\x00\x00\x00\x00\x00\xf0\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x3c\x00\x37\x00\x17\x00\x3b\x00\x38\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x19\x00\x1a\x00\x1b\x00\x3c\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1c\x00\x6b\x00\xa3\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9f\x00\x00\x00\x00\x00\x3a\x00\x6d\x00\x17\x00\x00\x00\xf0\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x6e\x00\x00\x00\x17\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x17\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x9f\x00\xa0\x00\x17\x00\x6b\x00\x6d\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x9f\x00\x1c\x00\x00\x00\x6e\x00\x6d\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3b\x01\x1c\x00\x9f\x00\x6e\x00\x00\x00\x6b\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x01\x02\x00\x00\x00\x00\x9f\x00\x00\x00\x00\x00\x6e\x00\x6d\x00\x17\x00\x00\x00\x00\x00\x0c\x02\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x34\x00\x00\x00\x9f\x00\x00\x00\x12\x00\x13\x00\x6d\x00\xf9\xfe\x35\x00\x00\x00\xf9\xfe\xf9\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x00\xf9\xfe\xf9\xfe\xf9\xfe\xf9\xfe\xf9\xfe\xf9\xfe\xf9\xfe\x00\x00\xf9\xfe\xf9\xfe\xf9\xfe\x00\x00\xf9\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xf9\xfe\xf9\xfe\xf9\xfe\x52\x00\x00\x00\x00\x00\xf9\xfe\xf9\xfe\xf9\xfe\xf9\xfe\xf9\xfe\xf9\xfe\xf9\xfe\xf9\xfe\xf9\xfe\xf9\xfe\x00\x00\x6a\xff\xf9\xfe\x00\x00\x52\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\xff\x00\x00\x00\x00\x58\x00\x00\x00\x00\x00\x6b\xff\x00\x00\x6a\xff\x6a\xff\x6a\xff\x6a\xff\x6a\xff\x6a\xff\x6a\xff\x6a\xff\x6a\xff\x6b\xff\x00\x00\x00\x00\x58\x00\x52\x00\x00\x00\x00\x00\x00\x00\x6b\xff\x6b\xff\x6b\xff\x6b\xff\x6b\xff\x6b\xff\x6b\xff\x6b\xff\x6b\xff\x00\x00\x6c\xff\x00\x00\x00\x00\x16\x01\x31\x00\x32\x00\x33\x00\x00\x00\x34\x00\x00\x00\x00\x00\x6c\xff\x12\x00\x13\x00\x58\x00\x00\x00\x35\x00\x00\x00\x00\x00\x6c\xff\x6c\xff\x6c\xff\x6c\xff\x6c\xff\x6c\xff\x6c\xff\x6c\xff\x6c\xff\xf5\xfe\x00\x00\x00\x00\x00\x00\xf5\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf5\xfe\xf5\xfe\xf5\xfe\x00\x00\x00\x00\x00\x00\xf5\xfe\xf5\xfe\xf5\xfe\xf5\xfe\xf5\xfe\xf5\xfe\xf5\xfe\xf5\xfe\xf5\xfe\xf5\xfe\x00\x00\x00\x00\xf5\xfe\x3e\x01\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x34\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x35\x00\x8b\x01\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x34\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x35\x00\xf1\x01\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x34\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x35\x00\x22\x02\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x34\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x35\x00\x20\x02\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x34\x00\x00\x00\x00\x00\xfa\x00\x12\x00\x13\x00\x00\x00\x00\x00\x35\x00\x03\x01\x31\x00\x32\x00\x33\x00\x00\x00\x34\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\xcb\x01\x00\x00\x35\x00\x00\x00\x00\x00\xcc\x01\x31\x00\x32\x00\x33\x00\x00\x00\x34\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x35\x00\x07\x01\x31\x00\x32\x00\x33\x00\x00\x00\x34\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x35\x00\x06\x01\x31\x00\x32\x00\x33\x00\x00\x00\x34\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x35\x00\x04\x01\x31\x00\x32\x00\x33\x00\x00\x00\x34\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x35\x00\xd1\x01\x31\x00\x32\x00\x33\x00\x00\x00\x34\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x35\x00\xd0\x01\x31\x00\x32\x00\x33\x00\x00\x00\x34\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x35\x00\x9a\x01\x31\x00\x32\x00\x33\x00\x00\x00\x34\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x35\x00\x96\x01\x31\x00\x32\x00\x33\x00\x00\x00\x34\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x35\x00\xec\x01\x31\x00\x32\x00\x33\x00\x00\x00\x34\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x35\x00\xea\x01\x31\x00\x32\x00\x33\x00\x00\x00\x34\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x35\x00\xe1\x01\x31\x00\x32\x00\x33\x00\x00\x00\x34\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x35\x00\xcc\x01\x31\x00\x32\x00\x33\x00\x00\x00\x34\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x35\x00\x16\x02\x31\x00\x32\x00\x33\x00\x00\x00\x34\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x35\x00\x15\x02\x31\x00\x32\x00\x33\x00\x00\x00\x34\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x35\x00\x23\x02\x31\x00\x32\x00\x33\x00\x00\x00\x34\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x35\x00\x1f\x02\x31\x00\x32\x00\x33\x00\x00\x00\x34\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#

happyReduceArr :: Array
  Int
  (Int#
   -> Located Token
   -> Int#
   -> Happy_IntList
   -> HappyStk HappyAbsSyn
   -> ParseM HappyAbsSyn)
happyReduceArr = (Int, Int)
-> [(Int,
     Int#
     -> Located Token
     -> Int#
     -> Happy_IntList
     -> HappyStk HappyAbsSyn
     -> ParseM HappyAbsSyn)]
-> Array
     Int
     (Int#
      -> Located Token
      -> Int#
      -> Happy_IntList
      -> HappyStk HappyAbsSyn
      -> ParseM HappyAbsSyn)
forall i e. Ix i => (i, i) -> [(i, e)] -> Array i e
Happy_Data_Array.array (Int
12, Int
302) [
	(Int
12 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_12),
	(Int
13 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_13),
	(Int
14 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_14),
	(Int
15 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_15),
	(Int
16 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_16),
	(Int
17 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_17),
	(Int
18 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_18),
	(Int
19 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_19),
	(Int
20 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_20),
	(Int
21 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_21),
	(Int
22 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_22),
	(Int
23 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_23),
	(Int
24 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_24),
	(Int
25 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_25),
	(Int
26 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_26),
	(Int
27 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_27),
	(Int
28 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_28),
	(Int
29 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_29),
	(Int
30 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_30),
	(Int
31 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_31),
	(Int
32 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_32),
	(Int
33 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_33),
	(Int
34 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_34),
	(Int
35 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_35),
	(Int
36 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_36),
	(Int
37 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_37),
	(Int
38 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_38),
	(Int
39 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_39),
	(Int
40 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_40),
	(Int
41 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_41),
	(Int
42 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_42),
	(Int
43 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_43),
	(Int
44 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_44),
	(Int
45 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_45),
	(Int
46 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_46),
	(Int
47 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_47),
	(Int
48 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_48),
	(Int
49 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_49),
	(Int
50 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_50),
	(Int
51 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_51),
	(Int
52 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_52),
	(Int
53 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_53),
	(Int
54 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_54),
	(Int
55 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_55),
	(Int
56 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_56),
	(Int
57 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_57),
	(Int
58 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_58),
	(Int
59 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_59),
	(Int
60 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_60),
	(Int
61 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_61),
	(Int
62 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_62),
	(Int
63 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_63),
	(Int
64 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_64),
	(Int
65 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_65),
	(Int
66 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_66),
	(Int
67 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_67),
	(Int
68 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_68),
	(Int
69 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_69),
	(Int
70 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_70),
	(Int
71 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_71),
	(Int
72 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_72),
	(Int
73 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_73),
	(Int
74 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_74),
	(Int
75 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_75),
	(Int
76 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_76),
	(Int
77 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_77),
	(Int
78 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_78),
	(Int
79 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_79),
	(Int
80 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_80),
	(Int
81 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_81),
	(Int
82 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_82),
	(Int
83 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_83),
	(Int
84 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_84),
	(Int
85 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_85),
	(Int
86 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_86),
	(Int
87 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_87),
	(Int
88 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_88),
	(Int
89 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_89),
	(Int
90 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_90),
	(Int
91 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_91),
	(Int
92 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_92),
	(Int
93 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_93),
	(Int
94 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_94),
	(Int
95 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_95),
	(Int
96 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_96),
	(Int
97 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_97),
	(Int
98 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_98),
	(Int
99 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_99),
	(Int
100 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_100),
	(Int
101 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_101),
	(Int
102 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_102),
	(Int
103 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_103),
	(Int
104 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_104),
	(Int
105 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_105),
	(Int
106 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_106),
	(Int
107 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_107),
	(Int
108 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_108),
	(Int
109 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_109),
	(Int
110 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_110),
	(Int
111 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_111),
	(Int
112 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_112),
	(Int
113 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_113),
	(Int
114 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_114),
	(Int
115 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_115),
	(Int
116 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_116),
	(Int
117 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_117),
	(Int
118 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_118),
	(Int
119 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_119),
	(Int
120 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_120),
	(Int
121 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_121),
	(Int
122 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_122),
	(Int
123 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_123),
	(Int
124 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_124),
	(Int
125 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_125),
	(Int
126 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_126),
	(Int
127 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_127),
	(Int
128 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_128),
	(Int
129 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_129),
	(Int
130 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_130),
	(Int
131 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_131),
	(Int
132 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_132),
	(Int
133 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_133),
	(Int
134 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_134),
	(Int
135 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_135),
	(Int
136 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_136),
	(Int
137 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_137),
	(Int
138 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_138),
	(Int
139 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_139),
	(Int
140 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_140),
	(Int
141 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_141),
	(Int
142 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_142),
	(Int
143 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_143),
	(Int
144 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_144),
	(Int
145 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_145),
	(Int
146 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_146),
	(Int
147 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_147),
	(Int
148 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_148),
	(Int
149 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_149),
	(Int
150 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_150),
	(Int
151 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_151),
	(Int
152 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_152),
	(Int
153 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_153),
	(Int
154 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_154),
	(Int
155 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_155),
	(Int
156 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_156),
	(Int
157 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_157),
	(Int
158 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_158),
	(Int
159 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_159),
	(Int
160 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_160),
	(Int
161 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_161),
	(Int
162 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_162),
	(Int
163 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_163),
	(Int
164 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_164),
	(Int
165 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_165),
	(Int
166 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_166),
	(Int
167 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_167),
	(Int
168 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_168),
	(Int
169 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_169),
	(Int
170 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_170),
	(Int
171 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_171),
	(Int
172 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_172),
	(Int
173 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_173),
	(Int
174 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_174),
	(Int
175 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_175),
	(Int
176 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_176),
	(Int
177 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_177),
	(Int
178 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_178),
	(Int
179 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_179),
	(Int
180 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_180),
	(Int
181 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_181),
	(Int
182 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_182),
	(Int
183 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_183),
	(Int
184 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_184),
	(Int
185 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_185),
	(Int
186 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_186),
	(Int
187 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_187),
	(Int
188 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_188),
	(Int
189 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_189),
	(Int
190 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_190),
	(Int
191 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_191),
	(Int
192 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_192),
	(Int
193 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_193),
	(Int
194 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_194),
	(Int
195 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_195),
	(Int
196 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_196),
	(Int
197 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_197),
	(Int
198 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_198),
	(Int
199 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_199),
	(Int
200 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_200),
	(Int
201 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_201),
	(Int
202 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_202),
	(Int
203 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_203),
	(Int
204 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_204),
	(Int
205 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_205),
	(Int
206 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_206),
	(Int
207 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_207),
	(Int
208 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_208),
	(Int
209 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_209),
	(Int
210 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_210),
	(Int
211 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_211),
	(Int
212 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_212),
	(Int
213 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_213),
	(Int
214 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_214),
	(Int
215 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_215),
	(Int
216 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_216),
	(Int
217 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_217),
	(Int
218 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_218),
	(Int
219 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_219),
	(Int
220 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_220),
	(Int
221 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_221),
	(Int
222 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_222),
	(Int
223 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_223),
	(Int
224 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_224),
	(Int
225 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_225),
	(Int
226 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_226),
	(Int
227 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_227),
	(Int
228 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_228),
	(Int
229 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_229),
	(Int
230 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_230),
	(Int
231 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_231),
	(Int
232 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_232),
	(Int
233 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_233),
	(Int
234 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_234),
	(Int
235 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_235),
	(Int
236 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_236),
	(Int
237 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_237),
	(Int
238 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_238),
	(Int
239 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_239),
	(Int
240 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_240),
	(Int
241 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_241),
	(Int
242 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_242),
	(Int
243 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_243),
	(Int
244 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_244),
	(Int
245 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_245),
	(Int
246 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_246),
	(Int
247 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_247),
	(Int
248 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_248),
	(Int
249 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_249),
	(Int
250 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_250),
	(Int
251 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_251),
	(Int
252 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_252),
	(Int
253 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_253),
	(Int
254 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_254),
	(Int
255 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_255),
	(Int
256 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_256),
	(Int
257 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_257),
	(Int
258 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_258),
	(Int
259 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_259),
	(Int
260 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_260),
	(Int
261 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_261),
	(Int
262 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_262),
	(Int
263 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_263),
	(Int
264 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_264),
	(Int
265 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_265),
	(Int
266 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_266),
	(Int
267 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_267),
	(Int
268 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_268),
	(Int
269 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_269),
	(Int
270 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_270),
	(Int
271 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_271),
	(Int
272 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_272),
	(Int
273 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_273),
	(Int
274 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_274),
	(Int
275 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_275),
	(Int
276 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_276),
	(Int
277 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_277),
	(Int
278 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_278),
	(Int
279 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_279),
	(Int
280 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_280),
	(Int
281 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_281),
	(Int
282 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_282),
	(Int
283 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_283),
	(Int
284 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_284),
	(Int
285 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_285),
	(Int
286 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_286),
	(Int
287 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_287),
	(Int
288 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_288),
	(Int
289 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_289),
	(Int
290 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_290),
	(Int
291 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_291),
	(Int
292 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_292),
	(Int
293 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_293),
	(Int
294 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_294),
	(Int
295 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_295),
	(Int
296 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_296),
	(Int
297 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_297),
	(Int
298 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_298),
	(Int
299 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_299),
	(Int
300 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_300),
	(Int
301 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_301),
	(Int
302 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_302)
	]

happy_n_terms :: Int
happy_n_terms = Int
67 :: Int
happy_n_nonterms :: Int
happy_n_nonterms = Int
103 :: Int

happyReduce_12 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_12 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_12 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce Int#
6# Int#
0# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_12
happyReduction_12 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_12 (HappyAbsSyn
happy_x_6 `HappyStk`
	HappyAbsSyn
happy_x_5 `HappyStk`
	HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> Located ModName
happyOut112 HappyAbsSyn
happy_x_2 of { Located ModName
happy_var_2 -> 
	case HappyAbsSyn -> ([Located Import], [TopDecl PName])
happyOut16 HappyAbsSyn
happy_x_5 of { ([Located Import], [TopDecl PName])
happy_var_5 -> 
	Module PName -> HappyAbsSyn
happyIn15
		 (Located ModName
-> ([Located Import], [TopDecl PName]) -> Module PName
mkModule Located ModName
happy_var_2 ([Located Import], [TopDecl PName])
happy_var_5
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}

happyReduce_13 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_13 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_13 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce Int#
8# Int#
0# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_13
happyReduction_13 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_13 (HappyAbsSyn
happy_x_8 `HappyStk`
	HappyAbsSyn
happy_x_7 `HappyStk`
	HappyAbsSyn
happy_x_6 `HappyStk`
	HappyAbsSyn
happy_x_5 `HappyStk`
	HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> Located ModName
happyOut112 HappyAbsSyn
happy_x_2 of { Located ModName
happy_var_2 -> 
	case HappyAbsSyn -> Located ModName
happyOut112 HappyAbsSyn
happy_x_4 of { Located ModName
happy_var_4 -> 
	case HappyAbsSyn -> ([Located Import], [TopDecl PName])
happyOut16 HappyAbsSyn
happy_x_7 of { ([Located Import], [TopDecl PName])
happy_var_7 -> 
	Module PName -> HappyAbsSyn
happyIn15
		 (Located ModName
-> Located ModName
-> ([Located Import], [TopDecl PName])
-> Module PName
mkModuleInstance Located ModName
happy_var_2 Located ModName
happy_var_4 ([Located Import], [TopDecl PName])
happy_var_7
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}

happyReduce_14 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_14 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_14 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
0# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p p. p -> HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_14
happyReduction_14 :: p -> HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_14 p
happy_x_3
	HappyAbsSyn
happy_x_2
	p
happy_x_1
	 =  case HappyAbsSyn -> ([Located Import], [TopDecl PName])
happyOut16 HappyAbsSyn
happy_x_2 of { ([Located Import], [TopDecl PName])
happy_var_2 -> 
	Module PName -> HappyAbsSyn
happyIn15
		 (([Located Import], [TopDecl PName]) -> Module PName
mkAnonymousModule ([Located Import], [TopDecl PName])
happy_var_2
	)}

happyReduce_15 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_15 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_15 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
1# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_15
happyReduction_15 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_15 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> [Located Import]
happyOut17 HappyAbsSyn
happy_x_1 of { [Located Import]
happy_var_1 -> 
	case HappyAbsSyn -> [TopDecl PName]
happyOut26 HappyAbsSyn
happy_x_3 of { [TopDecl PName]
happy_var_3 -> 
	([Located Import], [TopDecl PName]) -> HappyAbsSyn
happyIn16
		 (([Located Import] -> [Located Import]
forall a. [a] -> [a]
reverse [Located Import]
happy_var_1, [TopDecl PName] -> [TopDecl PName]
forall a. [a] -> [a]
reverse [TopDecl PName]
happy_var_3)
	)}}

happyReduce_16 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_16 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_16 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
1# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_16
happyReduction_16 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_16 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> [Located Import]
happyOut17 HappyAbsSyn
happy_x_1 of { [Located Import]
happy_var_1 -> 
	case HappyAbsSyn -> [TopDecl PName]
happyOut26 HappyAbsSyn
happy_x_3 of { [TopDecl PName]
happy_var_3 -> 
	([Located Import], [TopDecl PName]) -> HappyAbsSyn
happyIn16
		 (([Located Import] -> [Located Import]
forall a. [a] -> [a]
reverse [Located Import]
happy_var_1, [TopDecl PName] -> [TopDecl PName]
forall a. [a] -> [a]
reverse [TopDecl PName]
happy_var_3)
	)}}

happyReduce_17 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_17 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_17 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
1# HappyAbsSyn -> HappyAbsSyn
happyReduction_17
happyReduction_17 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_17 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> [Located Import]
happyOut17 HappyAbsSyn
happy_x_1 of { [Located Import]
happy_var_1 -> 
	([Located Import], [TopDecl PName]) -> HappyAbsSyn
happyIn16
		 (([Located Import] -> [Located Import]
forall a. [a] -> [a]
reverse [Located Import]
happy_var_1, [])
	)}

happyReduce_18 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_18 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_18 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
1# HappyAbsSyn -> HappyAbsSyn
happyReduction_18
happyReduction_18 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_18 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> [TopDecl PName]
happyOut26 HappyAbsSyn
happy_x_1 of { [TopDecl PName]
happy_var_1 -> 
	([Located Import], [TopDecl PName]) -> HappyAbsSyn
happyIn16
		 (([], [TopDecl PName] -> [TopDecl PName]
forall a. [a] -> [a]
reverse [TopDecl PName]
happy_var_1)
	)}

happyReduce_19 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_19 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_19 = Int#
-> HappyAbsSyn
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_0  Int#
1# HappyAbsSyn
happyReduction_19
happyReduction_19 :: HappyAbsSyn
happyReduction_19  =  ([Located Import], [TopDecl PName]) -> HappyAbsSyn
happyIn16
		 (([], [])
	)

happyReduce_20 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_20 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_20 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
2# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_20
happyReduction_20 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_20 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> [Located Import]
happyOut17 HappyAbsSyn
happy_x_1 of { [Located Import]
happy_var_1 -> 
	case HappyAbsSyn -> Located Import
happyOut18 HappyAbsSyn
happy_x_3 of { Located Import
happy_var_3 -> 
	[Located Import] -> HappyAbsSyn
happyIn17
		 (Located Import
happy_var_3 Located Import -> [Located Import] -> [Located Import]
forall k1. k1 -> [k1] -> [k1]
: [Located Import]
happy_var_1
	)}}

happyReduce_21 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_21 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_21 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
2# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_21
happyReduction_21 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_21 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> [Located Import]
happyOut17 HappyAbsSyn
happy_x_1 of { [Located Import]
happy_var_1 -> 
	case HappyAbsSyn -> Located Import
happyOut18 HappyAbsSyn
happy_x_3 of { Located Import
happy_var_3 -> 
	[Located Import] -> HappyAbsSyn
happyIn17
		 (Located Import
happy_var_3 Located Import -> [Located Import] -> [Located Import]
forall k1. k1 -> [k1] -> [k1]
: [Located Import]
happy_var_1
	)}}

happyReduce_22 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_22 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_22 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
2# HappyAbsSyn -> HappyAbsSyn
happyReduction_22
happyReduction_22 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_22 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Import
happyOut18 HappyAbsSyn
happy_x_1 of { Located Import
happy_var_1 -> 
	[Located Import] -> HappyAbsSyn
happyIn17
		 ([Located Import
happy_var_1]
	)}

happyReduce_23 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_23 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_23 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce Int#
4# Int#
3# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_23
happyReduction_23 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_23 (HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (KW TokenKW
KW_import)    Text
_)) -> 
	case HappyAbsSyn -> Located ModName
happyOut112 HappyAbsSyn
happy_x_2 of { Located ModName
happy_var_2 -> 
	case HappyAbsSyn -> Maybe (Located ModName)
happyOut19 HappyAbsSyn
happy_x_3 of { Maybe (Located ModName)
happy_var_3 -> 
	case HappyAbsSyn -> Maybe (Located ImportSpec)
happyOut20 HappyAbsSyn
happy_x_4 of { Maybe (Located ImportSpec)
happy_var_4 -> 
	Located Import -> HappyAbsSyn
happyIn18
		 (Located :: forall a. Range -> a -> Located a
Located { srcRange :: Range
srcRange = Range -> Range -> Range
rComb Range
happy_var_1
                                                   (Range -> Range) -> Range -> Range
forall a b. (a -> b) -> a -> b
$ Range -> Maybe Range -> Range
forall a. a -> Maybe a -> a
fromMaybe (Located ModName -> Range
forall a. Located a -> Range
srcRange Located ModName
happy_var_2)
                                                   (Maybe Range -> Range) -> Maybe Range -> Range
forall a b. (a -> b) -> a -> b
$ [Maybe Range] -> Maybe Range
forall (t :: * -> *) (m :: * -> *) a.
(Foldable t, MonadPlus m) =>
t (m a) -> m a
msum [ (Located ImportSpec -> Range)
-> Maybe (Located ImportSpec) -> Maybe Range
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap Located ImportSpec -> Range
forall a. Located a -> Range
srcRange Maybe (Located ImportSpec)
happy_var_4
                                                          , (Located ModName -> Range)
-> Maybe (Located ModName) -> Maybe Range
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap Located ModName -> Range
forall a. Located a -> Range
srcRange Maybe (Located ModName)
happy_var_3
                                                          ]
                                        , thing :: Import
thing    = Import :: ModName -> Maybe ModName -> Maybe ImportSpec -> Import
Import
                                          { iModule :: ModName
iModule    = Located ModName -> ModName
forall a. Located a -> a
thing Located ModName
happy_var_2
                                          , iAs :: Maybe ModName
iAs        = (Located ModName -> ModName)
-> Maybe (Located ModName) -> Maybe ModName
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap Located ModName -> ModName
forall a. Located a -> a
thing Maybe (Located ModName)
happy_var_3
                                          , iSpec :: Maybe ImportSpec
iSpec      = (Located ImportSpec -> ImportSpec)
-> Maybe (Located ImportSpec) -> Maybe ImportSpec
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap Located ImportSpec -> ImportSpec
forall a. Located a -> a
thing Maybe (Located ImportSpec)
happy_var_4
                                          }
                                        }
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}}

happyReduce_24 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_24 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_24 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  Int#
4# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_24
happyReduction_24 :: HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_24 HappyAbsSyn
happy_x_2
	p
happy_x_1
	 =  case HappyAbsSyn -> Located ModName
happyOut112 HappyAbsSyn
happy_x_2 of { Located ModName
happy_var_2 -> 
	Maybe (Located ModName) -> HappyAbsSyn
happyIn19
		 (Located ModName -> Maybe (Located ModName)
forall k1. k1 -> Maybe k1
Just Located ModName
happy_var_2
	)}

happyReduce_25 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_25 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_25 = Int#
-> HappyAbsSyn
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_0  Int#
4# HappyAbsSyn
happyReduction_25
happyReduction_25 :: HappyAbsSyn
happyReduction_25  =  Maybe (Located ModName) -> HappyAbsSyn
happyIn19
		 (Maybe (Located ModName)
forall k1. Maybe k1
Nothing
	)

happyReduce_26 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_26 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_26 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce Int#
4# Int#
5# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_26
happyReduction_26 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_26 (HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> [Ident] -> ImportSpec
happyOut22 HappyAbsSyn
happy_x_1 of { [Ident] -> ImportSpec
happy_var_1 -> 
	case HappyAbsSyn -> [LIdent]
happyOut21 HappyAbsSyn
happy_x_3 of { [LIdent]
happy_var_3 -> 
	Maybe (Located ImportSpec) -> HappyAbsSyn
happyIn20
		 (Located ImportSpec -> Maybe (Located ImportSpec)
forall k1. k1 -> Maybe k1
Just Located :: forall a. Range -> a -> Located a
Located
                                  { srcRange :: Range
srcRange = case [LIdent]
happy_var_3 of
                                      { [] -> Range
emptyRange
                                      ; [LIdent]
xs -> [Range] -> Range
rCombs ((LIdent -> Range) -> [LIdent] -> [Range]
forall a b. (a -> b) -> [a] -> [b]
map LIdent -> Range
forall a. Located a -> Range
srcRange [LIdent]
xs) }
                                  , thing :: ImportSpec
thing    = [Ident] -> ImportSpec
happy_var_1 ([Ident] -> [Ident]
forall a. [a] -> [a]
reverse ((LIdent -> Ident) -> [LIdent] -> [Ident]
forall a b. (a -> b) -> [a] -> [b]
map LIdent -> Ident
forall a. Located a -> a
thing [LIdent]
happy_var_3))
                                  }
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}

happyReduce_27 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_27 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_27 = Int#
-> HappyAbsSyn
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_0  Int#
5# HappyAbsSyn
happyReduction_27
happyReduction_27 :: HappyAbsSyn
happyReduction_27  =  Maybe (Located ImportSpec) -> HappyAbsSyn
happyIn20
		 (Maybe (Located ImportSpec)
forall k1. Maybe k1
Nothing
	)

happyReduce_28 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_28 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_28 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
6# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_28
happyReduction_28 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_28 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> [LIdent]
happyOut21 HappyAbsSyn
happy_x_1 of { [LIdent]
happy_var_1 -> 
	case HappyAbsSyn -> LIdent
happyOut109 HappyAbsSyn
happy_x_3 of { LIdent
happy_var_3 -> 
	[LIdent] -> HappyAbsSyn
happyIn21
		 (LIdent
happy_var_3 LIdent -> [LIdent] -> [LIdent]
forall k1. k1 -> [k1] -> [k1]
: [LIdent]
happy_var_1
	)}}

happyReduce_29 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_29 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_29 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
6# HappyAbsSyn -> HappyAbsSyn
happyReduction_29
happyReduction_29 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_29 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> LIdent
happyOut109 HappyAbsSyn
happy_x_1 of { LIdent
happy_var_1 -> 
	[LIdent] -> HappyAbsSyn
happyIn21
		 ([LIdent
happy_var_1]
	)}

happyReduce_30 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_30 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_30 = Int#
-> HappyAbsSyn
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_0  Int#
6# HappyAbsSyn
happyReduction_30
happyReduction_30 :: HappyAbsSyn
happyReduction_30  =  [LIdent] -> HappyAbsSyn
happyIn21
		 ([]
	)

happyReduce_31 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_31 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_31 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
7# HappyAbsSyn -> HappyAbsSyn
forall p. p -> HappyAbsSyn
happyReduction_31
happyReduction_31 :: p -> HappyAbsSyn
happyReduction_31 p
happy_x_1
	 =  ([Ident] -> ImportSpec) -> HappyAbsSyn
happyIn22
		 ([Ident] -> ImportSpec
Hiding
	)

happyReduce_32 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_32 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_32 = Int#
-> HappyAbsSyn
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_0  Int#
7# HappyAbsSyn
happyReduction_32
happyReduction_32 :: HappyAbsSyn
happyReduction_32  =  ([Ident] -> ImportSpec) -> HappyAbsSyn
happyIn22
		 ([Ident] -> ImportSpec
Only
	)

happyReduce_33 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_33 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_33 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
8# HappyAbsSyn -> HappyAbsSyn
happyReduction_33
happyReduction_33 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_33 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> [TopDecl PName]
happyOut25 HappyAbsSyn
happy_x_1 of { [TopDecl PName]
happy_var_1 -> 
	Program PName -> HappyAbsSyn
happyIn23
		 ([TopDecl PName] -> Program PName
forall name. [TopDecl name] -> Program name
Program ([TopDecl PName] -> [TopDecl PName]
forall a. [a] -> [a]
reverse [TopDecl PName]
happy_var_1)
	)}

happyReduce_34 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_34 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_34 = Int#
-> HappyAbsSyn
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_0  Int#
8# HappyAbsSyn
happyReduction_34
happyReduction_34 :: HappyAbsSyn
happyReduction_34  =  Program PName -> HappyAbsSyn
happyIn23
		 ([TopDecl PName] -> Program PName
forall name. [TopDecl name] -> Program name
Program []
	)

happyReduce_35 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_35 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_35 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
9# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p p. p -> HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_35
happyReduction_35 :: p -> HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_35 p
happy_x_3
	HappyAbsSyn
happy_x_2
	p
happy_x_1
	 =  case HappyAbsSyn -> [TopDecl PName]
happyOut26 HappyAbsSyn
happy_x_2 of { [TopDecl PName]
happy_var_2 -> 
	Program PName -> HappyAbsSyn
happyIn24
		 ([TopDecl PName] -> Program PName
forall name. [TopDecl name] -> Program name
Program ([TopDecl PName] -> [TopDecl PName]
forall a. [a] -> [a]
reverse [TopDecl PName]
happy_var_2)
	)}

happyReduce_36 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_36 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_36 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  Int#
9# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p p. p -> p -> HappyAbsSyn
happyReduction_36
happyReduction_36 :: p -> p -> HappyAbsSyn
happyReduction_36 p
happy_x_2
	p
happy_x_1
	 =  Program PName -> HappyAbsSyn
happyIn24
		 ([TopDecl PName] -> Program PName
forall name. [TopDecl name] -> Program name
Program []
	)

happyReduce_37 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_37 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_37 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  Int#
10# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_37
happyReduction_37 :: p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_37 p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> [TopDecl PName]
happyOut28 HappyAbsSyn
happy_x_1 of { [TopDecl PName]
happy_var_1 -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn25
		 ([TopDecl PName]
happy_var_1
	)}

happyReduce_38 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_38 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_38 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
10# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. p -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_38
happyReduction_38 :: p -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_38 p
happy_x_3
	HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> [TopDecl PName]
happyOut25 HappyAbsSyn
happy_x_1 of { [TopDecl PName]
happy_var_1 -> 
	case HappyAbsSyn -> [TopDecl PName]
happyOut28 HappyAbsSyn
happy_x_2 of { [TopDecl PName]
happy_var_2 -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn25
		 ([TopDecl PName]
happy_var_2 [TopDecl PName] -> [TopDecl PName] -> [TopDecl PName]
forall a. [a] -> [a] -> [a]
++ [TopDecl PName]
happy_var_1
	)}}

happyReduce_39 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_39 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_39 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
11# HappyAbsSyn -> HappyAbsSyn
happyReduction_39
happyReduction_39 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_39 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> [TopDecl PName]
happyOut27 HappyAbsSyn
happy_x_1 of { [TopDecl PName]
happy_var_1 -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn26
		 ([TopDecl PName]
happy_var_1
	)}

happyReduce_40 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_40 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_40 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
11# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_40
happyReduction_40 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_40 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> [TopDecl PName]
happyOut26 HappyAbsSyn
happy_x_1 of { [TopDecl PName]
happy_var_1 -> 
	case HappyAbsSyn -> [TopDecl PName]
happyOut27 HappyAbsSyn
happy_x_3 of { [TopDecl PName]
happy_var_3 -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn26
		 ([TopDecl PName]
happy_var_3 [TopDecl PName] -> [TopDecl PName] -> [TopDecl PName]
forall a. [a] -> [a] -> [a]
++ [TopDecl PName]
happy_var_1
	)}}

happyReduce_41 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_41 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_41 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
11# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_41
happyReduction_41 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_41 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> [TopDecl PName]
happyOut26 HappyAbsSyn
happy_x_1 of { [TopDecl PName]
happy_var_1 -> 
	case HappyAbsSyn -> [TopDecl PName]
happyOut27 HappyAbsSyn
happy_x_3 of { [TopDecl PName]
happy_var_3 -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn26
		 ([TopDecl PName]
happy_var_3 [TopDecl PName] -> [TopDecl PName] -> [TopDecl PName]
forall a. [a] -> [a] -> [a]
++ [TopDecl PName]
happy_var_1
	)}}

happyReduce_42 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_42 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_42 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
12# HappyAbsSyn -> HappyAbsSyn
happyReduction_42
happyReduction_42 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_42 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Decl PName
happyOut36 HappyAbsSyn
happy_x_1 of { Decl PName
happy_var_1 -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn27
		 ([Maybe (Located Text) -> ExportType -> Decl PName -> TopDecl PName
exportDecl Maybe (Located Text)
forall k1. Maybe k1
Nothing   ExportType
Public Decl PName
happy_var_1]
	)}

happyReduce_43 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_43 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_43 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  Int#
12# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_43
happyReduction_43 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_43 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Text
happyOut34 HappyAbsSyn
happy_x_1 of { Located Text
happy_var_1 -> 
	case HappyAbsSyn -> Decl PName
happyOut36 HappyAbsSyn
happy_x_2 of { Decl PName
happy_var_2 -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn27
		 ([Maybe (Located Text) -> ExportType -> Decl PName -> TopDecl PName
exportDecl (Located Text -> Maybe (Located Text)
forall k1. k1 -> Maybe k1
Just Located Text
happy_var_1) ExportType
Public Decl PName
happy_var_2]
	)}}

happyReduce_44 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_44 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_44 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce Int#
3# Int#
12# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_44
happyReduction_44 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_44 (HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest) p
tk
	 = ParseM [TopDecl PName]
-> ([TopDecl PName] -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (happy_var_3 :: Located Token
happy_var_3@(Located Range
_ (Token (StrLit {}) Text
_))) -> 
	( (TopDecl PName -> [TopDecl PName]
forall (m :: * -> *) a. Monad m => a -> m a
return (TopDecl PName -> [TopDecl PName])
-> (Located FilePath -> TopDecl PName)
-> Located FilePath
-> [TopDecl PName]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Located FilePath -> TopDecl PName
forall name. Located FilePath -> TopDecl name
Include) (Located FilePath -> [TopDecl PName])
-> ParseM (Located FilePath) -> ParseM [TopDecl PName]
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
`fmap` Located Token -> ParseM (Located FilePath)
fromStrLit Located Token
happy_var_3)})
	) (\[TopDecl PName]
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn ([TopDecl PName] -> HappyAbsSyn
happyIn27 [TopDecl PName]
r))

happyReduce_45 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_45 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_45 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce Int#
6# Int#
12# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_45
happyReduction_45 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_45 (HappyAbsSyn
happy_x_6 `HappyStk`
	HappyAbsSyn
happy_x_5 `HappyStk`
	HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> Maybe (Located Text)
happyOut35 HappyAbsSyn
happy_x_1 of { Maybe (Located Text)
happy_var_1 -> 
	case HappyAbsSyn -> LPName
happyOut110 HappyAbsSyn
happy_x_3 of { LPName
happy_var_3 -> 
	case HappyAbsSyn -> [Pattern PName]
happyOut42 HappyAbsSyn
happy_x_4 of { [Pattern PName]
happy_var_4 -> 
	case HappyAbsSyn -> Expr PName
happyOut56 HappyAbsSyn
happy_x_6 of { Expr PName
happy_var_6 -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn27
		 ([Maybe (Located Text) -> ExportType -> Decl PName -> TopDecl PName
exportDecl Maybe (Located Text)
happy_var_1 ExportType
Public (LPName -> [Pattern PName] -> Expr PName -> Decl PName
mkProperty LPName
happy_var_3 [Pattern PName]
happy_var_4 Expr PName
happy_var_6)]
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}}

happyReduce_46 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_46 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_46 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce Int#
5# Int#
12# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_46
happyReduction_46 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_46 (HappyAbsSyn
happy_x_5 `HappyStk`
	HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> Maybe (Located Text)
happyOut35 HappyAbsSyn
happy_x_1 of { Maybe (Located Text)
happy_var_1 -> 
	case HappyAbsSyn -> LPName
happyOut110 HappyAbsSyn
happy_x_3 of { LPName
happy_var_3 -> 
	case HappyAbsSyn -> Expr PName
happyOut56 HappyAbsSyn
happy_x_5 of { Expr PName
happy_var_5 -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn27
		 ([Maybe (Located Text) -> ExportType -> Decl PName -> TopDecl PName
exportDecl Maybe (Located Text)
happy_var_1 ExportType
Public (LPName -> [Pattern PName] -> Expr PName -> Decl PName
mkProperty LPName
happy_var_3 [] Expr PName
happy_var_5)]
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}

happyReduce_47 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_47 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_47 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  Int#
12# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_47
happyReduction_47 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_47 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Maybe (Located Text)
happyOut35 HappyAbsSyn
happy_x_1 of { Maybe (Located Text)
happy_var_1 -> 
	case HappyAbsSyn -> Newtype PName
happyOut38 HappyAbsSyn
happy_x_2 of { Newtype PName
happy_var_2 -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn27
		 ([ExportType
-> Maybe (Located Text) -> Newtype PName -> TopDecl PName
exportNewtype ExportType
Public Maybe (Located Text)
happy_var_1 Newtype PName
happy_var_2]
	)}}

happyReduce_48 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_48 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_48 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
12# HappyAbsSyn -> HappyAbsSyn
happyReduction_48
happyReduction_48 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_48 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> [TopDecl PName]
happyOut30 HappyAbsSyn
happy_x_1 of { [TopDecl PName]
happy_var_1 -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn27
		 ([TopDecl PName]
happy_var_1
	)}

happyReduce_49 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_49 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_49 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
12# HappyAbsSyn -> HappyAbsSyn
happyReduction_49
happyReduction_49 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_49 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> [TopDecl PName]
happyOut29 HappyAbsSyn
happy_x_1 of { [TopDecl PName]
happy_var_1 -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn27
		 ([TopDecl PName]
happy_var_1
	)}

happyReduce_50 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_50 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_50 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
12# HappyAbsSyn -> HappyAbsSyn
happyReduction_50
happyReduction_50 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_50 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> [TopDecl PName]
happyOut31 HappyAbsSyn
happy_x_1 of { [TopDecl PName]
happy_var_1 -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn27
		 ([TopDecl PName]
happy_var_1
	)}

happyReduce_51 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_51 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_51 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
13# HappyAbsSyn -> HappyAbsSyn
happyReduction_51
happyReduction_51 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_51 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Decl PName
happyOut36 HappyAbsSyn
happy_x_1 of { Decl PName
happy_var_1 -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn28
		 ([TopLevel (Decl PName) -> TopDecl PName
forall name. TopLevel (Decl name) -> TopDecl name
Decl (TopLevel :: forall a. ExportType -> Maybe (Located Text) -> a -> TopLevel a
TopLevel {tlExport :: ExportType
tlExport = ExportType
Public, tlValue :: Decl PName
tlValue = Decl PName
happy_var_1 })]
	)}

happyReduce_52 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_52 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_52 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce Int#
2# Int#
13# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_52
happyReduction_52 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_52 (HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest) p
tk
	 = ParseM [TopDecl PName]
-> ([TopDecl PName] -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (happy_var_2 :: Located Token
happy_var_2@(Located Range
_ (Token (StrLit {}) Text
_))) -> 
	( (TopDecl PName -> [TopDecl PName]
forall (m :: * -> *) a. Monad m => a -> m a
return (TopDecl PName -> [TopDecl PName])
-> (Located FilePath -> TopDecl PName)
-> Located FilePath
-> [TopDecl PName]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Located FilePath -> TopDecl PName
forall name. Located FilePath -> TopDecl name
Include) (Located FilePath -> [TopDecl PName])
-> ParseM (Located FilePath) -> ParseM [TopDecl PName]
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
`fmap` Located Token -> ParseM (Located FilePath)
fromStrLit Located Token
happy_var_2)})
	) (\[TopDecl PName]
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn ([TopDecl PName] -> HappyAbsSyn
happyIn28 [TopDecl PName]
r))

happyReduce_53 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_53 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_53 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
13# HappyAbsSyn -> HappyAbsSyn
happyReduction_53
happyReduction_53 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_53 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> [TopDecl PName]
happyOut30 HappyAbsSyn
happy_x_1 of { [TopDecl PName]
happy_var_1 -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn28
		 ([TopDecl PName]
happy_var_1
	)}

happyReduce_54 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_54 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_54 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce Int#
4# Int#
14# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_54
happyReduction_54 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_54 (HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> [TopDecl PName]
happyOut26 HappyAbsSyn
happy_x_3 of { [TopDecl PName]
happy_var_3 -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn29
		 (ExportType -> [TopDecl PName] -> [TopDecl PName]
changeExport ExportType
Private ([TopDecl PName] -> [TopDecl PName]
forall a. [a] -> [a]
reverse [TopDecl PName]
happy_var_3)
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}

happyReduce_55 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_55 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_55 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce Int#
5# Int#
14# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_55
happyReduction_55 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_55 (HappyAbsSyn
happy_x_5 `HappyStk`
	HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> [TopDecl PName]
happyOut26 HappyAbsSyn
happy_x_4 of { [TopDecl PName]
happy_var_4 -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn29
		 (ExportType -> [TopDecl PName] -> [TopDecl PName]
changeExport ExportType
Private ([TopDecl PName] -> [TopDecl PName]
forall a. [a] -> [a]
reverse [TopDecl PName]
happy_var_4)
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}

happyReduce_56 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_56 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_56 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce Int#
5# Int#
15# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_56
happyReduction_56 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_56 (HappyAbsSyn
happy_x_5 `HappyStk`
	HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> Maybe (Located Text)
happyOut35 HappyAbsSyn
happy_x_1 of { Maybe (Located Text)
happy_var_1 -> 
	case HappyAbsSyn -> LPName
happyOut110 HappyAbsSyn
happy_x_3 of { LPName
happy_var_3 -> 
	case HappyAbsSyn -> Schema PName
happyOut91 HappyAbsSyn
happy_x_5 of { Schema PName
happy_var_5 -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn30
		 (Maybe (Located Text) -> LPName -> Schema PName -> [TopDecl PName]
mkPrimDecl Maybe (Located Text)
happy_var_1 LPName
happy_var_3 Schema PName
happy_var_5
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}

happyReduce_57 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_57 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_57 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce Int#
7# Int#
15# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_57
happyReduction_57 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_57 (HappyAbsSyn
happy_x_7 `HappyStk`
	HappyAbsSyn
happy_x_6 `HappyStk`
	HappyAbsSyn
happy_x_5 `HappyStk`
	HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> Maybe (Located Text)
happyOut35 HappyAbsSyn
happy_x_1 of { Maybe (Located Text)
happy_var_1 -> 
	case HappyAbsSyn -> LPName
happyOut52 HappyAbsSyn
happy_x_4 of { LPName
happy_var_4 -> 
	case HappyAbsSyn -> Schema PName
happyOut91 HappyAbsSyn
happy_x_7 of { Schema PName
happy_var_7 -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn30
		 (Maybe (Located Text) -> LPName -> Schema PName -> [TopDecl PName]
mkPrimDecl Maybe (Located Text)
happy_var_1 LPName
happy_var_4 Schema PName
happy_var_7
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}

happyReduce_58 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_58 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_58 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce Int#
6# Int#
15# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_58
happyReduction_58 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_58 (HappyAbsSyn
happy_x_6 `HappyStk`
	HappyAbsSyn
happy_x_5 `HappyStk`
	HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest) p
tk
	 = ParseM [TopDecl PName]
-> ([TopDecl PName] -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Maybe (Located Text)
happyOut35 HappyAbsSyn
happy_x_1 of { Maybe (Located Text)
happy_var_1 -> 
	case HappyAbsSyn -> Schema PName
happyOut91 HappyAbsSyn
happy_x_4 of { Schema PName
happy_var_4 -> 
	case HappyAbsSyn -> Located Kind
happyOut95 HappyAbsSyn
happy_x_6 of { Located Kind
happy_var_6 -> 
	( Maybe (Located Text)
-> Schema PName -> Located Kind -> ParseM [TopDecl PName]
mkPrimTypeDecl Maybe (Located Text)
happy_var_1 Schema PName
happy_var_4 Located Kind
happy_var_6)}}})
	) (\[TopDecl PName]
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn ([TopDecl PName] -> HappyAbsSyn
happyIn30 [TopDecl PName]
r))

happyReduce_59 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_59 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_59 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce Int#
4# Int#
16# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_59
happyReduction_59 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_59 (HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> [TopDecl PName]
happyOut32 HappyAbsSyn
happy_x_3 of { [TopDecl PName]
happy_var_3 -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn31
		 ([TopDecl PName] -> [TopDecl PName]
forall a. [a] -> [a]
reverse [TopDecl PName]
happy_var_3
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}

happyReduce_60 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_60 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_60 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce Int#
5# Int#
16# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_60
happyReduction_60 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_60 (HappyAbsSyn
happy_x_5 `HappyStk`
	HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> [TopDecl PName]
happyOut32 HappyAbsSyn
happy_x_4 of { [TopDecl PName]
happy_var_4 -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn31
		 ([TopDecl PName] -> [TopDecl PName]
forall a. [a] -> [a]
reverse [TopDecl PName]
happy_var_4
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}

happyReduce_61 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_61 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_61 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
17# HappyAbsSyn -> HappyAbsSyn
happyReduction_61
happyReduction_61 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_61 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> TopDecl PName
happyOut33 HappyAbsSyn
happy_x_1 of { TopDecl PName
happy_var_1 -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn32
		 ([TopDecl PName
happy_var_1]
	)}

happyReduce_62 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_62 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_62 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
17# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_62
happyReduction_62 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_62 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> [TopDecl PName]
happyOut32 HappyAbsSyn
happy_x_1 of { [TopDecl PName]
happy_var_1 -> 
	case HappyAbsSyn -> TopDecl PName
happyOut33 HappyAbsSyn
happy_x_3 of { TopDecl PName
happy_var_3 -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn32
		 (TopDecl PName
happy_var_3 TopDecl PName -> [TopDecl PName] -> [TopDecl PName]
forall k1. k1 -> [k1] -> [k1]
: [TopDecl PName]
happy_var_1
	)}}

happyReduce_63 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_63 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_63 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
17# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_63
happyReduction_63 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_63 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> [TopDecl PName]
happyOut32 HappyAbsSyn
happy_x_1 of { [TopDecl PName]
happy_var_1 -> 
	case HappyAbsSyn -> TopDecl PName
happyOut33 HappyAbsSyn
happy_x_3 of { TopDecl PName
happy_var_3 -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn32
		 (TopDecl PName
happy_var_3 TopDecl PName -> [TopDecl PName] -> [TopDecl PName]
forall k1. k1 -> [k1] -> [k1]
: [TopDecl PName]
happy_var_1
	)}}

happyReduce_64 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_64 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_64 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce Int#
4# Int#
18# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_64
happyReduction_64 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_64 (HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> Maybe (Located Text)
happyOut35 HappyAbsSyn
happy_x_1 of { Maybe (Located Text)
happy_var_1 -> 
	case HappyAbsSyn -> LPName
happyOut110 HappyAbsSyn
happy_x_2 of { LPName
happy_var_2 -> 
	case HappyAbsSyn -> Schema PName
happyOut91 HappyAbsSyn
happy_x_4 of { Schema PName
happy_var_4 -> 
	TopDecl PName -> HappyAbsSyn
happyIn33
		 (Maybe (Located Text) -> LPName -> Schema PName -> TopDecl PName
mkParFun Maybe (Located Text)
happy_var_1 LPName
happy_var_2 Schema PName
happy_var_4
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}

happyReduce_65 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_65 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_65 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce Int#
5# Int#
18# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_65
happyReduction_65 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_65 (HappyAbsSyn
happy_x_5 `HappyStk`
	HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest) p
tk
	 = ParseM (TopDecl PName)
-> (TopDecl PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Maybe (Located Text)
happyOut35 HappyAbsSyn
happy_x_1 of { Maybe (Located Text)
happy_var_1 -> 
	case HappyAbsSyn -> LPName
happyOut110 HappyAbsSyn
happy_x_3 of { LPName
happy_var_3 -> 
	case HappyAbsSyn -> Located Kind
happyOut95 HappyAbsSyn
happy_x_5 of { Located Kind
happy_var_5 -> 
	( Maybe (Located Text)
-> LPName -> Located Kind -> ParseM (TopDecl PName)
mkParType Maybe (Located Text)
happy_var_1 LPName
happy_var_3 Located Kind
happy_var_5)}}})
	) (\TopDecl PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (TopDecl PName -> HappyAbsSyn
happyIn33 TopDecl PName
r))

happyReduce_66 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_66 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_66 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce Int#
4# Int#
18# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_66
happyReduction_66 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_66 (HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest) p
tk
	 = ParseM (TopDecl PName)
-> (TopDecl PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Type PName
happyOut100 HappyAbsSyn
happy_x_4 of { Type PName
happy_var_4 -> 
	( (Located [Prop PName] -> TopDecl PName)
-> ParseM (Located [Prop PName]) -> ParseM (TopDecl PName)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap ([Located (Prop PName)] -> TopDecl PName
forall name. [Located (Prop name)] -> TopDecl name
DParameterConstraint ([Located (Prop PName)] -> TopDecl PName)
-> (Located [Prop PName] -> [Located (Prop PName)])
-> Located [Prop PName]
-> TopDecl PName
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Located [Prop PName] -> [Located (Prop PName)]
forall a. Located [a] -> [Located a]
distrLoc)
                                            (Type PName -> ParseM (Located [Prop PName])
mkProp Type PName
happy_var_4))})
	) (\TopDecl PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (TopDecl PName -> HappyAbsSyn
happyIn33 TopDecl PName
r))

happyReduce_67 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_67 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_67 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
19# HappyAbsSyn -> HappyAbsSyn
happyReduction_67
happyReduction_67 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_67 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (happy_var_1 :: Located Token
happy_var_1@(Located Range
_ (Token (White TokenW
DocStr) Text
_))) -> 
	Located Text -> HappyAbsSyn
happyIn34
		 (Located Text -> Located Text
mkDoc ((Token -> Text) -> Located Token -> Located Text
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap Token -> Text
tokenText Located Token
happy_var_1)
	)}

happyReduce_68 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_68 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_68 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
20# HappyAbsSyn -> HappyAbsSyn
happyReduction_68
happyReduction_68 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_68 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Text
happyOut34 HappyAbsSyn
happy_x_1 of { Located Text
happy_var_1 -> 
	Maybe (Located Text) -> HappyAbsSyn
happyIn35
		 (Located Text -> Maybe (Located Text)
forall k1. k1 -> Maybe k1
Just Located Text
happy_var_1
	)}

happyReduce_69 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_69 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_69 = Int#
-> HappyAbsSyn
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_0  Int#
20# HappyAbsSyn
happyReduction_69
happyReduction_69 :: HappyAbsSyn
happyReduction_69  =  Maybe (Located Text) -> HappyAbsSyn
happyIn35
		 (Maybe (Located Text)
forall k1. Maybe k1
Nothing
	)

happyReduce_70 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_70 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_70 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
21# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_70
happyReduction_70 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_70 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> [LPName]
happyOut40 HappyAbsSyn
happy_x_1 of { [LPName]
happy_var_1 -> 
	case HappyAbsSyn -> Schema PName
happyOut91 HappyAbsSyn
happy_x_3 of { Schema PName
happy_var_3 -> 
	Decl PName -> HappyAbsSyn
happyIn36
		 ((LPName, Schema PName) -> Decl PName -> Decl PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at ([LPName] -> LPName
forall a. [a] -> a
head [LPName]
happy_var_1,Schema PName
happy_var_3) (Decl PName -> Decl PName) -> Decl PName -> Decl PName
forall a b. (a -> b) -> a -> b
$ [LPName] -> Schema PName -> Decl PName
forall name. [Located name] -> Schema name -> Decl name
DSignature ([LPName] -> [LPName]
forall a. [a] -> [a]
reverse [LPName]
happy_var_1) Schema PName
happy_var_3
	)}}

happyReduce_71 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_71 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_71 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
21# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_71
happyReduction_71 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_71 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Pattern PName
happyOut86 HappyAbsSyn
happy_x_1 of { Pattern PName
happy_var_1 -> 
	case HappyAbsSyn -> Expr PName
happyOut56 HappyAbsSyn
happy_x_3 of { Expr PName
happy_var_3 -> 
	Decl PName -> HappyAbsSyn
happyIn36
		 ((Pattern PName, Expr PName) -> Decl PName -> Decl PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Pattern PName
happy_var_1,Expr PName
happy_var_3) (Decl PName -> Decl PName) -> Decl PName -> Decl PName
forall a b. (a -> b) -> a -> b
$ Pattern PName -> Expr PName -> Decl PName
forall name. Pattern name -> Expr name -> Decl name
DPatBind Pattern PName
happy_var_1 Expr PName
happy_var_3
	)}}

happyReduce_72 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_72 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_72 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce Int#
5# Int#
21# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_72
happyReduction_72 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_72 (HappyAbsSyn
happy_x_5 `HappyStk`
	HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Sym TokenSym
ParenL  ) Text
_)) -> 
	case HappyAbsSyn -> LPName
happyOut52 HappyAbsSyn
happy_x_2 of { LPName
happy_var_2 -> 
	case HappyAbsSyn -> Expr PName
happyOut56 HappyAbsSyn
happy_x_5 of { Expr PName
happy_var_5 -> 
	Decl PName -> HappyAbsSyn
happyIn36
		 ((Range, Expr PName) -> Decl PName -> Decl PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Expr PName
happy_var_5) (Decl PName -> Decl PName) -> Decl PName -> Decl PName
forall a b. (a -> b) -> a -> b
$ Pattern PName -> Expr PName -> Decl PName
forall name. Pattern name -> Expr name -> Decl name
DPatBind (LPName -> Pattern PName
forall n. Located n -> Pattern n
PVar LPName
happy_var_2) Expr PName
happy_var_5
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}

happyReduce_73 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_73 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_73 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce Int#
4# Int#
21# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_73
happyReduction_73 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_73 (HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> LPName
happyOut41 HappyAbsSyn
happy_x_1 of { LPName
happy_var_1 -> 
	case HappyAbsSyn -> ([Pattern PName], [Pattern PName])
happyOut45 HappyAbsSyn
happy_x_2 of { ([Pattern PName], [Pattern PName])
happy_var_2 -> 
	case HappyAbsSyn -> Expr PName
happyOut56 HappyAbsSyn
happy_x_4 of { Expr PName
happy_var_4 -> 
	Decl PName -> HappyAbsSyn
happyIn36
		 ((LPName, Expr PName) -> Decl PName -> Decl PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (LPName
happy_var_1,Expr PName
happy_var_4) (Decl PName -> Decl PName) -> Decl PName -> Decl PName
forall a b. (a -> b) -> a -> b
$ LPName
-> ([Pattern PName], [Pattern PName]) -> Expr PName -> Decl PName
mkIndexedDecl LPName
happy_var_1 ([Pattern PName], [Pattern PName])
happy_var_2 Expr PName
happy_var_4
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}

happyReduce_74 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_74 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_74 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce Int#
5# Int#
21# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_74
happyReduction_74 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_74 (HappyAbsSyn
happy_x_5 `HappyStk`
	HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> Pattern PName
happyOut87 HappyAbsSyn
happy_x_1 of { Pattern PName
happy_var_1 -> 
	case HappyAbsSyn -> LPName
happyOut53 HappyAbsSyn
happy_x_2 of { LPName
happy_var_2 -> 
	case HappyAbsSyn -> Pattern PName
happyOut87 HappyAbsSyn
happy_x_3 of { Pattern PName
happy_var_3 -> 
	case HappyAbsSyn -> Expr PName
happyOut56 HappyAbsSyn
happy_x_5 of { Expr PName
happy_var_5 -> 
	Decl PName -> HappyAbsSyn
happyIn36
		 ((Pattern PName, Expr PName) -> Decl PName -> Decl PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Pattern PName
happy_var_1,Expr PName
happy_var_5) (Decl PName -> Decl PName) -> Decl PName -> Decl PName
forall a b. (a -> b) -> a -> b
$
                             Bind PName -> Decl PName
forall name. Bind name -> Decl name
DBind (Bind PName -> Decl PName) -> Bind PName -> Decl PName
forall a b. (a -> b) -> a -> b
$ Bind :: forall name.
Located name
-> [Pattern name]
-> Located (BindDef name)
-> Maybe (Schema name)
-> Bool
-> Maybe Fixity
-> [Pragma]
-> Bool
-> Maybe Text
-> Bind name
Bind { bName :: LPName
bName      = LPName
happy_var_2
                                          , bParams :: [Pattern PName]
bParams    = [Pattern PName
happy_var_1,Pattern PName
happy_var_3]
                                          , bDef :: Located (BindDef PName)
bDef       = Expr PName -> Located (BindDef PName) -> Located (BindDef PName)
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at Expr PName
happy_var_5 (Range -> BindDef PName -> Located (BindDef PName)
forall a. Range -> a -> Located a
Located Range
emptyRange (Expr PName -> BindDef PName
forall name. Expr name -> BindDef name
DExpr Expr PName
happy_var_5))
                                          , bSignature :: Maybe (Schema PName)
bSignature = Maybe (Schema PName)
forall k1. Maybe k1
Nothing
                                          , bPragmas :: [Pragma]
bPragmas   = []
                                          , bMono :: Bool
bMono      = Bool
False
                                          , bInfix :: Bool
bInfix     = Bool
True
                                          , bFixity :: Maybe Fixity
bFixity    = Maybe Fixity
forall k1. Maybe k1
Nothing
                                          , bDoc :: Maybe Text
bDoc       = Maybe Text
forall k1. Maybe k1
Nothing
                                          }
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}}

happyReduce_75 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_75 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_75 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce Int#
4# Int#
21# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_75
happyReduction_75 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_75 (HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest) p
tk
	 = ParseM (Decl PName)
-> (Decl PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (KW TokenKW
KW_type   ) Text
_)) -> 
	case HappyAbsSyn -> LPName
happyOut110 HappyAbsSyn
happy_x_2 of { LPName
happy_var_2 -> 
	case HappyAbsSyn -> Type PName
happyOut100 HappyAbsSyn
happy_x_4 of { Type PName
happy_var_4 -> 
	( (Range, Type PName) -> Decl PName -> Decl PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Type PName
happy_var_4) (Decl PName -> Decl PName)
-> ParseM (Decl PName) -> ParseM (Decl PName)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
`fmap` LPName -> [TParam PName] -> Type PName -> ParseM (Decl PName)
mkTySyn LPName
happy_var_2 [] Type PName
happy_var_4)}}})
	) (\Decl PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (Decl PName -> HappyAbsSyn
happyIn36 Decl PName
r))

happyReduce_76 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_76 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_76 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce Int#
5# Int#
21# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_76
happyReduction_76 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_76 (HappyAbsSyn
happy_x_5 `HappyStk`
	HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest) p
tk
	 = ParseM (Decl PName)
-> (Decl PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (KW TokenKW
KW_type   ) Text
_)) -> 
	case HappyAbsSyn -> LPName
happyOut110 HappyAbsSyn
happy_x_2 of { LPName
happy_var_2 -> 
	case HappyAbsSyn -> [TParam PName]
happyOut99 HappyAbsSyn
happy_x_3 of { [TParam PName]
happy_var_3 -> 
	case HappyAbsSyn -> Type PName
happyOut100 HappyAbsSyn
happy_x_5 of { Type PName
happy_var_5 -> 
	( (Range, Type PName) -> Decl PName -> Decl PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Type PName
happy_var_5) (Decl PName -> Decl PName)
-> ParseM (Decl PName) -> ParseM (Decl PName)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
`fmap` LPName -> [TParam PName] -> Type PName -> ParseM (Decl PName)
mkTySyn LPName
happy_var_2 ([TParam PName] -> [TParam PName]
forall a. [a] -> [a]
reverse [TParam PName]
happy_var_3) Type PName
happy_var_5)}}}})
	) (\Decl PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (Decl PName -> HappyAbsSyn
happyIn36 Decl PName
r))

happyReduce_77 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_77 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_77 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce Int#
6# Int#
21# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_77
happyReduction_77 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_77 (HappyAbsSyn
happy_x_6 `HappyStk`
	HappyAbsSyn
happy_x_5 `HappyStk`
	HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest) p
tk
	 = ParseM (Decl PName)
-> (Decl PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (KW TokenKW
KW_type   ) Text
_)) -> 
	case HappyAbsSyn -> TParam PName
happyOut98 HappyAbsSyn
happy_x_2 of { TParam PName
happy_var_2 -> 
	case HappyAbsSyn -> LPName
happyOut52 HappyAbsSyn
happy_x_3 of { LPName
happy_var_3 -> 
	case HappyAbsSyn -> TParam PName
happyOut98 HappyAbsSyn
happy_x_4 of { TParam PName
happy_var_4 -> 
	case HappyAbsSyn -> Type PName
happyOut100 HappyAbsSyn
happy_x_6 of { Type PName
happy_var_6 -> 
	( (Range, Type PName) -> Decl PName -> Decl PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Type PName
happy_var_6) (Decl PName -> Decl PName)
-> ParseM (Decl PName) -> ParseM (Decl PName)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
`fmap` LPName -> [TParam PName] -> Type PName -> ParseM (Decl PName)
mkTySyn LPName
happy_var_3 [TParam PName
happy_var_2, TParam PName
happy_var_4] Type PName
happy_var_6)}}}}})
	) (\Decl PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (Decl PName -> HappyAbsSyn
happyIn36 Decl PName
r))

happyReduce_78 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_78 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_78 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce Int#
5# Int#
21# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_78
happyReduction_78 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_78 (HappyAbsSyn
happy_x_5 `HappyStk`
	HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest) p
tk
	 = ParseM (Decl PName)
-> (Decl PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (Located Range
happy_var_2 (Token (KW TokenKW
KW_constraint) Text
_)) -> 
	case HappyAbsSyn -> LPName
happyOut110 HappyAbsSyn
happy_x_3 of { LPName
happy_var_3 -> 
	case HappyAbsSyn -> Type PName
happyOut100 HappyAbsSyn
happy_x_5 of { Type PName
happy_var_5 -> 
	( (Range, Type PName) -> Decl PName -> Decl PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_2,Type PName
happy_var_5) (Decl PName -> Decl PName)
-> ParseM (Decl PName) -> ParseM (Decl PName)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
`fmap` LPName -> [TParam PName] -> Type PName -> ParseM (Decl PName)
mkPropSyn LPName
happy_var_3 [] Type PName
happy_var_5)}}})
	) (\Decl PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (Decl PName -> HappyAbsSyn
happyIn36 Decl PName
r))

happyReduce_79 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_79 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_79 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce Int#
6# Int#
21# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_79
happyReduction_79 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_79 (HappyAbsSyn
happy_x_6 `HappyStk`
	HappyAbsSyn
happy_x_5 `HappyStk`
	HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest) p
tk
	 = ParseM (Decl PName)
-> (Decl PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (Located Range
happy_var_2 (Token (KW TokenKW
KW_constraint) Text
_)) -> 
	case HappyAbsSyn -> LPName
happyOut110 HappyAbsSyn
happy_x_3 of { LPName
happy_var_3 -> 
	case HappyAbsSyn -> [TParam PName]
happyOut99 HappyAbsSyn
happy_x_4 of { [TParam PName]
happy_var_4 -> 
	case HappyAbsSyn -> Type PName
happyOut100 HappyAbsSyn
happy_x_6 of { Type PName
happy_var_6 -> 
	( (Range, Type PName) -> Decl PName -> Decl PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_2,Type PName
happy_var_6) (Decl PName -> Decl PName)
-> ParseM (Decl PName) -> ParseM (Decl PName)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
`fmap` LPName -> [TParam PName] -> Type PName -> ParseM (Decl PName)
mkPropSyn LPName
happy_var_3 ([TParam PName] -> [TParam PName]
forall a. [a] -> [a]
reverse [TParam PName]
happy_var_4) Type PName
happy_var_6)}}}})
	) (\Decl PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (Decl PName -> HappyAbsSyn
happyIn36 Decl PName
r))

happyReduce_80 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_80 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_80 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce Int#
7# Int#
21# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_80
happyReduction_80 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_80 (HappyAbsSyn
happy_x_7 `HappyStk`
	HappyAbsSyn
happy_x_6 `HappyStk`
	HappyAbsSyn
happy_x_5 `HappyStk`
	HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest) p
tk
	 = ParseM (Decl PName)
-> (Decl PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (Located Range
happy_var_2 (Token (KW TokenKW
KW_constraint) Text
_)) -> 
	case HappyAbsSyn -> TParam PName
happyOut98 HappyAbsSyn
happy_x_3 of { TParam PName
happy_var_3 -> 
	case HappyAbsSyn -> LPName
happyOut52 HappyAbsSyn
happy_x_4 of { LPName
happy_var_4 -> 
	case HappyAbsSyn -> TParam PName
happyOut98 HappyAbsSyn
happy_x_5 of { TParam PName
happy_var_5 -> 
	case HappyAbsSyn -> Type PName
happyOut100 HappyAbsSyn
happy_x_7 of { Type PName
happy_var_7 -> 
	( (Range, Type PName) -> Decl PName -> Decl PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_2,Type PName
happy_var_7) (Decl PName -> Decl PName)
-> ParseM (Decl PName) -> ParseM (Decl PName)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
`fmap` LPName -> [TParam PName] -> Type PName -> ParseM (Decl PName)
mkPropSyn LPName
happy_var_4 [TParam PName
happy_var_3, TParam PName
happy_var_5] Type PName
happy_var_7)}}}}})
	) (\Decl PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (Decl PName -> HappyAbsSyn
happyIn36 Decl PName
r))

happyReduce_81 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_81 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_81 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce Int#
3# Int#
21# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_81
happyReduction_81 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_81 (HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest) p
tk
	 = ParseM (Decl PName)
-> (Decl PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (happy_var_2 :: Located Token
happy_var_2@(Located Range
_ (Token (Num   {}) Text
_))) -> 
	case HappyAbsSyn -> [LPName]
happyOut55 HappyAbsSyn
happy_x_3 of { [LPName]
happy_var_3 -> 
	( Assoc -> Located Token -> [LPName] -> ParseM (Decl PName)
mkFixity Assoc
LeftAssoc  Located Token
happy_var_2 ([LPName] -> [LPName]
forall a. [a] -> [a]
reverse [LPName]
happy_var_3))}})
	) (\Decl PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (Decl PName -> HappyAbsSyn
happyIn36 Decl PName
r))

happyReduce_82 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_82 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_82 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce Int#
3# Int#
21# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_82
happyReduction_82 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_82 (HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest) p
tk
	 = ParseM (Decl PName)
-> (Decl PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (happy_var_2 :: Located Token
happy_var_2@(Located Range
_ (Token (Num   {}) Text
_))) -> 
	case HappyAbsSyn -> [LPName]
happyOut55 HappyAbsSyn
happy_x_3 of { [LPName]
happy_var_3 -> 
	( Assoc -> Located Token -> [LPName] -> ParseM (Decl PName)
mkFixity Assoc
RightAssoc Located Token
happy_var_2 ([LPName] -> [LPName]
forall a. [a] -> [a]
reverse [LPName]
happy_var_3))}})
	) (\Decl PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (Decl PName -> HappyAbsSyn
happyIn36 Decl PName
r))

happyReduce_83 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_83 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_83 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce Int#
3# Int#
21# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_83
happyReduction_83 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_83 (HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest) p
tk
	 = ParseM (Decl PName)
-> (Decl PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (happy_var_2 :: Located Token
happy_var_2@(Located Range
_ (Token (Num   {}) Text
_))) -> 
	case HappyAbsSyn -> [LPName]
happyOut55 HappyAbsSyn
happy_x_3 of { [LPName]
happy_var_3 -> 
	( Assoc -> Located Token -> [LPName] -> ParseM (Decl PName)
mkFixity Assoc
NonAssoc   Located Token
happy_var_2 ([LPName] -> [LPName]
forall a. [a] -> [a]
reverse [LPName]
happy_var_3))}})
	) (\Decl PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (Decl PName -> HappyAbsSyn
happyIn36 Decl PName
r))

happyReduce_84 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_84 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_84 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce Int#
1# Int#
21# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall a p. HappyStk a -> p -> ParseM HappyAbsSyn
happyReduction_84
happyReduction_84 :: HappyStk a -> p -> ParseM HappyAbsSyn
happyReduction_84 (a
happy_x_1 `HappyStk`
	HappyStk a
happyRest) p
tk
	 = ParseM (Decl PName)
-> (Decl PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((( FilePath -> ParseM (Decl PName)
forall a. FilePath -> ParseM a
expected FilePath
"a declaration"))
	) (\Decl PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (Decl PName -> HappyAbsSyn
happyIn36 Decl PName
r))

happyReduce_85 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_85 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_85 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce Int#
4# Int#
22# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_85
happyReduction_85 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_85 (HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> Pattern PName
happyOut86 HappyAbsSyn
happy_x_2 of { Pattern PName
happy_var_2 -> 
	case HappyAbsSyn -> Expr PName
happyOut56 HappyAbsSyn
happy_x_4 of { Expr PName
happy_var_4 -> 
	Decl PName -> HappyAbsSyn
happyIn37
		 ((Pattern PName, Expr PName) -> Decl PName -> Decl PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Pattern PName
happy_var_2,Expr PName
happy_var_4) (Decl PName -> Decl PName) -> Decl PName -> Decl PName
forall a b. (a -> b) -> a -> b
$ Pattern PName -> Expr PName -> Decl PName
forall name. Pattern name -> Expr name -> Decl name
DPatBind Pattern PName
happy_var_2 Expr PName
happy_var_4
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}

happyReduce_86 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_86 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_86 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce Int#
5# Int#
22# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_86
happyReduction_86 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_86 (HappyAbsSyn
happy_x_5 `HappyStk`
	HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> LPName
happyOut110 HappyAbsSyn
happy_x_2 of { LPName
happy_var_2 -> 
	case HappyAbsSyn -> ([Pattern PName], [Pattern PName])
happyOut45 HappyAbsSyn
happy_x_3 of { ([Pattern PName], [Pattern PName])
happy_var_3 -> 
	case HappyAbsSyn -> Expr PName
happyOut56 HappyAbsSyn
happy_x_5 of { Expr PName
happy_var_5 -> 
	Decl PName -> HappyAbsSyn
happyIn37
		 ((LPName, Expr PName) -> Decl PName -> Decl PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (LPName
happy_var_2,Expr PName
happy_var_5) (Decl PName -> Decl PName) -> Decl PName -> Decl PName
forall a b. (a -> b) -> a -> b
$ LPName
-> ([Pattern PName], [Pattern PName]) -> Expr PName -> Decl PName
mkIndexedDecl LPName
happy_var_2 ([Pattern PName], [Pattern PName])
happy_var_3 Expr PName
happy_var_5
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}

happyReduce_87 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_87 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_87 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce Int#
4# Int#
23# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_87
happyReduction_87 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_87 (HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> LPName
happyOut113 HappyAbsSyn
happy_x_2 of { LPName
happy_var_2 -> 
	case HappyAbsSyn -> Located (RecordMap Ident (Range, Type PName))
happyOut39 HappyAbsSyn
happy_x_4 of { Located (RecordMap Ident (Range, Type PName))
happy_var_4 -> 
	Newtype PName -> HappyAbsSyn
happyIn38
		 (LPName
-> [TParam PName]
-> RecordMap Ident (Range, Type PName)
-> Newtype PName
forall name.
Located name -> [TParam name] -> Rec (Type name) -> Newtype name
Newtype LPName
happy_var_2 [] (Located (RecordMap Ident (Range, Type PName))
-> RecordMap Ident (Range, Type PName)
forall a. Located a -> a
thing Located (RecordMap Ident (Range, Type PName))
happy_var_4)
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}

happyReduce_88 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_88 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_88 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce Int#
5# Int#
23# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_88
happyReduction_88 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_88 (HappyAbsSyn
happy_x_5 `HappyStk`
	HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> LPName
happyOut113 HappyAbsSyn
happy_x_2 of { LPName
happy_var_2 -> 
	case HappyAbsSyn -> [TParam PName]
happyOut99 HappyAbsSyn
happy_x_3 of { [TParam PName]
happy_var_3 -> 
	case HappyAbsSyn -> Located (RecordMap Ident (Range, Type PName))
happyOut39 HappyAbsSyn
happy_x_5 of { Located (RecordMap Ident (Range, Type PName))
happy_var_5 -> 
	Newtype PName -> HappyAbsSyn
happyIn38
		 (LPName
-> [TParam PName]
-> RecordMap Ident (Range, Type PName)
-> Newtype PName
forall name.
Located name -> [TParam name] -> Rec (Type name) -> Newtype name
Newtype LPName
happy_var_2 ([TParam PName] -> [TParam PName]
forall a. [a] -> [a]
reverse [TParam PName]
happy_var_3) (Located (RecordMap Ident (Range, Type PName))
-> RecordMap Ident (Range, Type PName)
forall a. Located a -> a
thing Located (RecordMap Ident (Range, Type PName))
happy_var_5)
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}

happyReduce_89 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_89 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_89 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce Int#
2# Int#
24# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_89
happyReduction_89 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_89 (HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest) p
tk
	 = ParseM (Located (RecordMap Ident (Range, Type PName)))
-> (Located (RecordMap Ident (Range, Type PName))
    -> ParseM HappyAbsSyn)
-> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Sym TokenSym
CurlyL  ) Text
_)) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (Located Range
happy_var_2 (Token (Sym TokenSym
CurlyR  ) Text
_)) -> 
	( Range
-> (RecordMap Ident (Range, Type PName)
    -> Located (RecordMap Ident (Range, Type PName)))
-> [Named (Type PName)]
-> ParseM (Located (RecordMap Ident (Range, Type PName)))
forall b a.
AddLoc b =>
Range -> (RecordMap Ident (Range, a) -> b) -> [Named a] -> ParseM b
mkRecord (Range -> Range -> Range
rComb Range
happy_var_1 Range
happy_var_2) (Range
-> RecordMap Ident (Range, Type PName)
-> Located (RecordMap Ident (Range, Type PName))
forall a. Range -> a -> Located a
Located Range
emptyRange) [])}})
	) (\Located (RecordMap Ident (Range, Type PName))
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (Located (RecordMap Ident (Range, Type PName)) -> HappyAbsSyn
happyIn39 Located (RecordMap Ident (Range, Type PName))
r))

happyReduce_90 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_90 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_90 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce Int#
3# Int#
24# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_90
happyReduction_90 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_90 (HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest) p
tk
	 = ParseM (Located (RecordMap Ident (Range, Type PName)))
-> (Located (RecordMap Ident (Range, Type PName))
    -> ParseM HappyAbsSyn)
-> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Sym TokenSym
CurlyL  ) Text
_)) -> 
	case HappyAbsSyn -> [Named (Type PName)]
happyOut108 HappyAbsSyn
happy_x_2 of { [Named (Type PName)]
happy_var_2 -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located Range
happy_var_3 (Token (Sym TokenSym
CurlyR  ) Text
_)) -> 
	( Range
-> (RecordMap Ident (Range, Type PName)
    -> Located (RecordMap Ident (Range, Type PName)))
-> [Named (Type PName)]
-> ParseM (Located (RecordMap Ident (Range, Type PName)))
forall b a.
AddLoc b =>
Range -> (RecordMap Ident (Range, a) -> b) -> [Named a] -> ParseM b
mkRecord (Range -> Range -> Range
rComb Range
happy_var_1 Range
happy_var_3) (Range
-> RecordMap Ident (Range, Type PName)
-> Located (RecordMap Ident (Range, Type PName))
forall a. Range -> a -> Located a
Located Range
emptyRange) [Named (Type PName)]
happy_var_2)}}})
	) (\Located (RecordMap Ident (Range, Type PName))
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (Located (RecordMap Ident (Range, Type PName)) -> HappyAbsSyn
happyIn39 Located (RecordMap Ident (Range, Type PName))
r))

happyReduce_91 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_91 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_91 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
25# HappyAbsSyn -> HappyAbsSyn
happyReduction_91
happyReduction_91 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_91 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> LPName
happyOut41 HappyAbsSyn
happy_x_1 of { LPName
happy_var_1 -> 
	[LPName] -> HappyAbsSyn
happyIn40
		 ([ LPName
happy_var_1]
	)}

happyReduce_92 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_92 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_92 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
25# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_92
happyReduction_92 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_92 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> [LPName]
happyOut40 HappyAbsSyn
happy_x_1 of { [LPName]
happy_var_1 -> 
	case HappyAbsSyn -> LPName
happyOut41 HappyAbsSyn
happy_x_3 of { LPName
happy_var_3 -> 
	[LPName] -> HappyAbsSyn
happyIn40
		 (LPName
happy_var_3 LPName -> [LPName] -> [LPName]
forall k1. k1 -> [k1] -> [k1]
: [LPName]
happy_var_1
	)}}

happyReduce_93 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_93 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_93 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
26# HappyAbsSyn -> HappyAbsSyn
happyReduction_93
happyReduction_93 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_93 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> LPName
happyOut110 HappyAbsSyn
happy_x_1 of { LPName
happy_var_1 -> 
	LPName -> HappyAbsSyn
happyIn41
		 (LPName
happy_var_1
	)}

happyReduce_94 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_94 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_94 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
26# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p p. p -> HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_94
happyReduction_94 :: p -> HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_94 p
happy_x_3
	HappyAbsSyn
happy_x_2
	p
happy_x_1
	 =  case HappyAbsSyn -> LPName
happyOut52 HappyAbsSyn
happy_x_2 of { LPName
happy_var_2 -> 
	LPName -> HappyAbsSyn
happyIn41
		 (LPName
happy_var_2
	)}

happyReduce_95 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_95 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_95 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
27# HappyAbsSyn -> HappyAbsSyn
happyReduction_95
happyReduction_95 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_95 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Pattern PName
happyOut87 HappyAbsSyn
happy_x_1 of { Pattern PName
happy_var_1 -> 
	[Pattern PName] -> HappyAbsSyn
happyIn42
		 ([Pattern PName
happy_var_1]
	)}

happyReduce_96 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_96 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_96 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  Int#
27# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_96
happyReduction_96 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_96 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> [Pattern PName]
happyOut42 HappyAbsSyn
happy_x_1 of { [Pattern PName]
happy_var_1 -> 
	case HappyAbsSyn -> Pattern PName
happyOut87 HappyAbsSyn
happy_x_2 of { Pattern PName
happy_var_2 -> 
	[Pattern PName] -> HappyAbsSyn
happyIn42
		 (Pattern PName
happy_var_2 Pattern PName -> [Pattern PName] -> [Pattern PName]
forall k1. k1 -> [k1] -> [k1]
: [Pattern PName]
happy_var_1
	)}}

happyReduce_97 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_97 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_97 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  Int#
28# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_97
happyReduction_97 :: HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_97 HappyAbsSyn
happy_x_2
	p
happy_x_1
	 =  case HappyAbsSyn -> [Pattern PName]
happyOut44 HappyAbsSyn
happy_x_2 of { [Pattern PName]
happy_var_2 -> 
	[Pattern PName] -> HappyAbsSyn
happyIn43
		 ([Pattern PName]
happy_var_2
	)}

happyReduce_98 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_98 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_98 = Int#
-> HappyAbsSyn
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_0  Int#
28# HappyAbsSyn
happyReduction_98
happyReduction_98 :: HappyAbsSyn
happyReduction_98  =  [Pattern PName] -> HappyAbsSyn
happyIn43
		 ([]
	)

happyReduce_99 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_99 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_99 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
29# HappyAbsSyn -> HappyAbsSyn
happyReduction_99
happyReduction_99 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_99 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Pattern PName
happyOut87 HappyAbsSyn
happy_x_1 of { Pattern PName
happy_var_1 -> 
	[Pattern PName] -> HappyAbsSyn
happyIn44
		 ([Pattern PName
happy_var_1]
	)}

happyReduce_100 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_100 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_100 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
29# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_100
happyReduction_100 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_100 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> [Pattern PName]
happyOut44 HappyAbsSyn
happy_x_1 of { [Pattern PName]
happy_var_1 -> 
	case HappyAbsSyn -> Pattern PName
happyOut87 HappyAbsSyn
happy_x_3 of { Pattern PName
happy_var_3 -> 
	[Pattern PName] -> HappyAbsSyn
happyIn44
		 (Pattern PName
happy_var_3 Pattern PName -> [Pattern PName] -> [Pattern PName]
forall k1. k1 -> [k1] -> [k1]
: [Pattern PName]
happy_var_1
	)}}

happyReduce_101 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_101 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_101 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  Int#
30# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_101
happyReduction_101 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_101 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> [Pattern PName]
happyOut42 HappyAbsSyn
happy_x_1 of { [Pattern PName]
happy_var_1 -> 
	case HappyAbsSyn -> [Pattern PName]
happyOut43 HappyAbsSyn
happy_x_2 of { [Pattern PName]
happy_var_2 -> 
	([Pattern PName], [Pattern PName]) -> HappyAbsSyn
happyIn45
		 (([Pattern PName]
happy_var_1, [Pattern PName]
happy_var_2)
	)}}

happyReduce_102 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_102 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_102 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  Int#
30# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_102
happyReduction_102 :: HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_102 HappyAbsSyn
happy_x_2
	p
happy_x_1
	 =  case HappyAbsSyn -> [Pattern PName]
happyOut44 HappyAbsSyn
happy_x_2 of { [Pattern PName]
happy_var_2 -> 
	([Pattern PName], [Pattern PName]) -> HappyAbsSyn
happyIn45
		 (([], [Pattern PName]
happy_var_2)
	)}

happyReduce_103 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_103 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_103 = Int#
-> HappyAbsSyn
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_0  Int#
31# HappyAbsSyn
happyReduction_103
happyReduction_103 :: HappyAbsSyn
happyReduction_103  =  ([Pattern PName], [Pattern PName]) -> HappyAbsSyn
happyIn46
		 (([],[])
	)

happyReduce_104 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_104 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_104 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
31# HappyAbsSyn -> HappyAbsSyn
happyReduction_104
happyReduction_104 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_104 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> ([Pattern PName], [Pattern PName])
happyOut45 HappyAbsSyn
happy_x_1 of { ([Pattern PName], [Pattern PName])
happy_var_1 -> 
	([Pattern PName], [Pattern PName]) -> HappyAbsSyn
happyIn46
		 (([Pattern PName], [Pattern PName])
happy_var_1
	)}

happyReduce_105 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_105 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_105 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  Int#
32# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_105
happyReduction_105 :: p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_105 p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Decl PName
happyOut36 HappyAbsSyn
happy_x_1 of { Decl PName
happy_var_1 -> 
	[Decl PName] -> HappyAbsSyn
happyIn47
		 ([Decl PName
happy_var_1]
	)}

happyReduce_106 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_106 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_106 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
32# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. p -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_106
happyReduction_106 :: p -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_106 p
happy_x_3
	HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> [Decl PName]
happyOut47 HappyAbsSyn
happy_x_1 of { [Decl PName]
happy_var_1 -> 
	case HappyAbsSyn -> Decl PName
happyOut36 HappyAbsSyn
happy_x_2 of { Decl PName
happy_var_2 -> 
	[Decl PName] -> HappyAbsSyn
happyIn47
		 (Decl PName
happy_var_2 Decl PName -> [Decl PName] -> [Decl PName]
forall k1. k1 -> [k1] -> [k1]
: [Decl PName]
happy_var_1
	)}}

happyReduce_107 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_107 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_107 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
33# HappyAbsSyn -> HappyAbsSyn
happyReduction_107
happyReduction_107 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_107 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Decl PName
happyOut36 HappyAbsSyn
happy_x_1 of { Decl PName
happy_var_1 -> 
	[Decl PName] -> HappyAbsSyn
happyIn48
		 ([Decl PName
happy_var_1]
	)}

happyReduce_108 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_108 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_108 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
33# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_108
happyReduction_108 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_108 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> [Decl PName]
happyOut48 HappyAbsSyn
happy_x_1 of { [Decl PName]
happy_var_1 -> 
	case HappyAbsSyn -> Decl PName
happyOut36 HappyAbsSyn
happy_x_3 of { Decl PName
happy_var_3 -> 
	[Decl PName] -> HappyAbsSyn
happyIn48
		 (Decl PName
happy_var_3 Decl PName -> [Decl PName] -> [Decl PName]
forall k1. k1 -> [k1] -> [k1]
: [Decl PName]
happy_var_1
	)}}

happyReduce_109 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_109 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_109 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
33# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_109
happyReduction_109 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_109 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> [Decl PName]
happyOut48 HappyAbsSyn
happy_x_1 of { [Decl PName]
happy_var_1 -> 
	case HappyAbsSyn -> Decl PName
happyOut36 HappyAbsSyn
happy_x_3 of { Decl PName
happy_var_3 -> 
	[Decl PName] -> HappyAbsSyn
happyIn48
		 (Decl PName
happy_var_3 Decl PName -> [Decl PName] -> [Decl PName]
forall k1. k1 -> [k1] -> [k1]
: [Decl PName]
happy_var_1
	)}}

happyReduce_110 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_110 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_110 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
34# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p p. p -> HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_110
happyReduction_110 :: p -> HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_110 p
happy_x_3
	HappyAbsSyn
happy_x_2
	p
happy_x_1
	 =  case HappyAbsSyn -> [Decl PName]
happyOut48 HappyAbsSyn
happy_x_2 of { [Decl PName]
happy_var_2 -> 
	[Decl PName] -> HappyAbsSyn
happyIn49
		 ([Decl PName]
happy_var_2
	)}

happyReduce_111 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_111 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_111 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  Int#
34# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p p. p -> p -> HappyAbsSyn
happyReduction_111
happyReduction_111 :: p -> p -> HappyAbsSyn
happyReduction_111 p
happy_x_2
	p
happy_x_1
	 =  [Decl PName] -> HappyAbsSyn
happyIn49
		 ([]
	)

happyReduce_112 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_112 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_112 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
35# HappyAbsSyn -> HappyAbsSyn
happyReduction_112
happyReduction_112 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_112 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Expr PName
happyOut56 HappyAbsSyn
happy_x_1 of { Expr PName
happy_var_1 -> 
	ReplInput PName -> HappyAbsSyn
happyIn50
		 (Expr PName -> ReplInput PName
forall name. Expr name -> ReplInput name
ExprInput Expr PName
happy_var_1
	)}

happyReduce_113 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_113 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_113 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
35# HappyAbsSyn -> HappyAbsSyn
happyReduction_113
happyReduction_113 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_113 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Decl PName
happyOut37 HappyAbsSyn
happy_x_1 of { Decl PName
happy_var_1 -> 
	ReplInput PName -> HappyAbsSyn
happyIn50
		 (Decl PName -> ReplInput PName
forall name. Decl name -> ReplInput name
LetInput Decl PName
happy_var_1
	)}

happyReduce_114 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_114 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_114 = Int#
-> HappyAbsSyn
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_0  Int#
35# HappyAbsSyn
happyReduction_114
happyReduction_114 :: HappyAbsSyn
happyReduction_114  =  ReplInput PName -> HappyAbsSyn
happyIn50
		 (ReplInput PName
forall name. ReplInput name
EmptyInput
	)

happyReduce_115 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_115 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_115 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
36# HappyAbsSyn -> HappyAbsSyn
happyReduction_115
happyReduction_115 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_115 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> LPName
happyOut52 HappyAbsSyn
happy_x_1 of { LPName
happy_var_1 -> 
	LPName -> HappyAbsSyn
happyIn51
		 (LPName
happy_var_1
	)}

happyReduce_116 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_116 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_116 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
36# HappyAbsSyn -> HappyAbsSyn
happyReduction_116
happyReduction_116 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_116 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (happy_var_1 :: Located Token
happy_var_1@(Located Range
_ (Token (Op  Other{}   )  Text
_))) -> 
	LPName -> HappyAbsSyn
happyIn51
		 (let Token (Op (Other [Text]
ns Text
i)) Text
_ = Located Token -> Token
forall a. Located a -> a
thing Located Token
happy_var_1
                                       in ModName -> Ident -> PName
mkQual ([Text] -> ModName
mkModName [Text]
ns) (Text -> Ident
mkInfix Text
i) PName -> Located Token -> LPName
forall (f :: * -> *) a b. Functor f => a -> f b -> f a
A.<$ Located Token
happy_var_1
	)}

happyReduce_117 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_117 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_117 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
37# HappyAbsSyn -> HappyAbsSyn
happyReduction_117
happyReduction_117 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_117 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> LPName
happyOut53 HappyAbsSyn
happy_x_1 of { LPName
happy_var_1 -> 
	LPName -> HappyAbsSyn
happyIn52
		 (LPName
happy_var_1
	)}

happyReduce_118 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_118 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_118 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
37# HappyAbsSyn -> HappyAbsSyn
happyReduction_118
happyReduction_118 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_118 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Op TokenOp
Hash) Text
_)) -> 
	LPName -> HappyAbsSyn
happyIn52
		 (Range -> PName -> LPName
forall a. Range -> a -> Located a
Located Range
happy_var_1 (PName -> LPName) -> PName -> LPName
forall a b. (a -> b) -> a -> b
$ Ident -> PName
mkUnqual (Ident -> PName) -> Ident -> PName
forall a b. (a -> b) -> a -> b
$ Text -> Ident
mkInfix Text
"#"
	)}

happyReduce_119 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_119 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_119 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
37# HappyAbsSyn -> HappyAbsSyn
happyReduction_119
happyReduction_119 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_119 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Op TokenOp
At) Text
_)) -> 
	LPName -> HappyAbsSyn
happyIn52
		 (Range -> PName -> LPName
forall a. Range -> a -> Located a
Located Range
happy_var_1 (PName -> LPName) -> PName -> LPName
forall a b. (a -> b) -> a -> b
$ Ident -> PName
mkUnqual (Ident -> PName) -> Ident -> PName
forall a b. (a -> b) -> a -> b
$ Text -> Ident
mkInfix Text
"@"
	)}

happyReduce_120 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_120 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_120 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
38# HappyAbsSyn -> HappyAbsSyn
happyReduction_120
happyReduction_120 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_120 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> LPName
happyOut54 HappyAbsSyn
happy_x_1 of { LPName
happy_var_1 -> 
	LPName -> HappyAbsSyn
happyIn53
		 (LPName
happy_var_1
	)}

happyReduce_121 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_121 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_121 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
38# HappyAbsSyn -> HappyAbsSyn
happyReduction_121
happyReduction_121 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_121 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Op TokenOp
Mul)   Text
_)) -> 
	LPName -> HappyAbsSyn
happyIn53
		 (Range -> PName -> LPName
forall a. Range -> a -> Located a
Located Range
happy_var_1 (PName -> LPName) -> PName -> LPName
forall a b. (a -> b) -> a -> b
$ Ident -> PName
mkUnqual (Ident -> PName) -> Ident -> PName
forall a b. (a -> b) -> a -> b
$ Text -> Ident
mkInfix Text
"*"
	)}

happyReduce_122 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_122 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_122 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
38# HappyAbsSyn -> HappyAbsSyn
happyReduction_122
happyReduction_122 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_122 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Op TokenOp
Plus)  Text
_)) -> 
	LPName -> HappyAbsSyn
happyIn53
		 (Range -> PName -> LPName
forall a. Range -> a -> Located a
Located Range
happy_var_1 (PName -> LPName) -> PName -> LPName
forall a b. (a -> b) -> a -> b
$ Ident -> PName
mkUnqual (Ident -> PName) -> Ident -> PName
forall a b. (a -> b) -> a -> b
$ Text -> Ident
mkInfix Text
"+"
	)}

happyReduce_123 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_123 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_123 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
38# HappyAbsSyn -> HappyAbsSyn
happyReduction_123
happyReduction_123 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_123 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Op TokenOp
Minus) Text
_)) -> 
	LPName -> HappyAbsSyn
happyIn53
		 (Range -> PName -> LPName
forall a. Range -> a -> Located a
Located Range
happy_var_1 (PName -> LPName) -> PName -> LPName
forall a b. (a -> b) -> a -> b
$ Ident -> PName
mkUnqual (Ident -> PName) -> Ident -> PName
forall a b. (a -> b) -> a -> b
$ Text -> Ident
mkInfix Text
"-"
	)}

happyReduce_124 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_124 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_124 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
38# HappyAbsSyn -> HappyAbsSyn
happyReduction_124
happyReduction_124 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_124 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Op TokenOp
Complement) Text
_)) -> 
	LPName -> HappyAbsSyn
happyIn53
		 (Range -> PName -> LPName
forall a. Range -> a -> Located a
Located Range
happy_var_1 (PName -> LPName) -> PName -> LPName
forall a b. (a -> b) -> a -> b
$ Ident -> PName
mkUnqual (Ident -> PName) -> Ident -> PName
forall a b. (a -> b) -> a -> b
$ Text -> Ident
mkInfix Text
"~"
	)}

happyReduce_125 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_125 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_125 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
38# HappyAbsSyn -> HappyAbsSyn
happyReduction_125
happyReduction_125 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_125 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Op TokenOp
Exp)   Text
_)) -> 
	LPName -> HappyAbsSyn
happyIn53
		 (Range -> PName -> LPName
forall a. Range -> a -> Located a
Located Range
happy_var_1 (PName -> LPName) -> PName -> LPName
forall a b. (a -> b) -> a -> b
$ Ident -> PName
mkUnqual (Ident -> PName) -> Ident -> PName
forall a b. (a -> b) -> a -> b
$ Text -> Ident
mkInfix Text
"^^"
	)}

happyReduce_126 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_126 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_126 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
38# HappyAbsSyn -> HappyAbsSyn
happyReduction_126
happyReduction_126 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_126 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Sym TokenSym
Lt      ) Text
_)) -> 
	LPName -> HappyAbsSyn
happyIn53
		 (Range -> PName -> LPName
forall a. Range -> a -> Located a
Located Range
happy_var_1 (PName -> LPName) -> PName -> LPName
forall a b. (a -> b) -> a -> b
$ Ident -> PName
mkUnqual (Ident -> PName) -> Ident -> PName
forall a b. (a -> b) -> a -> b
$ Text -> Ident
mkInfix Text
"<"
	)}

happyReduce_127 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_127 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_127 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
39# HappyAbsSyn -> HappyAbsSyn
happyReduction_127
happyReduction_127 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_127 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (happy_var_1 :: Located Token
happy_var_1@(Located Range
_ (Token (Op (Other [] Text
_)) Text
_))) -> 
	LPName -> HappyAbsSyn
happyIn54
		 (let Token (Op (Other [] Text
str)) Text
_ = Located Token -> Token
forall a. Located a -> a
thing Located Token
happy_var_1
                                       in Ident -> PName
mkUnqual (Text -> Ident
mkInfix Text
str) PName -> Located Token -> LPName
forall (f :: * -> *) a b. Functor f => a -> f b -> f a
A.<$ Located Token
happy_var_1
	)}

happyReduce_128 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_128 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_128 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
40# HappyAbsSyn -> HappyAbsSyn
happyReduction_128
happyReduction_128 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_128 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> LPName
happyOut52 HappyAbsSyn
happy_x_1 of { LPName
happy_var_1 -> 
	[LPName] -> HappyAbsSyn
happyIn55
		 ([LPName
happy_var_1]
	)}

happyReduce_129 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_129 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_129 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
40# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_129
happyReduction_129 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_129 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> [LPName]
happyOut55 HappyAbsSyn
happy_x_1 of { [LPName]
happy_var_1 -> 
	case HappyAbsSyn -> LPName
happyOut52 HappyAbsSyn
happy_x_3 of { LPName
happy_var_3 -> 
	[LPName] -> HappyAbsSyn
happyIn55
		 (LPName
happy_var_3 LPName -> [LPName] -> [LPName]
forall k1. k1 -> [k1] -> [k1]
: [LPName]
happy_var_1
	)}}

happyReduce_130 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_130 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_130 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
41# HappyAbsSyn -> HappyAbsSyn
happyReduction_130
happyReduction_130 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_130 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Expr PName
happyOut57 HappyAbsSyn
happy_x_1 of { Expr PName
happy_var_1 -> 
	Expr PName -> HappyAbsSyn
happyIn56
		 (Expr PName
happy_var_1
	)}

happyReduce_131 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_131 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_131 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
41# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_131
happyReduction_131 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_131 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Expr PName
happyOut56 HappyAbsSyn
happy_x_1 of { Expr PName
happy_var_1 -> 
	case HappyAbsSyn -> Located [Decl PName]
happyOut58 HappyAbsSyn
happy_x_3 of { Located [Decl PName]
happy_var_3 -> 
	Expr PName -> HappyAbsSyn
happyIn56
		 ((Expr PName, Located [Decl PName]) -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Expr PName
happy_var_1,Located [Decl PName]
happy_var_3) (Expr PName -> [Decl PName] -> Expr PName
forall n. Expr n -> [Decl n] -> Expr n
EWhere Expr PName
happy_var_1 (Located [Decl PName] -> [Decl PName]
forall a. Located a -> a
thing Located [Decl PName]
happy_var_3))
	)}}

happyReduce_132 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_132 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_132 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
42# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_132
happyReduction_132 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_132 HappyAbsSyn
happy_x_3
	HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Expr PName
happyOut60 HappyAbsSyn
happy_x_1 of { Expr PName
happy_var_1 -> 
	case HappyAbsSyn -> LPName
happyOut51 HappyAbsSyn
happy_x_2 of { LPName
happy_var_2 -> 
	case HappyAbsSyn -> Expr PName
happyOut65 HappyAbsSyn
happy_x_3 of { Expr PName
happy_var_3 -> 
	Expr PName -> HappyAbsSyn
happyIn57
		 (Expr PName -> LPName -> Expr PName -> Expr PName
binOp Expr PName
happy_var_1 LPName
happy_var_2 Expr PName
happy_var_3
	)}}}

happyReduce_133 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_133 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_133 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
42# HappyAbsSyn -> HappyAbsSyn
happyReduction_133
happyReduction_133 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_133 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Expr PName
happyOut65 HappyAbsSyn
happy_x_1 of { Expr PName
happy_var_1 -> 
	Expr PName -> HappyAbsSyn
happyIn57
		 (Expr PName
happy_var_1
	)}

happyReduce_134 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_134 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_134 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
42# HappyAbsSyn -> HappyAbsSyn
happyReduction_134
happyReduction_134 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_134 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Expr PName
happyOut59 HappyAbsSyn
happy_x_1 of { Expr PName
happy_var_1 -> 
	Expr PName -> HappyAbsSyn
happyIn57
		 (Expr PName
happy_var_1
	)}

happyReduce_135 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_135 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_135 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  Int#
43# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_135
happyReduction_135 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_135 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Sym TokenSym
CurlyL  ) Text
_)) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (Located Range
happy_var_2 (Token (Sym TokenSym
CurlyR  ) Text
_)) -> 
	Located [Decl PName] -> HappyAbsSyn
happyIn58
		 (Range -> [Decl PName] -> Located [Decl PName]
forall a. Range -> a -> Located a
Located (Range -> Range -> Range
rComb Range
happy_var_1 Range
happy_var_2) []
	)}}

happyReduce_136 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_136 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_136 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
43# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_136
happyReduction_136 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_136 HappyAbsSyn
happy_x_3
	HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Sym TokenSym
CurlyL  ) Text
_)) -> 
	case HappyAbsSyn -> [Decl PName]
happyOut47 HappyAbsSyn
happy_x_2 of { [Decl PName]
happy_var_2 -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located Range
happy_var_3 (Token (Sym TokenSym
CurlyR  ) Text
_)) -> 
	Located [Decl PName] -> HappyAbsSyn
happyIn58
		 (Range -> [Decl PName] -> Located [Decl PName]
forall a. Range -> a -> Located a
Located (Range -> Range -> Range
rComb Range
happy_var_1 Range
happy_var_3) ([Decl PName] -> [Decl PName]
forall a. [a] -> [a]
reverse [Decl PName]
happy_var_2)
	)}}}

happyReduce_137 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_137 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_137 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  Int#
43# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_137
happyReduction_137 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_137 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Virt TokenV
VCurlyL)  Text
_)) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (Located Range
happy_var_2 (Token (Virt TokenV
VCurlyR)  Text
_)) -> 
	Located [Decl PName] -> HappyAbsSyn
happyIn58
		 (Range -> [Decl PName] -> Located [Decl PName]
forall a. Range -> a -> Located a
Located (Range -> Range -> Range
rComb Range
happy_var_1 Range
happy_var_2) []
	)}}

happyReduce_138 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_138 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_138 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
43# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_138
happyReduction_138 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_138 HappyAbsSyn
happy_x_3
	HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Virt TokenV
VCurlyL)  Text
_)) -> 
	case HappyAbsSyn -> [Decl PName]
happyOut48 HappyAbsSyn
happy_x_2 of { [Decl PName]
happy_var_2 -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located Range
happy_var_3 (Token (Virt TokenV
VCurlyR)  Text
_)) -> 
	Located [Decl PName] -> HappyAbsSyn
happyIn58
		 (let l2 :: Range
l2 = Range -> Maybe Range -> Range
forall a. a -> Maybe a -> a
fromMaybe Range
happy_var_3 ([Decl PName] -> Maybe Range
forall t. HasLoc t => t -> Maybe Range
getLoc [Decl PName]
happy_var_2)
                                    in Range -> [Decl PName] -> Located [Decl PName]
forall a. Range -> a -> Located a
Located (Range -> Range -> Range
rComb Range
happy_var_1 Range
l2) ([Decl PName] -> [Decl PName]
forall a. [a] -> [a]
reverse [Decl PName]
happy_var_2)
	)}}}

happyReduce_139 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_139 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_139 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
44# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_139
happyReduction_139 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_139 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Expr PName
happyOut60 HappyAbsSyn
happy_x_1 of { Expr PName
happy_var_1 -> 
	case HappyAbsSyn -> Type PName
happyOut100 HappyAbsSyn
happy_x_3 of { Type PName
happy_var_3 -> 
	Expr PName -> HappyAbsSyn
happyIn59
		 ((Expr PName, Type PName) -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Expr PName
happy_var_1,Type PName
happy_var_3) (Expr PName -> Type PName -> Expr PName
forall n. Expr n -> Type n -> Expr n
ETyped Expr PName
happy_var_1 Type PName
happy_var_3)
	)}}

happyReduce_140 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_140 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_140 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
45# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_140
happyReduction_140 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_140 HappyAbsSyn
happy_x_3
	HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Expr PName
happyOut60 HappyAbsSyn
happy_x_1 of { Expr PName
happy_var_1 -> 
	case HappyAbsSyn -> LPName
happyOut51 HappyAbsSyn
happy_x_2 of { LPName
happy_var_2 -> 
	case HappyAbsSyn -> Expr PName
happyOut64 HappyAbsSyn
happy_x_3 of { Expr PName
happy_var_3 -> 
	Expr PName -> HappyAbsSyn
happyIn60
		 (Expr PName -> LPName -> Expr PName -> Expr PName
binOp Expr PName
happy_var_1 LPName
happy_var_2 Expr PName
happy_var_3
	)}}}

happyReduce_141 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_141 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_141 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
45# HappyAbsSyn -> HappyAbsSyn
happyReduction_141
happyReduction_141 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_141 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Expr PName
happyOut64 HappyAbsSyn
happy_x_1 of { Expr PName
happy_var_1 -> 
	Expr PName -> HappyAbsSyn
happyIn60
		 (Expr PName
happy_var_1
	)}

happyReduce_142 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_142 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_142 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce Int#
4# Int#
46# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_142
happyReduction_142 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_142 (HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (KW TokenKW
KW_if     ) Text
_)) -> 
	case HappyAbsSyn -> [(Expr PName, Expr PName)]
happyOut62 HappyAbsSyn
happy_x_2 of { [(Expr PName, Expr PName)]
happy_var_2 -> 
	case HappyAbsSyn -> Expr PName
happyOut57 HappyAbsSyn
happy_x_4 of { Expr PName
happy_var_4 -> 
	Expr PName -> HappyAbsSyn
happyIn61
		 ((Range, Expr PName) -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Expr PName
happy_var_4) (Expr PName -> Expr PName) -> Expr PName -> Expr PName
forall a b. (a -> b) -> a -> b
$ [(Expr PName, Expr PName)] -> Expr PName -> Expr PName
mkIf ([(Expr PName, Expr PName)] -> [(Expr PName, Expr PName)]
forall a. [a] -> [a]
reverse [(Expr PName, Expr PName)]
happy_var_2) Expr PName
happy_var_4
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}

happyReduce_143 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_143 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_143 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce Int#
4# Int#
46# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_143
happyReduction_143 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_143 (HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Sym TokenSym
Lambda  ) Text
_)) -> 
	case HappyAbsSyn -> [Pattern PName]
happyOut42 HappyAbsSyn
happy_x_2 of { [Pattern PName]
happy_var_2 -> 
	case HappyAbsSyn -> Expr PName
happyOut57 HappyAbsSyn
happy_x_4 of { Expr PName
happy_var_4 -> 
	Expr PName -> HappyAbsSyn
happyIn61
		 ((Range, Expr PName) -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Expr PName
happy_var_4) (Expr PName -> Expr PName) -> Expr PName -> Expr PName
forall a b. (a -> b) -> a -> b
$ FunDesc PName -> [Pattern PName] -> Expr PName -> Expr PName
forall n. FunDesc n -> [Pattern n] -> Expr n -> Expr n
EFun FunDesc PName
forall n. FunDesc n
emptyFunDesc ([Pattern PName] -> [Pattern PName]
forall a. [a] -> [a]
reverse [Pattern PName]
happy_var_2) Expr PName
happy_var_4
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}

happyReduce_144 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_144 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_144 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
47# HappyAbsSyn -> HappyAbsSyn
happyReduction_144
happyReduction_144 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_144 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> (Expr PName, Expr PName)
happyOut63 HappyAbsSyn
happy_x_1 of { (Expr PName, Expr PName)
happy_var_1 -> 
	[(Expr PName, Expr PName)] -> HappyAbsSyn
happyIn62
		 ([(Expr PName, Expr PName)
happy_var_1]
	)}

happyReduce_145 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_145 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_145 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
47# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_145
happyReduction_145 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_145 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> [(Expr PName, Expr PName)]
happyOut62 HappyAbsSyn
happy_x_1 of { [(Expr PName, Expr PName)]
happy_var_1 -> 
	case HappyAbsSyn -> (Expr PName, Expr PName)
happyOut63 HappyAbsSyn
happy_x_3 of { (Expr PName, Expr PName)
happy_var_3 -> 
	[(Expr PName, Expr PName)] -> HappyAbsSyn
happyIn62
		 ((Expr PName, Expr PName)
happy_var_3 (Expr PName, Expr PName)
-> [(Expr PName, Expr PName)] -> [(Expr PName, Expr PName)]
forall k1. k1 -> [k1] -> [k1]
: [(Expr PName, Expr PName)]
happy_var_1
	)}}

happyReduce_146 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_146 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_146 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
48# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_146
happyReduction_146 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_146 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Expr PName
happyOut56 HappyAbsSyn
happy_x_1 of { Expr PName
happy_var_1 -> 
	case HappyAbsSyn -> Expr PName
happyOut56 HappyAbsSyn
happy_x_3 of { Expr PName
happy_var_3 -> 
	(Expr PName, Expr PName) -> HappyAbsSyn
happyIn63
		 ((Expr PName
happy_var_1, Expr PName
happy_var_3)
	)}}

happyReduce_147 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_147 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_147 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  Int#
49# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_147
happyReduction_147 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_147 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Op TokenOp
Minus) Text
_)) -> 
	case HappyAbsSyn -> Expr PName
happyOut66 HappyAbsSyn
happy_x_2 of { Expr PName
happy_var_2 -> 
	Expr PName -> HappyAbsSyn
happyIn64
		 ((Range, Expr PName) -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Expr PName
happy_var_2) (Expr PName -> Expr PName
forall n. Expr n -> Expr n
ENeg Expr PName
happy_var_2)
	)}}

happyReduce_148 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_148 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_148 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  Int#
49# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_148
happyReduction_148 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_148 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Op TokenOp
Complement) Text
_)) -> 
	case HappyAbsSyn -> Expr PName
happyOut66 HappyAbsSyn
happy_x_2 of { Expr PName
happy_var_2 -> 
	Expr PName -> HappyAbsSyn
happyIn64
		 ((Range, Expr PName) -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Expr PName
happy_var_2) (Expr PName -> Expr PName
forall n. Expr n -> Expr n
EComplement Expr PName
happy_var_2)
	)}}

happyReduce_149 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_149 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_149 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
49# HappyAbsSyn -> HappyAbsSyn
happyReduction_149
happyReduction_149 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_149 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Expr PName
happyOut66 HappyAbsSyn
happy_x_1 of { Expr PName
happy_var_1 -> 
	Expr PName -> HappyAbsSyn
happyIn64
		 (Expr PName
happy_var_1
	)}

happyReduce_150 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_150 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_150 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  Int#
50# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_150
happyReduction_150 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_150 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Op TokenOp
Minus) Text
_)) -> 
	case HappyAbsSyn -> Expr PName
happyOut67 HappyAbsSyn
happy_x_2 of { Expr PName
happy_var_2 -> 
	Expr PName -> HappyAbsSyn
happyIn65
		 ((Range, Expr PName) -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Expr PName
happy_var_2) (Expr PName -> Expr PName
forall n. Expr n -> Expr n
ENeg Expr PName
happy_var_2)
	)}}

happyReduce_151 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_151 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_151 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  Int#
50# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_151
happyReduction_151 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_151 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Op TokenOp
Complement) Text
_)) -> 
	case HappyAbsSyn -> Expr PName
happyOut67 HappyAbsSyn
happy_x_2 of { Expr PName
happy_var_2 -> 
	Expr PName -> HappyAbsSyn
happyIn65
		 ((Range, Expr PName) -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Expr PName
happy_var_2) (Expr PName -> Expr PName
forall n. Expr n -> Expr n
EComplement Expr PName
happy_var_2)
	)}}

happyReduce_152 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_152 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_152 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
50# HappyAbsSyn -> HappyAbsSyn
happyReduction_152
happyReduction_152 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_152 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Expr PName
happyOut67 HappyAbsSyn
happy_x_1 of { Expr PName
happy_var_1 -> 
	Expr PName -> HappyAbsSyn
happyIn65
		 (Expr PName
happy_var_1
	)}

happyReduce_153 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_153 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_153 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce Int#
1# Int#
51# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_153
happyReduction_153 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_153 (HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest) p
tk
	 = ParseM (Expr PName)
-> (Expr PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> NonEmpty (Expr PName)
happyOut68 HappyAbsSyn
happy_x_1 of { NonEmpty (Expr PName)
happy_var_1 -> 
	( NonEmpty (Expr PName) -> ParseM (Expr PName)
mkEApp NonEmpty (Expr PName)
happy_var_1)})
	) (\Expr PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (Expr PName -> HappyAbsSyn
happyIn66 Expr PName
r))

happyReduce_154 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_154 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_154 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  Int#
52# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_154
happyReduction_154 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_154 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Expr PName
happyOut66 HappyAbsSyn
happy_x_1 of { Expr PName
happy_var_1 -> 
	case HappyAbsSyn -> Expr PName
happyOut61 HappyAbsSyn
happy_x_2 of { Expr PName
happy_var_2 -> 
	Expr PName -> HappyAbsSyn
happyIn67
		 ((Expr PName, Expr PName) -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Expr PName
happy_var_1,Expr PName
happy_var_2) (Expr PName -> Expr PName -> Expr PName
forall n. Expr n -> Expr n -> Expr n
EApp Expr PName
happy_var_1 Expr PName
happy_var_2)
	)}}

happyReduce_155 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_155 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_155 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
52# HappyAbsSyn -> HappyAbsSyn
happyReduction_155
happyReduction_155 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_155 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Expr PName
happyOut61 HappyAbsSyn
happy_x_1 of { Expr PName
happy_var_1 -> 
	Expr PName -> HappyAbsSyn
happyIn67
		 (Expr PName
happy_var_1
	)}

happyReduce_156 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_156 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_156 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
52# HappyAbsSyn -> HappyAbsSyn
happyReduction_156
happyReduction_156 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_156 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Expr PName
happyOut66 HappyAbsSyn
happy_x_1 of { Expr PName
happy_var_1 -> 
	Expr PName -> HappyAbsSyn
happyIn67
		 (Expr PName
happy_var_1
	)}

happyReduce_157 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_157 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_157 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
53# HappyAbsSyn -> HappyAbsSyn
happyReduction_157
happyReduction_157 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_157 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Expr PName
happyOut69 HappyAbsSyn
happy_x_1 of { Expr PName
happy_var_1 -> 
	NonEmpty (Expr PName) -> HappyAbsSyn
happyIn68
		 (Expr PName
happy_var_1 Expr PName -> [Expr PName] -> NonEmpty (Expr PName)
forall a. a -> [a] -> NonEmpty a
:| []
	)}

happyReduce_158 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_158 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_158 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  Int#
53# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_158
happyReduction_158 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_158 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> NonEmpty (Expr PName)
happyOut68 HappyAbsSyn
happy_x_1 of { NonEmpty (Expr PName)
happy_var_1 -> 
	case HappyAbsSyn -> Expr PName
happyOut69 HappyAbsSyn
happy_x_2 of { Expr PName
happy_var_2 -> 
	NonEmpty (Expr PName) -> HappyAbsSyn
happyIn68
		 (Expr PName -> NonEmpty (Expr PName) -> NonEmpty (Expr PName)
forall a. a -> NonEmpty a -> NonEmpty a
cons Expr PName
happy_var_2 NonEmpty (Expr PName)
happy_var_1
	)}}

happyReduce_159 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_159 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_159 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
54# HappyAbsSyn -> HappyAbsSyn
happyReduction_159
happyReduction_159 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_159 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Expr PName
happyOut70 HappyAbsSyn
happy_x_1 of { Expr PName
happy_var_1 -> 
	Expr PName -> HappyAbsSyn
happyIn69
		 (Expr PName
happy_var_1
	)}

happyReduce_160 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_160 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_160 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
54# HappyAbsSyn -> HappyAbsSyn
happyReduction_160
happyReduction_160 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_160 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Expr PName
happyOut71 HappyAbsSyn
happy_x_1 of { Expr PName
happy_var_1 -> 
	Expr PName -> HappyAbsSyn
happyIn69
		 (Expr PName
happy_var_1
	)}

happyReduce_161 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_161 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_161 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
55# HappyAbsSyn -> HappyAbsSyn
happyReduction_161
happyReduction_161 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_161 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> LPName
happyOut113 HappyAbsSyn
happy_x_1 of { LPName
happy_var_1 -> 
	Expr PName -> HappyAbsSyn
happyIn70
		 (LPName -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at LPName
happy_var_1 (Expr PName -> Expr PName) -> Expr PName -> Expr PName
forall a b. (a -> b) -> a -> b
$ PName -> Expr PName
forall n. n -> Expr n
EVar (LPName -> PName
forall a. Located a -> a
thing LPName
happy_var_1)
	)}

happyReduce_162 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_162 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_162 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
55# HappyAbsSyn -> HappyAbsSyn
happyReduction_162
happyReduction_162 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_162 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (happy_var_1 :: Located Token
happy_var_1@(Located Range
_ (Token (Num   {}) Text
_))) -> 
	Expr PName -> HappyAbsSyn
happyIn70
		 (Located Token -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at Located Token
happy_var_1 (Expr PName -> Expr PName) -> Expr PName -> Expr PName
forall a b. (a -> b) -> a -> b
$ Token -> Expr PName
numLit (Located Token -> Token
forall a. Located a -> a
thing Located Token
happy_var_1)
	)}

happyReduce_163 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_163 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_163 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
55# HappyAbsSyn -> HappyAbsSyn
happyReduction_163
happyReduction_163 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_163 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (happy_var_1 :: Located Token
happy_var_1@(Located Range
_ (Token (Frac  {}) Text
_))) -> 
	Expr PName -> HappyAbsSyn
happyIn70
		 (Located Token -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at Located Token
happy_var_1 (Expr PName -> Expr PName) -> Expr PName -> Expr PName
forall a b. (a -> b) -> a -> b
$ Token -> Expr PName
fracLit (Located Token -> Token
forall a. Located a -> a
thing Located Token
happy_var_1)
	)}

happyReduce_164 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_164 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_164 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
55# HappyAbsSyn -> HappyAbsSyn
happyReduction_164
happyReduction_164 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_164 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (happy_var_1 :: Located Token
happy_var_1@(Located Range
_ (Token (StrLit {}) Text
_))) -> 
	Expr PName -> HappyAbsSyn
happyIn70
		 (Located Token -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at Located Token
happy_var_1 (Expr PName -> Expr PName) -> Expr PName -> Expr PName
forall a b. (a -> b) -> a -> b
$ Literal -> Expr PName
forall n. Literal -> Expr n
ELit (Literal -> Expr PName) -> Literal -> Expr PName
forall a b. (a -> b) -> a -> b
$ FilePath -> Literal
ECString (FilePath -> Literal) -> FilePath -> Literal
forall a b. (a -> b) -> a -> b
$ Located Token -> FilePath
getStr Located Token
happy_var_1
	)}

happyReduce_165 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_165 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_165 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
55# HappyAbsSyn -> HappyAbsSyn
happyReduction_165
happyReduction_165 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_165 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (happy_var_1 :: Located Token
happy_var_1@(Located Range
_ (Token (ChrLit {}) Text
_))) -> 
	Expr PName -> HappyAbsSyn
happyIn70
		 (Located Token -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at Located Token
happy_var_1 (Expr PName -> Expr PName) -> Expr PName -> Expr PName
forall a b. (a -> b) -> a -> b
$ Literal -> Expr PName
forall n. Literal -> Expr n
ELit (Literal -> Expr PName) -> Literal -> Expr PName
forall a b. (a -> b) -> a -> b
$ Char -> Literal
ECChar (Char -> Literal) -> Char -> Literal
forall a b. (a -> b) -> a -> b
$ Located Token -> Char
getChr Located Token
happy_var_1
	)}

happyReduce_166 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_166 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_166 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
55# HappyAbsSyn -> HappyAbsSyn
happyReduction_166
happyReduction_166 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_166 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Sym TokenSym
Underscore ) Text
_)) -> 
	Expr PName -> HappyAbsSyn
happyIn70
		 (Range -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at Range
happy_var_1 (Expr PName -> Expr PName) -> Expr PName -> Expr PName
forall a b. (a -> b) -> a -> b
$ PName -> Expr PName
forall n. n -> Expr n
EVar (PName -> Expr PName) -> PName -> Expr PName
forall a b. (a -> b) -> a -> b
$ Ident -> PName
mkUnqual (Ident -> PName) -> Ident -> PName
forall a b. (a -> b) -> a -> b
$ Text -> Ident
mkIdent Text
"_"
	)}

happyReduce_167 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_167 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_167 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
55# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_167
happyReduction_167 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_167 HappyAbsSyn
happy_x_3
	HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Sym TokenSym
ParenL  ) Text
_)) -> 
	case HappyAbsSyn -> Expr PName
happyOut56 HappyAbsSyn
happy_x_2 of { Expr PName
happy_var_2 -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located Range
happy_var_3 (Token (Sym TokenSym
ParenR  ) Text
_)) -> 
	Expr PName -> HappyAbsSyn
happyIn70
		 ((Range, Range) -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Range
happy_var_3) (Expr PName -> Expr PName) -> Expr PName -> Expr PName
forall a b. (a -> b) -> a -> b
$ Expr PName -> Expr PName
forall n. Expr n -> Expr n
EParens Expr PName
happy_var_2
	)}}}

happyReduce_168 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_168 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_168 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
55# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_168
happyReduction_168 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_168 HappyAbsSyn
happy_x_3
	HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Sym TokenSym
ParenL  ) Text
_)) -> 
	case HappyAbsSyn -> [Expr PName]
happyOut75 HappyAbsSyn
happy_x_2 of { [Expr PName]
happy_var_2 -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located Range
happy_var_3 (Token (Sym TokenSym
ParenR  ) Text
_)) -> 
	Expr PName -> HappyAbsSyn
happyIn70
		 ((Range, Range) -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Range
happy_var_3) (Expr PName -> Expr PName) -> Expr PName -> Expr PName
forall a b. (a -> b) -> a -> b
$ [Expr PName] -> Expr PName
forall n. [Expr n] -> Expr n
ETuple ([Expr PName] -> [Expr PName]
forall a. [a] -> [a]
reverse [Expr PName]
happy_var_2)
	)}}}

happyReduce_169 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_169 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_169 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  Int#
55# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_169
happyReduction_169 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_169 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Sym TokenSym
ParenL  ) Text
_)) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (Located Range
happy_var_2 (Token (Sym TokenSym
ParenR  ) Text
_)) -> 
	Expr PName -> HappyAbsSyn
happyIn70
		 ((Range, Range) -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Range
happy_var_2) (Expr PName -> Expr PName) -> Expr PName -> Expr PName
forall a b. (a -> b) -> a -> b
$ [Expr PName] -> Expr PName
forall n. [Expr n] -> Expr n
ETuple []
	)}}

happyReduce_170 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_170 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_170 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce Int#
2# Int#
55# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_170
happyReduction_170 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_170 (HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest) p
tk
	 = ParseM (Expr PName)
-> (Expr PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Sym TokenSym
CurlyL  ) Text
_)) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (Located Range
happy_var_2 (Token (Sym TokenSym
CurlyR  ) Text
_)) -> 
	( Range
-> (RecordMap Ident (Range, Expr PName) -> Expr PName)
-> [Named (Expr PName)]
-> ParseM (Expr PName)
forall b a.
AddLoc b =>
Range -> (RecordMap Ident (Range, a) -> b) -> [Named a] -> ParseM b
mkRecord (Range -> Range -> Range
rComb Range
happy_var_1 Range
happy_var_2) RecordMap Ident (Range, Expr PName) -> Expr PName
forall n. Rec (Expr n) -> Expr n
ERecord [])}})
	) (\Expr PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (Expr PName -> HappyAbsSyn
happyIn70 Expr PName
r))

happyReduce_171 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_171 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_171 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce Int#
3# Int#
55# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_171
happyReduction_171 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_171 (HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest) p
tk
	 = ParseM (Expr PName)
-> (Expr PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Sym TokenSym
CurlyL  ) Text
_)) -> 
	case HappyAbsSyn -> Either (Expr PName) [Named (Expr PName)]
happyOut76 HappyAbsSyn
happy_x_2 of { Either (Expr PName) [Named (Expr PName)]
happy_var_2 -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located Range
happy_var_3 (Token (Sym TokenSym
CurlyR  ) Text
_)) -> 
	( case Either (Expr PName) [Named (Expr PName)]
happy_var_2 of {
                                       Left Expr PName
upd -> Expr PName -> ParseM (Expr PName)
forall (f :: * -> *) a. Applicative f => a -> f a
pure (Expr PName -> ParseM (Expr PName))
-> Expr PName -> ParseM (Expr PName)
forall a b. (a -> b) -> a -> b
$ (Range, Range) -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Range
happy_var_3) Expr PName
upd;
                                       Right [Named (Expr PName)]
fs -> Range
-> (RecordMap Ident (Range, Expr PName) -> Expr PName)
-> [Named (Expr PName)]
-> ParseM (Expr PName)
forall b a.
AddLoc b =>
Range -> (RecordMap Ident (Range, a) -> b) -> [Named a] -> ParseM b
mkRecord (Range -> Range -> Range
rComb Range
happy_var_1 Range
happy_var_3) RecordMap Ident (Range, Expr PName) -> Expr PName
forall n. Rec (Expr n) -> Expr n
ERecord [Named (Expr PName)]
fs; })}}})
	) (\Expr PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (Expr PName -> HappyAbsSyn
happyIn70 Expr PName
r))

happyReduce_172 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_172 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_172 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  Int#
55# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_172
happyReduction_172 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_172 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Sym TokenSym
BracketL) Text
_)) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (Located Range
happy_var_2 (Token (Sym TokenSym
BracketR) Text
_)) -> 
	Expr PName -> HappyAbsSyn
happyIn70
		 ((Range, Range) -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Range
happy_var_2) (Expr PName -> Expr PName) -> Expr PName -> Expr PName
forall a b. (a -> b) -> a -> b
$ [Expr PName] -> Expr PName
forall n. [Expr n] -> Expr n
EList []
	)}}

happyReduce_173 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_173 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_173 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
55# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_173
happyReduction_173 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_173 HappyAbsSyn
happy_x_3
	HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Sym TokenSym
BracketL) Text
_)) -> 
	case HappyAbsSyn -> Expr PName
happyOut81 HappyAbsSyn
happy_x_2 of { Expr PName
happy_var_2 -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located Range
happy_var_3 (Token (Sym TokenSym
BracketR) Text
_)) -> 
	Expr PName -> HappyAbsSyn
happyIn70
		 ((Range, Range) -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Range
happy_var_3) Expr PName
happy_var_2
	)}}}

happyReduce_174 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_174 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_174 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  Int#
55# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_174
happyReduction_174 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_174 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Sym TokenSym
BackTick) Text
_)) -> 
	case HappyAbsSyn -> Type PName
happyOut115 HappyAbsSyn
happy_x_2 of { Type PName
happy_var_2 -> 
	Expr PName -> HappyAbsSyn
happyIn70
		 ((Range, Type PName) -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Type PName
happy_var_2) (Expr PName -> Expr PName) -> Expr PName -> Expr PName
forall a b. (a -> b) -> a -> b
$ Type PName -> Expr PName
forall n. Type n -> Expr n
ETypeVal Type PName
happy_var_2
	)}}

happyReduce_175 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_175 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_175 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
55# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_175
happyReduction_175 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_175 HappyAbsSyn
happy_x_3
	HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Sym TokenSym
ParenL  ) Text
_)) -> 
	case HappyAbsSyn -> LPName
happyOut51 HappyAbsSyn
happy_x_2 of { LPName
happy_var_2 -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located Range
happy_var_3 (Token (Sym TokenSym
ParenR  ) Text
_)) -> 
	Expr PName -> HappyAbsSyn
happyIn70
		 ((Range, Range) -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Range
happy_var_3) (Expr PName -> Expr PName) -> Expr PName -> Expr PName
forall a b. (a -> b) -> a -> b
$ PName -> Expr PName
forall n. n -> Expr n
EVar (PName -> Expr PName) -> PName -> Expr PName
forall a b. (a -> b) -> a -> b
$ LPName -> PName
forall a. Located a -> a
thing LPName
happy_var_2
	)}}}

happyReduce_176 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_176 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_176 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce Int#
2# Int#
55# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_176
happyReduction_176 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_176 (HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest) p
tk
	 = ParseM (Expr PName)
-> (Expr PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Sym TokenSym
TriL    ) Text
_)) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (Located Range
happy_var_2 (Token (Sym TokenSym
TriR    ) Text
_)) -> 
	( Range -> [(Bool, Integer)] -> ParseM (Expr PName)
mkPoly (Range -> Range -> Range
rComb Range
happy_var_1 Range
happy_var_2) [])}})
	) (\Expr PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (Expr PName -> HappyAbsSyn
happyIn70 Expr PName
r))

happyReduce_177 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_177 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_177 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce Int#
3# Int#
55# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_177
happyReduction_177 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_177 (HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest) p
tk
	 = ParseM (Expr PName)
-> (Expr PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Sym TokenSym
TriL    ) Text
_)) -> 
	case HappyAbsSyn -> [(Bool, Integer)]
happyOut73 HappyAbsSyn
happy_x_2 of { [(Bool, Integer)]
happy_var_2 -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located Range
happy_var_3 (Token (Sym TokenSym
TriR    ) Text
_)) -> 
	( Range -> [(Bool, Integer)] -> ParseM (Expr PName)
mkPoly (Range -> Range -> Range
rComb Range
happy_var_1 Range
happy_var_3) [(Bool, Integer)]
happy_var_2)}}})
	) (\Expr PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (Expr PName -> HappyAbsSyn
happyIn70 Expr PName
r))

happyReduce_178 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_178 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_178 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  Int#
56# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_178
happyReduction_178 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_178 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Expr PName
happyOut70 HappyAbsSyn
happy_x_1 of { Expr PName
happy_var_1 -> 
	case HappyAbsSyn -> Located Selector
happyOut72 HappyAbsSyn
happy_x_2 of { Located Selector
happy_var_2 -> 
	Expr PName -> HappyAbsSyn
happyIn71
		 ((Expr PName, Located Selector) -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Expr PName
happy_var_1,Located Selector
happy_var_2) (Expr PName -> Expr PName) -> Expr PName -> Expr PName
forall a b. (a -> b) -> a -> b
$ Expr PName -> Selector -> Expr PName
forall n. Expr n -> Selector -> Expr n
ESel Expr PName
happy_var_1 (Located Selector -> Selector
forall a. Located a -> a
thing Located Selector
happy_var_2)
	)}}

happyReduce_179 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_179 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_179 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  Int#
56# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_179
happyReduction_179 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_179 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Expr PName
happyOut71 HappyAbsSyn
happy_x_1 of { Expr PName
happy_var_1 -> 
	case HappyAbsSyn -> Located Selector
happyOut72 HappyAbsSyn
happy_x_2 of { Located Selector
happy_var_2 -> 
	Expr PName -> HappyAbsSyn
happyIn71
		 ((Expr PName, Located Selector) -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Expr PName
happy_var_1,Located Selector
happy_var_2) (Expr PName -> Expr PName) -> Expr PName -> Expr PName
forall a b. (a -> b) -> a -> b
$ Expr PName -> Selector -> Expr PName
forall n. Expr n -> Selector -> Expr n
ESel Expr PName
happy_var_1 (Located Selector -> Selector
forall a. Located a -> a
thing Located Selector
happy_var_2)
	)}}

happyReduce_180 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_180 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_180 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
57# HappyAbsSyn -> HappyAbsSyn
happyReduction_180
happyReduction_180 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_180 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (happy_var_1 :: Located Token
happy_var_1@(Located Range
_ (Token  (Selector SelectorType
_) Text
_))) -> 
	Located Selector -> HappyAbsSyn
happyIn72
		 (Token -> Selector
mkSelector (Token -> Selector) -> Located Token -> Located Selector
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
`fmap` Located Token
happy_var_1
	)}

happyReduce_181 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_181 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_181 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
58# HappyAbsSyn -> HappyAbsSyn
happyReduction_181
happyReduction_181 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_181 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> (Bool, Integer)
happyOut74 HappyAbsSyn
happy_x_1 of { (Bool, Integer)
happy_var_1 -> 
	[(Bool, Integer)] -> HappyAbsSyn
happyIn73
		 ([(Bool, Integer)
happy_var_1]
	)}

happyReduce_182 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_182 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_182 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
58# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_182
happyReduction_182 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_182 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> [(Bool, Integer)]
happyOut73 HappyAbsSyn
happy_x_1 of { [(Bool, Integer)]
happy_var_1 -> 
	case HappyAbsSyn -> (Bool, Integer)
happyOut74 HappyAbsSyn
happy_x_3 of { (Bool, Integer)
happy_var_3 -> 
	[(Bool, Integer)] -> HappyAbsSyn
happyIn73
		 ((Bool, Integer)
happy_var_3 (Bool, Integer) -> [(Bool, Integer)] -> [(Bool, Integer)]
forall k1. k1 -> [k1] -> [k1]
: [(Bool, Integer)]
happy_var_1
	)}}

happyReduce_183 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_183 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_183 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce Int#
1# Int#
59# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_183
happyReduction_183 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_183 (HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest) p
tk
	 = ParseM (Bool, Integer)
-> ((Bool, Integer) -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (happy_var_1 :: Located Token
happy_var_1@(Located Range
_ (Token (Num   {}) Text
_))) -> 
	( Range -> Integer -> Integer -> ParseM (Bool, Integer)
polyTerm (Located Token -> Range
forall a. Located a -> Range
srcRange Located Token
happy_var_1) (Located Token -> Integer
getNum Located Token
happy_var_1) Integer
0)})
	) (\(Bool, Integer)
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn ((Bool, Integer) -> HappyAbsSyn
happyIn74 (Bool, Integer)
r))

happyReduce_184 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_184 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_184 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce Int#
1# Int#
59# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_184
happyReduction_184 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_184 (HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest) p
tk
	 = ParseM (Bool, Integer)
-> ((Bool, Integer) -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (KW TokenKW
KW_x)       Text
_)) -> 
	( Range -> Integer -> Integer -> ParseM (Bool, Integer)
polyTerm Range
happy_var_1 Integer
1 Integer
1)})
	) (\(Bool, Integer)
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn ((Bool, Integer) -> HappyAbsSyn
happyIn74 (Bool, Integer)
r))

happyReduce_185 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_185 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_185 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce Int#
3# Int#
59# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_185
happyReduction_185 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_185 (HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest) p
tk
	 = ParseM (Bool, Integer)
-> ((Bool, Integer) -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (KW TokenKW
KW_x)       Text
_)) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (happy_var_3 :: Located Token
happy_var_3@(Located Range
_ (Token (Num   {}) Text
_))) -> 
	( Range -> Integer -> Integer -> ParseM (Bool, Integer)
polyTerm (Range -> Range -> Range
rComb Range
happy_var_1 (Located Token -> Range
forall a. Located a -> Range
srcRange Located Token
happy_var_3))
                                                            Integer
1 (Located Token -> Integer
getNum Located Token
happy_var_3))}})
	) (\(Bool, Integer)
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn ((Bool, Integer) -> HappyAbsSyn
happyIn74 (Bool, Integer)
r))

happyReduce_186 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_186 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_186 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
60# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_186
happyReduction_186 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_186 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Expr PName
happyOut56 HappyAbsSyn
happy_x_1 of { Expr PName
happy_var_1 -> 
	case HappyAbsSyn -> Expr PName
happyOut56 HappyAbsSyn
happy_x_3 of { Expr PName
happy_var_3 -> 
	[Expr PName] -> HappyAbsSyn
happyIn75
		 ([ Expr PName
happy_var_3, Expr PName
happy_var_1]
	)}}

happyReduce_187 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_187 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_187 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
60# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_187
happyReduction_187 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_187 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> [Expr PName]
happyOut75 HappyAbsSyn
happy_x_1 of { [Expr PName]
happy_var_1 -> 
	case HappyAbsSyn -> Expr PName
happyOut56 HappyAbsSyn
happy_x_3 of { Expr PName
happy_var_3 -> 
	[Expr PName] -> HappyAbsSyn
happyIn75
		 (Expr PName
happy_var_3 Expr PName -> [Expr PName] -> [Expr PName]
forall k1. k1 -> [k1] -> [k1]
: [Expr PName]
happy_var_1
	)}}

happyReduce_188 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_188 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_188 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
61# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_188
happyReduction_188 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_188 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Expr PName
happyOut69 HappyAbsSyn
happy_x_1 of { Expr PName
happy_var_1 -> 
	case HappyAbsSyn -> [UpdField PName]
happyOut77 HappyAbsSyn
happy_x_3 of { [UpdField PName]
happy_var_3 -> 
	Either (Expr PName) [Named (Expr PName)] -> HappyAbsSyn
happyIn76
		 (Expr PName -> Either (Expr PName) [Named (Expr PName)]
forall a b. a -> Either a b
Left (Maybe (Expr PName) -> [UpdField PName] -> Expr PName
forall n. Maybe (Expr n) -> [UpdField n] -> Expr n
EUpd (Expr PName -> Maybe (Expr PName)
forall k1. k1 -> Maybe k1
Just Expr PName
happy_var_1) ([UpdField PName] -> [UpdField PName]
forall a. [a] -> [a]
reverse [UpdField PName]
happy_var_3))
	)}}

happyReduce_189 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_189 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_189 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
61# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p p. HappyAbsSyn -> p -> p -> HappyAbsSyn
happyReduction_189
happyReduction_189 :: HappyAbsSyn -> p -> p -> HappyAbsSyn
happyReduction_189 HappyAbsSyn
happy_x_3
	p
happy_x_2
	p
happy_x_1
	 =  case HappyAbsSyn -> [UpdField PName]
happyOut77 HappyAbsSyn
happy_x_3 of { [UpdField PName]
happy_var_3 -> 
	Either (Expr PName) [Named (Expr PName)] -> HappyAbsSyn
happyIn76
		 (Expr PName -> Either (Expr PName) [Named (Expr PName)]
forall a b. a -> Either a b
Left (Maybe (Expr PName) -> [UpdField PName] -> Expr PName
forall n. Maybe (Expr n) -> [UpdField n] -> Expr n
EUpd Maybe (Expr PName)
forall k1. Maybe k1
Nothing   ([UpdField PName] -> [UpdField PName]
forall a. [a] -> [a]
reverse [UpdField PName]
happy_var_3))
	)}

happyReduce_190 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_190 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_190 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce Int#
1# Int#
61# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_190
happyReduction_190 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_190 (HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest) p
tk
	 = ParseM (Either (Expr PName) [Named (Expr PName)])
-> (Either (Expr PName) [Named (Expr PName)] -> ParseM HappyAbsSyn)
-> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> [UpdField PName]
happyOut77 HappyAbsSyn
happy_x_1 of { [UpdField PName]
happy_var_1 -> 
	( [Named (Expr PName)] -> Either (Expr PName) [Named (Expr PName)]
forall a b. b -> Either a b
Right ([Named (Expr PName)] -> Either (Expr PName) [Named (Expr PName)])
-> ParseM [Named (Expr PName)]
-> ParseM (Either (Expr PName) [Named (Expr PName)])
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
`fmap` (UpdField PName -> ParseM (Named (Expr PName)))
-> [UpdField PName] -> ParseM [Named (Expr PName)]
forall (t :: * -> *) (m :: * -> *) a b.
(Traversable t, Monad m) =>
(a -> m b) -> t a -> m (t b)
mapM UpdField PName -> ParseM (Named (Expr PName))
ufToNamed [UpdField PName]
happy_var_1)})
	) (\Either (Expr PName) [Named (Expr PName)]
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (Either (Expr PName) [Named (Expr PName)] -> HappyAbsSyn
happyIn76 Either (Expr PName) [Named (Expr PName)]
r))

happyReduce_191 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_191 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_191 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
62# HappyAbsSyn -> HappyAbsSyn
happyReduction_191
happyReduction_191 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_191 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> UpdField PName
happyOut78 HappyAbsSyn
happy_x_1 of { UpdField PName
happy_var_1 -> 
	[UpdField PName] -> HappyAbsSyn
happyIn77
		 ([UpdField PName
happy_var_1]
	)}

happyReduce_192 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_192 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_192 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
62# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_192
happyReduction_192 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_192 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> [UpdField PName]
happyOut77 HappyAbsSyn
happy_x_1 of { [UpdField PName]
happy_var_1 -> 
	case HappyAbsSyn -> UpdField PName
happyOut78 HappyAbsSyn
happy_x_3 of { UpdField PName
happy_var_3 -> 
	[UpdField PName] -> HappyAbsSyn
happyIn77
		 (UpdField PName
happy_var_3 UpdField PName -> [UpdField PName] -> [UpdField PName]
forall k1. k1 -> [k1] -> [k1]
: [UpdField PName]
happy_var_1
	)}}

happyReduce_193 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_193 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_193 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce Int#
4# Int#
63# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_193
happyReduction_193 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_193 (HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> [Located Selector]
happyOut79 HappyAbsSyn
happy_x_1 of { [Located Selector]
happy_var_1 -> 
	case HappyAbsSyn -> ([Pattern PName], [Pattern PName])
happyOut46 HappyAbsSyn
happy_x_2 of { ([Pattern PName], [Pattern PName])
happy_var_2 -> 
	case HappyAbsSyn -> UpdHow
happyOut80 HappyAbsSyn
happy_x_3 of { UpdHow
happy_var_3 -> 
	case HappyAbsSyn -> Expr PName
happyOut56 HappyAbsSyn
happy_x_4 of { Expr PName
happy_var_4 -> 
	UpdField PName -> HappyAbsSyn
happyIn78
		 (UpdHow -> [Located Selector] -> Expr PName -> UpdField PName
forall n. UpdHow -> [Located Selector] -> Expr n -> UpdField n
UpdField UpdHow
happy_var_3 [Located Selector]
happy_var_1 (([Pattern PName], [Pattern PName]) -> Expr PName -> Expr PName
mkIndexedExpr ([Pattern PName], [Pattern PName])
happy_var_2 Expr PName
happy_var_4)
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}}

happyReduce_194 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_194 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_194 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce Int#
1# Int#
64# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_194
happyReduction_194 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_194 (HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest) p
tk
	 = ParseM [Located Selector]
-> ([Located Selector] -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Expr PName
happyOut69 HappyAbsSyn
happy_x_1 of { Expr PName
happy_var_1 -> 
	( Expr PName -> ParseM [Located Selector]
exprToFieldPath Expr PName
happy_var_1)})
	) (\[Located Selector]
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn ([Located Selector] -> HappyAbsSyn
happyIn79 [Located Selector]
r))

happyReduce_195 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_195 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_195 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
65# HappyAbsSyn -> HappyAbsSyn
forall p. p -> HappyAbsSyn
happyReduction_195
happyReduction_195 :: p -> HappyAbsSyn
happyReduction_195 p
happy_x_1
	 =  UpdHow -> HappyAbsSyn
happyIn80
		 (UpdHow
UpdSet
	)

happyReduce_196 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_196 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_196 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
65# HappyAbsSyn -> HappyAbsSyn
forall p. p -> HappyAbsSyn
happyReduction_196
happyReduction_196 :: p -> HappyAbsSyn
happyReduction_196 p
happy_x_1
	 =  UpdHow -> HappyAbsSyn
happyIn80
		 (UpdHow
UpdFun
	)

happyReduce_197 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_197 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_197 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
66# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_197
happyReduction_197 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_197 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Expr PName
happyOut56 HappyAbsSyn
happy_x_1 of { Expr PName
happy_var_1 -> 
	case HappyAbsSyn -> [[Match PName]]
happyOut82 HappyAbsSyn
happy_x_3 of { [[Match PName]]
happy_var_3 -> 
	Expr PName -> HappyAbsSyn
happyIn81
		 (Expr PName -> [[Match PName]] -> Expr PName
forall n. Expr n -> [[Match n]] -> Expr n
EComp Expr PName
happy_var_1 ([[Match PName]] -> [[Match PName]]
forall a. [a] -> [a]
reverse [[Match PName]]
happy_var_3)
	)}}

happyReduce_198 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_198 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_198 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
66# HappyAbsSyn -> HappyAbsSyn
happyReduction_198
happyReduction_198 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_198 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Expr PName
happyOut56 HappyAbsSyn
happy_x_1 of { Expr PName
happy_var_1 -> 
	Expr PName -> HappyAbsSyn
happyIn81
		 ([Expr PName] -> Expr PName
forall n. [Expr n] -> Expr n
EList [Expr PName
happy_var_1]
	)}

happyReduce_199 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_199 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_199 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
66# HappyAbsSyn -> HappyAbsSyn
happyReduction_199
happyReduction_199 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_199 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> [Expr PName]
happyOut75 HappyAbsSyn
happy_x_1 of { [Expr PName]
happy_var_1 -> 
	Expr PName -> HappyAbsSyn
happyIn81
		 ([Expr PName] -> Expr PName
forall n. [Expr n] -> Expr n
EList ([Expr PName] -> [Expr PName]
forall a. [a] -> [a]
reverse [Expr PName]
happy_var_1)
	)}

happyReduce_200 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_200 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_200 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce Int#
3# Int#
66# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_200
happyReduction_200 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_200 (HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest) p
tk
	 = ParseM (Expr PName)
-> (Expr PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Expr PName
happyOut56 HappyAbsSyn
happy_x_1 of { Expr PName
happy_var_1 -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (Located Range
happy_var_2 (Token (Sym TokenSym
DotDot  ) Text
_)) -> 
	case HappyAbsSyn -> Expr PName
happyOut56 HappyAbsSyn
happy_x_3 of { Expr PName
happy_var_3 -> 
	( Range
-> Expr PName
-> Maybe (Expr PName)
-> Expr PName
-> ParseM (Expr PName)
eFromTo Range
happy_var_2 Expr PName
happy_var_1 Maybe (Expr PName)
forall k1. Maybe k1
Nothing   Expr PName
happy_var_3)}}})
	) (\Expr PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (Expr PName -> HappyAbsSyn
happyIn81 Expr PName
r))

happyReduce_201 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_201 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_201 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce Int#
5# Int#
66# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_201
happyReduction_201 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_201 (HappyAbsSyn
happy_x_5 `HappyStk`
	HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest) p
tk
	 = ParseM (Expr PName)
-> (Expr PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Expr PName
happyOut56 HappyAbsSyn
happy_x_1 of { Expr PName
happy_var_1 -> 
	case HappyAbsSyn -> Expr PName
happyOut56 HappyAbsSyn
happy_x_3 of { Expr PName
happy_var_3 -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_4 of { (Located Range
happy_var_4 (Token (Sym TokenSym
DotDot  ) Text
_)) -> 
	case HappyAbsSyn -> Expr PName
happyOut56 HappyAbsSyn
happy_x_5 of { Expr PName
happy_var_5 -> 
	( Range
-> Expr PName
-> Maybe (Expr PName)
-> Expr PName
-> ParseM (Expr PName)
eFromTo Range
happy_var_4 Expr PName
happy_var_1 (Expr PName -> Maybe (Expr PName)
forall k1. k1 -> Maybe k1
Just Expr PName
happy_var_3) Expr PName
happy_var_5)}}}})
	) (\Expr PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (Expr PName -> HappyAbsSyn
happyIn81 Expr PName
r))

happyReduce_202 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_202 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_202 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce Int#
4# Int#
66# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_202
happyReduction_202 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_202 (HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest) p
tk
	 = ParseM (Expr PName)
-> (Expr PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Expr PName
happyOut56 HappyAbsSyn
happy_x_1 of { Expr PName
happy_var_1 -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (Located Range
happy_var_2 (Token (Sym TokenSym
DotDot  ) Text
_)) -> 
	case HappyAbsSyn -> Expr PName
happyOut56 HappyAbsSyn
happy_x_4 of { Expr PName
happy_var_4 -> 
	( Range -> Expr PName -> Expr PName -> ParseM (Expr PName)
eFromToLessThan Range
happy_var_2 Expr PName
happy_var_1 Expr PName
happy_var_4)}}})
	) (\Expr PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (Expr PName -> HappyAbsSyn
happyIn81 Expr PName
r))

happyReduce_203 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_203 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_203 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce Int#
3# Int#
66# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_203
happyReduction_203 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_203 (HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest) p
tk
	 = ParseM (Expr PName)
-> (Expr PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Expr PName
happyOut56 HappyAbsSyn
happy_x_1 of { Expr PName
happy_var_1 -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (Located Range
happy_var_2 (Token (Sym TokenSym
DotDotLt) Text
_)) -> 
	case HappyAbsSyn -> Expr PName
happyOut56 HappyAbsSyn
happy_x_3 of { Expr PName
happy_var_3 -> 
	( Range -> Expr PName -> Expr PName -> ParseM (Expr PName)
eFromToLessThan Range
happy_var_2 Expr PName
happy_var_1 Expr PName
happy_var_3)}}})
	) (\Expr PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (Expr PName -> HappyAbsSyn
happyIn81 Expr PName
r))

happyReduce_204 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_204 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_204 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  Int#
66# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_204
happyReduction_204 :: p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_204 p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Expr PName
happyOut56 HappyAbsSyn
happy_x_1 of { Expr PName
happy_var_1 -> 
	Expr PName -> HappyAbsSyn
happyIn81
		 (Expr PName -> Maybe (Expr PName) -> Expr PName
forall n. Expr n -> Maybe (Expr n) -> Expr n
EInfFrom Expr PName
happy_var_1 Maybe (Expr PName)
forall k1. Maybe k1
Nothing
	)}

happyReduce_205 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_205 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_205 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce Int#
4# Int#
66# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_205
happyReduction_205 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_205 (HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> Expr PName
happyOut56 HappyAbsSyn
happy_x_1 of { Expr PName
happy_var_1 -> 
	case HappyAbsSyn -> Expr PName
happyOut56 HappyAbsSyn
happy_x_3 of { Expr PName
happy_var_3 -> 
	Expr PName -> HappyAbsSyn
happyIn81
		 (Expr PName -> Maybe (Expr PName) -> Expr PName
forall n. Expr n -> Maybe (Expr n) -> Expr n
EInfFrom Expr PName
happy_var_1 (Expr PName -> Maybe (Expr PName)
forall k1. k1 -> Maybe k1
Just Expr PName
happy_var_3)
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}

happyReduce_206 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_206 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_206 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
67# HappyAbsSyn -> HappyAbsSyn
happyReduction_206
happyReduction_206 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_206 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> [Match PName]
happyOut83 HappyAbsSyn
happy_x_1 of { [Match PName]
happy_var_1 -> 
	[[Match PName]] -> HappyAbsSyn
happyIn82
		 ([ [Match PName] -> [Match PName]
forall a. [a] -> [a]
reverse [Match PName]
happy_var_1 ]
	)}

happyReduce_207 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_207 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_207 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
67# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_207
happyReduction_207 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_207 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> [[Match PName]]
happyOut82 HappyAbsSyn
happy_x_1 of { [[Match PName]]
happy_var_1 -> 
	case HappyAbsSyn -> [Match PName]
happyOut83 HappyAbsSyn
happy_x_3 of { [Match PName]
happy_var_3 -> 
	[[Match PName]] -> HappyAbsSyn
happyIn82
		 ([Match PName] -> [Match PName]
forall a. [a] -> [a]
reverse [Match PName]
happy_var_3 [Match PName] -> [[Match PName]] -> [[Match PName]]
forall k1. k1 -> [k1] -> [k1]
: [[Match PName]]
happy_var_1
	)}}

happyReduce_208 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_208 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_208 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
68# HappyAbsSyn -> HappyAbsSyn
happyReduction_208
happyReduction_208 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_208 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Match PName
happyOut84 HappyAbsSyn
happy_x_1 of { Match PName
happy_var_1 -> 
	[Match PName] -> HappyAbsSyn
happyIn83
		 ([Match PName
happy_var_1]
	)}

happyReduce_209 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_209 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_209 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
68# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_209
happyReduction_209 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_209 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> [Match PName]
happyOut83 HappyAbsSyn
happy_x_1 of { [Match PName]
happy_var_1 -> 
	case HappyAbsSyn -> Match PName
happyOut84 HappyAbsSyn
happy_x_3 of { Match PName
happy_var_3 -> 
	[Match PName] -> HappyAbsSyn
happyIn83
		 (Match PName
happy_var_3 Match PName -> [Match PName] -> [Match PName]
forall k1. k1 -> [k1] -> [k1]
: [Match PName]
happy_var_1
	)}}

happyReduce_210 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_210 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_210 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
69# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_210
happyReduction_210 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_210 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Pattern PName
happyOut85 HappyAbsSyn
happy_x_1 of { Pattern PName
happy_var_1 -> 
	case HappyAbsSyn -> Expr PName
happyOut56 HappyAbsSyn
happy_x_3 of { Expr PName
happy_var_3 -> 
	Match PName -> HappyAbsSyn
happyIn84
		 (Pattern PName -> Expr PName -> Match PName
forall name. Pattern name -> Expr name -> Match name
Match Pattern PName
happy_var_1 Expr PName
happy_var_3
	)}}

happyReduce_211 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_211 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_211 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
70# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_211
happyReduction_211 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_211 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Pattern PName
happyOut86 HappyAbsSyn
happy_x_1 of { Pattern PName
happy_var_1 -> 
	case HappyAbsSyn -> Type PName
happyOut100 HappyAbsSyn
happy_x_3 of { Type PName
happy_var_3 -> 
	Pattern PName -> HappyAbsSyn
happyIn85
		 ((Pattern PName, Type PName) -> Pattern PName -> Pattern PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Pattern PName
happy_var_1,Type PName
happy_var_3) (Pattern PName -> Pattern PName) -> Pattern PName -> Pattern PName
forall a b. (a -> b) -> a -> b
$ Pattern PName -> Type PName -> Pattern PName
forall n. Pattern n -> Type n -> Pattern n
PTyped Pattern PName
happy_var_1 Type PName
happy_var_3
	)}}

happyReduce_212 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_212 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_212 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
70# HappyAbsSyn -> HappyAbsSyn
happyReduction_212
happyReduction_212 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_212 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Pattern PName
happyOut86 HappyAbsSyn
happy_x_1 of { Pattern PName
happy_var_1 -> 
	Pattern PName -> HappyAbsSyn
happyIn85
		 (Pattern PName
happy_var_1
	)}

happyReduce_213 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_213 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_213 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
71# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_213
happyReduction_213 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_213 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Pattern PName
happyOut86 HappyAbsSyn
happy_x_1 of { Pattern PName
happy_var_1 -> 
	case HappyAbsSyn -> Pattern PName
happyOut86 HappyAbsSyn
happy_x_3 of { Pattern PName
happy_var_3 -> 
	Pattern PName -> HappyAbsSyn
happyIn86
		 ((Pattern PName, Pattern PName) -> Pattern PName -> Pattern PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Pattern PName
happy_var_1,Pattern PName
happy_var_3) (Pattern PName -> Pattern PName) -> Pattern PName -> Pattern PName
forall a b. (a -> b) -> a -> b
$ Pattern PName -> Pattern PName -> Pattern PName
forall n. Pattern n -> Pattern n -> Pattern n
PSplit Pattern PName
happy_var_1 Pattern PName
happy_var_3
	)}}

happyReduce_214 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_214 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_214 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
71# HappyAbsSyn -> HappyAbsSyn
happyReduction_214
happyReduction_214 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_214 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Pattern PName
happyOut87 HappyAbsSyn
happy_x_1 of { Pattern PName
happy_var_1 -> 
	Pattern PName -> HappyAbsSyn
happyIn86
		 (Pattern PName
happy_var_1
	)}

happyReduce_215 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_215 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_215 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
72# HappyAbsSyn -> HappyAbsSyn
happyReduction_215
happyReduction_215 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_215 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> LPName
happyOut110 HappyAbsSyn
happy_x_1 of { LPName
happy_var_1 -> 
	Pattern PName -> HappyAbsSyn
happyIn87
		 (LPName -> Pattern PName
forall n. Located n -> Pattern n
PVar LPName
happy_var_1
	)}

happyReduce_216 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_216 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_216 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
72# HappyAbsSyn -> HappyAbsSyn
happyReduction_216
happyReduction_216 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_216 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Sym TokenSym
Underscore ) Text
_)) -> 
	Pattern PName -> HappyAbsSyn
happyIn87
		 (Range -> Pattern PName -> Pattern PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at Range
happy_var_1       (Pattern PName -> Pattern PName) -> Pattern PName -> Pattern PName
forall a b. (a -> b) -> a -> b
$ Pattern PName
forall n. Pattern n
PWild
	)}

happyReduce_217 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_217 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_217 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  Int#
72# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_217
happyReduction_217 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_217 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Sym TokenSym
ParenL  ) Text
_)) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (Located Range
happy_var_2 (Token (Sym TokenSym
ParenR  ) Text
_)) -> 
	Pattern PName -> HappyAbsSyn
happyIn87
		 ((Range, Range) -> Pattern PName -> Pattern PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Range
happy_var_2) (Pattern PName -> Pattern PName) -> Pattern PName -> Pattern PName
forall a b. (a -> b) -> a -> b
$ [Pattern PName] -> Pattern PName
forall n. [Pattern n] -> Pattern n
PTuple []
	)}}

happyReduce_218 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_218 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_218 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
72# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_218
happyReduction_218 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_218 HappyAbsSyn
happy_x_3
	HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Sym TokenSym
ParenL  ) Text
_)) -> 
	case HappyAbsSyn -> Pattern PName
happyOut85 HappyAbsSyn
happy_x_2 of { Pattern PName
happy_var_2 -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located Range
happy_var_3 (Token (Sym TokenSym
ParenR  ) Text
_)) -> 
	Pattern PName -> HappyAbsSyn
happyIn87
		 ((Range, Range) -> Pattern PName -> Pattern PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Range
happy_var_3)   Pattern PName
happy_var_2
	)}}}

happyReduce_219 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_219 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_219 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
72# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_219
happyReduction_219 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_219 HappyAbsSyn
happy_x_3
	HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Sym TokenSym
ParenL  ) Text
_)) -> 
	case HappyAbsSyn -> [Pattern PName]
happyOut88 HappyAbsSyn
happy_x_2 of { [Pattern PName]
happy_var_2 -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located Range
happy_var_3 (Token (Sym TokenSym
ParenR  ) Text
_)) -> 
	Pattern PName -> HappyAbsSyn
happyIn87
		 ((Range, Range) -> Pattern PName -> Pattern PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Range
happy_var_3) (Pattern PName -> Pattern PName) -> Pattern PName -> Pattern PName
forall a b. (a -> b) -> a -> b
$ [Pattern PName] -> Pattern PName
forall n. [Pattern n] -> Pattern n
PTuple ([Pattern PName] -> [Pattern PName]
forall a. [a] -> [a]
reverse [Pattern PName]
happy_var_2)
	)}}}

happyReduce_220 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_220 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_220 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  Int#
72# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_220
happyReduction_220 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_220 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Sym TokenSym
BracketL) Text
_)) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (Located Range
happy_var_2 (Token (Sym TokenSym
BracketR) Text
_)) -> 
	Pattern PName -> HappyAbsSyn
happyIn87
		 ((Range, Range) -> Pattern PName -> Pattern PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Range
happy_var_2) (Pattern PName -> Pattern PName) -> Pattern PName -> Pattern PName
forall a b. (a -> b) -> a -> b
$ [Pattern PName] -> Pattern PName
forall n. [Pattern n] -> Pattern n
PList []
	)}}

happyReduce_221 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_221 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_221 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
72# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_221
happyReduction_221 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_221 HappyAbsSyn
happy_x_3
	HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Sym TokenSym
BracketL) Text
_)) -> 
	case HappyAbsSyn -> Pattern PName
happyOut85 HappyAbsSyn
happy_x_2 of { Pattern PName
happy_var_2 -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located Range
happy_var_3 (Token (Sym TokenSym
BracketR) Text
_)) -> 
	Pattern PName -> HappyAbsSyn
happyIn87
		 ((Range, Range) -> Pattern PName -> Pattern PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Range
happy_var_3) (Pattern PName -> Pattern PName) -> Pattern PName -> Pattern PName
forall a b. (a -> b) -> a -> b
$ [Pattern PName] -> Pattern PName
forall n. [Pattern n] -> Pattern n
PList [Pattern PName
happy_var_2]
	)}}}

happyReduce_222 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_222 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_222 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
72# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_222
happyReduction_222 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_222 HappyAbsSyn
happy_x_3
	HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Sym TokenSym
BracketL) Text
_)) -> 
	case HappyAbsSyn -> [Pattern PName]
happyOut88 HappyAbsSyn
happy_x_2 of { [Pattern PName]
happy_var_2 -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located Range
happy_var_3 (Token (Sym TokenSym
BracketR) Text
_)) -> 
	Pattern PName -> HappyAbsSyn
happyIn87
		 ((Range, Range) -> Pattern PName -> Pattern PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Range
happy_var_3) (Pattern PName -> Pattern PName) -> Pattern PName -> Pattern PName
forall a b. (a -> b) -> a -> b
$ [Pattern PName] -> Pattern PName
forall n. [Pattern n] -> Pattern n
PList ([Pattern PName] -> [Pattern PName]
forall a. [a] -> [a]
reverse [Pattern PName]
happy_var_2)
	)}}}

happyReduce_223 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_223 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_223 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce Int#
2# Int#
72# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_223
happyReduction_223 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_223 (HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest) p
tk
	 = ParseM (Pattern PName)
-> (Pattern PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Sym TokenSym
CurlyL  ) Text
_)) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (Located Range
happy_var_2 (Token (Sym TokenSym
CurlyR  ) Text
_)) -> 
	( Range
-> (RecordMap Ident (Range, Pattern PName) -> Pattern PName)
-> [Named (Pattern PName)]
-> ParseM (Pattern PName)
forall b a.
AddLoc b =>
Range -> (RecordMap Ident (Range, a) -> b) -> [Named a] -> ParseM b
mkRecord (Range -> Range -> Range
rComb Range
happy_var_1 Range
happy_var_2) RecordMap Ident (Range, Pattern PName) -> Pattern PName
forall n. Rec (Pattern n) -> Pattern n
PRecord [])}})
	) (\Pattern PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (Pattern PName -> HappyAbsSyn
happyIn87 Pattern PName
r))

happyReduce_224 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_224 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_224 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce Int#
3# Int#
72# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_224
happyReduction_224 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_224 (HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest) p
tk
	 = ParseM (Pattern PName)
-> (Pattern PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Sym TokenSym
CurlyL  ) Text
_)) -> 
	case HappyAbsSyn -> [Named (Pattern PName)]
happyOut90 HappyAbsSyn
happy_x_2 of { [Named (Pattern PName)]
happy_var_2 -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located Range
happy_var_3 (Token (Sym TokenSym
CurlyR  ) Text
_)) -> 
	( Range
-> (RecordMap Ident (Range, Pattern PName) -> Pattern PName)
-> [Named (Pattern PName)]
-> ParseM (Pattern PName)
forall b a.
AddLoc b =>
Range -> (RecordMap Ident (Range, a) -> b) -> [Named a] -> ParseM b
mkRecord (Range -> Range -> Range
rComb Range
happy_var_1 Range
happy_var_3) RecordMap Ident (Range, Pattern PName) -> Pattern PName
forall n. Rec (Pattern n) -> Pattern n
PRecord [Named (Pattern PName)]
happy_var_2)}}})
	) (\Pattern PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (Pattern PName -> HappyAbsSyn
happyIn87 Pattern PName
r))

happyReduce_225 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_225 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_225 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
73# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_225
happyReduction_225 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_225 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Pattern PName
happyOut85 HappyAbsSyn
happy_x_1 of { Pattern PName
happy_var_1 -> 
	case HappyAbsSyn -> Pattern PName
happyOut85 HappyAbsSyn
happy_x_3 of { Pattern PName
happy_var_3 -> 
	[Pattern PName] -> HappyAbsSyn
happyIn88
		 ([Pattern PName
happy_var_3, Pattern PName
happy_var_1]
	)}}

happyReduce_226 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_226 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_226 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
73# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_226
happyReduction_226 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_226 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> [Pattern PName]
happyOut88 HappyAbsSyn
happy_x_1 of { [Pattern PName]
happy_var_1 -> 
	case HappyAbsSyn -> Pattern PName
happyOut85 HappyAbsSyn
happy_x_3 of { Pattern PName
happy_var_3 -> 
	[Pattern PName] -> HappyAbsSyn
happyIn88
		 (Pattern PName
happy_var_3 Pattern PName -> [Pattern PName] -> [Pattern PName]
forall k1. k1 -> [k1] -> [k1]
: [Pattern PName]
happy_var_1
	)}}

happyReduce_227 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_227 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_227 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
74# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_227
happyReduction_227 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_227 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> LIdent
happyOut109 HappyAbsSyn
happy_x_1 of { LIdent
happy_var_1 -> 
	case HappyAbsSyn -> Pattern PName
happyOut85 HappyAbsSyn
happy_x_3 of { Pattern PName
happy_var_3 -> 
	Named (Pattern PName) -> HappyAbsSyn
happyIn89
		 (Named :: forall a. LIdent -> a -> Named a
Named { name :: LIdent
name = LIdent
happy_var_1, value :: Pattern PName
value = Pattern PName
happy_var_3 }
	)}}

happyReduce_228 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_228 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_228 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
75# HappyAbsSyn -> HappyAbsSyn
happyReduction_228
happyReduction_228 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_228 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Named (Pattern PName)
happyOut89 HappyAbsSyn
happy_x_1 of { Named (Pattern PName)
happy_var_1 -> 
	[Named (Pattern PName)] -> HappyAbsSyn
happyIn90
		 ([Named (Pattern PName)
happy_var_1]
	)}

happyReduce_229 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_229 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_229 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
75# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_229
happyReduction_229 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_229 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> [Named (Pattern PName)]
happyOut90 HappyAbsSyn
happy_x_1 of { [Named (Pattern PName)]
happy_var_1 -> 
	case HappyAbsSyn -> Named (Pattern PName)
happyOut89 HappyAbsSyn
happy_x_3 of { Named (Pattern PName)
happy_var_3 -> 
	[Named (Pattern PName)] -> HappyAbsSyn
happyIn90
		 (Named (Pattern PName)
happy_var_3 Named (Pattern PName)
-> [Named (Pattern PName)] -> [Named (Pattern PName)]
forall k1. k1 -> [k1] -> [k1]
: [Named (Pattern PName)]
happy_var_1
	)}}

happyReduce_230 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_230 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_230 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
76# HappyAbsSyn -> HappyAbsSyn
happyReduction_230
happyReduction_230 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_230 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Type PName
happyOut100 HappyAbsSyn
happy_x_1 of { Type PName
happy_var_1 -> 
	Schema PName -> HappyAbsSyn
happyIn91
		 (Type PName -> Schema PName -> Schema PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at Type PName
happy_var_1 (Schema PName -> Schema PName) -> Schema PName -> Schema PName
forall a b. (a -> b) -> a -> b
$ [TParam PName] -> [Prop PName] -> Type PName -> Schema PName
mkSchema [] [] Type PName
happy_var_1
	)}

happyReduce_231 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_231 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_231 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  Int#
76# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_231
happyReduction_231 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_231 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located [TParam PName]
happyOut92 HappyAbsSyn
happy_x_1 of { Located [TParam PName]
happy_var_1 -> 
	case HappyAbsSyn -> Type PName
happyOut100 HappyAbsSyn
happy_x_2 of { Type PName
happy_var_2 -> 
	Schema PName -> HappyAbsSyn
happyIn91
		 ((Located [TParam PName], Type PName)
-> Schema PName -> Schema PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Located [TParam PName]
happy_var_1,Type PName
happy_var_2) (Schema PName -> Schema PName) -> Schema PName -> Schema PName
forall a b. (a -> b) -> a -> b
$ [TParam PName] -> [Prop PName] -> Type PName -> Schema PName
mkSchema (Located [TParam PName] -> [TParam PName]
forall a. Located a -> a
thing Located [TParam PName]
happy_var_1) [] Type PName
happy_var_2
	)}}

happyReduce_232 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_232 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_232 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  Int#
76# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_232
happyReduction_232 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_232 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located [Prop PName]
happyOut93 HappyAbsSyn
happy_x_1 of { Located [Prop PName]
happy_var_1 -> 
	case HappyAbsSyn -> Type PName
happyOut100 HappyAbsSyn
happy_x_2 of { Type PName
happy_var_2 -> 
	Schema PName -> HappyAbsSyn
happyIn91
		 ((Located [Prop PName], Type PName) -> Schema PName -> Schema PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Located [Prop PName]
happy_var_1,Type PName
happy_var_2) (Schema PName -> Schema PName) -> Schema PName -> Schema PName
forall a b. (a -> b) -> a -> b
$ [TParam PName] -> [Prop PName] -> Type PName -> Schema PName
mkSchema [] (Located [Prop PName] -> [Prop PName]
forall a. Located a -> a
thing Located [Prop PName]
happy_var_1) Type PName
happy_var_2
	)}}

happyReduce_233 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_233 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_233 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
76# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_233
happyReduction_233 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_233 HappyAbsSyn
happy_x_3
	HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located [TParam PName]
happyOut92 HappyAbsSyn
happy_x_1 of { Located [TParam PName]
happy_var_1 -> 
	case HappyAbsSyn -> Located [Prop PName]
happyOut93 HappyAbsSyn
happy_x_2 of { Located [Prop PName]
happy_var_2 -> 
	case HappyAbsSyn -> Type PName
happyOut100 HappyAbsSyn
happy_x_3 of { Type PName
happy_var_3 -> 
	Schema PName -> HappyAbsSyn
happyIn91
		 ((Located [TParam PName], Type PName)
-> Schema PName -> Schema PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Located [TParam PName]
happy_var_1,Type PName
happy_var_3) (Schema PName -> Schema PName) -> Schema PName -> Schema PName
forall a b. (a -> b) -> a -> b
$ [TParam PName] -> [Prop PName] -> Type PName -> Schema PName
mkSchema (Located [TParam PName] -> [TParam PName]
forall a. Located a -> a
thing Located [TParam PName]
happy_var_1)
                                                          (Located [Prop PName] -> [Prop PName]
forall a. Located a -> a
thing Located [Prop PName]
happy_var_2) Type PName
happy_var_3
	)}}}

happyReduce_234 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_234 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_234 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  Int#
77# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_234
happyReduction_234 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_234 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Sym TokenSym
CurlyL  ) Text
_)) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (Located Range
happy_var_2 (Token (Sym TokenSym
CurlyR  ) Text
_)) -> 
	Located [TParam PName] -> HappyAbsSyn
happyIn92
		 (Range -> [TParam PName] -> Located [TParam PName]
forall a. Range -> a -> Located a
Located (Range -> Range -> Range
rComb Range
happy_var_1 Range
happy_var_2) []
	)}}

happyReduce_235 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_235 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_235 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
77# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_235
happyReduction_235 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_235 HappyAbsSyn
happy_x_3
	HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Sym TokenSym
CurlyL  ) Text
_)) -> 
	case HappyAbsSyn -> [TParam PName]
happyOut97 HappyAbsSyn
happy_x_2 of { [TParam PName]
happy_var_2 -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located Range
happy_var_3 (Token (Sym TokenSym
CurlyR  ) Text
_)) -> 
	Located [TParam PName] -> HappyAbsSyn
happyIn92
		 (Range -> [TParam PName] -> Located [TParam PName]
forall a. Range -> a -> Located a
Located (Range -> Range -> Range
rComb Range
happy_var_1 Range
happy_var_3) ([TParam PName] -> [TParam PName]
forall a. [a] -> [a]
reverse [TParam PName]
happy_var_2)
	)}}}

happyReduce_236 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_236 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_236 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  Int#
78# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_236
happyReduction_236 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_236 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located [Prop PName]
happyOut93 HappyAbsSyn
happy_x_1 of { Located [Prop PName]
happy_var_1 -> 
	case HappyAbsSyn -> Located [Prop PName]
happyOut94 HappyAbsSyn
happy_x_2 of { Located [Prop PName]
happy_var_2 -> 
	Located [Prop PName] -> HappyAbsSyn
happyIn93
		 ((Located [Prop PName], Located [Prop PName])
-> Located [Prop PName] -> Located [Prop PName]
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Located [Prop PName]
happy_var_1,Located [Prop PName]
happy_var_2) (Located [Prop PName] -> Located [Prop PName])
-> Located [Prop PName] -> Located [Prop PName]
forall a b. (a -> b) -> a -> b
$ ([Prop PName] -> [Prop PName])
-> Located [Prop PName] -> Located [Prop PName]
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap ([Prop PName] -> [Prop PName] -> [Prop PName]
forall a. [a] -> [a] -> [a]
++ Located [Prop PName] -> [Prop PName]
forall a. Located a -> a
thing Located [Prop PName]
happy_var_2) Located [Prop PName]
happy_var_1
	)}}

happyReduce_237 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_237 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_237 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
78# HappyAbsSyn -> HappyAbsSyn
happyReduction_237
happyReduction_237 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_237 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located [Prop PName]
happyOut94 HappyAbsSyn
happy_x_1 of { Located [Prop PName]
happy_var_1 -> 
	Located [Prop PName] -> HappyAbsSyn
happyIn93
		 (Located [Prop PName]
happy_var_1
	)}

happyReduce_238 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_238 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_238 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce Int#
2# Int#
79# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_238
happyReduction_238 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_238 (HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest) p
tk
	 = ParseM (Located [Prop PName])
-> (Located [Prop PName] -> ParseM HappyAbsSyn)
-> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Type PName
happyOut100 HappyAbsSyn
happy_x_1 of { Type PName
happy_var_1 -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (Located Range
happy_var_2 (Token (Sym TokenSym
FatArrR ) Text
_)) -> 
	( (Located [Prop PName] -> Located [Prop PName])
-> ParseM (Located [Prop PName]) -> ParseM (Located [Prop PName])
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (\Located [Prop PName]
x -> (Located [Prop PName], Range)
-> Located [Prop PName] -> Located [Prop PName]
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Located [Prop PName]
x,Range
happy_var_2) Located [Prop PName]
x) (Type PName -> ParseM (Located [Prop PName])
mkProp Type PName
happy_var_1))}})
	) (\Located [Prop PName]
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (Located [Prop PName] -> HappyAbsSyn
happyIn94 Located [Prop PName]
r))

happyReduce_239 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_239 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_239 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
80# HappyAbsSyn -> HappyAbsSyn
happyReduction_239
happyReduction_239 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_239 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Op TokenOp
Hash) Text
_)) -> 
	Located Kind -> HappyAbsSyn
happyIn95
		 (Range -> Kind -> Located Kind
forall a. Range -> a -> Located a
Located Range
happy_var_1 Kind
KNum
	)}

happyReduce_240 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_240 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_240 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
80# HappyAbsSyn -> HappyAbsSyn
happyReduction_240
happyReduction_240 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_240 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Op TokenOp
Mul)   Text
_)) -> 
	Located Kind -> HappyAbsSyn
happyIn95
		 (Range -> Kind -> Located Kind
forall a. Range -> a -> Located a
Located Range
happy_var_1 Kind
KType
	)}

happyReduce_241 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_241 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_241 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
80# HappyAbsSyn -> HappyAbsSyn
happyReduction_241
happyReduction_241 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_241 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (KW TokenKW
KW_Prop) Text
_)) -> 
	Located Kind -> HappyAbsSyn
happyIn95
		 (Range -> Kind -> Located Kind
forall a. Range -> a -> Located a
Located Range
happy_var_1 Kind
KProp
	)}

happyReduce_242 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_242 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_242 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
80# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_242
happyReduction_242 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_242 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Kind
happyOut95 HappyAbsSyn
happy_x_1 of { Located Kind
happy_var_1 -> 
	case HappyAbsSyn -> Located Kind
happyOut95 HappyAbsSyn
happy_x_3 of { Located Kind
happy_var_3 -> 
	Located Kind -> HappyAbsSyn
happyIn95
		 ((Kind -> Kind -> Kind)
-> Located Kind -> Located Kind -> Located Kind
forall a b c. (a -> b -> c) -> Located a -> Located b -> Located c
combLoc Kind -> Kind -> Kind
KFun Located Kind
happy_var_1 Located Kind
happy_var_3
	)}}

happyReduce_243 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_243 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_243 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce Int#
1# Int#
81# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_243
happyReduction_243 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_243 (HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest) p
tk
	 = ParseM (TParam PName)
-> (TParam PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> LIdent
happyOut109 HappyAbsSyn
happy_x_1 of { LIdent
happy_var_1 -> 
	( LIdent -> Maybe Kind -> ParseM (TParam PName)
mkTParam LIdent
happy_var_1 Maybe Kind
forall k1. Maybe k1
Nothing)})
	) (\TParam PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (TParam PName -> HappyAbsSyn
happyIn96 TParam PName
r))

happyReduce_244 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_244 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_244 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce Int#
3# Int#
81# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_244
happyReduction_244 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_244 (HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest) p
tk
	 = ParseM (TParam PName)
-> (TParam PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> LIdent
happyOut109 HappyAbsSyn
happy_x_1 of { LIdent
happy_var_1 -> 
	case HappyAbsSyn -> Located Kind
happyOut95 HappyAbsSyn
happy_x_3 of { Located Kind
happy_var_3 -> 
	( LIdent -> Maybe Kind -> ParseM (TParam PName)
mkTParam ((LIdent, Located Kind) -> LIdent -> LIdent
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (LIdent
happy_var_1,Located Kind
happy_var_3) LIdent
happy_var_1) (Kind -> Maybe Kind
forall k1. k1 -> Maybe k1
Just (Located Kind -> Kind
forall a. Located a -> a
thing Located Kind
happy_var_3)))}})
	) (\TParam PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (TParam PName -> HappyAbsSyn
happyIn96 TParam PName
r))

happyReduce_245 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_245 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_245 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
82# HappyAbsSyn -> HappyAbsSyn
happyReduction_245
happyReduction_245 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_245 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> TParam PName
happyOut96 HappyAbsSyn
happy_x_1 of { TParam PName
happy_var_1 -> 
	[TParam PName] -> HappyAbsSyn
happyIn97
		 ([TParam PName
happy_var_1]
	)}

happyReduce_246 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_246 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_246 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
82# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_246
happyReduction_246 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_246 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> [TParam PName]
happyOut97 HappyAbsSyn
happy_x_1 of { [TParam PName]
happy_var_1 -> 
	case HappyAbsSyn -> TParam PName
happyOut96 HappyAbsSyn
happy_x_3 of { TParam PName
happy_var_3 -> 
	[TParam PName] -> HappyAbsSyn
happyIn97
		 (TParam PName
happy_var_3 TParam PName -> [TParam PName] -> [TParam PName]
forall k1. k1 -> [k1] -> [k1]
: [TParam PName]
happy_var_1
	)}}

happyReduce_247 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_247 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_247 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce Int#
1# Int#
83# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_247
happyReduction_247 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_247 (HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest) p
tk
	 = ParseM (TParam PName)
-> (TParam PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> LIdent
happyOut109 HappyAbsSyn
happy_x_1 of { LIdent
happy_var_1 -> 
	( LIdent -> Maybe Kind -> ParseM (TParam PName)
mkTParam LIdent
happy_var_1 Maybe Kind
forall k1. Maybe k1
Nothing)})
	) (\TParam PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (TParam PName -> HappyAbsSyn
happyIn98 TParam PName
r))

happyReduce_248 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_248 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_248 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce Int#
5# Int#
83# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_248
happyReduction_248 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_248 (HappyAbsSyn
happy_x_5 `HappyStk`
	HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest) p
tk
	 = ParseM (TParam PName)
-> (TParam PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Sym TokenSym
ParenL  ) Text
_)) -> 
	case HappyAbsSyn -> LIdent
happyOut109 HappyAbsSyn
happy_x_2 of { LIdent
happy_var_2 -> 
	case HappyAbsSyn -> Located Kind
happyOut95 HappyAbsSyn
happy_x_4 of { Located Kind
happy_var_4 -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_5 of { (Located Range
happy_var_5 (Token (Sym TokenSym
ParenR  ) Text
_)) -> 
	( LIdent -> Maybe Kind -> ParseM (TParam PName)
mkTParam ((Range, Range) -> LIdent -> LIdent
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Range
happy_var_5) LIdent
happy_var_2) (Kind -> Maybe Kind
forall k1. k1 -> Maybe k1
Just (Located Kind -> Kind
forall a. Located a -> a
thing Located Kind
happy_var_4)))}}}})
	) (\TParam PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (TParam PName -> HappyAbsSyn
happyIn98 TParam PName
r))

happyReduce_249 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_249 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_249 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
84# HappyAbsSyn -> HappyAbsSyn
happyReduction_249
happyReduction_249 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_249 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> TParam PName
happyOut98 HappyAbsSyn
happy_x_1 of { TParam PName
happy_var_1 -> 
	[TParam PName] -> HappyAbsSyn
happyIn99
		 ([TParam PName
happy_var_1]
	)}

happyReduce_250 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_250 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_250 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  Int#
84# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_250
happyReduction_250 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_250 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> [TParam PName]
happyOut99 HappyAbsSyn
happy_x_1 of { [TParam PName]
happy_var_1 -> 
	case HappyAbsSyn -> TParam PName
happyOut98 HappyAbsSyn
happy_x_2 of { TParam PName
happy_var_2 -> 
	[TParam PName] -> HappyAbsSyn
happyIn99
		 (TParam PName
happy_var_2 TParam PName -> [TParam PName] -> [TParam PName]
forall k1. k1 -> [k1] -> [k1]
: [TParam PName]
happy_var_1
	)}}

happyReduce_251 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_251 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_251 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
85# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_251
happyReduction_251 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_251 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Type PName
happyOut101 HappyAbsSyn
happy_x_1 of { Type PName
happy_var_1 -> 
	case HappyAbsSyn -> Type PName
happyOut100 HappyAbsSyn
happy_x_3 of { Type PName
happy_var_3 -> 
	Type PName -> HappyAbsSyn
happyIn100
		 ((Type PName, Type PName) -> Type PName -> Type PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Type PName
happy_var_1,Type PName
happy_var_3) (Type PName -> Type PName) -> Type PName -> Type PName
forall a b. (a -> b) -> a -> b
$ Type PName -> Type PName -> Type PName
forall n. Type n -> Type n -> Type n
TFun Type PName
happy_var_1 Type PName
happy_var_3
	)}}

happyReduce_252 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_252 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_252 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
85# HappyAbsSyn -> HappyAbsSyn
happyReduction_252
happyReduction_252 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_252 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Type PName
happyOut101 HappyAbsSyn
happy_x_1 of { Type PName
happy_var_1 -> 
	Type PName -> HappyAbsSyn
happyIn100
		 (Type PName
happy_var_1
	)}

happyReduce_253 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_253 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_253 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
86# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_253
happyReduction_253 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_253 HappyAbsSyn
happy_x_3
	HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Type PName
happyOut101 HappyAbsSyn
happy_x_1 of { Type PName
happy_var_1 -> 
	case HappyAbsSyn -> LPName
happyOut52 HappyAbsSyn
happy_x_2 of { LPName
happy_var_2 -> 
	case HappyAbsSyn -> Type PName
happyOut102 HappyAbsSyn
happy_x_3 of { Type PName
happy_var_3 -> 
	Type PName -> HappyAbsSyn
happyIn101
		 ((Type PName, Type PName) -> Type PName -> Type PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Type PName
happy_var_1,Type PName
happy_var_3) (Type PName -> Type PName) -> Type PName -> Type PName
forall a b. (a -> b) -> a -> b
$ Type PName -> LPName -> Fixity -> Type PName -> Type PName
forall n. Type n -> Located n -> Fixity -> Type n -> Type n
TInfix Type PName
happy_var_1 LPName
happy_var_2 Fixity
defaultFixity Type PName
happy_var_3
	)}}}

happyReduce_254 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_254 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_254 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
86# HappyAbsSyn -> HappyAbsSyn
happyReduction_254
happyReduction_254 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_254 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Type PName
happyOut102 HappyAbsSyn
happy_x_1 of { Type PName
happy_var_1 -> 
	Type PName -> HappyAbsSyn
happyIn101
		 (Type PName
happy_var_1
	)}

happyReduce_255 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_255 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_255 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  Int#
87# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_255
happyReduction_255 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_255 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located [Type PName]
happyOut105 HappyAbsSyn
happy_x_1 of { Located [Type PName]
happy_var_1 -> 
	case HappyAbsSyn -> Type PName
happyOut103 HappyAbsSyn
happy_x_2 of { Type PName
happy_var_2 -> 
	Type PName -> HappyAbsSyn
happyIn102
		 ((Located [Type PName], Type PName) -> Type PName -> Type PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Located [Type PName]
happy_var_1,Type PName
happy_var_2) (Type PName -> Type PName) -> Type PName -> Type PName
forall a b. (a -> b) -> a -> b
$ (Type PName -> Type PName -> Type PName)
-> Type PName -> [Type PName] -> Type PName
forall (t :: * -> *) a b.
Foldable t =>
(a -> b -> b) -> b -> t a -> b
foldr Type PName -> Type PName -> Type PName
forall n. Type n -> Type n -> Type n
TSeq Type PName
happy_var_2 ([Type PName] -> [Type PName]
forall a. [a] -> [a]
reverse (Located [Type PName] -> [Type PName]
forall a. Located a -> a
thing Located [Type PName]
happy_var_1))
	)}}

happyReduce_256 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_256 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_256 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  Int#
87# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_256
happyReduction_256 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_256 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> LPName
happyOut113 HappyAbsSyn
happy_x_1 of { LPName
happy_var_1 -> 
	case HappyAbsSyn -> [Type PName]
happyOut104 HappyAbsSyn
happy_x_2 of { [Type PName]
happy_var_2 -> 
	Type PName -> HappyAbsSyn
happyIn102
		 ((LPName, Type PName) -> Type PName -> Type PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (LPName
happy_var_1,[Type PName] -> Type PName
forall a. [a] -> a
head [Type PName]
happy_var_2)
                                     (Type PName -> Type PName) -> Type PName -> Type PName
forall a b. (a -> b) -> a -> b
$ PName -> [Type PName] -> Type PName
forall n. n -> [Type n] -> Type n
TUser (LPName -> PName
forall a. Located a -> a
thing LPName
happy_var_1) ([Type PName] -> [Type PName]
forall a. [a] -> [a]
reverse [Type PName]
happy_var_2)
	)}}

happyReduce_257 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_257 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_257 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
87# HappyAbsSyn -> HappyAbsSyn
happyReduction_257
happyReduction_257 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_257 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Type PName
happyOut103 HappyAbsSyn
happy_x_1 of { Type PName
happy_var_1 -> 
	Type PName -> HappyAbsSyn
happyIn102
		 (Type PName
happy_var_1
	)}

happyReduce_258 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_258 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_258 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
88# HappyAbsSyn -> HappyAbsSyn
happyReduction_258
happyReduction_258 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_258 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> LPName
happyOut113 HappyAbsSyn
happy_x_1 of { LPName
happy_var_1 -> 
	Type PName -> HappyAbsSyn
happyIn103
		 (LPName -> Type PName -> Type PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at LPName
happy_var_1 (Type PName -> Type PName) -> Type PName -> Type PName
forall a b. (a -> b) -> a -> b
$ PName -> [Type PName] -> Type PName
forall n. n -> [Type n] -> Type n
TUser (LPName -> PName
forall a. Located a -> a
thing LPName
happy_var_1) []
	)}

happyReduce_259 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_259 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_259 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
88# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. p -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_259
happyReduction_259 :: p -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_259 p
happy_x_3
	HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Sym TokenSym
ParenL  ) Text
_)) -> 
	case HappyAbsSyn -> LPName
happyOut51 HappyAbsSyn
happy_x_2 of { LPName
happy_var_2 -> 
	Type PName -> HappyAbsSyn
happyIn103
		 (Range -> Type PName -> Type PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at Range
happy_var_1 (Type PName -> Type PName) -> Type PName -> Type PName
forall a b. (a -> b) -> a -> b
$ PName -> [Type PName] -> Type PName
forall n. n -> [Type n] -> Type n
TUser (LPName -> PName
forall a. Located a -> a
thing LPName
happy_var_2) []
	)}}

happyReduce_260 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_260 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_260 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
88# HappyAbsSyn -> HappyAbsSyn
happyReduction_260
happyReduction_260 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_260 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (happy_var_1 :: Located Token
happy_var_1@(Located Range
_ (Token (Num   {}) Text
_))) -> 
	Type PName -> HappyAbsSyn
happyIn103
		 (Located Token -> Type PName -> Type PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at Located Token
happy_var_1 (Type PName -> Type PName) -> Type PName -> Type PName
forall a b. (a -> b) -> a -> b
$ Integer -> Type PName
forall n. Integer -> Type n
TNum  (Located Token -> Integer
getNum Located Token
happy_var_1)
	)}

happyReduce_261 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_261 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_261 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
88# HappyAbsSyn -> HappyAbsSyn
happyReduction_261
happyReduction_261 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_261 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (happy_var_1 :: Located Token
happy_var_1@(Located Range
_ (Token (ChrLit {}) Text
_))) -> 
	Type PName -> HappyAbsSyn
happyIn103
		 (Located Token -> Type PName -> Type PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at Located Token
happy_var_1 (Type PName -> Type PName) -> Type PName -> Type PName
forall a b. (a -> b) -> a -> b
$ Char -> Type PName
forall n. Char -> Type n
TChar (Located Token -> Char
getChr Located Token
happy_var_1)
	)}

happyReduce_262 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_262 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_262 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
88# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_262
happyReduction_262 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_262 HappyAbsSyn
happy_x_3
	HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Sym TokenSym
BracketL) Text
_)) -> 
	case HappyAbsSyn -> Type PName
happyOut100 HappyAbsSyn
happy_x_2 of { Type PName
happy_var_2 -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located Range
happy_var_3 (Token (Sym TokenSym
BracketR) Text
_)) -> 
	Type PName -> HappyAbsSyn
happyIn103
		 ((Range, Range) -> Type PName -> Type PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Range
happy_var_3) (Type PName -> Type PName) -> Type PName -> Type PName
forall a b. (a -> b) -> a -> b
$ Type PName -> Type PName -> Type PName
forall n. Type n -> Type n -> Type n
TSeq Type PName
happy_var_2 Type PName
forall n. Type n
TBit
	)}}}

happyReduce_263 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_263 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_263 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
88# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_263
happyReduction_263 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_263 HappyAbsSyn
happy_x_3
	HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Sym TokenSym
ParenL  ) Text
_)) -> 
	case HappyAbsSyn -> Type PName
happyOut100 HappyAbsSyn
happy_x_2 of { Type PName
happy_var_2 -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located Range
happy_var_3 (Token (Sym TokenSym
ParenR  ) Text
_)) -> 
	Type PName -> HappyAbsSyn
happyIn103
		 ((Range, Range) -> Type PName -> Type PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Range
happy_var_3) (Type PName -> Type PName) -> Type PName -> Type PName
forall a b. (a -> b) -> a -> b
$ Type PName -> Type PName
forall n. Type n -> Type n
TParens Type PName
happy_var_2
	)}}}

happyReduce_264 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_264 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_264 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  Int#
88# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_264
happyReduction_264 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_264 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Sym TokenSym
ParenL  ) Text
_)) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (Located Range
happy_var_2 (Token (Sym TokenSym
ParenR  ) Text
_)) -> 
	Type PName -> HappyAbsSyn
happyIn103
		 ((Range, Range) -> Type PName -> Type PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Range
happy_var_2) (Type PName -> Type PName) -> Type PName -> Type PName
forall a b. (a -> b) -> a -> b
$ [Type PName] -> Type PName
forall n. [Type n] -> Type n
TTuple []
	)}}

happyReduce_265 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_265 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_265 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
88# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_265
happyReduction_265 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_265 HappyAbsSyn
happy_x_3
	HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Sym TokenSym
ParenL  ) Text
_)) -> 
	case HappyAbsSyn -> [Type PName]
happyOut106 HappyAbsSyn
happy_x_2 of { [Type PName]
happy_var_2 -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located Range
happy_var_3 (Token (Sym TokenSym
ParenR  ) Text
_)) -> 
	Type PName -> HappyAbsSyn
happyIn103
		 ((Range, Range) -> Type PName -> Type PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Range
happy_var_3) (Type PName -> Type PName) -> Type PName -> Type PName
forall a b. (a -> b) -> a -> b
$ [Type PName] -> Type PName
forall n. [Type n] -> Type n
TTuple  ([Type PName] -> [Type PName]
forall a. [a] -> [a]
reverse [Type PName]
happy_var_2)
	)}}}

happyReduce_266 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_266 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_266 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce Int#
2# Int#
88# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_266
happyReduction_266 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_266 (HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest) p
tk
	 = ParseM (Type PName)
-> (Type PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Sym TokenSym
CurlyL  ) Text
_)) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (Located Range
happy_var_2 (Token (Sym TokenSym
CurlyR  ) Text
_)) -> 
	( Range
-> (RecordMap Ident (Range, Type PName) -> Type PName)
-> [Named (Type PName)]
-> ParseM (Type PName)
forall b a.
AddLoc b =>
Range -> (RecordMap Ident (Range, a) -> b) -> [Named a] -> ParseM b
mkRecord (Range -> Range -> Range
rComb Range
happy_var_1 Range
happy_var_2) RecordMap Ident (Range, Type PName) -> Type PName
forall n. Rec (Type n) -> Type n
TRecord [])}})
	) (\Type PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (Type PName -> HappyAbsSyn
happyIn103 Type PName
r))

happyReduce_267 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_267 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_267 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce Int#
3# Int#
88# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_267
happyReduction_267 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_267 (HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest) p
tk
	 = ParseM (Type PName)
-> (Type PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Sym TokenSym
CurlyL  ) Text
_)) -> 
	case HappyAbsSyn -> [Named (Type PName)]
happyOut108 HappyAbsSyn
happy_x_2 of { [Named (Type PName)]
happy_var_2 -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located Range
happy_var_3 (Token (Sym TokenSym
CurlyR  ) Text
_)) -> 
	( Range
-> (RecordMap Ident (Range, Type PName) -> Type PName)
-> [Named (Type PName)]
-> ParseM (Type PName)
forall b a.
AddLoc b =>
Range -> (RecordMap Ident (Range, a) -> b) -> [Named a] -> ParseM b
mkRecord (Range -> Range -> Range
rComb Range
happy_var_1 Range
happy_var_3) RecordMap Ident (Range, Type PName) -> Type PName
forall n. Rec (Type n) -> Type n
TRecord [Named (Type PName)]
happy_var_2)}}})
	) (\Type PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (Type PName -> HappyAbsSyn
happyIn103 Type PName
r))

happyReduce_268 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_268 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_268 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
88# HappyAbsSyn -> HappyAbsSyn
happyReduction_268
happyReduction_268 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_268 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Sym TokenSym
Underscore ) Text
_)) -> 
	Type PName -> HappyAbsSyn
happyIn103
		 (Range -> Type PName -> Type PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at Range
happy_var_1 Type PName
forall n. Type n
TWild
	)}

happyReduce_269 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_269 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_269 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
89# HappyAbsSyn -> HappyAbsSyn
happyReduction_269
happyReduction_269 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_269 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Type PName
happyOut103 HappyAbsSyn
happy_x_1 of { Type PName
happy_var_1 -> 
	[Type PName] -> HappyAbsSyn
happyIn104
		 ([ Type PName
happy_var_1 ]
	)}

happyReduce_270 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_270 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_270 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  Int#
89# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_270
happyReduction_270 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_270 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> [Type PName]
happyOut104 HappyAbsSyn
happy_x_1 of { [Type PName]
happy_var_1 -> 
	case HappyAbsSyn -> Type PName
happyOut103 HappyAbsSyn
happy_x_2 of { Type PName
happy_var_2 -> 
	[Type PName] -> HappyAbsSyn
happyIn104
		 (Type PName
happy_var_2 Type PName -> [Type PName] -> [Type PName]
forall k1. k1 -> [k1] -> [k1]
: [Type PName]
happy_var_1
	)}}

happyReduce_271 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_271 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_271 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
90# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_271
happyReduction_271 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_271 HappyAbsSyn
happy_x_3
	HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Sym TokenSym
BracketL) Text
_)) -> 
	case HappyAbsSyn -> Type PName
happyOut100 HappyAbsSyn
happy_x_2 of { Type PName
happy_var_2 -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located Range
happy_var_3 (Token (Sym TokenSym
BracketR) Text
_)) -> 
	Located [Type PName] -> HappyAbsSyn
happyIn105
		 (Range -> [Type PName] -> Located [Type PName]
forall a. Range -> a -> Located a
Located (Range -> Range -> Range
rComb Range
happy_var_1 Range
happy_var_3) [ Type PName
happy_var_2 ]
	)}}}

happyReduce_272 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_272 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_272 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce Int#
4# Int#
90# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_272
happyReduction_272 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_272 (HappyAbsSyn
happy_x_4 `HappyStk`
	HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> Located [Type PName]
happyOut105 HappyAbsSyn
happy_x_1 of { Located [Type PName]
happy_var_1 -> 
	case HappyAbsSyn -> Type PName
happyOut100 HappyAbsSyn
happy_x_3 of { Type PName
happy_var_3 -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_4 of { (Located Range
happy_var_4 (Token (Sym TokenSym
BracketR) Text
_)) -> 
	Located [Type PName] -> HappyAbsSyn
happyIn105
		 ((Located [Type PName], Range)
-> Located [Type PName] -> Located [Type PName]
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Located [Type PName]
happy_var_1,Range
happy_var_4) (([Type PName] -> [Type PName])
-> Located [Type PName] -> Located [Type PName]
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (Type PName
happy_var_3 Type PName -> [Type PName] -> [Type PName]
forall k1. k1 -> [k1] -> [k1]
:) Located [Type PName]
happy_var_1)
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}

happyReduce_273 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_273 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_273 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
91# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_273
happyReduction_273 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_273 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Type PName
happyOut100 HappyAbsSyn
happy_x_1 of { Type PName
happy_var_1 -> 
	case HappyAbsSyn -> Type PName
happyOut100 HappyAbsSyn
happy_x_3 of { Type PName
happy_var_3 -> 
	[Type PName] -> HappyAbsSyn
happyIn106
		 ([ Type PName
happy_var_3, Type PName
happy_var_1]
	)}}

happyReduce_274 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_274 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_274 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
91# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_274
happyReduction_274 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_274 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> [Type PName]
happyOut106 HappyAbsSyn
happy_x_1 of { [Type PName]
happy_var_1 -> 
	case HappyAbsSyn -> Type PName
happyOut100 HappyAbsSyn
happy_x_3 of { Type PName
happy_var_3 -> 
	[Type PName] -> HappyAbsSyn
happyIn106
		 (Type PName
happy_var_3 Type PName -> [Type PName] -> [Type PName]
forall k1. k1 -> [k1] -> [k1]
: [Type PName]
happy_var_1
	)}}

happyReduce_275 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_275 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_275 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
92# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_275
happyReduction_275 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_275 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> LIdent
happyOut109 HappyAbsSyn
happy_x_1 of { LIdent
happy_var_1 -> 
	case HappyAbsSyn -> Type PName
happyOut100 HappyAbsSyn
happy_x_3 of { Type PName
happy_var_3 -> 
	Named (Type PName) -> HappyAbsSyn
happyIn107
		 (Named :: forall a. LIdent -> a -> Named a
Named { name :: LIdent
name = LIdent
happy_var_1, value :: Type PName
value = Type PName
happy_var_3 }
	)}}

happyReduce_276 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_276 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_276 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
93# HappyAbsSyn -> HappyAbsSyn
happyReduction_276
happyReduction_276 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_276 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Named (Type PName)
happyOut107 HappyAbsSyn
happy_x_1 of { Named (Type PName)
happy_var_1 -> 
	[Named (Type PName)] -> HappyAbsSyn
happyIn108
		 ([Named (Type PName)
happy_var_1]
	)}

happyReduce_277 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_277 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_277 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
93# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_277
happyReduction_277 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_277 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> [Named (Type PName)]
happyOut108 HappyAbsSyn
happy_x_1 of { [Named (Type PName)]
happy_var_1 -> 
	case HappyAbsSyn -> Named (Type PName)
happyOut107 HappyAbsSyn
happy_x_3 of { Named (Type PName)
happy_var_3 -> 
	[Named (Type PName)] -> HappyAbsSyn
happyIn108
		 (Named (Type PName)
happy_var_3 Named (Type PName) -> [Named (Type PName)] -> [Named (Type PName)]
forall k1. k1 -> [k1] -> [k1]
: [Named (Type PName)]
happy_var_1
	)}}

happyReduce_278 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_278 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_278 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
94# HappyAbsSyn -> HappyAbsSyn
happyReduction_278
happyReduction_278 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_278 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (happy_var_1 :: Located Token
happy_var_1@(Located Range
_ (Token (Ident [] Text
_) Text
_))) -> 
	LIdent -> HappyAbsSyn
happyIn109
		 (let Token (Ident [Text]
_ Text
str) Text
_ = Located Token -> Token
forall a. Located a -> a
thing Located Token
happy_var_1
                         in Located Token
happy_var_1 { thing :: Ident
thing = Text -> Ident
mkIdent Text
str }
	)}

happyReduce_279 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_279 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_279 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
94# HappyAbsSyn -> HappyAbsSyn
happyReduction_279
happyReduction_279 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_279 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (KW TokenKW
KW_x)       Text
_)) -> 
	LIdent -> HappyAbsSyn
happyIn109
		 (Located :: forall a. Range -> a -> Located a
Located { srcRange :: Range
srcRange = Range
happy_var_1, thing :: Ident
thing = Text -> Ident
mkIdent Text
"x" }
	)}

happyReduce_280 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_280 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_280 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
94# HappyAbsSyn -> HappyAbsSyn
happyReduction_280
happyReduction_280 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_280 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (KW TokenKW
KW_private)   Text
_)) -> 
	LIdent -> HappyAbsSyn
happyIn109
		 (Located :: forall a. Range -> a -> Located a
Located { srcRange :: Range
srcRange = Range
happy_var_1, thing :: Ident
thing = Text -> Ident
mkIdent Text
"private" }
	)}

happyReduce_281 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_281 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_281 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
94# HappyAbsSyn -> HappyAbsSyn
happyReduction_281
happyReduction_281 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_281 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (KW TokenKW
KW_as)        Text
_)) -> 
	LIdent -> HappyAbsSyn
happyIn109
		 (Located :: forall a. Range -> a -> Located a
Located { srcRange :: Range
srcRange = Range
happy_var_1, thing :: Ident
thing = Text -> Ident
mkIdent Text
"as" }
	)}

happyReduce_282 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_282 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_282 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
94# HappyAbsSyn -> HappyAbsSyn
happyReduction_282
happyReduction_282 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_282 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (KW TokenKW
KW_hiding)    Text
_)) -> 
	LIdent -> HappyAbsSyn
happyIn109
		 (Located :: forall a. Range -> a -> Located a
Located { srcRange :: Range
srcRange = Range
happy_var_1, thing :: Ident
thing = Text -> Ident
mkIdent Text
"hiding" }
	)}

happyReduce_283 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_283 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_283 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
95# HappyAbsSyn -> HappyAbsSyn
happyReduction_283
happyReduction_283 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_283 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> LIdent
happyOut109 HappyAbsSyn
happy_x_1 of { LIdent
happy_var_1 -> 
	LPName -> HappyAbsSyn
happyIn110
		 ((Ident -> PName) -> LIdent -> LPName
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap Ident -> PName
mkUnqual LIdent
happy_var_1
	)}

happyReduce_284 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_284 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_284 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
96# HappyAbsSyn -> HappyAbsSyn
happyReduction_284
happyReduction_284 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_284 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> LIdent
happyOut109 HappyAbsSyn
happy_x_1 of { LIdent
happy_var_1 -> 
	Located ModName -> HappyAbsSyn
happyIn111
		 ((Ident -> ModName) -> LIdent -> Located ModName
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap ([Text] -> ModName
mkModName ([Text] -> ModName) -> (Ident -> [Text]) -> Ident -> ModName
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Text -> [Text] -> [Text]
forall k1. k1 -> [k1] -> [k1]
:[]) (Text -> [Text]) -> (Ident -> Text) -> Ident -> [Text]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Ident -> Text
identText) LIdent
happy_var_1
	)}

happyReduce_285 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_285 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_285 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
96# HappyAbsSyn -> HappyAbsSyn
happyReduction_285
happyReduction_285 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_285 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (happy_var_1 :: Located Token
happy_var_1@(Located Range
_ (Token  Ident{}     Text
_))) -> 
	Located ModName -> HappyAbsSyn
happyIn111
		 (let Token (Ident [Text]
ns Text
i) Text
_ = Located Token -> Token
forall a. Located a -> a
thing Located Token
happy_var_1
                                     in [Text] -> ModName
mkModName ([Text]
ns [Text] -> [Text] -> [Text]
forall a. [a] -> [a] -> [a]
++ [Text
i]) ModName -> Located Token -> Located ModName
forall (f :: * -> *) a b. Functor f => a -> f b -> f a
A.<$ Located Token
happy_var_1
	)}

happyReduce_286 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_286 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_286 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
97# HappyAbsSyn -> HappyAbsSyn
happyReduction_286
happyReduction_286 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_286 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located ModName
happyOut111 HappyAbsSyn
happy_x_1 of { Located ModName
happy_var_1 -> 
	Located ModName -> HappyAbsSyn
happyIn112
		 (Located ModName
happy_var_1
	)}

happyReduce_287 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_287 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_287 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  Int#
97# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_287
happyReduction_287 :: HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_287 HappyAbsSyn
happy_x_2
	p
happy_x_1
	 =  case HappyAbsSyn -> Located ModName
happyOut111 HappyAbsSyn
happy_x_2 of { Located ModName
happy_var_2 -> 
	Located ModName -> HappyAbsSyn
happyIn112
		 ((ModName -> ModName) -> Located ModName -> Located ModName
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap ModName -> ModName
paramInstModName Located ModName
happy_var_2
	)}

happyReduce_288 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_288 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_288 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
98# HappyAbsSyn -> HappyAbsSyn
happyReduction_288
happyReduction_288 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_288 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> LPName
happyOut110 HappyAbsSyn
happy_x_1 of { LPName
happy_var_1 -> 
	LPName -> HappyAbsSyn
happyIn113
		 (LPName
happy_var_1
	)}

happyReduce_289 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_289 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_289 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
98# HappyAbsSyn -> HappyAbsSyn
happyReduction_289
happyReduction_289 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_289 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (happy_var_1 :: Located Token
happy_var_1@(Located Range
_ (Token  Ident{}     Text
_))) -> 
	LPName -> HappyAbsSyn
happyIn113
		 (let Token (Ident [Text]
ns Text
i) Text
_ = Located Token -> Token
forall a. Located a -> a
thing Located Token
happy_var_1
                                     in ModName -> Ident -> PName
mkQual ([Text] -> ModName
mkModName [Text]
ns) (Text -> Ident
mkIdent Text
i) PName -> Located Token -> LPName
forall (f :: * -> *) a b. Functor f => a -> f b -> f a
A.<$ Located Token
happy_var_1
	)}

happyReduce_290 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_290 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_290 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
99# HappyAbsSyn -> HappyAbsSyn
happyReduction_290
happyReduction_290 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_290 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> LPName
happyOut113 HappyAbsSyn
happy_x_1 of { LPName
happy_var_1 -> 
	LPName -> HappyAbsSyn
happyIn114
		 (LPName
happy_var_1
	)}

happyReduce_291 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_291 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_291 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
99# HappyAbsSyn -> HappyAbsSyn
happyReduction_291
happyReduction_291 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_291 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> LPName
happyOut51 HappyAbsSyn
happy_x_1 of { LPName
happy_var_1 -> 
	LPName -> HappyAbsSyn
happyIn114
		 (LPName
happy_var_1
	)}

happyReduce_292 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_292 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_292 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
99# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p p. p -> HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_292
happyReduction_292 :: p -> HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_292 p
happy_x_3
	HappyAbsSyn
happy_x_2
	p
happy_x_1
	 =  case HappyAbsSyn -> LPName
happyOut51 HappyAbsSyn
happy_x_2 of { LPName
happy_var_2 -> 
	LPName -> HappyAbsSyn
happyIn114
		 (LPName
happy_var_2
	)}

happyReduce_293 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_293 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_293 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
100# HappyAbsSyn -> HappyAbsSyn
happyReduction_293
happyReduction_293 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_293 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> LPName
happyOut113 HappyAbsSyn
happy_x_1 of { LPName
happy_var_1 -> 
	Type PName -> HappyAbsSyn
happyIn115
		 (LPName -> Type PName -> Type PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at LPName
happy_var_1 (Type PName -> Type PName) -> Type PName -> Type PName
forall a b. (a -> b) -> a -> b
$ PName -> [Type PName] -> Type PName
forall n. n -> [Type n] -> Type n
TUser (LPName -> PName
forall a. Located a -> a
thing LPName
happy_var_1) []
	)}

happyReduce_294 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_294 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_294 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
100# HappyAbsSyn -> HappyAbsSyn
happyReduction_294
happyReduction_294 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_294 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (happy_var_1 :: Located Token
happy_var_1@(Located Range
_ (Token (Num   {}) Text
_))) -> 
	Type PName -> HappyAbsSyn
happyIn115
		 (Located Token -> Type PName -> Type PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at Located Token
happy_var_1 (Type PName -> Type PName) -> Type PName -> Type PName
forall a b. (a -> b) -> a -> b
$ Integer -> Type PName
forall n. Integer -> Type n
TNum  (Located Token -> Integer
getNum Located Token
happy_var_1)
	)}

happyReduce_295 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_295 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_295 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce Int#
3# Int#
100# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_295
happyReduction_295 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_295 (HappyAbsSyn
happy_x_3 `HappyStk`
	HappyAbsSyn
happy_x_2 `HappyStk`
	HappyAbsSyn
happy_x_1 `HappyStk`
	HappyStk HappyAbsSyn
happyRest) p
tk
	 = ParseM (Type PName)
-> (Type PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Sym TokenSym
ParenL  ) Text
_)) -> 
	case HappyAbsSyn -> Type PName
happyOut100 HappyAbsSyn
happy_x_2 of { Type PName
happy_var_2 -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located Range
happy_var_3 (Token (Sym TokenSym
ParenR  ) Text
_)) -> 
	( Range -> Type PName -> ParseM (Type PName)
validDemotedType (Range -> Range -> Range
rComb Range
happy_var_1 Range
happy_var_3) Type PName
happy_var_2)}}})
	) (\Type PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (Type PName -> HappyAbsSyn
happyIn115 Type PName
r))

happyReduce_296 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_296 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_296 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  Int#
100# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_296
happyReduction_296 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_296 HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Sym TokenSym
CurlyL  ) Text
_)) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (Located Range
happy_var_2 (Token (Sym TokenSym
CurlyR  ) Text
_)) -> 
	Type PName -> HappyAbsSyn
happyIn115
		 ((Range, Range) -> Type PName -> Type PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Range
happy_var_2) ([Named (Type PName)] -> Type PName
forall n. [Named (Type n)] -> Type n
TTyApp [])
	)}}

happyReduce_297 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_297 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_297 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
100# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_297
happyReduction_297 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_297 HappyAbsSyn
happy_x_3
	HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Sym TokenSym
CurlyL  ) Text
_)) -> 
	case HappyAbsSyn -> [Named (Type PName)]
happyOut117 HappyAbsSyn
happy_x_2 of { [Named (Type PName)]
happy_var_2 -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located Range
happy_var_3 (Token (Sym TokenSym
CurlyR  ) Text
_)) -> 
	Type PName -> HappyAbsSyn
happyIn115
		 ((Range, Range) -> Type PName -> Type PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Range
happy_var_3) ([Named (Type PName)] -> Type PName
forall n. [Named (Type n)] -> Type n
TTyApp ([Named (Type PName)] -> [Named (Type PName)]
forall a. [a] -> [a]
reverse [Named (Type PName)]
happy_var_2))
	)}}}

happyReduce_298 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_298 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_298 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
100# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_298
happyReduction_298 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_298 HappyAbsSyn
happy_x_3
	HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Sym TokenSym
CurlyL  ) Text
_)) -> 
	case HappyAbsSyn -> Type PName
happyOut100 HappyAbsSyn
happy_x_2 of { Type PName
happy_var_2 -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located Range
happy_var_3 (Token (Sym TokenSym
CurlyR  ) Text
_)) -> 
	Type PName -> HappyAbsSyn
happyIn115
		 (Maybe Range -> [Type PName] -> Type PName
anonTyApp ((Range, Range) -> Maybe Range
forall t. HasLoc t => t -> Maybe Range
getLoc (Range
happy_var_1,Range
happy_var_3)) [Type PName
happy_var_2]
	)}}}

happyReduce_299 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_299 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_299 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
100# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_299
happyReduction_299 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_299 HappyAbsSyn
happy_x_3
	HappyAbsSyn
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located Range
happy_var_1 (Token (Sym TokenSym
CurlyL  ) Text
_)) -> 
	case HappyAbsSyn -> [Type PName]
happyOut106 HappyAbsSyn
happy_x_2 of { [Type PName]
happy_var_2 -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located Range
happy_var_3 (Token (Sym TokenSym
CurlyR  ) Text
_)) -> 
	Type PName -> HappyAbsSyn
happyIn115
		 (Maybe Range -> [Type PName] -> Type PName
anonTyApp ((Range, Range) -> Maybe Range
forall t. HasLoc t => t -> Maybe Range
getLoc (Range
happy_var_1,Range
happy_var_3)) ([Type PName] -> [Type PName]
forall a. [a] -> [a]
reverse [Type PName]
happy_var_2)
	)}}}

happyReduce_300 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_300 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_300 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
101# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_300
happyReduction_300 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_300 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> LIdent
happyOut109 HappyAbsSyn
happy_x_1 of { LIdent
happy_var_1 -> 
	case HappyAbsSyn -> Type PName
happyOut100 HappyAbsSyn
happy_x_3 of { Type PName
happy_var_3 -> 
	Named (Type PName) -> HappyAbsSyn
happyIn116
		 (Named :: forall a. LIdent -> a -> Named a
Named { name :: LIdent
name = LIdent
happy_var_1, value :: Type PName
value = Type PName
happy_var_3 }
	)}}

happyReduce_301 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_301 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_301 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  Int#
102# HappyAbsSyn -> HappyAbsSyn
happyReduction_301
happyReduction_301 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_301 HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Named (Type PName)
happyOut116 HappyAbsSyn
happy_x_1 of { Named (Type PName)
happy_var_1 -> 
	[Named (Type PName)] -> HappyAbsSyn
happyIn117
		 ([Named (Type PName)
happy_var_1]
	)}

happyReduce_302 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_302 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_302 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  Int#
102# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_302
happyReduction_302 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_302 HappyAbsSyn
happy_x_3
	p
happy_x_2
	HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> [Named (Type PName)]
happyOut117 HappyAbsSyn
happy_x_1 of { [Named (Type PName)]
happy_var_1 -> 
	case HappyAbsSyn -> Named (Type PName)
happyOut116 HappyAbsSyn
happy_x_3 of { Named (Type PName)
happy_var_3 -> 
	[Named (Type PName)] -> HappyAbsSyn
happyIn117
		 (Named (Type PName)
happy_var_3 Named (Type PName) -> [Named (Type PName)] -> [Named (Type PName)]
forall k1. k1 -> [k1] -> [k1]
: [Named (Type PName)]
happy_var_1
	)}}

happyNewToken :: Int# -> Happy_IntList -> HappyStk HappyAbsSyn -> ParseM HappyAbsSyn
happyNewToken Int#
action Happy_IntList
sts HappyStk HappyAbsSyn
stk
	= (Located Token -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a. (Located Token -> ParseM a) -> ParseM a
lexerP(\Located Token
tk -> 
	let cont :: Int# -> ParseM HappyAbsSyn
cont Int#
i = Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyDoAction Int#
i Located Token
tk Int#
action Happy_IntList
sts HappyStk HappyAbsSyn
stk in
	case Located Token
tk of {
	Located Range
_ (Token TokenT
EOF Text
_) -> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyDoAction Int#
66# Located Token
tk Int#
action Happy_IntList
sts HappyStk HappyAbsSyn
stk;
	happy_dollar_dollar :: Located Token
happy_dollar_dollar@(Located Range
_ (Token (Num   {}) Text
_)) -> Int# -> ParseM HappyAbsSyn
cont Int#
1#;
	happy_dollar_dollar :: Located Token
happy_dollar_dollar@(Located Range
_ (Token (Frac  {}) Text
_)) -> Int# -> ParseM HappyAbsSyn
cont Int#
2#;
	happy_dollar_dollar :: Located Token
happy_dollar_dollar@(Located Range
_ (Token (StrLit {}) Text
_)) -> Int# -> ParseM HappyAbsSyn
cont Int#
3#;
	happy_dollar_dollar :: Located Token
happy_dollar_dollar@(Located Range
_ (Token (ChrLit {}) Text
_)) -> Int# -> ParseM HappyAbsSyn
cont Int#
4#;
	happy_dollar_dollar :: Located Token
happy_dollar_dollar@(Located Range
_ (Token (Ident [] Text
_) Text
_)) -> Int# -> ParseM HappyAbsSyn
cont Int#
5#;
	happy_dollar_dollar :: Located Token
happy_dollar_dollar@(Located Range
_ (Token  Ident{}     Text
_)) -> Int# -> ParseM HappyAbsSyn
cont Int#
6#;
	happy_dollar_dollar :: Located Token
happy_dollar_dollar@(Located Range
_ (Token  (Selector SelectorType
_) Text
_)) -> Int# -> ParseM HappyAbsSyn
cont Int#
7#;
	Located Range
happy_dollar_dollar (Token (KW TokenKW
KW_include)   Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
8#;
	Located Range
happy_dollar_dollar (Token (KW TokenKW
KW_import)    Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
9#;
	Located Range
happy_dollar_dollar (Token (KW TokenKW
KW_as)        Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
10#;
	Located Range
happy_dollar_dollar (Token (KW TokenKW
KW_hiding)    Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
11#;
	Located Range
happy_dollar_dollar (Token (KW TokenKW
KW_private)   Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
12#;
	Located Range
happy_dollar_dollar (Token (KW TokenKW
KW_parameter) Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
13#;
	Located Range
happy_dollar_dollar (Token (KW TokenKW
KW_property)  Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
14#;
	Located Range
happy_dollar_dollar (Token (KW TokenKW
KW_infix)     Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
15#;
	Located Range
happy_dollar_dollar (Token (KW TokenKW
KW_infixl)    Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
16#;
	Located Range
happy_dollar_dollar (Token (KW TokenKW
KW_infixr)    Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
17#;
	Located Range
happy_dollar_dollar (Token (KW TokenKW
KW_type   ) Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
18#;
	Located Range
happy_dollar_dollar (Token (KW TokenKW
KW_newtype) Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
19#;
	Located Range
happy_dollar_dollar (Token (KW TokenKW
KW_module ) Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
20#;
	Located Range
happy_dollar_dollar (Token (KW TokenKW
KW_where  ) Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
21#;
	Located Range
happy_dollar_dollar (Token (KW TokenKW
KW_let    ) Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
22#;
	Located Range
happy_dollar_dollar (Token (KW TokenKW
KW_if     ) Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
23#;
	Located Range
happy_dollar_dollar (Token (KW TokenKW
KW_then   ) Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
24#;
	Located Range
happy_dollar_dollar (Token (KW TokenKW
KW_else   ) Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
25#;
	Located Range
happy_dollar_dollar (Token (KW TokenKW
KW_x)       Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
26#;
	Located Range
happy_dollar_dollar (Token (KW TokenKW
KW_primitive) Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
27#;
	Located Range
happy_dollar_dollar (Token (KW TokenKW
KW_constraint) Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
28#;
	Located Range
happy_dollar_dollar (Token (KW TokenKW
KW_Prop) Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
29#;
	Located Range
happy_dollar_dollar (Token (Sym TokenSym
BracketL) Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
30#;
	Located Range
happy_dollar_dollar (Token (Sym TokenSym
BracketR) Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
31#;
	Located Range
happy_dollar_dollar (Token (Sym TokenSym
ArrL    ) Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
32#;
	Located Range
happy_dollar_dollar (Token (Sym TokenSym
DotDot  ) Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
33#;
	Located Range
happy_dollar_dollar (Token (Sym TokenSym
DotDotDot) Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
34#;
	Located Range
happy_dollar_dollar (Token (Sym TokenSym
DotDotLt) Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
35#;
	Located Range
happy_dollar_dollar (Token (Sym TokenSym
Bar     ) Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
36#;
	Located Range
happy_dollar_dollar (Token (Sym TokenSym
Lt      ) Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
37#;
	Located Range
happy_dollar_dollar (Token (Sym TokenSym
ParenL  ) Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
38#;
	Located Range
happy_dollar_dollar (Token (Sym TokenSym
ParenR  ) Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
39#;
	Located Range
happy_dollar_dollar (Token (Sym TokenSym
Comma   ) Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
40#;
	Located Range
happy_dollar_dollar (Token (Sym TokenSym
Semi    ) Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
41#;
	Located Range
happy_dollar_dollar (Token (Sym TokenSym
CurlyL  ) Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
42#;
	Located Range
happy_dollar_dollar (Token (Sym TokenSym
CurlyR  ) Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
43#;
	Located Range
happy_dollar_dollar (Token (Sym TokenSym
TriL    ) Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
44#;
	Located Range
happy_dollar_dollar (Token (Sym TokenSym
TriR    ) Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
45#;
	Located Range
happy_dollar_dollar (Token (Sym TokenSym
EqDef   ) Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
46#;
	Located Range
happy_dollar_dollar (Token (Sym TokenSym
BackTick) Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
47#;
	Located Range
happy_dollar_dollar (Token (Sym TokenSym
Colon   ) Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
48#;
	Located Range
happy_dollar_dollar (Token (Sym TokenSym
ArrR    ) Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
49#;
	Located Range
happy_dollar_dollar (Token (Sym TokenSym
FatArrR ) Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
50#;
	Located Range
happy_dollar_dollar (Token (Sym TokenSym
Lambda  ) Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
51#;
	Located Range
happy_dollar_dollar (Token (Sym TokenSym
Underscore ) Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
52#;
	Located Range
happy_dollar_dollar (Token (Virt TokenV
VCurlyL)  Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
53#;
	Located Range
happy_dollar_dollar (Token (Virt TokenV
VCurlyR)  Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
54#;
	Located Range
happy_dollar_dollar (Token (Virt TokenV
VSemi)    Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
55#;
	Located Range
happy_dollar_dollar (Token (Op TokenOp
Plus)  Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
56#;
	Located Range
happy_dollar_dollar (Token (Op TokenOp
Mul)   Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
57#;
	Located Range
happy_dollar_dollar (Token (Op TokenOp
Exp)   Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
58#;
	Located Range
happy_dollar_dollar (Token (Op TokenOp
Minus) Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
59#;
	Located Range
happy_dollar_dollar (Token (Op TokenOp
Complement) Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
60#;
	Located Range
happy_dollar_dollar (Token (Op TokenOp
Hash) Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
61#;
	Located Range
happy_dollar_dollar (Token (Op TokenOp
At) Text
_) -> Int# -> ParseM HappyAbsSyn
cont Int#
62#;
	happy_dollar_dollar :: Located Token
happy_dollar_dollar@(Located Range
_ (Token (Op (Other [] Text
_)) Text
_)) -> Int# -> ParseM HappyAbsSyn
cont Int#
63#;
	happy_dollar_dollar :: Located Token
happy_dollar_dollar@(Located Range
_ (Token (Op  Other{}   )  Text
_)) -> Int# -> ParseM HappyAbsSyn
cont Int#
64#;
	happy_dollar_dollar :: Located Token
happy_dollar_dollar@(Located Range
_ (Token (White TokenW
DocStr) Text
_)) -> Int# -> ParseM HappyAbsSyn
cont Int#
65#;
	Located Token
_ -> (Located Token, [FilePath]) -> ParseM HappyAbsSyn
forall a. (Located Token, [FilePath]) -> ParseM a
happyError' (Located Token
tk, [])
	})

happyError_ :: [FilePath] -> Int# -> Located Token -> ParseM a
happyError_ [FilePath]
explist Int#
66# Located Token
tk = (Located Token, [FilePath]) -> ParseM a
forall a. (Located Token, [FilePath]) -> ParseM a
happyError' (Located Token
tk, [FilePath]
explist)
happyError_ [FilePath]
explist Int#
_ Located Token
tk = (Located Token, [FilePath]) -> ParseM a
forall a. (Located Token, [FilePath]) -> ParseM a
happyError' (Located Token
tk, [FilePath]
explist)

happyThen :: () => ParseM a -> (a -> ParseM b) -> ParseM b
happyThen :: ParseM a -> (a -> ParseM b) -> ParseM b
happyThen = ParseM a -> (a -> ParseM b) -> ParseM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
(>>=)
happyReturn :: () => a -> ParseM a
happyReturn :: a -> ParseM a
happyReturn = (a -> ParseM a
forall (m :: * -> *) a. Monad m => a -> m a
return)
happyParse :: () => Happy_GHC_Exts.Int# -> ParseM (HappyAbsSyn )

happyNewToken :: () => Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )

happyDoAction :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )

happyReduceArr :: () => Happy_Data_Array.Array Int (Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn ))

happyThen1 :: () => ParseM a -> (a -> ParseM b) -> ParseM b
happyThen1 :: ParseM a -> (a -> ParseM b) -> ParseM b
happyThen1 = ParseM a -> (a -> ParseM b) -> ParseM b
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen
happyReturn1 :: () => a -> ParseM a
happyReturn1 :: a -> ParseM a
happyReturn1 = a -> ParseM a
forall a. a -> ParseM a
happyReturn
happyError' :: () => ((Located Token), [String]) -> ParseM a
happyError' :: (Located Token, [FilePath]) -> ParseM a
happyError' (Located Token, [FilePath])
tk = (\(Located Token
tokens, [FilePath]
explist) -> ParseM a
forall a. ParseM a
happyError) (Located Token, [FilePath])
tk
vmodule :: ParseM (Module PName)
vmodule = ParseM (Module PName)
happySomeParser where
 happySomeParser :: ParseM (Module PName)
happySomeParser = ParseM HappyAbsSyn
-> (HappyAbsSyn -> ParseM (Module PName)) -> ParseM (Module PName)
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen (Int# -> ParseM HappyAbsSyn
happyParse Int#
0#) (\HappyAbsSyn
x -> Module PName -> ParseM (Module PName)
forall a. a -> ParseM a
happyReturn (HappyAbsSyn -> Module PName
happyOut15 HappyAbsSyn
x))

program :: ParseM (Program PName)
program = ParseM (Program PName)
happySomeParser where
 happySomeParser :: ParseM (Program PName)
happySomeParser = ParseM HappyAbsSyn
-> (HappyAbsSyn -> ParseM (Program PName))
-> ParseM (Program PName)
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen (Int# -> ParseM HappyAbsSyn
happyParse Int#
1#) (\HappyAbsSyn
x -> Program PName -> ParseM (Program PName)
forall a. a -> ParseM a
happyReturn (HappyAbsSyn -> Program PName
happyOut23 HappyAbsSyn
x))

programLayout :: ParseM (Program PName)
programLayout = ParseM (Program PName)
happySomeParser where
 happySomeParser :: ParseM (Program PName)
happySomeParser = ParseM HappyAbsSyn
-> (HappyAbsSyn -> ParseM (Program PName))
-> ParseM (Program PName)
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen (Int# -> ParseM HappyAbsSyn
happyParse Int#
2#) (\HappyAbsSyn
x -> Program PName -> ParseM (Program PName)
forall a. a -> ParseM a
happyReturn (HappyAbsSyn -> Program PName
happyOut24 HappyAbsSyn
x))

expr :: ParseM (Expr PName)
expr = ParseM (Expr PName)
happySomeParser where
 happySomeParser :: ParseM (Expr PName)
happySomeParser = ParseM HappyAbsSyn
-> (HappyAbsSyn -> ParseM (Expr PName)) -> ParseM (Expr PName)
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen (Int# -> ParseM HappyAbsSyn
happyParse Int#
3#) (\HappyAbsSyn
x -> Expr PName -> ParseM (Expr PName)
forall a. a -> ParseM a
happyReturn (HappyAbsSyn -> Expr PName
happyOut56 HappyAbsSyn
x))

decl :: ParseM (Decl PName)
decl = ParseM (Decl PName)
happySomeParser where
 happySomeParser :: ParseM (Decl PName)
happySomeParser = ParseM HappyAbsSyn
-> (HappyAbsSyn -> ParseM (Decl PName)) -> ParseM (Decl PName)
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen (Int# -> ParseM HappyAbsSyn
happyParse Int#
4#) (\HappyAbsSyn
x -> Decl PName -> ParseM (Decl PName)
forall a. a -> ParseM a
happyReturn (HappyAbsSyn -> Decl PName
happyOut36 HappyAbsSyn
x))

decls :: ParseM [Decl PName]
decls = ParseM [Decl PName]
happySomeParser where
 happySomeParser :: ParseM [Decl PName]
happySomeParser = ParseM HappyAbsSyn
-> (HappyAbsSyn -> ParseM [Decl PName]) -> ParseM [Decl PName]
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen (Int# -> ParseM HappyAbsSyn
happyParse Int#
5#) (\HappyAbsSyn
x -> [Decl PName] -> ParseM [Decl PName]
forall a. a -> ParseM a
happyReturn (HappyAbsSyn -> [Decl PName]
happyOut47 HappyAbsSyn
x))

declsLayout :: ParseM [Decl PName]
declsLayout = ParseM [Decl PName]
happySomeParser where
 happySomeParser :: ParseM [Decl PName]
happySomeParser = ParseM HappyAbsSyn
-> (HappyAbsSyn -> ParseM [Decl PName]) -> ParseM [Decl PName]
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen (Int# -> ParseM HappyAbsSyn
happyParse Int#
6#) (\HappyAbsSyn
x -> [Decl PName] -> ParseM [Decl PName]
forall a. a -> ParseM a
happyReturn (HappyAbsSyn -> [Decl PName]
happyOut49 HappyAbsSyn
x))

letDecl :: ParseM (Decl PName)
letDecl = ParseM (Decl PName)
happySomeParser where
 happySomeParser :: ParseM (Decl PName)
happySomeParser = ParseM HappyAbsSyn
-> (HappyAbsSyn -> ParseM (Decl PName)) -> ParseM (Decl PName)
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen (Int# -> ParseM HappyAbsSyn
happyParse Int#
7#) (\HappyAbsSyn
x -> Decl PName -> ParseM (Decl PName)
forall a. a -> ParseM a
happyReturn (HappyAbsSyn -> Decl PName
happyOut37 HappyAbsSyn
x))

repl :: ParseM (ReplInput PName)
repl = ParseM (ReplInput PName)
happySomeParser where
 happySomeParser :: ParseM (ReplInput PName)
happySomeParser = ParseM HappyAbsSyn
-> (HappyAbsSyn -> ParseM (ReplInput PName))
-> ParseM (ReplInput PName)
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen (Int# -> ParseM HappyAbsSyn
happyParse Int#
8#) (\HappyAbsSyn
x -> ReplInput PName -> ParseM (ReplInput PName)
forall a. a -> ParseM a
happyReturn (HappyAbsSyn -> ReplInput PName
happyOut50 HappyAbsSyn
x))

schema :: ParseM (Schema PName)
schema = ParseM (Schema PName)
happySomeParser where
 happySomeParser :: ParseM (Schema PName)
happySomeParser = ParseM HappyAbsSyn
-> (HappyAbsSyn -> ParseM (Schema PName)) -> ParseM (Schema PName)
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen (Int# -> ParseM HappyAbsSyn
happyParse Int#
9#) (\HappyAbsSyn
x -> Schema PName -> ParseM (Schema PName)
forall a. a -> ParseM a
happyReturn (HappyAbsSyn -> Schema PName
happyOut91 HappyAbsSyn
x))

modName :: ParseM (Located ModName)
modName = ParseM (Located ModName)
happySomeParser where
 happySomeParser :: ParseM (Located ModName)
happySomeParser = ParseM HappyAbsSyn
-> (HappyAbsSyn -> ParseM (Located ModName))
-> ParseM (Located ModName)
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen (Int# -> ParseM HappyAbsSyn
happyParse Int#
10#) (\HappyAbsSyn
x -> Located ModName -> ParseM (Located ModName)
forall a. a -> ParseM a
happyReturn (HappyAbsSyn -> Located ModName
happyOut112 HappyAbsSyn
x))

helpName :: ParseM LPName
helpName = ParseM LPName
happySomeParser where
 happySomeParser :: ParseM LPName
happySomeParser = ParseM HappyAbsSyn
-> (HappyAbsSyn -> ParseM LPName) -> ParseM LPName
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen (Int# -> ParseM HappyAbsSyn
happyParse Int#
11#) (\HappyAbsSyn
x -> LPName -> ParseM LPName
forall a. a -> ParseM a
happyReturn (HappyAbsSyn -> LPName
happyOut114 HappyAbsSyn
x))

happySeq :: a -> b -> b
happySeq = a -> b -> b
forall a b. a -> b -> b
happyDontSeq


parseModName :: String -> Maybe ModName
parseModName :: FilePath -> Maybe ModName
parseModName FilePath
txt =
  case Config
-> ParseM (Located ModName)
-> FilePath
-> Either ParseError (Located ModName)
forall a. Config -> ParseM a -> FilePath -> Either ParseError a
parseString Config
defaultConfig { cfgModuleScope :: Bool
cfgModuleScope = Bool
False } ParseM (Located ModName)
modName FilePath
txt of
    Right Located ModName
a -> ModName -> Maybe ModName
forall k1. k1 -> Maybe k1
Just (Located ModName -> ModName
forall a. Located a -> a
thing Located ModName
a)
    Left ParseError
_  -> Maybe ModName
forall k1. Maybe k1
Nothing

parseHelpName :: String -> Maybe PName
parseHelpName :: FilePath -> Maybe PName
parseHelpName FilePath
txt =
  case Config -> ParseM LPName -> FilePath -> Either ParseError LPName
forall a. Config -> ParseM a -> FilePath -> Either ParseError a
parseString Config
defaultConfig { cfgModuleScope :: Bool
cfgModuleScope = Bool
False } ParseM LPName
helpName FilePath
txt of
    Right LPName
a -> PName -> Maybe PName
forall k1. k1 -> Maybe k1
Just (LPName -> PName
forall a. Located a -> a
thing LPName
a)
    Left ParseError
_  -> Maybe PName
forall k1. Maybe k1
Nothing

addImplicitIncludes :: Config -> Program PName -> Program PName
addImplicitIncludes :: Config -> Program PName -> Program PName
addImplicitIncludes Config
cfg (Program [TopDecl PName]
ds) =
  [TopDecl PName] -> Program PName
forall name. [TopDecl name] -> Program name
Program ([TopDecl PName] -> Program PName)
-> [TopDecl PName] -> Program PName
forall a b. (a -> b) -> a -> b
$ (FilePath -> TopDecl PName) -> [FilePath] -> [TopDecl PName]
forall a b. (a -> b) -> [a] -> [b]
map FilePath -> TopDecl PName
forall name. FilePath -> TopDecl name
path (Config -> [FilePath]
cfgAutoInclude Config
cfg) [TopDecl PName] -> [TopDecl PName] -> [TopDecl PName]
forall a. [a] -> [a] -> [a]
++ [TopDecl PName]
ds
  where path :: FilePath -> TopDecl name
path FilePath
p = Located FilePath -> TopDecl name
forall name. Located FilePath -> TopDecl name
Include Located :: forall a. Range -> a -> Located a
Located { srcRange :: Range
srcRange = Range
rng, thing :: FilePath
thing = FilePath
p }
        rng :: Range
rng    = Range :: Position -> Position -> FilePath -> Range
Range { source :: FilePath
source = Config -> FilePath
cfgSource Config
cfg, from :: Position
from = Position
start, to :: Position
to = Position
start }


parseProgramWith :: Config -> Text -> Either ParseError (Program PName)
parseProgramWith :: Config -> Text -> Either ParseError (Program PName)
parseProgramWith Config
cfg Text
s = case Text -> Either ParseError (Program PName)
res Text
s of
                          Left ParseError
err -> ParseError -> Either ParseError (Program PName)
forall a b. a -> Either a b
Left ParseError
err
                          Right Program PName
a  -> Program PName -> Either ParseError (Program PName)
forall a b. b -> Either a b
Right (Config -> Program PName -> Program PName
addImplicitIncludes Config
cfg Program PName
a)
  where
  res :: Text -> Either ParseError (Program PName)
res = Config
-> ParseM (Program PName)
-> Text
-> Either ParseError (Program PName)
forall a. Config -> ParseM a -> Text -> Either ParseError a
parse Config
cfg (ParseM (Program PName)
 -> Text -> Either ParseError (Program PName))
-> ParseM (Program PName)
-> Text
-> Either ParseError (Program PName)
forall a b. (a -> b) -> a -> b
$ case Config -> Layout
cfgLayout Config
cfg of
                      Layout
Layout   -> ParseM (Program PName)
programLayout
                      Layout
NoLayout -> ParseM (Program PName)
program

parseModule :: Config -> Text -> Either ParseError (Module PName)
parseModule :: Config -> Text -> Either ParseError (Module PName)
parseModule Config
cfg = Config
-> ParseM (Module PName)
-> Text
-> Either ParseError (Module PName)
forall a. Config -> ParseM a -> Text -> Either ParseError a
parse Config
cfg { cfgModuleScope :: Bool
cfgModuleScope = Bool
True } ParseM (Module PName)
vmodule

parseProgram :: Layout -> Text -> Either ParseError (Program PName)
parseProgram :: Layout -> Text -> Either ParseError (Program PName)
parseProgram Layout
l = Config -> Text -> Either ParseError (Program PName)
parseProgramWith Config
defaultConfig { cfgLayout :: Layout
cfgLayout = Layout
l }

parseExprWith :: Config -> Text -> Either ParseError (Expr PName)
parseExprWith :: Config -> Text -> Either ParseError (Expr PName)
parseExprWith Config
cfg = Config
-> ParseM (Expr PName) -> Text -> Either ParseError (Expr PName)
forall a. Config -> ParseM a -> Text -> Either ParseError a
parse Config
cfg { cfgModuleScope :: Bool
cfgModuleScope = Bool
False } ParseM (Expr PName)
expr

parseExpr :: Text -> Either ParseError (Expr PName)
parseExpr :: Text -> Either ParseError (Expr PName)
parseExpr = Config -> Text -> Either ParseError (Expr PName)
parseExprWith Config
defaultConfig

parseDeclWith :: Config -> Text -> Either ParseError (Decl PName)
parseDeclWith :: Config -> Text -> Either ParseError (Decl PName)
parseDeclWith Config
cfg = Config
-> ParseM (Decl PName) -> Text -> Either ParseError (Decl PName)
forall a. Config -> ParseM a -> Text -> Either ParseError a
parse Config
cfg { cfgModuleScope :: Bool
cfgModuleScope = Bool
False } ParseM (Decl PName)
decl

parseDecl :: Text -> Either ParseError (Decl PName)
parseDecl :: Text -> Either ParseError (Decl PName)
parseDecl = Config -> Text -> Either ParseError (Decl PName)
parseDeclWith Config
defaultConfig

parseDeclsWith :: Config -> Text -> Either ParseError [Decl PName]
parseDeclsWith :: Config -> Text -> Either ParseError [Decl PName]
parseDeclsWith Config
cfg = Config
-> ParseM [Decl PName] -> Text -> Either ParseError [Decl PName]
forall a. Config -> ParseM a -> Text -> Either ParseError a
parse Config
cfg { cfgModuleScope :: Bool
cfgModuleScope = Bool
ms } ParseM [Decl PName]
decls'
  where (Bool
ms, ParseM [Decl PName]
decls') = case Config -> Layout
cfgLayout Config
cfg of
                         Layout
Layout   -> (Bool
True, ParseM [Decl PName]
declsLayout)
                         Layout
NoLayout -> (Bool
False, ParseM [Decl PName]
decls)

parseDecls :: Text -> Either ParseError [Decl PName]
parseDecls :: Text -> Either ParseError [Decl PName]
parseDecls = Config -> Text -> Either ParseError [Decl PName]
parseDeclsWith Config
defaultConfig

parseLetDeclWith :: Config -> Text -> Either ParseError (Decl PName)
parseLetDeclWith :: Config -> Text -> Either ParseError (Decl PName)
parseLetDeclWith Config
cfg = Config
-> ParseM (Decl PName) -> Text -> Either ParseError (Decl PName)
forall a. Config -> ParseM a -> Text -> Either ParseError a
parse Config
cfg { cfgModuleScope :: Bool
cfgModuleScope = Bool
False } ParseM (Decl PName)
letDecl

parseLetDecl :: Text -> Either ParseError (Decl PName)
parseLetDecl :: Text -> Either ParseError (Decl PName)
parseLetDecl = Config -> Text -> Either ParseError (Decl PName)
parseLetDeclWith Config
defaultConfig

parseReplWith :: Config -> Text -> Either ParseError (ReplInput PName)
parseReplWith :: Config -> Text -> Either ParseError (ReplInput PName)
parseReplWith Config
cfg = Config
-> ParseM (ReplInput PName)
-> Text
-> Either ParseError (ReplInput PName)
forall a. Config -> ParseM a -> Text -> Either ParseError a
parse Config
cfg { cfgModuleScope :: Bool
cfgModuleScope = Bool
False } ParseM (ReplInput PName)
repl

parseRepl :: Text -> Either ParseError (ReplInput PName)
parseRepl :: Text -> Either ParseError (ReplInput PName)
parseRepl = Config -> Text -> Either ParseError (ReplInput PName)
parseReplWith Config
defaultConfig

parseSchemaWith :: Config -> Text -> Either ParseError (Schema PName)
parseSchemaWith :: Config -> Text -> Either ParseError (Schema PName)
parseSchemaWith Config
cfg = Config
-> ParseM (Schema PName)
-> Text
-> Either ParseError (Schema PName)
forall a. Config -> ParseM a -> Text -> Either ParseError a
parse Config
cfg { cfgModuleScope :: Bool
cfgModuleScope = Bool
False } ParseM (Schema PName)
schema

parseSchema :: Text -> Either ParseError (Schema PName)
parseSchema :: Text -> Either ParseError (Schema PName)
parseSchema = Config -> Text -> Either ParseError (Schema PName)
parseSchemaWith Config
defaultConfig

-- vim: ft=haskell
{-# LINE 1 "templates/GenericTemplate.hs" #-}
{-# LINE 1 "templates/GenericTemplate.hs" #-}
{-# LINE 1 "<built-in>" #-}
{-# LINE 1 "<command-line>" #-}
{-# LINE 10 "<command-line>" #-}
# 1 "/usr/include/stdc-predef.h" 1 3 4

# 17 "/usr/include/stdc-predef.h" 3 4














































{-# LINE 10 "<command-line>" #-}
{-# LINE 1 "/opt/ghc/8.6.3/lib/ghc-8.6.3/include/ghcversion.h" #-}















{-# LINE 10 "<command-line>" #-}
{-# LINE 1 "/tmp/ghc780_0/ghc_2.h" #-}






































































































































































































{-# LINE 10 "<command-line>" #-}
{-# LINE 1 "templates/GenericTemplate.hs" #-}
-- Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp 













-- Do not remove this comment. Required to fix CPP parsing when using GCC and a clang-compiled alex.
#if __GLASGOW_HASKELL__ > 706
#define LT(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.<# m)) :: Bool)
#define GTE(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.>=# m)) :: Bool)
#define EQ(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.==# m)) :: Bool)
#else
#define LT(n,m) (n Happy_GHC_Exts.<# m)
#define GTE(n,m) (n Happy_GHC_Exts.>=# m)
#define EQ(n,m) (n Happy_GHC_Exts.==# m)
#endif
{-# LINE 43 "templates/GenericTemplate.hs" #-}

data Happy_IntList = HappyCons Happy_GHC_Exts.Int# Happy_IntList







{-# LINE 65 "templates/GenericTemplate.hs" #-}

{-# LINE 75 "templates/GenericTemplate.hs" #-}

{-# LINE 84 "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 (happyExpListPerState ((Happy_GHC_Exts.I# (st)) :: Int)) i tk st
                -1#          -> {- nothing -}
                                     happyAccept i tk st
                n | LT(n,(0# :: Happy_GHC_Exts.Int#)) -> {- nothing -}

                                                   (happyReduceArr Happy_Data_Array.! rule) i tk st
                                                   where rule = (Happy_GHC_Exts.I# ((Happy_GHC_Exts.negateInt# ((n Happy_GHC_Exts.+# (1# :: Happy_GHC_Exts.Int#))))))
                n                 -> {- nothing -}


                                     happyShift new_state i tk st
                                     where new_state = (n Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#))
   where off    = happyAdjustOffset (indexShortOffAddr happyActOffsets st)
         off_i  = (off Happy_GHC_Exts.+#  i)
         check  = if GTE(off_i,(0# :: Happy_GHC_Exts.Int#))
                  then EQ(indexShortOffAddr happyCheck off_i, i)
                  else False
         action
          | check     = indexShortOffAddr happyTable off_i
          | otherwise = indexShortOffAddr happyDefActions st




indexShortOffAddr (HappyA# arr) off =
        Happy_GHC_Exts.narrow16Int# i
  where
        i = Happy_GHC_Exts.word2Int# (Happy_GHC_Exts.or# (Happy_GHC_Exts.uncheckedShiftL# high 8#) low)
        high = Happy_GHC_Exts.int2Word# (Happy_GHC_Exts.ord# (Happy_GHC_Exts.indexCharOffAddr# arr (off' Happy_GHC_Exts.+# 1#)))
        low  = Happy_GHC_Exts.int2Word# (Happy_GHC_Exts.ord# (Happy_GHC_Exts.indexCharOffAddr# arr off'))
        off' = off Happy_GHC_Exts.*# 2#




{-# INLINE happyLt #-}
happyLt x y = LT(x,y)


readArrayBit arr bit =
    Bits.testBit (Happy_GHC_Exts.I# (indexShortOffAddr arr ((unbox_int bit) `Happy_GHC_Exts.iShiftRA#` 4#))) (bit `mod` 16)
  where unbox_int (Happy_GHC_Exts.I# x) = x






data HappyAddr = HappyA# Happy_GHC_Exts.Addr#


-----------------------------------------------------------------------------
-- HappyState data type (not arrays)

{-# LINE 180 "templates/GenericTemplate.hs" #-}

-----------------------------------------------------------------------------
-- Shifting a token

happyShift new_state 0# tk st sts stk@(x `HappyStk` _) =
     let i = (case Happy_GHC_Exts.unsafeCoerce# x of { (Happy_GHC_Exts.I# (i)) -> i }) in
--     trace "shifting the error token" $
     happyDoAction i tk new_state (HappyCons (st) (sts)) (stk)

happyShift new_state i tk st sts stk =
     happyNewToken new_state (HappyCons (st) (sts)) ((happyInTok (tk))`HappyStk`stk)

-- happyReduce is specialised for the common cases.

happySpecReduce_0 i fn 0# tk st sts stk
     = happyFail [] 0# tk st sts stk
happySpecReduce_0 nt fn j tk st@((action)) sts stk
     = happyGoto nt j tk st (HappyCons (st) (sts)) (fn `HappyStk` stk)

happySpecReduce_1 i fn 0# tk st sts stk
     = happyFail [] 0# tk st sts stk
happySpecReduce_1 nt fn j tk _ sts@((HappyCons (st@(action)) (_))) (v1`HappyStk`stk')
     = let r = fn v1 in
       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))

happySpecReduce_2 i fn 0# tk st sts stk
     = happyFail [] 0# tk st sts stk
happySpecReduce_2 nt fn j tk _ (HappyCons (_) (sts@((HappyCons (st@(action)) (_))))) (v1`HappyStk`v2`HappyStk`stk')
     = let r = fn v1 v2 in
       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))

happySpecReduce_3 i fn 0# tk st sts stk
     = happyFail [] 0# tk st sts stk
happySpecReduce_3 nt fn j tk _ (HappyCons (_) ((HappyCons (_) (sts@((HappyCons (st@(action)) (_))))))) (v1`HappyStk`v2`HappyStk`v3`HappyStk`stk')
     = let r = fn v1 v2 v3 in
       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))

happyReduce k i fn 0# tk st sts stk
     = happyFail [] 0# tk st sts stk
happyReduce k nt fn j tk st sts stk
     = case happyDrop (k Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) sts of
         sts1@((HappyCons (st1@(action)) (_))) ->
                let r = fn stk in  -- it doesn't hurt to always seq here...
                happyDoSeq r (happyGoto nt j tk st1 sts1 r)

happyMonadReduce k nt fn 0# tk st sts stk
     = happyFail [] 0# tk st sts stk
happyMonadReduce k nt fn j tk st sts stk =
      case happyDrop k (HappyCons (st) (sts)) of
        sts1@((HappyCons (st1@(action)) (_))) ->
          let drop_stk = happyDropStk k stk in
          happyThen1 (fn stk tk) (\r -> happyGoto nt j tk st1 sts1 (r `HappyStk` drop_stk))

happyMonad2Reduce k nt fn 0# tk st sts stk
     = happyFail [] 0# tk st sts stk
happyMonad2Reduce k nt fn j tk st sts stk =
      case happyDrop k (HappyCons (st) (sts)) of
        sts1@((HappyCons (st1@(action)) (_))) ->
         let drop_stk = happyDropStk k stk

             off = happyAdjustOffset (indexShortOffAddr happyGotoOffsets st1)
             off_i = (off Happy_GHC_Exts.+#  nt)
             new_state = indexShortOffAddr happyTable off_i




          in
          happyThen1 (fn stk tk) (\r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk))

happyDrop 0# l = l
happyDrop n (HappyCons (_) (t)) = happyDrop (n Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) t

happyDropStk 0# l = l
happyDropStk n (x `HappyStk` xs) = happyDropStk (n Happy_GHC_Exts.-# (1#::Happy_GHC_Exts.Int#)) xs

-----------------------------------------------------------------------------
-- Moving to a new state after a reduction


happyGoto nt j tk st = 
   {- nothing -}
   happyDoAction j tk new_state
   where off = happyAdjustOffset (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 explist 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_ explist 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 explist 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.